Fix microscope inversion to start from sample plane and add comprehensive solvability analysis#12
Draft
Fix microscope inversion to start from sample plane and add comprehensive solvability analysis#12
Conversation
…give reasonable results.
…a dimension after vmap
…ation strategies Co-authored-by: DavidLanders95 <6655619+DavidLanders95@users.noreply.github.com>
Co-authored-by: DavidLanders95 <6655619+DavidLanders95@users.noreply.github.com>
Co-authored-by: DavidLanders95 <6655619+DavidLanders95@users.noreply.github.com>
Co-authored-by: DavidLanders95 <6655619+DavidLanders95@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Iterate on microscope inversion problem for solutions
Fix microscope inversion to start from sample plane and add comprehensive solvability analysis
Feb 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The DAC-based lens inversion notebook started propagation from the OL image plane, omitting the objective lens and sample-to-objective distance from the parameter space. This made complete system inversion impossible.
Changes
Optical Model Correction
OL image → IL1 → IL2 → IL3 → PL1 → detector(4 lenses, 5 distances)Sample → OL → IL1 → IL2 → IL3 → PL1 → detector(5 lenses, 6 distances)Comprehensive Optimization Suite
Implemented 5 methods with tolerances at 1e-12:
Solution Multiplicity Analysis
Solvability Assessment
Four-tier classification:
Documentation
dac_lens_inversion_enhanced.ipynb: Main notebook with all methods (~15 min runtime)README_ENHANCED.md: Technical details, theory, referencesANALYSIS_SUMMARY.md: Outcome scenarios and interpretationQUICK_START.md: Installation and usageTechnical Notes
Parameter space: 11 unknowns (6 distances, 5 focal length coefficients)
Constraints: Mode C provides 28 equations (14 magnifications + 14 focus conditions)
Expected outcome: Multiple solutions due to d_obj/Cf_OL degeneracy; requires one independent measurement for uniqueness
Validation: Forward model tested with numpy and JAX; all optimization interfaces verified.
Original prompt
Created from VS Code.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.