Skip to content

Releases: JHU-NI-LAB/OpenLPT_GUI

v2.2.1 Refraction calibration stability boost!

05 May 02:19

Choose a tag to compare

🚀 Release Notes

Highlights

  • Refraction calibration is the star of this release: strengthened the wand/refractive calibration pipeline for more reliable multi-window calibration.
  • Smarter P0 bootstrap initialization: improved pair selection to reduce large projection-error blowups at the start of refractive calibration.
  • More resilient fallback logic: added ranked pair fallback handling so calibration can recover better from difficult or ambiguous point-pair cases.
  • Stabler plane estimation: improved round-4 radius estimation and fixed drifting-plane behavior for more consistent refractive window geometry.

🛠️ Fixes

  • Plate calibration now handles high-bit-depth images better: added a Pillow-backed loader so 12-bit TIFFs work smoothly with template-based point detection instead of failing on OpenCV’s TIFF decoder.

🧪 Testing Note

  • Added regression coverage for tough calibration edge cases, including projection-error blowups, radius/frame mismatches, shared midpoint contamination, and plane solver/pipeline behavior.

v2.2.0 Tracking with refraction camera model!

23 Mar 20:12

Choose a tag to compare

🚀 Release Notes

✨ Highlights

  • Tracking with the refraction pinhole camera model is now available, alongside the full refractive wand calibration workflow: global-search helpers, BA utilities, refraction geometry tooling, and expanded docs. This release also boosts robustness with inlier masking, IQR scale recovery, Huber losses, and cheirality guards — plus regression tests that lock down axis-alignment and precalibrate-3D-view pipelines.
  • Unified axis-alignment stack: SVD-based orthogonalization, mode‑specific triangulation adapters, post‑calibration hooks, CSV loading, and a refined overlay so pinhole and refractive calibrations land in a consistent world frame.
  • VSC/refraction optimizer upgrades (modules/vsc/refraction_optimizer.py, camera I/O updates, service wiring) to stabilize reconstructions after correspondence updates.

🛠 Fixes

  • Corrected axis‑transpose math, guarded cross‑type conversions, aligned camera‑config schemas, and tightened BA limits (max iterations + gauge anchoring).
  • Hardened the PyBind/C++ surface (src/*) to keep camera, stereo‑match, and object‑info APIs in sync with the new calibration logic.
  • Added regression tests for axis alignment, precalibrate visuals, and world‑frame utilities to prevent future drift.

📚 Docs & Demos

  • Expanded calibration guides (gui/docs/calibration/plate_guide.html, wand_guide.html) with Pinhole+Refraction content, hardware guidance, and axis‑point tutorials.
  • Updated tutorial notebooks and synthetic examples (demo/python/*) to showcase the new workflows.

🧪 Testing Note

The refraction model is still under active testing and may require further refinement before it reaches production‑grade stability.

v2.1.8 - Robust Wand Detection & VSC Stability Improvements

09 Jan 16:58

Choose a tag to compare

🚀 Algorithmic Enhancements

  • Fast Robust DT Algorithm: Implemented a new, high-performance Distance Transform-based algorithm for robust wand point detection.
  • VSC Stability Fix: Resolved divergence issues in the Volume Self-Calibration (VSC) module, ensuring reliable convergence during optimization.

v2.1.7: Native Cine Support, Enhanced Preprocessing & Stability Fixes

06 Jan 17:10

Choose a tag to compare

🚀 Features & Optimizations

  • Native .cine Support: Migrated to pycine for robust reading of Phantom Cine files. Includes adaptive 8-bit normalization, faster background calculation, and optimized memory usage (chunked reading).
  • Batch Export Range: Added "Batch Process Range" (Start/End) to allow processing subsets of image sequences.
  • Flexible Camera Files: Tracking settings now automatically detect parameter files with varied naming (e.g., vsc_cam1.txt or cam1.txt).

🛠️ Fixes & Improvements

  • Path Persistence: Fixed an issue where the Camera Path would reset to default when switching between module tabs.
  • Build System: Automated version synchronization (single source of truth in _version.py) and fixed dependencies for cleaner pip install ..
  • Documentation: Added critical hardware setup tips (non-coplanar views) and prerequisite checklists to Wand, Plate, and Settings guides.

v2.1.6: Support pip install

05 Jan 02:46

Choose a tag to compare

This release introduces full pip installation support, simplifying the setup process and ensuring all dependencies are correctly managed.

🚀 Installation

You can now install OpenLPT directly via pip:

pip install "openlpt[gui]"

If your platform can't support pySide6, you can install OpenLPT without GUI:

pip install openlpt

🛠 Usage

Launch the GUI or run a calculation directly from your terminal:

openlpt                       # Launch GUI
openlpt path/to/config.txt    # Run with a specific config

🐍 Python API

Integrate OpenLPT directly into your Python scripts:

import openlpt as lpt

Other Improvements:

Cross-Platform Fixes: Improved builds for macOS/Linux and fixed Windows shortcut creation.
Auto-Updater: Refined update checks and asset downloading for official lab releases.
Thanks for using OpenLPT!

OpenLPT v2.1.0: Enhanced Calibration & Tracking Stability

02 Jan 15:32

Choose a tag to compare

IMPORTANT
HIGHLY RECOMMENDED UPDATE This release includes critical fixes to the core tracking algorithm and introduces essential self-calibration tools. All users are strongly advised to upgrade to ensure data accuracy.

Stop guessing, start measuring.
This update bridges the gap between theoretical calibration and experimental reality with the new Volume Self-Calibration (VSC) module, fixes a regression in particle scoring during the shaking phase, and introduces a comprehensive interactive tutorial system.

🚀 New Features

  1. Volume Self-Calibration (VSC)
  2. Correct for physical vibrations and setup shifts post-calibration.
  3. Automated Optimization: Refines camera parameters (position, orientation, focal length) using the tracks derived from the data itself.
  4. Workflow Integration: Seamlessly integrated into the Tracking Execution tab with immediate feedback.
  5. Interactive Tutorials: The GUI now features a built-in "Tutorial" section.

🐛 Critical Fixes

  1. Shaking Score Calculation
    Resolution: Fixed an issue in the Shake-The-Box optimization where the particle quality score was being miscalculated during the position refinement (shaking) step.
    Impact: This fixes a potential cause of "ghost" particles being retained or valid particles being culled incorrectly, significantly improving track continuity and density.
  2. Other Improvements
    Camera Model: Updated to a 12-parameter model (separate fx, fy) to resolve projection errors in astigmatic lenses.
    Visualization: Added top-N track filtering in the Results view for clearer visualization of large datasets.
    Upgrade today to experience the most robust version of OpenLPT yet.