infer_subc
-
aims to create a simple, extensible, and reproducible workflow to measure (or infer) the shape, position, size, and interaction of several sub-cellular components. These data can then be applied later to better understand the spatial coordination of these structures and the interactome during key biological processes.
-
is part of a larger collaboration between the CZI Neurodegeneration Challenge Network (NDCN) Data Science Concierge program and the Cohen lab at UNC (website, github) to migrate a multispectral imaging dataset of iPSCs which identifies sub-cellular components to a scalable cloud-based pipeline.
The staring point of this workflow is a set of multichannel images, where each channel labels a different sub-cellular component. The workflow can then be completed in a suggested series of steps, outlined in the notebooks below.
Identify a single cell of interest
- Infer cellmask (🚨 Steps 2-9 depend on establishing a good solution here)
- Infer nuclei
- Infer cytoplasm
Segment each of the organelles
- Infer lysosomes
- Infer mitochondria
- Infer golgi complex
- Infer peroxisomes
- Infer endoplasmic reticulum
- Infer lipid bodies
A quick note on tools and resources used.
napari-allencell-segmenter
-- We are leveraging the framework of thenapari-allencell-segmenter
plugin, which enables powerful 3D image segmentation while taking advantage of thenapari
graphical user interface.aicssegmentation
-- We call theaicssegmentation
package directly.napari
-- Used as the visualization framework, a fast, interactive, multi-domensional image viewer for Python.scipy
-- Image analysisscikit-image
-- Image analysisitk
-- Image analysisnumpy
-- Under the hood computationAlzheimer's Disease AD Workbench
-- We initially wanted to use the ADDI's ADWB as a method of data sharing and to serve as a computational resource.
infer_subc
is available on PyPI
via:
pip install infer_subc
If there are issues more details can be fouund in the documentation
Its recommended that you use this repo along with the organelle-segmenter-plugin
as in Option A below. Alternatively using the module functions directly as in Option B would work just fine.
- Open a file in napari by dragging multi-channel .czi file onto napari which will import a multi-channel, multi-Z 'layer'. (Using the menu's defaults to
aicsIMAGEIO
reader which automatically splits mutliple channels into individual layers. The plugin is able to support multi-dimensional data in .tiff, .tif. ome.tif, .ome.tiff, .czi) - Start the plugin (open napari, go to "Plugins" --> "organelle-segmenter-plugin" --> "workflow editor")
- Select the image and channel to work on
- Select a workflow based on the example image and target segmentation based on user's data. Ideally, it is recommend to start with the example with very similar morphology as user's data.
- Click "Run All" to execute the whole workflow on the sample data.
- Adjust the parameters of steps, based on the intermediate results. A complete list of all functions can be found here🚧 WIP 🚧
- Click "Run All" again after adjusting the parameters and repeat step 6 and 7 until the result is satisfactory.
- Save the workflow
- Close the plugin and open the batch processing part by (go to "Plugins" --> "organelle-segmenter-plugin" --> "batch processing")
- Load the customized workflow saved above
- Load the folder with all the images to process
- Click "Run"
- Follow the examples in the
infer_subc
repo for postprocessing of the saved segmentations and generating the statistics.
A variety of example notebooks demonstrating how to use the are available in the repo. Additional information can be found at https://ndcn.github.io/infer-subc/nbs/overview/.
Read the CONTRIBUTING.md file.
Distributed under the terms of the [BSD-3] license, "organelle-segmenter-plugin" is free and open source software
If you encounter any problems, please file an issue with a detailed description.
Given that the github repos are not yet whitelisted, the source directory needs to be zipped and uploaded in order to make an "editable" pip install.
uploading guide uploading files via the workspace article. Using BLOB storage