diff --git a/model_server/base/roiset.py b/model_server/base/roiset.py index 962d9f8e1be69dc723fdec9f12a5099d1bb2cf04..9b5a0360e22bd58bec118c10075455fcc647f6b4 100644 --- a/model_server/base/roiset.py +++ b/model_server/base/roiset.py @@ -79,6 +79,7 @@ class RoiSetExportParams(BaseModel): object_classes: bool = False labels_overlay: Union[RoiSetLabelsOverlayParams, None] = None derived_channels: bool = False + make_unique_subdirectory: bool = False def get_label_ids(acc_seg_mask: GenericImageDataAccessor, allow_3d=False, connect_3d=True) -> InMemoryDataAccessor: @@ -771,9 +772,9 @@ class RoiSet(object): if patch.dtype == 'uint16': resampled = patch.to_8bit() - write_accessor_data_to_file(where / prefix / fname, resampled) + write_accessor_data_to_file(where / fname, resampled) else: - write_accessor_data_to_file(where / prefix / fname, patch) + write_accessor_data_to_file(where / fname, patch) return fname patches_df['patch_path'] = patches_df.apply(_export_patch, axis=1) @@ -961,8 +962,10 @@ class RoiSet(object): return for k in params.dict().keys(): - subdir = where / k pr = prefix + subdir = where / k + if params.make_unique_subdirectory: + subdir = subdir / pr kp = params.dict()[k] if kp is None: continue