infer-subc


Nameinfer-subc JSON
Version 1.0.5 PyPI version JSON
download
home_pageNone
SummaryA plugin that enables organelle segmentation and analysis
upload_time2024-11-19 17:18:36
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseCopyright (c) 2022, Shannon Rhoads All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords organelles segmentation morphology organelle contacts distribution er lysosomes mitochondria peroxisomes golgi lipid droplets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # infer-subc
### A python-based image analysis tool to segment and quantify the morphology, interactions, and distribution of organelles.

<img src="infer_subc\assets\README.png" width="800">
<p>

# ๐Ÿ“’ About this project

### `infer-subc` 
- aims to create a <ins>simple</ins>, <ins>extensible</ins>, and <ins>reproducible</ins> pipeline to segment (or infer) and quantify the shape, position, size, and interaction of multiple intracellular organelles from confocal microscopy ๐Ÿ”ฌ images. 
- is <ins>modular</ins> ๐Ÿ”ข to support a diversity of organelle-focused research questions. 
- can be <ins>applied broadly</ins> to many types of in vitro ๐Ÿงซ and in vivo models ๐Ÿ๐Ÿงฌ to better understand the spatial coordination and interactome of organelles during key biological processes or disease. 

> ### Compatable Organelles ๐Ÿ”“๐Ÿ—๏ธ
> 
> - `Lysosomes`
> - `Mitochondria`
> - `Golgi`
> - `Peroxisomes`
> - `Endoplasmic reticulum` 
> - `Lipid droplets`
> - `Cell`
> - `Nucleus`
>
>
>  *Outside segmentation methods can also be used to incorporate additional oragnelles.*


# Getting Started
## Setup โš™๏ธ
`infer-subc` and the related `organelle-segmenter-plugin` for [Napari]() are available on `PyPI` via: 

```
pip install infer-subc
pip install organelle-segmenter-plugin
```

A full list of dependencies and recommended setup steps are included in [env_create.sh](./env_create.sh).

## Segmentation Workflows ๐Ÿ–๏ธ

> ***NOTE**: Proceed to the Organelle Quantification section below if you have already created instance segmentations using a separate method.*

The starting point for the `infer-subc` analysis pipeline is to perform instance segmentation on single or multichannel confocal microscopy images, where each channel labels a different intracellular component. Each organelle will be segmented from a single intensity channel. The subsequent analysis is performed at a single-cell level, so we have also developed several workflows to segement the cell area.

We recommend that you use our `infer-subc` implementation for Napari called [`organelle-segmenter-plugin`](https://github.com/ndcn/organelle-segmenter-plugin) for segmentation. This will allow users to systematically test segmentation settings for each organelles, then batch process all organelles of interest across multiple cells. Alternatively, you can utilize the included set of Jupter Notebooks or your own python script calling functions from the infer_subc module to work through the segmentation process step by step for each cell.

### <ins>Option A:</ins> [Napari Plugin](https://github.com/ndcn/organelle-segmenter-plugin) ๐Ÿ”Œ

You must have installed `organelle-segmenter-plugin` as described above to use this method. The order in which you run the workflows is not important, but for down stream quantification, you must include at least one organelle and the cell mask.

1. Open Napari. Then drag-and-drop or use the `File` > `Open File(s)...` controls to open a single- or multi-channel confocal microscopy image. This image will be used to test the segmentation settings you want to apply to many cells during batch processing.
2. Start the plugin by navigating to `Plugin` > `Infer sub-Cellular Object Npe2 plugin` > `Workflow editor`. A right side panel will appear.
3. In the Workflow editor, select the image to work on. 
4. Select the workflow corresponding to your desired organelle(s)/masks.
5. Adjust the parameters for each step based on the intermediate results. If you need to return to a previous step, you must restart the workflow by pressing `Close Workflow` at the bottom of the panel.
6. Save the workflow settings that work for your image by using the `Save Workflow` option at the bottom of the panel. Save each of the settings files to process a single image into the same location for batch processing. *IMPORTANT: the file name should end with the same name as the workflow you are working on.*
    > 
    > <ins>**Naming Examples**</ins>: 
    >
    > For settings saved from the 0.2.lyso workflow, the following naming are **acceptable**:
    > - "20241031_lyso.json"
    > - "iPSCs_lyso.json"
    > - "lyso.json"
    > 
    > Do **NOT** use names like:
    > - "lysosomes.json"
    > - "LS.json"
7. Once all of the settings are saved, open the batch processor by going to `Plugins` > `Infer sub-Cellular Object Npe2 plugin` > `Batch processing`.
8. Load the saved workflow settings for all channels and specify the input (intensity images) and output (desired location for segmentation files) folders.
9. Click `Run`. A progress bar will allow you track your processing.


### <ins>Option B:</ins> [Notebooks](/docs/nbs/overview.md) ๐Ÿ“š
The primary purpose of the Juptyer notebooks are to walk step-by-step through each of the segementation workflows. We hope these notebooks provide a more easily accessible resource for those who are new to Python image analysis. 
*The notesbooks below include sets to segment a single image. A batch processing workflow has not yet been created.*

**Step 1๏ธโƒฃ: Identify a single cell of interest**

Segment (or infer) the `cellmask` and `nuclei` from an image depending on the type of fluorescent labels used and the number of cells per field of view (FOV):

- Fluorescently labeled nuclei (no cell or plasma membrane)
    - [one or more cells per FOV](/notebooks/part_1_segmentation_workflows/1.1_infer_masks_from-composite_with_nuc.ipynb)
- No cell, plasma membrane, or nuclei labels with
    - [one cell per field of view FOV](/notebooks/part_1_segmentation_workflows/1.1a_infer_masks_from-composite_single_cell.ipynb)
    - [one or more cells per FOV](/notebooks/part_1_segmentation_workflows/1.1b_infer_masks_from-composite_multiple-cells.ipynb)

**Step 2๏ธโƒฃ: Segment organelles**

Each of the organelles you wish to include in your analysis should be segmented from a single fluorescently labeled structure.

2. Infer [`lysosomes`](/notebooks/part_1_segmentation_workflows/1.2_infer_lysosome.ipynb)
3. Infer [`mitochondria`](/notebooks/part_1_segmentation_workflows/1.3_infer_mitochondria.ipynb)
4. Infer [`golgi`](/notebooks/part_1_segmentation_workflows/1.4_infer_golgi.ipynb)
5. Infer [`peroxisomes`](/notebooks/part_1_segmentation_workflows/1.5_infer_peroxisome.ipynb)
6. Infer [`endoplasmic reticulum (ER)`](/notebooks/part_1_segmentation_workflows/1.6_infer_ER.ipynb)
7. Infer [`lipid droplets`](/notebooks/part_1_segmentation_workflows/1.7_infer_lipid_droplet.ipynb)

### <ins>Quality Check:</ins> [Validate segmentation results]()๐Ÿ”Ž
After processing all cells in your dataset, we recommend you quality check your segmentation results by visually inspecting the images. The Segmentation Validation pipeline is included in the [Full Quantification Pipeline Notebook](/notebooks/part_2_quantification/full_quantification_pipeline.ipynb) to streamline the validation process.

๐Ÿšง *In a future verions, this notebook will also include quality checks for assumptions made during quantification (i.e., only one nucleus and ER per cell, etc.).*

## Organelle Quantification ๐Ÿงฎ๐Ÿ“

After each of the organelles of interest are segmented, single or multi-organelle analysis can be carried out using Jupyter Notebook-based pipeline(s). Each of the following analysis types are modular and can be used in combination or separately.

**Combined Analysis:** 
- [Full Quantification Pipeline](./notebooks\part_2_quantification\full_quantification_pipeline.ipynb):  quantification of the `morphology`, `interactions`, and `distribution` of any number of organelles within the same cell. This pipeline incorporates batch processing within a single experiment and summarizes the results across multiple experimental replicates.

**Individual analysis pipelines :**

The following notebooks primarily act as a step-by-step guide to understanding each measurement type. However, they can also be used to quantify features of single organelles or pairs of organelles (interactions) from individual cells.  
- [Organelle morphology](./notebooks\part_2_quantification\1.1_organelle_morphology.ipynb)
- [Pairwise organelle interactions](./notebooks\part_2_quantification\1.2_organelle_interactions.ipynb)
- [Subcellular distribution](./notebooks\part_2_quantification\1.3_distribution_measurements.ipynb)
- [Cell/nucleus morphology](./notebooks\part_2_quantification\1.4_cell_region_morphology.ipynb)
- COMBINED ANAYSIS ONLY: [batch processing](./notebooks\part_2_quantification\1.5_combined_and_batch_processing.ipynb)
- COMBINED ANAYSIS ONLY: [per-cell summary](./notebooks\part_2_quantification\1.6_summary_stats.ipynb)

๐Ÿšง *Future implimentations of these notebooks will include batch processing capabilities (e.g., multiple cells, multiple organelles) for each quantification type separately.*

# Additional Information
## Built With
A quick note on tools and resources used...

- [`napari-allencell-segmenter`](https://github.com/AllenCell/napari-allencell-segmenter) -- We are leveraging the framework of the `napari-allencell-segmenter` plugin, which enables powerful 3D image segmentation while taking advantage of the `napari` graphical user interface. 
- [`aicssegmentation`](https://github.com/AllenCell/aics-segmentation) -- We call the `aicssegmentation` package directly to access their advanced segmentation functions.
- [`napari`](https://napari.org/stable/) -- Used as the visualization framework, a fast, interactive, multi-domensional image viewer for Python.
- [`scipy`](https://scipy.org/install/) -- Image analysis
- [`scikit-image`](https://scikit-image.org/) -- Image analysis
- [`itk`](https://itkpythonpackage.readthedocs.io/en/master/Quick_start_guide.html) -- Image analysis
- [`numpy`](https://numpy.org/) -- Under the hood computation
- ['pandas'](https://pandas.pydata.org/) -- Quantitative data manipulation

### Segmentation workflow & Napari plugin design:
Early in the develepmont we chose to leverage methods created in the `Allen Cell & Structure Segmenter` and [`napari plugin`](https://www.napari-hub.org/plugins/napari-allencell-segmenter). Although the logic of our **multi-channel** organelle segmentations required us to fork and modify their code, we hope it porvides a stable, but evolving base which will help manage accumulation of technical debt. In addition to the overall logic, we particulary leverage their *workflow* paradigm which is integral in the use of the napari plugin interface. Implementation of `infer-subc` as a Napari plugin using this framework is called [`organelle-segmenter-plugin`](https://github.com/ndcn/organelle-segmenter-plugin).

โ€‹The `Allen Cell & Structure Segmenter` is a Python-based open source toolkit developed at the Allen Institute for Cell Science for 3D segmentation of intracellular structures in fluorescence microscope images: [`aicssegmentation`](https://github.com/AllenCell/aics-segmentation) package. This toolkit brings together classic image segmentation and iterative deep learning workflows first to generate initial high-quality 3D intracellular structure segmentations and then to easily curate these results to generate the ground truths for building robust and accurate deep learning models. The toolkit takes advantage of the high replicate 3D live cell image data collected at the Allen Institute for Cell Science of over 30 endogenous fluorescently tagged human induced pluripotent stem cell (hiPSC) lines. Each cell line represents a different intracellular structure with one or more distinct localization patterns within undifferentiated hiPS cells and hiPSC-derived cardiomyocytes. Here, we leveraged select segmentation methods specialized for a particular organelle shape (i.e., round versus tubular objects) to carried out segmentation states within the [`infer-subc` segmentation workflows](/docs/segmentation.md).


## Issues
If you encounter any problems, please file an issue with a detailed description.

## Development
Read the [CONTRIBUTING.md](CONTRIBUTING.md) file.

## License
Distributed under the terms of the [BSD-3] license.

`infer-subc` and `organelle-segmenter-plugin` are free and open source software.

## Support of this project includes:
- [CZI Neurodegeneration Challenge Network (NDCN)](https://chanzuckerberg.com/science/programs-resources/neurodegeneration-challenge/)

# Publications

`infer-subc` analysis has been featured in:
1. Shannon N. Rhoads, Weizhen Dong, Chih-Hsuan Hsu, Ngudiankama R. Mfulama, Joey V. Ragusa, Michael Ye, Andy Henrie, Maria Clara Zanellati, Graham H. Diering, Todd J. Cohen, Sarah Cohen. *Neurons and astrocytes have distinct organelle signatures and responses to stress.* bioRxiv 2024.10.30.621066; doi: https://doi.org/10.1101/2024.10.30.621066

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "infer-subc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Shannon Rhoads <rhoads.shannon@gmail.com>, Rene Mfulama <mfulamangudiankama@gmail.com>, Zach coman <zachcoman@gmail.com>",
    "keywords": "organelles, segmentation, morphology, organelle contacts, distribution, ER, lysosomes, mitochondria, peroxisomes, Golgi, lipid droplets",
    "author": null,
    "author_email": "Andy Henrie <ergonyc@gmail.com>, Shannon Rhoads <rhoads.shannon@gmail.com>, Rene Mfulama <mfulamangudiankama@gmail.com>, Zach coman <zachcoman@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b3/8f/ccbaa0dd9b065cb1615978277cd97bcd943af14fceefa481ec133069b45e/infer_subc-1.0.5.tar.gz",
    "platform": null,
    "description": "# infer-subc\n### A python-based image analysis tool to segment and quantify the morphology, interactions, and distribution of organelles.\n\n<img src=\"infer_subc\\assets\\README.png\" width=\"800\">\n<p>\n\n# \ud83d\udcd2 About this project\n\n### `infer-subc` \n- aims to create a <ins>simple</ins>, <ins>extensible</ins>, and <ins>reproducible</ins> pipeline to segment (or infer) and quantify the shape, position, size, and interaction of multiple intracellular organelles from confocal microscopy \ud83d\udd2c images. \n- is <ins>modular</ins> \ud83d\udd22 to support a diversity of organelle-focused research questions. \n- can be <ins>applied broadly</ins> to many types of in vitro \ud83e\uddeb and in vivo models \ud83d\udc01\ud83e\uddec to better understand the spatial coordination and interactome of organelles during key biological processes or disease. \n\n> ### Compatable Organelles \ud83d\udd13\ud83d\udddd\ufe0f\n> \n> - `Lysosomes`\n> - `Mitochondria`\n> - `Golgi`\n> - `Peroxisomes`\n> - `Endoplasmic reticulum` \n> - `Lipid droplets`\n> - `Cell`\n> - `Nucleus`\n>\n>\n>  *Outside segmentation methods can also be used to incorporate additional oragnelles.*\n\n\n# Getting Started\n## Setup \u2699\ufe0f\n`infer-subc` and the related `organelle-segmenter-plugin` for [Napari]() are available on `PyPI` via: \n\n```\npip install infer-subc\npip install organelle-segmenter-plugin\n```\n\nA full list of dependencies and recommended setup steps are included in [env_create.sh](./env_create.sh).\n\n## Segmentation Workflows \ud83d\udd8d\ufe0f\n\n> ***NOTE**: Proceed to the Organelle Quantification section below if you have already created instance segmentations using a separate method.*\n\nThe starting point for the `infer-subc` analysis pipeline is to perform instance segmentation on single or multichannel confocal microscopy images, where each channel labels a different intracellular component. Each organelle will be segmented from a single intensity channel. The subsequent analysis is performed at a single-cell level, so we have also developed several workflows to segement the cell area.\n\nWe recommend that you use our `infer-subc` implementation for Napari called [`organelle-segmenter-plugin`](https://github.com/ndcn/organelle-segmenter-plugin) for segmentation. This will allow users to systematically test segmentation settings for each organelles, then batch process all organelles of interest across multiple cells. Alternatively, you can utilize the included set of Jupter Notebooks or your own python script calling functions from the infer_subc module to work through the segmentation process step by step for each cell.\n\n### <ins>Option A:</ins> [Napari Plugin](https://github.com/ndcn/organelle-segmenter-plugin) \ud83d\udd0c\n\nYou must have installed `organelle-segmenter-plugin` as described above to use this method. The order in which you run the workflows is not important, but for down stream quantification, you must include at least one organelle and the cell mask.\n\n1. Open Napari. Then drag-and-drop or use the `File` > `Open File(s)...` controls to open a single- or multi-channel confocal microscopy image. This image will be used to test the segmentation settings you want to apply to many cells during batch processing.\n2. Start the plugin by navigating to `Plugin` > `Infer sub-Cellular Object Npe2 plugin` > `Workflow editor`. A right side panel will appear.\n3. In the Workflow editor, select the image to work on. \n4. Select the workflow corresponding to your desired organelle(s)/masks.\n5. Adjust the parameters for each step based on the intermediate results. If you need to return to a previous step, you must restart the workflow by pressing `Close Workflow` at the bottom of the panel.\n6. Save the workflow settings that work for your image by using the `Save Workflow` option at the bottom of the panel. Save each of the settings files to process a single image into the same location for batch processing. *IMPORTANT: the file name should end with the same name as the workflow you are working on.*\n    > \n    > <ins>**Naming Examples**</ins>: \n    >\n    > For settings saved from the 0.2.lyso workflow, the following naming are **acceptable**:\n    > - \"20241031_lyso.json\"\n    > - \"iPSCs_lyso.json\"\n    > - \"lyso.json\"\n    > \n    > Do **NOT** use names like:\n    > - \"lysosomes.json\"\n    > - \"LS.json\"\n7. Once all of the settings are saved, open the batch processor by going to `Plugins` > `Infer sub-Cellular Object Npe2 plugin` > `Batch processing`.\n8. Load the saved workflow settings for all channels and specify the input (intensity images) and output (desired location for segmentation files) folders.\n9. Click `Run`. A progress bar will allow you track your processing.\n\n\n### <ins>Option B:</ins> [Notebooks](/docs/nbs/overview.md) \ud83d\udcda\nThe primary purpose of the Juptyer notebooks are to walk step-by-step through each of the segementation workflows. We hope these notebooks provide a more easily accessible resource for those who are new to Python image analysis. \n*The notesbooks below include sets to segment a single image. A batch processing workflow has not yet been created.*\n\n**Step 1\ufe0f\u20e3: Identify a single cell of interest**\n\nSegment (or infer) the `cellmask` and `nuclei` from an image depending on the type of fluorescent labels used and the number of cells per field of view (FOV):\n\n- Fluorescently labeled nuclei (no cell or plasma membrane)\n    - [one or more cells per FOV](/notebooks/part_1_segmentation_workflows/1.1_infer_masks_from-composite_with_nuc.ipynb)\n- No cell, plasma membrane, or nuclei labels with\n    - [one cell per field of view FOV](/notebooks/part_1_segmentation_workflows/1.1a_infer_masks_from-composite_single_cell.ipynb)\n    - [one or more cells per FOV](/notebooks/part_1_segmentation_workflows/1.1b_infer_masks_from-composite_multiple-cells.ipynb)\n\n**Step 2\ufe0f\u20e3: Segment organelles**\n\nEach of the organelles you wish to include in your analysis should be segmented from a single fluorescently labeled structure.\n\n2. Infer [`lysosomes`](/notebooks/part_1_segmentation_workflows/1.2_infer_lysosome.ipynb)\n3. Infer [`mitochondria`](/notebooks/part_1_segmentation_workflows/1.3_infer_mitochondria.ipynb)\n4. Infer [`golgi`](/notebooks/part_1_segmentation_workflows/1.4_infer_golgi.ipynb)\n5. Infer [`peroxisomes`](/notebooks/part_1_segmentation_workflows/1.5_infer_peroxisome.ipynb)\n6. Infer [`endoplasmic reticulum (ER)`](/notebooks/part_1_segmentation_workflows/1.6_infer_ER.ipynb)\n7. Infer [`lipid droplets`](/notebooks/part_1_segmentation_workflows/1.7_infer_lipid_droplet.ipynb)\n\n### <ins>Quality Check:</ins> [Validate segmentation results]()\ud83d\udd0e\nAfter processing all cells in your dataset, we recommend you quality check your segmentation results by visually inspecting the images. The Segmentation Validation pipeline is included in the [Full Quantification Pipeline Notebook](/notebooks/part_2_quantification/full_quantification_pipeline.ipynb) to streamline the validation process.\n\n\ud83d\udea7 *In a future verions, this notebook will also include quality checks for assumptions made during quantification (i.e., only one nucleus and ER per cell, etc.).*\n\n## Organelle Quantification \ud83e\uddee\ud83d\udcd0\n\nAfter each of the organelles of interest are segmented, single or multi-organelle analysis can be carried out using Jupyter Notebook-based pipeline(s). Each of the following analysis types are modular and can be used in combination or separately.\n\n**Combined Analysis:** \n- [Full Quantification Pipeline](./notebooks\\part_2_quantification\\full_quantification_pipeline.ipynb):  quantification of the `morphology`, `interactions`, and `distribution` of any number of organelles within the same cell. This pipeline incorporates batch processing within a single experiment and summarizes the results across multiple experimental replicates.\n\n**Individual analysis pipelines :**\n\nThe following notebooks primarily act as a step-by-step guide to understanding each measurement type. However, they can also be used to quantify features of single organelles or pairs of organelles (interactions) from individual cells.  \n- [Organelle morphology](./notebooks\\part_2_quantification\\1.1_organelle_morphology.ipynb)\n- [Pairwise organelle interactions](./notebooks\\part_2_quantification\\1.2_organelle_interactions.ipynb)\n- [Subcellular distribution](./notebooks\\part_2_quantification\\1.3_distribution_measurements.ipynb)\n- [Cell/nucleus morphology](./notebooks\\part_2_quantification\\1.4_cell_region_morphology.ipynb)\n- COMBINED ANAYSIS ONLY: [batch processing](./notebooks\\part_2_quantification\\1.5_combined_and_batch_processing.ipynb)\n- COMBINED ANAYSIS ONLY: [per-cell summary](./notebooks\\part_2_quantification\\1.6_summary_stats.ipynb)\n\n\ud83d\udea7 *Future implimentations of these notebooks will include batch processing capabilities (e.g., multiple cells, multiple organelles) for each quantification type separately.*\n\n# Additional Information\n## Built With\nA quick note on tools and resources used...\n\n- [`napari-allencell-segmenter`](https://github.com/AllenCell/napari-allencell-segmenter) -- We are leveraging the framework of the `napari-allencell-segmenter` plugin, which enables powerful 3D image segmentation while taking advantage of the `napari` graphical user interface. \n- [`aicssegmentation`](https://github.com/AllenCell/aics-segmentation) -- We call the `aicssegmentation` package directly to access their advanced segmentation functions.\n- [`napari`](https://napari.org/stable/) -- Used as the visualization framework, a fast, interactive, multi-domensional image viewer for Python.\n- [`scipy`](https://scipy.org/install/) -- Image analysis\n- [`scikit-image`](https://scikit-image.org/) -- Image analysis\n- [`itk`](https://itkpythonpackage.readthedocs.io/en/master/Quick_start_guide.html) -- Image analysis\n- [`numpy`](https://numpy.org/) -- Under the hood computation\n- ['pandas'](https://pandas.pydata.org/) -- Quantitative data manipulation\n\n### Segmentation workflow & Napari plugin design:\nEarly in the develepmont we chose to leverage methods created in the `Allen Cell & Structure Segmenter` and [`napari plugin`](https://www.napari-hub.org/plugins/napari-allencell-segmenter). Although the logic of our **multi-channel** organelle segmentations required us to fork and modify their code, we hope it porvides a stable, but evolving base which will help manage accumulation of technical debt. In addition to the overall logic, we particulary leverage their *workflow* paradigm which is integral in the use of the napari plugin interface. Implementation of `infer-subc` as a Napari plugin using this framework is called [`organelle-segmenter-plugin`](https://github.com/ndcn/organelle-segmenter-plugin).\n\n\u200bThe `Allen Cell & Structure Segmenter` is a Python-based open source toolkit developed at the Allen Institute for Cell Science for 3D segmentation of intracellular structures in fluorescence microscope images: [`aicssegmentation`](https://github.com/AllenCell/aics-segmentation) package. This toolkit brings together classic image segmentation and iterative deep learning workflows first to generate initial high-quality 3D intracellular structure segmentations and then to easily curate these results to generate the ground truths for building robust and accurate deep learning models. The toolkit takes advantage of the high replicate 3D live cell image data collected at the Allen Institute for Cell Science of over 30 endogenous fluorescently tagged human induced pluripotent stem cell (hiPSC) lines. Each cell line represents a different intracellular structure with one or more distinct localization patterns within undifferentiated hiPS cells and hiPSC-derived cardiomyocytes. Here, we leveraged select segmentation methods specialized for a particular organelle shape (i.e., round versus tubular objects) to carried out segmentation states within the [`infer-subc` segmentation workflows](/docs/segmentation.md).\n\n\n## Issues\nIf you encounter any problems, please file an issue with a detailed description.\n\n## Development\nRead the [CONTRIBUTING.md](CONTRIBUTING.md) file.\n\n## License\nDistributed under the terms of the [BSD-3] license.\n\n`infer-subc` and `organelle-segmenter-plugin` are free and open source software.\n\n## Support of this project includes:\n- [CZI Neurodegeneration Challenge Network (NDCN)](https://chanzuckerberg.com/science/programs-resources/neurodegeneration-challenge/)\n\n# Publications\n\n`infer-subc` analysis has been featured in:\n1. Shannon N. Rhoads, Weizhen Dong, Chih-Hsuan Hsu, Ngudiankama R. Mfulama, Joey V. Ragusa, Michael Ye, Andy Henrie, Maria Clara Zanellati, Graham H. Diering, Todd J. Cohen, Sarah Cohen. *Neurons and astrocytes have distinct organelle signatures and responses to stress.* bioRxiv 2024.10.30.621066; doi: https://doi.org/10.1101/2024.10.30.621066\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2022, Shannon Rhoads All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  * Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "A plugin that enables organelle segmentation and analysis",
    "version": "1.0.5",
    "project_urls": null,
    "split_keywords": [
        "organelles",
        " segmentation",
        " morphology",
        " organelle contacts",
        " distribution",
        " er",
        " lysosomes",
        " mitochondria",
        " peroxisomes",
        " golgi",
        " lipid droplets"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1c0acaeb3ae14f4be20e8a961ad86943a883347c7b63a3ed8e47fd184e1a29b",
                "md5": "643e403b54c369e351519c877e7deb1c",
                "sha256": "fdbf824185de9dd0bfccb790e72c7ec2325c7c0aa04b0f26769d6e13f02b56c5"
            },
            "downloads": -1,
            "filename": "infer_subc-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "643e403b54c369e351519c877e7deb1c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 4054555,
            "upload_time": "2024-11-19T17:18:35",
            "upload_time_iso_8601": "2024-11-19T17:18:35.052012Z",
            "url": "https://files.pythonhosted.org/packages/b1/c0/acaeb3ae14f4be20e8a961ad86943a883347c7b63a3ed8e47fd184e1a29b/infer_subc-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b38fccbaa0dd9b065cb1615978277cd97bcd943af14fceefa481ec133069b45e",
                "md5": "09941cda590b2c8c5c7eb6da9d1689db",
                "sha256": "7eb81927a86451b80554579c55ccb8312e1e037ac4268f55d5a7b016c2679ef3"
            },
            "downloads": -1,
            "filename": "infer_subc-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "09941cda590b2c8c5c7eb6da9d1689db",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 3997942,
            "upload_time": "2024-11-19T17:18:36",
            "upload_time_iso_8601": "2024-11-19T17:18:36.620658Z",
            "url": "https://files.pythonhosted.org/packages/b3/8f/ccbaa0dd9b065cb1615978277cd97bcd943af14fceefa481ec133069b45e/infer_subc-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-19 17:18:36",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "infer-subc"
}
        
Elapsed time: 0.38140s