diff --git a/scenes/drs.py b/scenes/drs.py index 96fe9ddfd2143a785badb5a4a663734249d5cbac..7745faf2e2ffd13eb1f4b5c4ded8e6a2aeb1b0ce 100644 --- a/scenes/drs.py +++ b/scenes/drs.py @@ -2,6 +2,7 @@ A set of utils to deal with DRS products """ import tqdm +import pickle from scenes import spot, utils @@ -17,8 +18,8 @@ def find_all_dimaps(pth): def get_spot67_scenes(root_dir): """ Return the list of pairs of PAN/XS DIMAPS - :param root_dir: directory - :return: list of pairs of filenames + :param root_dir: directory containing "MS" and "PAN" subdirectories + :return: list of Spot67Scenes instances """ # List files look_dir = root_dir + "/MS" @@ -59,3 +60,23 @@ def get_spot67_scenes(root_dir): print("\t{}".format(error)) return scenes + + +def save_scenes(scenes_list, pickle_file): + """ + Use pickle to save scenes + :param scenes_list: a list of Scene instances + :param pickle_file: pickle file + """ + pickle.dump(scenes_list, open(pickle_file, "wb")) + + +def load_scenes(pickle_file): + """ + Use pickle to save Spot-6/7 scenes + :param pickle_file: pickle file + :return: list of Scene instances + """ + return pickle.load(open(pickle_file, "rb")) + + diff --git a/test/drs_import.py b/test/drs_import.py index 1cfad67b8523480d42a1ab536ce3143bdd9d953b..9aec815b423f7d6e9d56a72d62cf8926b5966648 100644 --- a/test/drs_import.py +++ b/test/drs_import.py @@ -4,7 +4,11 @@ from scenes import drs # Arguments parser = argparse.ArgumentParser(description="Test",) parser.add_argument("--root_dir", help="Root directory containing MS and PAN folders", required=True) +parser.add_argument("--out_pickle", help="Output pickle file", required=True) params = parser.parse_args() -# Find pairs of DIMAPS +# Get all scenes in the root_dir scenes = drs.get_spot67_scenes(params.root_dir) + +# Save scenes in a pickle file +drs.save_scenes(scenes, params.out_pickle)