Big-FISH is a python package for the analysis of smFISH images. It includes various methods to analyze microscopy images, such spot detection and segmentation of cells and nuclei. The package allows the user represent the extract properties of a cell as coordinates (see figure below). The ultimate goal is to simplify large scale statistical analysis and quantification.
Cell image (smFISH channel) and its coordinates representation |
---|
![]() |
Big-FISH requires Python 3.6 or newer. Additionally, it has the following dependencies:
- numpy (== 1.16.0)
- scipy (== 1.4.1)
- scikit-learn (== 0.20.2)
- scikit-image (== 0.14.2)
- matplotlib (== 3.0.2)
- pandas (== 0.24.0)
- mrc (== 0.1.5)
Updated dependencies might break.
To avoid dependency conflicts, we recommend the the use of a dedicated virtual or conda environment. In a terminal run the command:
conda create -n bigfish_env python=3.6
source activate bigfish_env
We recommend two options to then install Big-FISH in your virtual environment.
Use the package manager pip to install Big-FISH. In a terminal run the command:
pip install big-fish
Clone the project's Github repository and install it manually with the following commands:
git clone git@github.com:fish-quant/big-fish.git
cd big-fish
pip install .
Big-FISH provides a toolbox for the full analysis pipeline of smFISH images:
- Use
bigfish.stack
subpackage for I/O operations, preprocessing and postprocessing. - Use
bigfish.segmentation
subpackage for nucleus and cell segmentation. - Use
bigfish.detection
subpackage for mRNAs detection. - Use
bigfish.plot
subpackage for plotting routines. - Use
bigfish.classification
subpackage for pattern recognition tasks.
Several examples are available as Jupyter notebooks.
If you have any question relative to the repository, please open an issue. You can also contact Arthur Imbert or Florian Mueller.
Version 0.5.0:
- Switch to tensorflow 2.2.0.
- Integrate a deep learning model for segmentation.
Version 1.0.0:
- Complete code coverage.
- Add sphinx documentation.
You can access the latest sources with the commands:
git clone git@github.com:fish-quant/big-fish.git
cd big-fish
git checkout develop
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate if you open a pull request. You can install exacts dependencies and specific version of pytest by running the following command:
pip install -r requirements_dev.txt
To perform unitary tests, run :
pytest bigfish