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 agar plate images. It provides fast, high-throughput image processing.
ColonyScanalyser can provide information on:
- Colony appearance time
- Colony growth over time
- Growth and appearance time distribution
- Colony colour (e.g. staining or other visual indicators)
ColonyScanalyser is suitable for analysing series of images from a fixed point that show the development of microorganism colonies over time.
Several image plots will be output after analysis is complete to enable quick verification of the data. A complete set of data is provided in CSV format for further study.
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
Documentation
A full set of documentation is available at https://erik-white.github.io/ColonyScanalyser/
Prerequisites
ColonyScanalyser requires Python version 3.7, and the Pip package manager. Pip is included with Python version 3.4 and up.
The remaining Python package dependencies are automatically handled by Pip when installing the Colonyscanalyser package.
Optionally use a virtual environment, such as Pipenv.
For testing:
Installing
Using pip
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.4] - 2020-01-18
Added
- plate_edge_cut command line argument
- Plate and colony ID map to show how they have been identified
Changed
- Add border exclusion and slightly relax colony circularity filtering in segment_image
[0.3.3] - 2019-12-19
Added
- Colony colour identification and grouping
- Webcolors package and rgb_to_name function to provide CSS colour groupings
Fixed
- crop_image will now correctly handle images without an alpha channel
[0.3.2] - 2019-11-11
Added
- Documentation
- Published documentation to GitHub pages (https://erik-white.github.io/ColonyScanalyser/)
- Unit tests for the colony module
[0.3.1] - 2019-11-04
Fixed
- Adjust setup to correctly find packages in implicit namespaces
[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.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9021186996a0b1530f29551df4ea9ae94939e867402da76d555d473598ac631f |
|
MD5 | 1daa9daa57bb77ce2db3a4606f99634b |
|
BLAKE2b-256 | 769c5ae3e09857e73cfe78e2e1584760ba90d0a9dc9e569f0c0b2fc2a27634d5 |