Exemple #1
0
def process_series(_experiment, _series_id, _overwrite=False):
    _series_image_path = paths.serieses(_experiment, _series_id)
    _image_properties = load.image_properties(_experiment, _series_id)
    _series_image = tifffile.imread(_series_image_path)
    _cells_coordinates = load.cell_coordinates_tracked_series_file_data(
        _experiment, _series_id)
    _series_image_by_time_frames = [
        np.array([
            _z[IMAGE_FIBER_CHANNEL_INDEX] for _z in _series_image[_time_frame]
        ]) for _time_frame in range(_series_image.shape[0])
    ]

    _tuples = load.experiment_groups_as_tuples(_experiment)
    _tuples = organize.by_experiment(_tuples)[_experiment]
    _tuples = filtering.by_real_pairs(_tuples)
    _tuples = filtering.by_real_fake_pairs(_tuples, _real_fake_pairs=False)
    _tuples = filtering.by_series_id(_tuples, _series_id)

    for _tuple in _tuples:
        _experiment, _series_id, _group = _tuple
        _cell_1_id, _cell_2_id = [
            int(_value) for _value in _group.split('_')[1:]
        ]
        process_group(
            _experiment=_experiment,
            _series_id=_series_id,
            _cells_coordinates=_cells_coordinates,
            _cell_1_id=_cell_1_id,
            _cell_2_id=_cell_2_id,
            _series_image_by_time_frames=_series_image_by_time_frames,
            _resolutions=_image_properties['resolutions'],
            _image_properties=_image_properties,
            _overwrite=_overwrite)
Exemple #2
0
def process_experiment(_experiment, _overwrite=False):
    _arguments = []
    for _tuple in load.experiment_groups_as_tuples(_experiment):
        _experiment, _series_id, _group = _tuple
        _arguments.append((_experiment, _series_id, _group, _overwrite))

    _p = Pool(CPUS_TO_USE)
    _p.starmap(process_group, _arguments)
    _p.close()
def process_experiments(_experiments, _pairs=True):
    _tuples = []
    for _experiment in _experiments:
        _tuples += load.experiment_groups_as_tuples(_experiment)
    _p = Pool(CPUS_TO_USE)
    if _pairs:
        _answers = _p.starmap(process_group_pairs, _tuples)
    else:
        _answers = _p.starmap(process_group_single_cells, _tuples)
    _p.close()
def main():
    # single cells
    print('Single cells')
    _single_cells = load.experiments_groups_as_tuples(SINGLE_CELLS)
    _single_cells = filtering.by_main_cell(_single_cells)
    _single_cells = organize.by_single_cell_id(_single_cells)
    print('\tTotal single cell experiments:', len(_single_cells))

    # cell pairs
    _cell_pairs = load.experiments_groups_as_tuples(CELL_PAIRS)
    print('\nTotal cell pairs:', len(_cell_pairs))

    for _distance_range in DISTANCE_RANGES:
        print('Cell pairs distance range:', _distance_range)

        # total
        _distance_range_cell_pairs = filtering.by_pair_distance_range(_cell_pairs, _distance_range=_distance_range)
        print('\tTotal cell pairs:', len(_distance_range_cell_pairs))

        for _experiment in CELL_PAIRS:
            print('\tExperiment:', _experiment)

            _experiment_cell_pairs = load.experiment_groups_as_tuples(_experiment)
            _distance_range_experiment_cell_pairs = \
                filtering.by_pair_distance_range(_experiment_cell_pairs, _distance_range=_distance_range)
            print('\t\tTotal cell pairs:', len(_distance_range_experiment_cell_pairs))

            # real cell pairs
            _real_cell_pairs = filtering.by_real_pairs(_distance_range_experiment_cell_pairs)
            print('\t\tTotal real cell pairs:', len(_real_cell_pairs))

            _real_cell_pairs_with_band = filtering.by_band(_real_cell_pairs)
            print('\t\tTotal real cell pairs with band:', len(_real_cell_pairs_with_band))

            # fake cell pairs
            _fake_cell_pairs = filtering.by_real_pairs(_distance_range_experiment_cell_pairs, _real_pairs=False)
            print('\t\tTotal fake cell pairs:', len(_fake_cell_pairs))

            _fake_static_cell_pairs = filtering.by_fake_static_pairs(_fake_cell_pairs)
            print('\t\tTotal fake static cell pairs:', len(_fake_static_cell_pairs))

            _fake_following_cell_pairs = filtering.by_fake_static_pairs(_fake_cell_pairs, _fake_static_pairs=False)
            print('\t\tTotal fake following cell pairs:', len(_fake_following_cell_pairs))

            _fake_following_cell_pairs_with_band = filtering.by_band(_fake_following_cell_pairs)
            print('\t\tTotal fake following cell pairs with band:', len(_fake_following_cell_pairs_with_band))
Exemple #5
0
def main():
    _experiment = 'LiveDead_201220'
    _band = False

    _tuples = load.experiment_groups_as_tuples(_experiment)
    print('Total tuples:', len(_tuples))

    for _tuple in _tuples:
        print(_tuple)
        _experiment, _series_id, _group = _tuple
        _properties = load.group_properties(_experiment, _series_id, _group)
        _properties['band'] = _band

        _group_structured_path = paths.structured(_experiment, _series_id,
                                                  _group)
        _properties_json_path = os.path.join(_group_structured_path,
                                             'properties.json')
        save_lib.to_json(_properties, _properties_json_path)
Exemple #6
0
def main():
    _experiment = 'DeadDead_201208'
    _tuples = load.experiment_groups_as_tuples(_experiment)

    _cell_ids = {}
    for _tuple in _tuples:
        _experiment, _series_id, _group = _tuple
        _group_split = _group.split('_')
        _cell_1_id = int(_group_split[1])
        _cell_2_id = int(_group_split[2])

        if _series_id not in _cell_ids:
            _cell_ids[_series_id] = [_cell_1_id, _cell_2_id]
        else:
            if _cell_1_id not in _cell_ids[_series_id]:
                _cell_ids[_series_id].append(_cell_1_id)
            if _cell_2_id not in _cell_ids[_series_id]:
                _cell_ids[_series_id].append(_cell_2_id)

    for _series_id in _cell_ids.keys():
        _properties = load.image_properties(_experiment, _series_id)
        _properties['dead_cell_ids'] = _cell_ids[_series_id]
        save.image_properties(_experiment, _series_id, _properties)
        print(_experiment, _series_id, sep='\t')
Exemple #7
0
def process_experiment(_experiment):
    for _tuple in load.experiment_groups_as_tuples(_experiment):
        _experiment, _series_id, _group = _tuple
        process_group(_experiment, _series_id, _group)