Skip to content

Code for classifying the cell candidate outputs from aind-smartspim-segmentation within smartspim pipeline

License

Notifications You must be signed in to change notification settings

AllenNeuralDynamics/aind-smartspim-classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aind-smartspim-classification

Code for classifying the cell candidate outputs from aind-smartspim-segmentation within the smartspim pipeline. It uses the aind-large-scale-prediction package to efficiently process large amounts of image data. This repository takes as input the cell proposals that will be classified by the CellFinder model. The output is a CSV with the following columns:

  • Cell Counts: Number of positive cells.
  • Cell Likelihood Mean: Mean of the probabilities of a cell being a cell.
  • Cell Likelihood STD: Standard deviation of the probability of a cell being a cell.
  • Noncell Counts: Number of negative cells.
  • Noncell Likelihood Mean: Mean of the probabilities of negative cells.
  • Noncell Likelihood STD; Standard deviation of the probabilities of negative cells.

Installation

To use the software, in the root directory, run

pip install -e .

To develop the code, run

pip install -e .[dev]

Contributing

Linters and testing

There are several libraries used to run linters, check documentation, and run tests.

  • Please test your changes using the coverage library, which will run the tests and log a coverage report:
coverage run -m unittest discover && coverage report
  • Use interrogate to check that modules, methods, etc. have been documented thoroughly:
interrogate .
  • Use flake8 to check that code is up to standards (no unused imports, etc.):
flake8 .
  • Use black to automatically format the code into PEP standards:
black .
  • Use isort to automatically sort import statements:
isort .

Pull requests

For internal members, please create a branch. For external members, please fork the repository and open a pull request from the fork. We'll primarily use Angular style for commit messages. Roughly, they should follow the pattern:

<type>(<scope>): <short summary>

where scope (optional) describes the packages affected by the code changes and type (mandatory) is one of:

  • build: Changes that affect build tools or external dependencies (example scopes: pyproject.toml, setup.py)
  • ci: Changes to our CI configuration files and scripts (examples: .github/workflows/ci.yml)
  • docs: Documentation only changes
  • feat: A new feature
  • fix: A bugfix
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • test: Adding missing tests or correcting existing tests

Documentation

To generate the rst files source files for documentation, run

sphinx-apidoc -o doc_template/source/ src 

Then to create the documentation HTML files, run

sphinx-build -b html doc_template/source/ doc_template/build/html

More info on sphinx installation can be found here.

About

Code for classifying the cell candidate outputs from aind-smartspim-segmentation within smartspim pipeline

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •