Commit f52207cb authored by Gaetano Raffaele's avatar Gaetano Raffaele
Browse files

ENH: updated cli tool for preprocessing of Sentinel-2.

No related merge requests found
Showing with 12 additions and 9 deletions
+12 -9
......@@ -29,8 +29,9 @@ def preprocess_spot67(in_fld, out_fld, dem_fld, geoid_file, skip_ps, compress,
sp.write_outputs(out_fld, compress=compress)
return
def preprocess_s2(in_fld, out_fld, output_dates_file=None, roi=None, coregister_to=None, coregister_to_band=1,
coregister_using_band=3, provider='theia'):
def preprocess_s2(in_fld, out_fld, output_dates_file=None, roi=None,
align=False, align_to=None, align_to_band=3, align_using_band=3,
provider='theia'):
S2Processor = None
if provider == 'theia':
S2Processor = s2theia.S2TheiaPipeline
......@@ -47,7 +48,9 @@ def preprocess_s2(in_fld, out_fld, output_dates_file=None, roi=None, coregister_
else:
raise ValueError("Please provide path to a text file containing output dates.")
s2.extract_feature_set(out_fld, store_gapfill=True, mosaicking='vrt')
align_flag = align is not None
s2.extract_feature_set(out_fld, store_gapfill=True, mosaicking='vrt', align=align_flag, align_to=align_to,
align_to_band=align_to_band, align_using_band=align_using_band, output_aligned=align)
return
def main(args):
......@@ -60,9 +63,10 @@ def main(args):
prepr.add_argument("out_folder", type=str, help="Path to the folder in which preprocessed stacks will be stored.")
prepr.add_argument("--output_dates_file", type=str, default=None, help="Path to the text file containing output dates for temporal interpolation.")
prepr.add_argument("--roi", type=str, default=None, help="Path to the ROI vector file.")
prepr.add_argument("--coregister_to", type=str, default=None, help="Path to a reference image to which the stacks must be coregistered.")
prepr.add_argument("--coregister_to_band", type=int, default=1, help="Band of reference image used for co-registration.")
prepr.add_argument("--coregister_using_band", type=int, default=3, help="Band of current stack used for co-registration.")
prepr.add_argument("--align", type=str, default=None, help="To perform within-series image alignment, set this as output path for the aligned series.")
prepr.add_argument("--align_to", type=str, default=None, help="Path to a (optional)) reference image to which the stacks must be aligned.")
prepr.add_argument("--align_to_band", type=int, default=1, help="Band of reference image used for alignment.")
prepr.add_argument("--align_using_band", type=int, default=3, help="Band of current stack used for alignment.")
prepr.add_argument("--provider", type=str, default='theia', help="S2 image provider. Supported: 'theia', 'theial3a', 'sen2cor', 'planetary'")
segmt = subpar.add_parser("segment", help="Performs (large scale Baatz-Shape) segmentation of an input image.",
......@@ -93,8 +97,6 @@ def main(args):
vhrprep.add_argument("--skip_ps", help="Skip pansharpening step.", action='store_true')
vhrprep.add_argument("--compress", help="Use lossless compression on outputs.", action='store_true')
if len(args) == 1:
parser.print_help()
sys.exit(0)
......@@ -103,7 +105,8 @@ def main(args):
if arg.cmd == "preprocess_s2":
preprocess_s2(arg.in_folder, arg.out_folder, output_dates_file=arg.output_dates_file, roi=arg.roi,
coregister_to=arg.coregister_to, provider=arg.provider)
align=arg.align, align_to=arg.align_to, align_to_band=arg.align_to_band,
align_using_band=arg.align_using_band, provider=arg.provider)
if arg.cmd == "segment":
run_segmentation(arg.img, arg.threshold, arg.cw, arg.sw, arg.outimg, arg.n_first_iter, arg.tile_margin,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment