def image_directory(self): """Return the image directory """ if self.location == DIR_DEFAULT_IMAGE: return preferences.get_default_image_directory() elif self.location == DIR_DEFAULT_OUTPUT: return preferences.get_default_output_directory() else: return preferences.get_absolute_path(self.location_other.value)
def save_pipeline(self, workspace, outf=None): '''Save the pipeline in Batch_data.mat Save the pickled image_set_list state in a setting and put this module in batch mode. if outf is not None, it is used as a file object destination. ''' from cellprofiler.utilities.get_revision import version if self.wants_default_output_directory.value: path = cpprefs.get_default_output_directory() else: path = cpprefs.get_absolute_path(self.custom_output_directory.value) h5_path = os.path.join(path, F_BATCH_DATA_H5) image_set_list = workspace.image_set_list pipeline = workspace.pipeline m = cpmeas.Measurements(copy = workspace.measurements, filename = h5_path) assert isinstance(image_set_list, cpi.ImageSetList) assert isinstance(pipeline, cpp.Pipeline) assert isinstance(m, cpmeas.Measurements) pipeline = pipeline.copy() target_workspace = cpw.Workspace(pipeline, None, None, None, m, image_set_list, workspace.frame) pipeline.prepare_to_create_batch(target_workspace, self.alter_path) bizarro_self = pipeline.module(self.module_num) assert isinstance(bizarro_self, CreateBatchFiles) state = image_set_list.save_state() state = zlib.compress(state) bizarro_self.revision.value = version bizarro_self.batch_state = np.array(state) if self.wants_default_output_directory: bizarro_self.custom_output_directory.value = \ self.alter_path(cpprefs.get_default_output_directory()) bizarro_self.default_image_directory.value = \ self.alter_path(cpprefs.get_default_image_directory()) bizarro_self.batch_mode.value = True pipeline.write_pipeline_measurement(m) if outf is None: mat_path = os.path.join(path, F_BATCH_DATA) if os.path.exists(mat_path) and workspace.frame is not None: import wx if (wx.MessageBox("%s already exists. Do you want to overwrite it?"% mat_path, "Overwriting %s" % F_BATCH_DATA, wx.YES_NO, workspace.frame) == wx.NO): return pipeline.save(mat_path, format=cpp.FMT_MATLAB) # Matlab... it's like the vestigial hole in the head of CP. else: pipeline.save(outf, format=cpp.FMT_NATIVE)
def save_pipeline(self, workspace, outf=None): '''Save the pipeline in Batch_data.mat Save the pickled image_set_list state in a setting and put this module in batch mode. if outf is not None, it is used as a file object destination. ''' from cellprofiler.utilities.version import version_number if outf is None: if self.wants_default_output_directory.value: path = cpprefs.get_default_output_directory() else: path = cpprefs.get_absolute_path(self.custom_output_directory.value) h5_path = os.path.join(path, F_BATCH_DATA_H5) else: h5_path = outf image_set_list = workspace.image_set_list pipeline = workspace.pipeline m = cpmeas.Measurements(copy = workspace.measurements, filename = h5_path) try: assert isinstance(pipeline, cpp.Pipeline) assert isinstance(m, cpmeas.Measurements) orig_pipeline = pipeline pipeline = pipeline.copy() # this use of workspace.frame is okay, since we're called from # prepare_run which happens in the main wx thread. target_workspace = cpw.Workspace(pipeline, None, None, None, m, image_set_list, workspace.frame) pipeline.prepare_to_create_batch(target_workspace, self.alter_path) bizarro_self = pipeline.module(self.module_num) bizarro_self.revision.value = version_number if self.wants_default_output_directory: bizarro_self.custom_output_directory.value = \ self.alter_path(cpprefs.get_default_output_directory()) bizarro_self.default_image_directory.value = \ self.alter_path(cpprefs.get_default_image_directory()) bizarro_self.batch_mode.value = True pipeline.write_pipeline_measurement(m) orig_pipeline.write_pipeline_measurement(m, user_pipeline=True) # # Write the path mappings to the batch measurements # m.write_path_mappings( [(mapping.local_directory.value, mapping.remote_directory.value) for mapping in self.mappings]) return h5_path finally: m.close()
def save_pipeline(self, workspace, outf=None): '''Save the pipeline in Batch_data.mat Save the pickled image_set_list state in a setting and put this module in batch mode. if outf is not None, it is used as a file object destination. ''' from cellprofiler.utilities.version import version_number if outf is None: if self.wants_default_output_directory.value: path = cpprefs.get_default_output_directory() else: path = cpprefs.get_absolute_path(self.custom_output_directory.value) h5_path = os.path.join(path, F_BATCH_DATA_H5) else: h5_path = outf image_set_list = workspace.image_set_list pipeline = workspace.pipeline m = cpmeas.Measurements(copy=workspace.measurements, filename=h5_path) try: assert isinstance(pipeline, cpp.Pipeline) assert isinstance(m, cpmeas.Measurements) orig_pipeline = pipeline pipeline = pipeline.copy() # this use of workspace.frame is okay, since we're called from # prepare_run which happens in the main wx thread. target_workspace = cpw.Workspace(pipeline, None, None, None, m, image_set_list, workspace.frame) pipeline.prepare_to_create_batch(target_workspace, self.alter_path) bizarro_self = pipeline.module(self.module_num) bizarro_self.revision.value = version_number if self.wants_default_output_directory: bizarro_self.custom_output_directory.value = \ self.alter_path(cpprefs.get_default_output_directory()) bizarro_self.default_image_directory.value = \ self.alter_path(cpprefs.get_default_image_directory()) bizarro_self.batch_mode.value = True pipeline.write_pipeline_measurement(m) orig_pipeline.write_pipeline_measurement(m, user_pipeline=True) # # Write the path mappings to the batch measurements # m.write_path_mappings( [(mapping.local_directory.value, mapping.remote_directory.value) for mapping in self.mappings]) return h5_path finally: m.close()
def save_pipeline(self, workspace, outf=None): '''Save the pipeline in Batch_data.mat Save the pickled image_set_list state in a setting and put this module in batch mode. if outf is not None, it is used as a file object destination. ''' from cellprofiler.utilities.version import version_number if outf is None: if self.wants_default_output_directory.value: path = cpprefs.get_default_output_directory() else: path = cpprefs.get_absolute_path(self.custom_output_directory.value) h5_path = os.path.join(path, F_BATCH_DATA_H5) else: h5_path = outf image_set_list = workspace.image_set_list pipeline = workspace.pipeline m = cpmeas.Measurements(copy = workspace.measurements, filename = h5_path) assert isinstance(image_set_list, cpi.ImageSetList) assert isinstance(pipeline, cpp.Pipeline) assert isinstance(m, cpmeas.Measurements) pipeline = pipeline.copy() target_workspace = cpw.Workspace(pipeline, None, None, None, m, image_set_list, workspace.frame) pipeline.prepare_to_create_batch(target_workspace, self.alter_path) bizarro_self = pipeline.module(self.module_num) bizarro_self.revision.value = version_number if self.wants_default_output_directory: bizarro_self.custom_output_directory.value = \ self.alter_path(cpprefs.get_default_output_directory()) bizarro_self.default_image_directory.value = \ self.alter_path(cpprefs.get_default_image_directory()) bizarro_self.batch_mode.value = True pipeline.write_pipeline_measurement(m) del m
def save_pipeline(self, workspace, outf=None): '''Save the pipeline in Batch_data.mat Save the pickled image_set_list state in a setting and put this module in batch mode. if outf is not None, it is used as a file object destination. ''' from cellprofiler.utilities.get_revision import version if outf is None: if self.wants_default_output_directory.value: path = cpprefs.get_default_output_directory() else: path = cpprefs.get_absolute_path(self.custom_output_directory.value) h5_path = os.path.join(path, F_BATCH_DATA_H5) else: h5_path = outf image_set_list = workspace.image_set_list pipeline = workspace.pipeline m = cpmeas.Measurements(copy = workspace.measurements, filename = h5_path) assert isinstance(image_set_list, cpi.ImageSetList) assert isinstance(pipeline, cpp.Pipeline) assert isinstance(m, cpmeas.Measurements) pipeline = pipeline.copy() target_workspace = cpw.Workspace(pipeline, None, None, None, m, image_set_list, workspace.frame) pipeline.prepare_to_create_batch(target_workspace, self.alter_path) bizarro_self = pipeline.module(self.module_num) bizarro_self.revision.value = version if self.wants_default_output_directory: bizarro_self.custom_output_directory.value = \ self.alter_path(cpprefs.get_default_output_directory()) bizarro_self.default_image_directory.value = \ self.alter_path(cpprefs.get_default_image_directory()) bizarro_self.batch_mode.value = True pipeline.write_pipeline_measurement(m) del m