def it_converts_to_power_of_2(): with zest.mock(worker._convert_message): nd2 = _make_nd2(63) m_nd2.returns(nd2) result = worker.ims_import(src_path, ims_import_params) assert result.field_chcy_ims(0).shape == (n_channels, n_cycles, 64, 64)
def it_scatter_gathers(): result = worker.ims_import(src_path, ims_import_params) emitted_files = list(local.path(".").walk()) assert len(emitted_files) == 9 assert result.params == ims_import_params assert result.n_fields == n_fields assert result.n_channels == n_channels assert result.n_cycles == n_cycles
def it_swaps_fields_cycles(): result = worker.ims_import(src_path, ims_import_params) assert result.n_cycles == n_fields assert result.n_fields == n_cycles assert result.n_channels == n_channels for cy in range(result.n_cycles): assert np.all( result.field_chcy_ims(0)[:, cy, :, :] == float(cy))
def it_respects_channel_map(): ims_import_params.dst_ch_i_to_src_ch_i = [1, 0] result = worker.ims_import(src_path, ims_import_params) assert result.n_fields == n_fields assert result.n_cycles == n_cycles assert result.n_channels == 2 assert np.all(result.field_chcy_ims(0)[0, :, :, :] == float(1)) assert np.all(result.field_chcy_ims(0)[1, :, :, :] == float(0))
def it_can_skip_cycles(): ims_import_params.start_cycle = 1 result = worker.ims_import(src_path, ims_import_params) assert result.n_cycles == n_fields - 1 assert result.n_fields == n_cycles assert result.n_channels == n_channels for cy in range(result.n_cycles): assert np.all( result.field_chcy_ims(0)[:, cy, :, :] == float(cy + 1))
def start(self): ims_import_params = ImsImportParams(**self.config.parameters) ims_import_result = ims_import( self.inputs.src_dir, ims_import_params, progress=self.progress, pipeline=self, ) ims_import_result.save()
def it_converts_to_power_of_2(): with zest.mock(worker._convert_message): m_nd2.hook_to_call = lambda _: _make_nd2( 63, "cycle", n_fields) result = worker.ims_import(src_path, ims_import_params) assert result.field_chcy_ims(0).shape == ( n_channels, n_fields, 64, 64, )
def it_respects_channel_map(): nonlocal ims_import_params, nd2 ims_import_params = ImsImportParams(is_movie=True) m_nd2.hook_to_call = lambda _: _make_nd2(64) # Channel mode m_scan_nd2_files.returns(cycle_files) m_scan_tif_files.returns([]) ims_import_params.dst_ch_i_to_src_ch_i = [1, 0] result = worker.ims_import(src_path, ims_import_params) assert result.n_cycles == n_fields assert result.n_fields == n_cycles assert result.n_channels == 2 assert np.all(result.field_chcy_ims(0)[0, :, :, :] == float(1)) assert np.all(result.field_chcy_ims(0)[1, :, :, :] == float(0))
def it_ims_import_npy(): res = worker.ims_import(".", ims_import_params, progress=None, pipeline=None) assert res.n_fields == 2 and res.n_channels == 2 and res.n_cycles == 3
def it_can_skip_cycles(): ims_import_params.start_cycle = 1 result = worker.ims_import(src_path, ims_import_params) assert result.n_fields == n_fields assert result.n_cycles == n_cycles - 1 assert result.n_channels == n_channels
def it_can_skip_fields(): ims_import_params.start_field = 1 result = worker.ims_import(src_path, ims_import_params) assert result.n_fields == 2
def it_imports_src_channels(): result = worker.ims_import(src_path, ims_import_params) assert np.all(result.field_chcy_ims(0)[0, :, :, :] == 0.0) assert np.all(result.field_chcy_ims(0)[1, :, :, :] == 1.0)
def it_limits_fields(): ims_import_params.n_fields_limit = 1 result = worker.ims_import(src_path, ims_import_params) assert result.n_fields == 1