import sys import os from ORSServiceClass.importing.deeplearningimportutils import get_deep_learning_enabled if not get_deep_learning_enabled(): # This validate licence and load TF environment raise ValueError() from ORSModel.ors import Channel from ORSServiceClass.deepTrainer.deepmodelsmanager import DeepModelsManager def run(model_id: str, input_folder: str, output_folder: str): if not os.path.exists(input_folder): print(f"Input folder {input_folder} not found") return # Create output folder in case it didn't exists os.makedirs(output_folder, exist_ok=True) # Load model dmm = DeepModelsManager() model = dmm.getDeepModel(model_id, True) if model is None: print(f"Model {model_id} not found") return # Apply model for filename in os.listdir(input_folder): if filename.endswith(".ORSObject"): channel = Channel.atomicLoad(os.path.join(input_folder, filename), True) if isinstance(channel, Channel): output = model.apply([channel]) if output is not None: model.labels_manager.applyLabelSettingsToMultiROI(output) output.setTitle(f"{channel.getTitle()}_{model.getName()}") output_path = os.path.join(output_folder, f"{output.getTitle()}.ORSObject") print(f"Model output saved in {output_path}.") output.atomicSave(output_path, True) output.deleteObject() channel.deleteObject() dmm.closeModelSession(model) if __name__ == "__main__": input_folder = "/home/bprovencher/Documents/input_folder" output_folder = "/home/bprovencher/Documents/output_folder" model_id = "a2fe5546da6911eba837d45d645128fe" run(model_id, input_folder, output_folder)
- copy the function above in the python console
- call it with:
input_folder = "/home/mypath/input_folder"
output_folder = "/home/mapath/output_folder"
model_id = "a2fe5546da6911eba837d45d645128fe"
run(model_id, input_folder, output_folder)
Where input_folder is the input folder containing the ORSObject channel, output_folder is the destination folder, and model_id is the id of the model (the uuid in the model folder name).
For example, "a2fe5546da6911eba837d45d645128fe" for model U-Net_TEST_a2fe5546da6911eba837d45d645128fe