Catalog PyPI
Back to packageRELEASE DETAILS

0.5.3

PyPI

aicssegmentation

Part 1 of Allen Cell and Structure Segmenter

aicssegmentation
Published20 Jun 2023
Direct dependencies29
Transitive dependenciesNot calculated

README

Version 0.5.3 documentation

aicssegmentation

Build Status Documentation Code Coverage

Part 1 of Allen Cell and Structure Segmenter


This repository only has the code for the "Classic Image Segmentation Workflow" of Segmenter. The deep learning part can be found at https://github.com/AllenCell/aics-ml-segmentation

We welcome feedback and submission of issues. Users are encouraged to sign up on our Allen Cell Discussion Forum for quesitons and comments.

Installation

Our package is implemented in Python 3.7. Detailed instructions as below:

Installation on Linux (Ubuntu 16.04.5 LTS is the OS we used for development)

Installation on MacOS

Installation on Windows

Use the package

Our package is designed (1) to provide a simple tool for cell biologists to quickly obtain intracellular structure segmentation with reasonable accuracy and robustness over a large set of images, and (2) to facilitate advanced development and implementation of more sophisticated algorithms in a unified environment by more experienced programmers.

Visualization is a key component in algorithm development and validation of results (qualitatively). Right now, our toolkit utilizes itk-jupyter-widgets, which is a very powerful visualization tool, primarily for medical data, which can be used in-line in Jupyter notebooks. Some cool demo videos can be found here.

Part 1: Quick Start

After following the installation instructions above, users will find that the classic image segmentation workflow in the toolkit is:

  1. formulated as a simple 3-step workflow for solving 3D intracellular structure segmentation problem using restricted number of selectable algorithms and tunable parameters
  2. accompanied by a "lookup table" with 20+ representative structure localization patterns and their results as a reference, as well as the Jupyter notebook for these workflows as a starting point.

Typically, we use Jupyter notebook as a "playground" to explore different algorithms and adjust the parameters. After determining the algorithms and parameters, we use Python scritps to do batch processing/validation on a large number of data.

You can find a DEMO on a real example on our tutorial page

Part 2: API

The list of high-level wrappers/functions used in the package can be found at AllenCell.github.io/aics-segmentation.

Object Identification: Bridging the gap between binary image (segmentation) and analysis

The current version of the Allen Cell Segmenter is primarily focusing on converting fluorescent images into binary images, i.e., the mask of the target structures separated from the background (a.k.a segmentation). But, the binary images themselves are not always useful, with perhaps the exception of visualization of the entire image, until they are converted into statistically sound numbers that are then used for downstream analysis. Often the desired numbers do not refer to all masked voxels in an entire image but instead to specific "objects" or groups of objects within the image. In our python package, we provide functions to bridge the gap between binary segmentation and downstream analysis via object identification.

What is object identification?

See a real demo in jupyter notebook to learn how to use the object identification functions

Citing Segmenter

If you find our segmenter useful in your research, please cite our bioRxiv paper:

J. Chen, L. Ding, M.P. Viana, M.C. Hendershott, R. Yang, I.A. Mueller, S.M. Rafelski. The Allen Cell Structure Segmenter: a new open source toolkit for segmenting 3D intracellular structures in fluorescence microscopy images. bioRxiv. 2018 Jan 1:491035.

Development

See CONTRIBUTING.md for information related to developing the code.

Free software: Allen Institute Software License

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 68

Native requirements
29 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
aicsimageio
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
aicsimageio (>=4.0.5)runtime
scipy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
scipy (>=1.1.0)runtime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
numpy (>=1.15.1)runtime
scikit-image
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
scikit-imageruntime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pandas (>=0.23.4)runtime
itk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
itkruntime
itkwidgets
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
itkwidgetsruntime
jupyter
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
jupyterruntime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
matplotlibruntime
dask
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
daskruntime
napari
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
napariruntime
aicsimageio
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
aicsimageio (>=4.0.5) ; extra == 'all'runtime
scipy
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
scipy (>=1.1.0) ; extra == 'all'runtime
numpy
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
numpy (>=1.15.1) ; extra == 'all'runtime
scikit-image
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
scikit-image ; extra == 'all'runtime
pandas
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pandas (>=0.23.4) ; extra == 'all'runtime
itk
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
itk ; extra == 'all'runtime
itkwidgets
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
itkwidgets ; extra == 'all'runtime
jupyter
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
jupyter ; extra == 'all'runtime
matplotlib
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
matplotlib ; extra == 'all'runtime
dask
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
dask ; extra == 'all'runtime
napari
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
napari ; extra == 'all'runtime
pytest-runner
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-runner (>=5.2) ; extra == 'all'runtime
black
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
black (>=19.10b0) ; extra == 'all'runtime
codecov
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
codecov (>=2.1.4) ; extra == 'all'runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8 (>=3.8.3) ; extra == 'all'runtime
flake8-debugger
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8-debugger (>=3.2.1) ; extra == 'all'runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest (>=7.1.1) ; extra == 'all'runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov (>=2.9.0) ; extra == 'all'runtime
pytest-raises
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-raises (>=0.11) ; extra == 'all'runtime
bumpversion
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
bumpversion (>=0.6.0) ; extra == 'all'runtime
coverage
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
coverage (>=5.1) ; extra == 'all'runtime
ipython
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
ipython (>=7.15.0) ; extra == 'all'runtime
m2r
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
m2r (>=0.2.1) ; extra == 'all'runtime
jinja2
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
jinja2 (==3.0.0) ; extra == 'all'runtime
Sphinx
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
Sphinx (<3,>=2.0.0b1) ; extra == 'all'runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme (>=0.4.3) ; extra == 'all'runtime
tox
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
tox (>=3.15.2) ; extra == 'all'runtime
twine
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
twine (>=3.1.1) ; extra == 'all'runtime
wheel
Environment
{
  "extras": "",
  "marker": "extra == 'all'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
wheel (>=0.34.2) ; extra == 'all'runtime
pytest-runner
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-runner (>=5.2) ; extra == 'dev'runtime
black
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
black (>=19.10b0) ; extra == 'dev'runtime
codecov
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
codecov (>=2.1.4) ; extra == 'dev'runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8 (>=3.8.3) ; extra == 'dev'runtime
flake8-debugger
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8-debugger (>=3.2.1) ; extra == 'dev'runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest (>=7.1.1) ; extra == 'dev'runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov (>=2.9.0) ; extra == 'dev'runtime
pytest-raises
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-raises (>=0.11) ; extra == 'dev'runtime
napari
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
napari ; extra == 'dev'runtime
bumpversion
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
bumpversion (>=0.6.0) ; extra == 'dev'runtime
coverage
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
coverage (>=5.1) ; extra == 'dev'runtime
ipython
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
ipython (>=7.15.0) ; extra == 'dev'runtime
m2r
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
m2r (>=0.2.1) ; extra == 'dev'runtime
jinja2
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
jinja2 (==3.0.0) ; extra == 'dev'runtime
Sphinx
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
Sphinx (<3,>=2.0.0b1) ; extra == 'dev'runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme (>=0.4.3) ; extra == 'dev'runtime
tox
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
tox (>=3.15.2) ; extra == 'dev'runtime
twine
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
twine (>=3.1.1) ; extra == 'dev'runtime
wheel
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
wheel (>=0.34.2) ; extra == 'dev'runtime
pytest-runner
Environment
{
  "extras": "",
  "marker": "extra == 'setup'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-runner (>=5.2) ; extra == 'setup'runtime
black
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
black (>=19.10b0) ; extra == 'test'runtime
codecov
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
codecov (>=2.1.4) ; extra == 'test'runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8 (>=3.8.3) ; extra == 'test'runtime
flake8-debugger
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8-debugger (>=3.2.1) ; extra == 'test'runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest (>=7.1.1) ; extra == 'test'runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov (>=2.9.0) ; extra == 'test'runtime
pytest-raises
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-raises (>=0.11) ; extra == 'test'runtime
napari
Environment
{
  "extras": "",
  "marker": "extra == 'test'",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
napari ; extra == 'test'runtime

Distribution files

2 collected
aicssegmentation-0.5.3-py2.py3-none-any.whl

bdist_wheel · 5,070.37 KB · Python py2.py3

Source file
aicssegmentation-0.5.3.tar.gz

sdist · 5,625.72 KB · Python source

Source file

Repository

PENDING
allencell/aicssegmentation

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:21 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:658aaaf52f692d407dde5a6aaaca439dd748fecc7aa7a06068d4e8d5f8e74442

Other collected versions

View all collected versions →