Project information

Author and attribution

I’m Bart Steemans from the Govers Lab at KU Leuven. I developed BactoScoop for image-based profiling of individual bacterial cells. Segmentation uses Omnipose and its Cellpose fork; the source links to those dependencies and the current package metadata pins Omnipose 1.0.6. Please acknowledge the original tools appropriately in work based on their use.

Version and changelog

BactoScoop 0.1.2 supports Python 3.10. Install it from PyPI or download a tagged release from GitHub. See the changelog below for release notes.

# Release notes

## 0.1.2

- Reject oversized daughter meshes before contour reconstruction and dense allocations, avoiding excessive memory use during cell splitting.
- Expose `max_daughter_cell_mesh_rows` through the mesh pipeline. The default remains 800; values must be integers of at least 4. Both rebuilt daughters must satisfy the final row limits.
- Document the new parameter in the mesh workflow and API reference, separately from the feature extraction `max_mesh_size` setting.
- Install the latest stable PyPI release by default in the README and installation guide; retain tagged GitHub installs for reproducibility.
- Include daughter-mesh regression tests in release validation and update the MIT license copyright to 2026.

## 0.1.1

- Use one README for GitHub and PyPI, with links to the live documentation.
- Build distributions with patched setuptools and inspect their source, metadata and contents before publishing.
- Validate clean wheel installations, all 75 tests and both supplied-mask walkthroughs before and after PyPI publication.
- Remove automatic saves to developer-specific folders from plotting helpers.
- Refresh documentation for 0.1.1, remove the documentation review page and add personal Govers Lab attribution.

## 0.1.0

Initial packaging and documentation work. The uploaded 0.1.0 files were removed from PyPI; install the latest stable release instead.

- Added installable wheel/source packaging and Conda/uv installation guides.
- Added public documentation, automatic GitHub Pages builds, and notebook-to-documentation synchronization.
- Made walkthrough paths portable and defaulted to supplied masks with isolated working copies.
- Included tutorial plotting helpers and explicit pickle filename handling.
- Constrained SciPy and setuptools for the unpatched Omnipose 1.0.6 dependency stack.
- Removed tracked Python bytecode from the release; retained scientific example inputs and saved reference outputs.

License

BactoScoop is distributed under the MIT license. The source license identifies copyright © 2026 Bart Steemans.

MIT License

Copyright (c) 2026 Bart Steemans

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Documentation design

The documentation follows the scientific layout used by the Omnipose site, with Sphinx and Furo for navigation, search, and light/dark appearance. The BactoScoop content is based on this repository. Required scripts, styles, fonts supplied by the theme, and figures are local assets; reading the built site does not require a network connection.