import sys from pathlib import Path _MAIN_DIR = Path(__file__).parent # mx15hdi/Main/ _MX15HDI_DIR = _MAIN_DIR.parent # mx15hdi/ # 파이프라인 모듈 임포트 sys.path.insert(0, str(_MX15HDI_DIR / 'Detect')) sys.path.insert(0, str(_MX15HDI_DIR / 'Metadata' / 'Scripts')) sys.path.insert(0, str(_MX15HDI_DIR / 'Georeference' / 'Scripts')) sys.path.insert(0, str(_MX15HDI_DIR / 'Polygon' / 'Scripts')) from Inference import load_model, run_inference from Export_Metadata_mx15hdi import run_metadata_export from Create_Georeferenced_Images_nadir import run_georeference from Oilshape import run_oilshape def run_pipeline(file_id: str, model=None): """ 4단계 파이프라인을 순서대로 실행한다. model이 None이면 내부에서 1회 로드한다 (단독 실행 시). api.py에서는 사전 로드된 model을 전달하여 재로딩을 방지한다. """ if model is None: model = load_model() run_inference(model, file_id) run_metadata_export(file_id) run_georeference(file_id) run_oilshape(file_id) if __name__ == "__main__": params = sys.argv[1:] if len(sys.argv) > 1 else [] if not params: raise ValueError("파라미터가 제공되지 않았습니다. 폴더 이름을 명령줄 인자로 입력해주세요.") run_pipeline(params[0])