HoloBio: Digital Holographic Microscopy Library
Version: 1.0.2 Author: SOPHIA-Research-Lab License: GPL-3.0
HoloBio is an open-source Python library and GUI for quantitative analysis in Digital Holographic Microscopy (DHM). It supports real-time and offline modes, various optical setups (lens-based and lensless), and provides advanced tools for analyzing biological samples.
Installation
You can install holoBio directly from PyPI (Python 3.8+ required):
pip install holoBio
Alternatively, to install from source:
- Clone the repository:
git clone https://github.com/SOPHIA-Research-Lab/HoloBio.git cd HoloBio
- Install dependencies and the package:
pip install .
Usage
Once installed, you can launch the main graphical interface by running the following command in your terminal:
holobio
Or, if the command is not found (due to PATH issues):
python -m holobio
This will open the main menu where you can select between DHM and DLHM modes, and between Real-Time and Post-Processing interfaces.
Project Structure
The source code is organized in the holobio/ package directory:
Core Application
Main_.py: The entry point of the application. Initializes the main menu window and handles navigation between different modules.__init__.py: Marks the directory as a Python package.
Main Interfaces (GUI)
main_DHM_PP.py: DHM Post-Processing. Interface for loading and analyzing existing holograms.main_DHM_RT.py: DHM Real-Time. Interface for capturing and analyzing holograms live from a camera.main_DLHM_PP.py: DLHM Post-Processing. Specialized interface for Lensless Digital Holographic Microscopy (offline).main_DLHM_RT.py: DLHM Real-Time. Specialized interface for Lensless Digital Holographic Microscopy (live).
Algorithms & Methods
pyDHM_methods.py: Core numerical methods for reconstruction, propagation, and filtering.phaseShifting.py: Implementation of phase-shifting algorithms for phase retrieval.unwrap_methods.py: Wrapper functions for different phase unwrapping techniques.unwrapping.py: Implementation of specific phase unwrapping algorithms (e.g., weighted least squares).settingsCompensation.py: GUI and logic for configuring phase compensation parameters (e.g., for tilt/aberration removal).parallel_rc.py: Parallel processing implementations for faster reconstruction.track_particles_kalman.py: Kalman filter implementation for tracking moving particles in real-time or video sequences.
Utilities
tools_GUI.py: Common GUI widgets, dialogs, and helper functions reused across different interfaces.functions_GUI.py: Additional functional logic for GUI interactions.tools_microstructure.py: Tools for morphological analysis (segmentation, particle counting, area measurement).utilities.py: General purpose utility functions (image I/O, array manipulation).settings.py: Global configuration and constants.
License
This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.
Additional Resources
For more detailed information, please refer to the User Guide and Scientific Paper located in the Complementary_info directory of this repository:
- 📄 User Guide:
Complementary_info/User_Manual.pdf- Comprehensive manual covering installation, mode selection (Real-Time vs Offline), and advanced reconstruction procedures. - 📄 Paper:
Complementary_info/HoloBio_paper.pdf- Detailed scientific background and validation of the tool.
Support or Contact
If you have any questions or need support, please contact:
| Researcher | Google Scholar | |
|---|---|---|
| Ana Doblas | adoblas@umassd.edu | Profile |
| Raul Castañeda | racastaneq@eafit.edu.co | Profile |
Citation
If you use HoloBio in your research, please refer to the following manuscript:
W. Mona, M. J. Gil-Herrera, E. Mazo, D. Córdoba, S. Obando, M. J. Lopera, R. Restrepo, C. Trujillo, A. Doblas, and R. Castañeda.
"HoloBio: A Holographic Microscopy Tool for Quantitative Biological Analysis"
Under review, PLOS Computational Biology.
Metadata
Release files for holoBio 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| holobio-1.0.2.tar.gz | 189.0 kB | Without provenance | Details for holobio-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| holobio-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for holobio-1.0.2-py3-none-any.whl |
Total release size: 387.2 kB
Release files / holobio-1.0.2.tar.gz
| Download URL | holobio-1.0.2.tar.gz |
|---|---|
| Size | 189.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
087c04942898087ccd51e03ecb31f62fb1caf7ac92548f285d4e827df5569dcf
|
|
BLAKE2b-256 checksum How to use checksums |
f83457eba18b96ebe7a00d58e84e6d6bb9b4ab567e8d6bb0b44b16fc0131134e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / holobio-1.0.2-py3-none-any.whl
| Download URL | holobio-1.0.2-py3-none-any.whl |
|---|---|
| Size | 198.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd0edd397514e1e1a363723361e7e0174dfde9eb4983550c05b0b46eca8da1a9
|
|
BLAKE2b-256 checksum How to use checksums |
a9c32b84a5917dfcbd51f0b3be826aee1f13227835ba4bd7f8b6adeee8787a77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for holoBio 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.