import argparse
from EndoCalibrator import EndoCalibrator
from Movie2imgConverter import Movie2imgConverter
parser = argparse.ArgumentParser()
parser.add_argument("--mode", type=str, required=True, choices=["calibrate", "convert"], help="処理モード")
parser.add_argument("--resized_height", type=int, default=352, help="画像サイズの高さ(幅もだが,アップサンプリングの"
"関係で2の乗数を多く含む方が良い)")
parser.add_argument("--resized_width", type=int, default=480, help="画像サイズの幅")
# カメラキャリブレーション用
parser.add_argument("--imgs_dir", type=str, default="./tmp", help="チェス画像が入ってるディレクトリ,キャリブ時はrequired")
parser.add_argument("--npy_outdir", type=str, default="./params", help="カメラキャリブレーション結果の出力先")
parser.add_argument("--square_size", type=float, default=20.0, help='正方形の一辺のサイズ[mm]')
parser.add_argument("--pattern_size_col", type=int, default=6, help="チェスの列数")
parser.add_argument("--pattern_size_row", type=int, default=9, help="チェスの行数")
parser.add_argument("--chess_img_extend", type=str, default=".JPG", help="チェス画像の拡張子")
# 映像変換用
parser.add_argument("--movie_dir", type=str, default="./tmp", help="入力動画のディレクトリ,映像変換時はrequired")
parser.add_argument("--out_dir", type=str, default="./out", help="出力用のディレクトリ")
parser.add_argument("--param_dir", type=str, default="./params", help="カメラキャリブレーションで取得したパラメータ先")
parser.add_argument("--pass_num", type=int, default=1, help="フレーム間の間(1で連続したフレーム)")
parser.add_argument("--endo_movie_extend", type=str, default=".mp4", help="入力動画の拡張子")
parser.add_argument("--thresh_num", type=int, default=180, help='inpaint用の閾値')
args = parser.parse_args()
if __name__ == '__main__':
mode = args.mode
if mode == 'calibrate':
editor = EndoCalibrator(args)
editor.calibrate_row_size(Is_example_showed=False)
if mode == 'convert':
editor = Movie2imgConverter(args)
editor.convert_endo_movie2img()