English · العربية · Español · Français · 日本語 · 한국어 · Tiếng Việt · 中文 (简体) · 中文(繁體) · Deutsch · Русский
🌐 Multilingual status:
i18n/is present and reserved for language-specific README files. Linked localized documents are planned/in-progress.
| Focus | Location |
|---|---|
| Core workflow | notebooks/ |
| Environment spec | notebooks/reconstruction/lensless.yaml |
| Component notes | camera/, light_source/, reconstruction/, three_axis_cnc/ |
| Entry docs | i18n/README.*.md |
|
|
Prototype for Individual Use (left) and Institutional Use (right)
Lazeal OptiX is a research/prototype project for lensless imaging workflows in healthcare-adjacent diagnostics. The repository is currently notebook-centric and experimental, and is intended to make advanced diagnostic approaches more accessible in constrained settings.
Core ideas include:
- lensless image reconstruction,
- light source localization,
- multiple-image matching and alignment.
The repository is primarily maintained through Jupyter notebooks under notebooks/, with module-specific context stored in dedicated directories.
| Area | Current Status |
|---|---|
| Project maturity | Research prototype |
| Primary execution model | Jupyter notebook workflows |
| Main experiment domains | Reconstruction, light source localization, multiple-image matching |
| Packaging/CI at root | Not currently declared |
| Multilingual docs | i18n/ directory scaffold exists |
- Advanced Microscopy Concepts: advanced optics and image capture patterns for detailed analysis.
- Biochemical / Diagnostic Context: experimental workflows aimed at health-indicator detection.
- Home-friendly Direction: designed for accessible use and practical deployment.
- Laptop-first Experience: notebooks provide the primary execution path.
- Lensless Reconstruction Utilities: computational pipelines for high-resolution reconstruction.
- Light Source Localization Tools: experiments on source localization and geometry calibration.
- Multiple Image Matching: SIFT-based matching, chaining, and alignment utilities.
lazealoptix/
├── README.md
├── prototype_individual.jpg
├── prototype_institute.png
├── figs/
│ ├── banner.svg|png
│ ├── logo.svg|png
│ └── logo-w-text.svg|png
├── camera/
│ └── README.md
├── light_source/
│ └── README.md
├── reconstruction/
│ └── README.md
├── three_axis_cnc/
│ └── README.md
├── notebooks/
│ ├── light_source_location/
│ │ ├── light_source_location_estimator_v1.4.ipynb
│ │ ├── light_source_location_estimator_varied_heights_v1.1.4.ipynb
│ │ └── light_source_location_estimator_varied_heights_v1.1.7.ipynb
│ ├── multiple_match/
│ │ ├── multiple_all_combination_v2.ipynb
│ │ ├── multiple_match.cpp
│ │ ├── multiple_match_centeralized_v1.6.ipynb
│ │ └── multiple_match_chain_v1.5.ipynb
│ └── reconstruction/
│ ├── dataset_prep.ipynb
│ ├── lensless.yaml
│ └── lensless-dropout-one-led-mahuichong.ipynb
└── i18n/
camera/: scripts/resources related to camera usage for high-resolution sample capture.light_source/: scripts/resources for light source control and optimization.reconstruction/: scripts/resources for computational reconstruction.three_axis_cnc/: scripts/resources for three-axis CNC positioning/control.notebooks/: primary technical workspace for experiments and methods.
The notebooks directory contains Jupyter notebooks that document the core experimental methods. These notebooks provide code, visualizations, and method notes for each area.
Contains notebooks related to estimation of light source locations. These methods support source geometry calibration and reconstruction fidelity.
Contains notebooks and scripts for image/pattern matching and alignment to support robust registration workflows.
Contains notebooks related to reconstruction from captured images, including preprocessing and experiment scripts.
- OS: Linux/macOS recommended for current Conda and OpenCV workflows.
- Python: environment targets Python 3.7.
- Conda: needed to reproduce the documented
lenslessenvironment. - Jupyter Notebook/Lab.
- Optional C++ toolchain for
multiple_match.cpp:g++with C++17 support.- OpenCV 4.x with contrib modules (
opencv2/xfeatures2d.hpp/ SIFT).
git clone https://github.com/lachlanchen/lazealoptix.git
cd lazealoptixconda env create -f notebooks/reconstruction/lensless.yaml
conda activate lenslessjupyter notebookThis repository is primarily used by opening notebooks and running cells in documented order.
- Open
notebooks/reconstruction/dataset_prep.ipynbfor dataset preparation. - Open
notebooks/reconstruction/lensless-dropout-one-led-mahuichong.ipynbfor reconstruction/training experiments.
- Open notebooks under
notebooks/light_source_location/.
- Open notebooks under
notebooks/multiple_match/. - Optional utility:
notebooks/multiple_match/multiple_match.cpp.
Primary environment specification:
notebooks/reconstruction/lensless.yaml
Notable dependencies include:
python=3.7pytorch=1.9.0pyro-pplopencv-adjacent computer vision workflow dependencies in notebooks
- Assumption: datasets are local and are not centrally declared at repository root.
- Assumption: the C++ matching utility expects an
all/directory (relative to its execution path) containing grayscale-readable images.
If your local setup differs, update notebook path cells and the C++ input directory accordingly.
cd notebooks/multiple_match
g++ -std=c++17 multiple_match.cpp -o multiple_match `pkg-config --cflags --libs opencv4`
./multiple_matchExpected behavior:
- Reads images from
all/ - Computes chained SIFT-based matches across images
- Writes an output image like
result_<timestamp>.png
conda activate lensless
jupyter notebook notebooks/reconstruction/dataset_prep.ipynb- No root-level packaging manifest (
pyproject.toml,requirements.txt,setup.py) or CI/test harness is currently present. - Work is experiment-first; notebooks are the source-of-truth for current algorithms.
camera/,light_source/,reconstruction/, andthree_axis_cnc/contain component-level descriptions and are good extension points for runbooks.i18n/is prepped for language-specific documentation.
- Conda solve issues: update Conda, verify channel ordering, and retry environment creation.
- Kernel mismatch in notebooks: confirm Jupyter is using the
lenslessenvironment. - OpenCV/SIFT compile errors: install OpenCV contrib modules and validate
opencv2/xfeatures2d.hppavailability. - Notebook file-not-found errors: verify expected datasets and notebook-relative paths.
- Matcher reads no images: ensure
notebooks/multiple_match/all/exists with valid image files.
- Expand module-level runbooks in
camera/,light_source/,reconstruction/, andthree_axis_cnc/. - Document dataset contracts and provide reproducible sample-data references.
- Add script wrappers for major notebook pipelines.
- Add validation checks for reconstruction and matching outputs.
- Complete multilingual README files under
i18n/.
We welcome collaboration and contributions.
- Open an issue for discussion.
- Submit a pull request for scoped documentation or experimental changes.
- Contact maintainers for hardware and protocol-level changes before large refactors.
- Fork the repository.
- Create a feature branch.
- Keep changes scoped and documented (especially for notebooks).
- Open a pull request with motivation, method, and any validation notes.
| Donate | PayPal | Stripe |
|---|---|---|
No license file is currently present in the repository root.
Assumption/Action needed: add a LICENSE file and update this section with the exact SPDX identifier.
For further inquiries or collaboration interests, please reach out at contact@lazealoptix.com.


