BioPic LM is a desktop application for organizing light-microscopy images and building reproducible, publication-ready biological figure panels.
This repository contains the source code. Packaged Windows builds are published separately as GitHub Release assets.
BioPic LM 0.1.0 beta 1 is a pre-release build. It is intended for early
testing, not final production work.
Known beta limitations:
- Stack from Video is experimental and not fully tested.
- Stitch Images is experimental and not fully tested.
- Some image-editing tools and UI workflows may still contain bugs.
- Performance for very large images can still vary by operation and hardware.
When publishing this version on GitHub, mark the release as a pre-release.
- Import common microscopy image formats, including TIFF and RAW when
rawpyis installed. - Manage image sources, image stacks, metadata, measurements, annotations, and figure boards in one project.
- Create focus stacks with alignment, focus metrics, depth maps, and provenance.
- Apply non-destructive edit layers, adjustment layers, filters, selections, scale bars, and annotations.
- Build figure boards with panel layout, labels, spacing, captions, and export support.
- Save projects as human-readable
.biopic.jsonmanifests.
- Stack from Video: import video, cut retained sections, extract frames, and create an image stack.
- Stitch Images: combine overlapping standalone images into a stitched result.
These workflows are included for testing, but they should not be considered stable yet.
For source/development use:
- Python 3.12 or newer
- Windows or Linux
- PySide6 / Qt 6
- NumPy, SciPy, Pillow, tifffile, imageio, OpenCV, scikit-image
- Optional RAW support:
rawpy
For end users, a packaged release build should run without installing Python.
From the repository root:
python -m pip install -e .[dev,raw]
biopic-lmThe legacy command alias also works:
biopic$env:PYTEST_DISABLE_PLUGIN_AUTOLOAD="1"
python -m pytest -q
python -m ruff check .
python -m mypy srcSome test workflows may still need local cleanup during beta development.
Install packaging dependencies:
python -m pip install -e .[packaging,raw]Build the app:
python -m PyInstaller BioPicLM.spec --clean --noconfirmThe packaged application is created at:
dist/BioPic LM/
Create a release ZIP:
Compress-Archive -Path "dist\BioPic LM" -DestinationPath BioPic-LM-windows-x64.zip -ForceDo not commit build/, dist/, or release ZIP files. Upload the ZIP as a
GitHub Release asset instead.
User-created presets are not automatically bundled into a source upload or binary release.
Preset storage depends on how the preset was created:
- Project-specific presets are saved inside
.biopic.jsonproject files. - Persistent user presets are stored in local application settings.
- Bundled presets must be exported or added explicitly under
src/biopic/presets/before packaging.
At the moment, src/biopic/presets/ does not contain user preset data.
Commit source code to the repository:
git status
git add .gitignore README.md AUTHORS NOTICE docs src tests icons packaging pyproject.toml setup.py BioPicLM.spec LICENSE COPYING
git commit -m "Prepare BioPic LM beta source repository"
git branch -M main
git remote add origin https://github.com/YOUR_USER_OR_ORG/biopic-lm.git
git push -u origin mainTag the beta release:
git tag v0.1.0-beta.1
git push origin v0.1.0-beta.1Create a GitHub Release for v0.1.0-beta.1, mark it as a pre-release, and
attach BioPic-LM-windows-x64.zip.
src/biopic/ Application source code
tests/ Tests and regression checks
docs/ Architecture, licensing, and release notes
icons/ Application icon and logo assets
packaging/ PyInstaller launcher and packaging helpers
BioPicLM.spec PyInstaller build specification
BioPic LM is distributed under GPL-3.0-or-later.
GIMP and RawTherapee are used only as behavior and user-interface references. No GIMP or RawTherapee source file, icon, brush, cursor, preset, or other asset has been copied into this repository.
See:
LICENSECOPYINGNOTICEAUTHORSdocs/THIRD_PARTY_CODE.md