diff --git a/README.md b/README.md new file mode 100644 index 0000000..4d862ce --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +[MIT License](./LICENSE) + +# Colony Counter +A simple Utility to count and measure bright spots on dark images 😸 + +## Features +- Image transformation results are cached and incremental. +- Provides an ugly user interface with intuitive key binds. +- Batch process/export image analysis results. + +- Adjust colony recognition and filtering through a couple of simple sliders. + +![](./readme_img/Filter_Colony.gif) + + +- Remove false positives by clicking on them. + +![](./readme_img/Remove_Colony.gif) + +## Getting Started +- Install python (>=3.8 recommended... I made sure to explicitly use ordered dictionaries but just in case). +- Install dependencies in whichever way you prefer. +- Create the folders "in", "out" and "cache" (or run colonycounter.py). +- Adjust queue functions in source code to suit your needs (and read through [Caveats](#caveats)). +- Copy/Move your images into the "in" folder. +- Start the program by running the colonycounter.py file. + +## Key Binds +| Key | Function | +|-----------------|----------------------------------------------------------------------------------------| +| q, left arrow | load previous image | +| w, right arrow | load next image | +| a | apply changes (always do this before switching images, otherwise changes will be lost) | +| r | reset changes that have not yet been applied | +| l | load saved settings from disk | +| s | save currently applied settings to disk | +| left mouse btn | add colony to list of ignored colonies | +| right mouse btn | remove colonies in the vicinity from ignore list | +| c | clear list of ignored colonies | +| e | batch process and export all images | + +## Caveats +- The current processing queue expects 16bit gray scale images with the file extension .tif (tagged image file). +- watershed function does not work on 16 bit images... so there are some hard coded values to bring measurements back to 16bit brightness values + - this means a loss of resolution +- To get hour and culture type values the following folder structure is expected: + - "$DIRIN/OPTIONAL\_FOLDERS/$HOUR/$CULTURETYPE/image.tif" + - $HOUR = integer followed by the letter h + - $CULTURETYPE = whatever string identifies your culture type +- Code documentation is currently lacking +- Not all types are properly annotated diff --git a/readme_img/Filter_Colony.gif b/readme_img/Filter_Colony.gif new file mode 100644 index 0000000..be2c7ab Binary files /dev/null and b/readme_img/Filter_Colony.gif differ diff --git a/readme_img/Remove_Colony.gif b/readme_img/Remove_Colony.gif new file mode 100644 index 0000000..1f992c6 Binary files /dev/null and b/readme_img/Remove_Colony.gif differ