diff --git a/Dockerfile b/Dockerfile index 141d4bb0f9ee7b54f4af4e882106c860d3088761..684ed0872f164f19df739369495228bb593b944a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,4 +27,8 @@ RUN cd /src/otb/otb/Modules/Remote/ && git clone https://gitlab.irstea.fr/remi.c COPY . /src/otb/otb/Modules/Remote/decloud/ RUN cd /src/otb/build/OTB/build && cmake /src/otb/otb/ -DModule_SimpleExtractionTools=ON -DModule_MLUtils=ON -DBUILD_TESTING=OFF -DModule_OTBDecloud=ON RUN cd /src/otb/build/OTB/build && make -j $(nproc --all) install + +# Install decloud +RUN cd /src/otb/otb/Modules/Remote/decloud/ && python3 -m pip install . + USER otbuser diff --git a/decloud/production/crga_processor.py b/decloud/production/crga_processor.py index eb599b1a6b98b2e59b84fa561202b9a7c77597b3..215c40da68758952ad9f110ef01fc2a8048ddc79 100644 --- a/decloud/production/crga_processor.py +++ b/decloud/production/crga_processor.py @@ -190,7 +190,7 @@ def crga_processor(il_s1after, il_s1before, il_s1, il_s2after, il_s2before, in_s # ------------------------------------------------------- Main --------------------------------------------------------- -def main(args): +def main(): # Logger system.basic_logging_init() @@ -230,7 +230,7 @@ def main(args): parser.print_help() parser.exit() - params = parser.parse_args(args) + params = parser.parse_args() crga_processor(params.il_s1after, params.il_s1before, params.il_s1, params.il_s2after, params.il_s2before, params.in_s2, params.dem, params.savedmodel, @@ -239,4 +239,4 @@ def main(args): if __name__ == "__main__": - system.run_and_terminate(main) + sys.exit(main()) diff --git a/decloud/production/meraner_processor.py b/decloud/production/meraner_processor.py index bc5b9f06e3b125b94bff02e91f9766f7171d0b98..7ded518292dc8bf45af2536f069af7bd7cf350bc 100644 --- a/decloud/production/meraner_processor.py +++ b/decloud/production/meraner_processor.py @@ -142,7 +142,7 @@ def meraner_processor(il_s1, in_s2, savedmodel, dem=None, output=None, output_20 # ------------------------------------------------------- Main --------------------------------------------------------- -def main(args): +def main(): # Logger system.basic_logging_init() @@ -180,4 +180,4 @@ def main(args): if __name__ == "__main__": - system.run_and_terminate(main) + sys.exit(main()) diff --git a/setup.py b/setup.py index 6a678f5e7c0224eb84bf8d95b49c1d606b178d1d..579b3a50f2c658655b717362cbcfa6923123d22e 100644 --- a/setup.py +++ b/setup.py @@ -49,4 +49,10 @@ setuptools.setup( packages=setuptools.find_packages(), python_requires=">=3.6", keywords="remote sensing, deep learning, gapfilling, remove clouds, satellite imagery, otb, orfeotoolbox", + entry_points={ + 'console_scripts': [ + 'crga_processor=decloud.production.crga_processor:main', + 'meraner_processor=decloud.production.meraner_processor:main' + ], + } ) diff --git a/tests/inference_unittest.py b/tests/inference_unittest.py index 3af2b039a11d03c0f9c01aae64e7be9544ca3ab3..5f310c4e019765a28e230f57325c07e6690c1429 100644 --- a/tests/inference_unittest.py +++ b/tests/inference_unittest.py @@ -118,13 +118,11 @@ class InferenceTest(DecloudTest): self.get_path('baseline/PREPARE/S2_PREPARE/T31TEJ/SENTINEL2A_20201024-104859-766_L2A_T31TEJ_C_V2-2/')] outpath = '/tmp/reconstructed_w_preprocessor.tif' - crga_processor.main(["--il_s1before", *s1_tm1, "--il_s2before", *s2_tm1, - "--il_s1", *s1_t, "--in_s2", s2_t, - "--il_s1after", *s1_tp1, "--il_s2after", *s2_tp1, - "--dem", self.get_path('baseline/PREPARE/DEM_PREPARE/T31TEJ.tif'), - "--output", outpath, '--maxgap', '48', - '--savedmodel', model_path]) - + crga_processor.crga_processor(il_s1before=s1_tm1, il_s2before=s2_tm1, + il_s1=s1_t, in_s2=s2_t, + il_s1after=s1_tp1, il_s2after=s2_tp1, + dem=self.get_path('baseline/PREPARE/DEM_PREPARE/T31TEJ.tif'), + output=outpath, maxgap=48, savedmodel=model_path) # Just a dummy test self.assertTrue(system.file_exists(outpath))