diff --git a/DumpTxtEditor.py b/DumpTxtEditor.py new file mode 100644 index 0000000..1a363b3 --- /dev/null +++ b/DumpTxtEditor.py @@ -0,0 +1,42 @@ +from glob import glob +import os + +class DumpTxtEditor: + + def __init__(self, args): + self.args = args + + def edit_dump_txt(self): + size_list = self.calc_size_list() + with open(os.path.join(self.args.dump_dir, self.args.txt_name), mode='w') as f: + while True: + print("input : from (when input -9999, exit)") + from_num = int(input()) + + if from_num == -9999: + break + + print("input : to") + to_num = int(input()) + if from_num < to_num: + for i in range((to_num - from_num + 1)): + if (i % self.args.choice_interval) == 0: + cur_file_name = self.check_file_name(from_num + i, size_list) + print('{} {:08}'.format(self.args.dump_dir_name.format(cur_file_name), from_num + i)) + f.write('{} {:08}\n'.format(self.args.dump_dir_name.format(cur_file_name), from_num + i)) + + + def calc_size_list(self): + subdir_names = glob(os.path.join(self.args.eso_imgs_dir, self.args.imgs_name.format('*'))) + size_list = [] + for subdir_name in subdir_names: + size_list.append(len(glob(os.path.join(subdir_name, '*.png')))) + return size_list + + def check_file_name(self, file_num, size_list): + subdir_num = 0 + for i, size in enumerate(size_list): + file_num -= size + if file_num < 0: + return subdir_num + subdir_num += 1 diff --git a/__pycache__/DumpTxtEditor.cpython-36.pyc b/__pycache__/DumpTxtEditor.cpython-36.pyc new file mode 100644 index 0000000..ec0081e --- /dev/null +++ b/__pycache__/DumpTxtEditor.cpython-36.pyc Binary files differ diff --git a/main.py b/main.py index 1b0bdf8..b79fac3 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,10 @@ import argparse from EndoCalibrator import EndoCalibrator from Movie2imgConverter import Movie2imgConverter +from DumpTxtEditor import DumpTxtEditor parser = argparse.ArgumentParser() -parser.add_argument("--mode", type=str, required=True, choices=["calibrate", "convert"], help="処理モード") +parser.add_argument("--mode", type=str, required=True, choices=["calibrate", "convert", "edit_txt"], help="処理モード") parser.add_argument("--resized_height", type=int, default=352, help="画像サイズの高さ(幅もだが,アップサンプリングの" "関係で2の乗数を多く含む方が良い)") parser.add_argument("--resized_width", type=int, default=480, help="画像サイズの幅") @@ -24,6 +25,14 @@ parser.add_argument("--endo_movie_extend", type=str, default=".mp4", help="入力動画の拡張子") parser.add_argument("--thresh_num", type=int, default=180, help='inpaint用の閾値') +# dump用テキスト編集用(この機能は動的な対応が出来ていない気がするから使用時は要チェック) +parser.add_argument("--dump_dir", type=str, default="./dump", help="dumpのディレクトリ") +parser.add_argument("--dump_dir_name", type=str, default="imgs_{}seq", help="dumpのサブディレクトリの名前,{}はformatで使う") +parser.add_argument("--eso_imgs_dir", type=str, default="./esoimg", help="食道の画像のディレクトリ") +parser.add_argument("--imgs_name", type=str, default="{}seq", help="imgのsubdir名") +parser.add_argument("--choice_interval", type=int, default=1, help="連番のデータの間隔(1で連続)") +parser.add_argument("--txt_name", type=str, default="train.txt", help="編集するtxtの名前") + args = parser.parse_args() if __name__ == '__main__': @@ -36,3 +45,7 @@ if mode == 'convert': editor = Movie2imgConverter(args) editor.convert_endo_movie2img() + + if mode == 'edit_txt': + editor = DumpTxtEditor(args) + editor.edit_dump_txt() diff --git a/module_test.py b/module_test.py index adcfdf7..b5073c2 100644 --- a/module_test.py +++ b/module_test.py @@ -1,5 +1,4 @@ import numpy as np -intrinsics = np.load("./tmp/intrinsics_scaled.npy") -dist = np.load("./tmp/dist_coeffs.npy") +intrinsics = np.load("./params/intrinsics_scaled.npy") print("a")