Skip to main content

No project description provided

Project description

cellular-Automated Annotation Pipeline

Utilities for the semi-automated generation of instance segmentation annotations to be used for neural network training. Utilities are built ontop of UMAP, HDBSCAN and a finetuned encoder version of FAIR's Segment Anything Model developed by Computational Cell Analytics for the project micro-sam. In addition to providing utilies for annotation building, we train a network, FAIR's detectron2 to

  1. Demonstrate the efficacy of our utilities.
  2. Be used for microscopy annotation of supported cell lines

Supported cell lines currently include:

  1. HeLa

In development cell lines currently include:

  1. U2OS
  2. HT1080
  3. Yeast

We've developed a napari application for the usage of this pre-trained network and propose a transfer learning schematic for the handling of new cell lines.

Installation

We highly recommend installing cell-AAP in a clean conda environment. To do so you must have miniconda or anaconda installed.

If a conda distribution has been installed:

  1. Create and activate a clean environment

     conda create -n cell-aap-env
     conda activate cell-app-env
    
  2. Within this enviroment install pip

     conda install pip
    
  3. Then install cell-AAP from PyPi

     pip install cell-AAP --upgrade
    
  4. Finally detectron2 must be built from source, atop cell-AAP

     #For MacOS
     CC=clang CXX=clang++ ARCHFLAGS="-arch arm64" python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
    
     #For other operating systems 
     python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
    

Napari Plugin Usage

  1. To open napari simply type "napari" into the command line, ensure that you are working the correct environment
  2. To instantiate the plugin navigate to the "Plugins" menu and select "cell-AAP"
  3. You should now see the Plugin, where you can select an image, display it, and run inference on it.

Configs Best Practices

If running inference on large volumes of data, i.e. timeseries data >= 300 MB in size, we recommed to procceed in the following manner.

  1. Assemble a small, < 100 MB, substack of your data using python or a program like ImageJ
  2. Use this substack to find the optimal parameters for your data, (Number of Cells, Confidence)
  3. Run Inference over the volume using the discovered optimal parameters

Note: Finding the optimal set of parameters requires some trial and error, to assist we've created a table.

Classifications $\Downarrow$ Detections $\Rightarrow$ Too few Too many
Dropping M-phase Confidence $\Downarrow$
Number of Cells $\Uparrow$
Confidence $\Downarrow$
Number of cells $\Downarrow$
Missclasifying M-phase Confidence $\Uparrow$
Number of Cells $\Uparrow$
Confidence $\Uparrow$
Number of Cells $\Downarrow$

Intepreting Results

Once inference is complete the following colors indicate class prediction

  • Red: Non-mitotic
  • Blue: Mitotic
  • Purple: Interclass double prediction

Note: Interclass double predictions are often early prophase cells that the network is not "confident" in, to mitigate such predictions increase the minimum confidence threshold. This will typically result in most double predictions regressing to the Non-mitotic class.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cell_aap-0.0.7.tar.gz (17.3 MB view hashes)

Uploaded Source

Built Distribution

cell_AAP-0.0.7-py3-none-any.whl (25.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page