An image analysis tool for measuring microorganism colony growth
Project description
ColonyScanalyser
An image analysis tool for measuring microorganism colony growth.
ColonyScanalyser will analyse and collate statistical data from cell-culture plate images. It requires a series of images from a fixed point that show the development of microorganism colonies over time.
ColonyScanalyser can provide information on:
- Colony growth lag time (time of appearance)
- Bimodal lag time distribution (comparing lag times of two colonies)
- Colony area growth over time
By default, it will output a set of data and plots that summarize the information from all the plates in the image series. If you require further detail, such as plots of each individual plate, you can increase the save_plots
command line argument.
Getting Started
- Install the prerequisites and package
- Locate your image series in a folder e.g.
\user\images\series1
- Run the analysis using ColonyScanalyser
scanalyser \user\images\series1
There are various command line arguments that can alter the way the package is run. To see a list of arguments and information on each, run the command scanalyser --help
For example, to run the package 'silently' with no console output: scanalyser \user\images\series1 --verbose 0
Prerequisites
- Python >=3.7
- Scikit-image >=0.15
Optionally use a virtual environment, such as Pipenv.
For testing:
Installing
Using pip
Install Scikit-image (unless already installed)
pip install scikit-image
Install ColonyScanalyser
pip install colonyscanalyser
From github (requires git install)
git clone https://github.com/erik-white/colonyscanalyser.git
cd colonyscanalyser
pip install -e .
Testing
Install the package with the extra test packages:
pip install colonyscanalyser[test]
Run the tests:
pytest --cov colonyscanalyser
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
License
This project is licensed under the GPLv3 - see the LICENSE file for details
Acknowledgments
- Levin-Reisman et al. for their work developing the ScanLag technique
- Fabio Zanini for his original attempts at a Python implementation
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
- Full unit test coverage
- Type annotations on all functions
[0.3.0] - 2019-11-04
Added
- Added changelog
Changed
- Update package to use src structure
- Update setup for readme compatability with PyPi
[0.2.2] - 2019-11-02
Added
- GitHub action for automatically linting and testing pushes
- GitHub action for building and releasing package to PyPi
Fixed
- Linting errors highlighted by flake8
[0.2.1] - 2019-10-31
Added
- Graceful exit if no colonies are found
- Workaround function to ensure correct plates are found in images
Changed
- Improve Timepoint grouping by using distance comparison instead of rounding
- Updated Scikit-image to v0.16
Removed
- Depreciated Tk import
- Removed depreciated regionprop coordinates
[0.2.0] - 2019-10-28
Added
- Multiprocessing: greatly improves image processing speed
- Now shows a progress bar when processing images
- Snyk security checks for dependencies
Changed
- Per image processing: now processes a single image at a time
- Improve colony filtering, removes virtually all merged colonies
- Updated readme with images and code examples
Fixed
- Greatly reduced memory usage by using per-image processing
- Filter out system files when locating images to process
- Rare divide by zero error when processing colony object data
[0.1.2] - 2019-10-13
Inital release
Added
- Image processing, plotting and data aggregation
- Python package uploaded to PyPi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for colonyscanalyser-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e29180c0b2a377b1173b57f6ec75990d005d1558b7e052b9a16dbfd8f2e3c834 |
|
MD5 | cb6b88c2f19bc8e098ee50318c5eee92 |
|
BLAKE2b-256 | 4e4c24a10527df5ceb4e02c31936b4976e5910b3039148f5fbbc89d2b78c9d7c |