The microscope visits multiple positions during an experiment. Each position may have a different setup or strain. We denote this strain as a group. For every position, we take an image for every time point.
We divide all images into tiles, one per trap. Baby determines masks, mother-bud pairs, and tracking for each tile. We obtain data on individual cells first for each tile and then for each position for all time points: cells and signal provide this information for a position; grouper concatenates over all positions.
All global parameters, such as possible fluorescence channels and pixel sizes, are stored in global_parameters.
Runs the tiler, baby, and extraction steps of the pipeline, and then postprocessing. The run function loops through positions, calling run_one_position, which loops through time points. For each time point, each step of the pipeline has a _run_tp function, which StepABC renames to run_tp, to process one time point for a position. Extractor does not have an independent writer, but writes to the h5 file in _run_tp.
Tiles image into smaller regions of interest or tiles, one per trap, for faster processing. We ignore tiles without cells.
Interfaces with Baby through the BabyRunner class, which returns a dict of Baby’s results.
Extracts areas and volumes and the fluorescence data from the images for the cells in one position, via the image tiles, using the cell masks found by Baby.
We save the cell properties we wish to extract as a nested dictionary, such as {‘general’: {‘None’: [‘area’, ‘volume’, ‘eccentricity’]}}. extract_tp extracts data for one time point.
Defines the standard functions, such as area and median, that we apply to pixels from individual cells.
Determines properties of a tile’s background.
Collapses multiple z-sections to a 2D image.
Defines the standard fluorescence signals and metrics, like median, we extract in exparams_from_meta.
Defines more complex functions to apply to cells, such as nuc_est_conv, which estimates nuclear localisation of a fluorescent protein.
Interfaces with h5 files.
Accesses information on cells and masks in tiles from an h5 file.
Gets extracted properties, such as median fluorescence, for all cells and all time points from an h5 file - data for one position.
Signal applies picking and merging of cells using the choices made by picker and merger. get_raw gets the data from the h5 file without any picking and merging.
For one position, the run function performs picking, of appropriate cells, and merging, of tracklets, via run_prepost and then runs processes, such as the buddings and bud_metric functions, on signals, such as volume, to get new signals, such as buddings and bud_volume.
run_process writes the results to an h5 file.
The class PostProcessorParameters lists the standard processes we perform, such as running buddings and bud_metric on area.
Selects cells from a Signal for which there is lineage information and by how long they remain in the experiment, writing the choices to the h5 file.
Combines tracks that should be a single track of the same cell, writing the choices to the h5 file.
Core code needed when picker uses Baby’s lineage information to select mother-bud pairs in a Signal.
concat_signal: Concatenates signals from different h5 files - we have one per position - to generate dataframes for the entire experiment. uses either concat_signal_ind for independent signals or concat_standard.
Gets information on the data available in an OMERO data base.
Contains functions to interact with OMERO and extract information on an Image corresponding to an OMERO image ID or a Dataset corresponding to an OMERO experiment ID.
We use tile and trap interchangeably, but tile is preferred. We use bud and daughter interchangeably, but bud is preferred. We use record and kymograph interchangeably, but record is preferred.