Skip to content

Gv/final/features2#444

Open
giovannivolpe wants to merge 281 commits into
developfrom
gv/final/features2
Open

Gv/final/features2#444
giovannivolpe wants to merge 281 commits into
developfrom
gv/final/features2

Conversation

@giovannivolpe
Copy link
Copy Markdown
Member

No description provided.

giovannivolpe and others added 30 commits March 23, 2026 07:33
* u

* u

* blur and averageblur

* u

* u

* final improvements to docstring
* optics xp'd

* introduced geometric/hybrid mode

* u

* pad_image_to_fft moved to math, added test

* scatterers up to ellipse

* fluo normalization fixed

* test scatterers up to ellipsoid

* docstrings and tests for miescatterer

* all scatterers

* optics fixes to docstrings, hint and signatures

* optics: tests and docstring

* final checks
* u

* u

* docstrings
* aberrations: torch compatibility and tests

* removed warnings from tests

* torch ward

* more wards
* clean test_dlcc

* uni_test clean
* circular import issue

* circular import issue
* circular import issue

* circular import issue

* torch ward

* type_alias

* cv2 ward

* issue with python > 3.12

* index order for compatibility with python 3.9

* imageio cleanup

* indexing

* fix for py3.9

* Auto-update README-pypi.md

---------

Co-authored-by: github-actions <github-actions@github.com>
* Update README (#442)

* Update README

Added links to the tutorials for creating custom scatterers.

* Update README

* Update README.md

---------

Co-authored-by: Alex <95913221+Pwhsky@users.noreply.github.com>

* Auto-update README-pypi.md

* Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb

* Revert "Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb"

This reverts commit 453a099.

* updated: DTEx215_cell_counting (#451)

* Add files via upload

* Update README.md

* renamed to DTEx215

* Auto-update README-pypi.md

* circular import issue

* circular import issue

* torch ward

* type_alias

* cv2 ward

* issue with python > 3.12

* index order for compatibility with python 3.9

* imageio cleanup

* indexing

* fix for py3.9

* Auto-update README-pypi.md

* verbose install

* force

* lightning check

* more checks

* roll back

* moved tests, added cv2

* tests import

* u

* u

* u

* warnings

* edge case warnings

* pillow deprecation

---------

Co-authored-by: Mirja Granfors <95694095+mirjagranfors@users.noreply.github.com>
Co-authored-by: Alex <95913221+Pwhsky@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex <lechal.pierre@gmail.com>
* created optical, changed imports

* init

* u

* u

* bind optical submodules

* u

* dt_math

* issue with python > 3.12

* index order for compatibility with python 3.9

* imageio cleanup

* indexing

* verbose install

* force

* lightning check

* more checks

* roll back

* Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb

* Revert "Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb"

This reverts commit 453a099.

* updated: DTEx215_cell_counting (#451)

* Add files via upload

* Update README.md

* renamed to DTEx215

* moved tests, added cv2

* meshgrid indexing for torch

---------

Co-authored-by: Alex <95913221+Pwhsky@users.noreply.github.com>
Co-authored-by: Alex <lechal.pierre@gmail.com>
* convert from list to xp array

* Update optics.py

* typo fix

* typo
Co-authored-by: edudc <eduard.duta.costache@physics.gu.se>
* created optical, changed imports

* init

* u

* u

* bind optical submodules

* u

* dt_math

* issue with python > 3.12

* index order for compatibility with python 3.9

* imageio cleanup

* indexing

* verbose install

* force

* lightning check

* more checks

* roll back

* Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb

* Revert "Rename DTEx206_cell_counting.ipynb to DTEx215_cell_counting.ipynb"

This reverts commit 453a099.

* updated: DTEx215_cell_counting (#451)

* Add files via upload

* Update README.md

* renamed to DTEx215

* moved tests, added cv2

* meshgrid indexing for torch

* solve issue with multiple volumes

solve issue with multiple volumes with different intensities or refractive indexes by introducing _merge_placed_volumes()

* test_dlcc corrected

---------

Co-authored-by: Alex <95913221+Pwhsky@users.noreply.github.com>
Co-authored-by: Alex <lechal.pierre@gmail.com>
* Add torch Mie backend support

* Move Mie array API polynomials to backend

* Test torch Mie backend autodiff

* Simplify Mie backend xp usage

* converted Mie scatterer setup, grids, masks, polarization math, FFTs, propagation use, and stratified coefficients to preserve torch tensors/autograd

* made get_propagation_matrix backend-aware

* torch regression tests for Mie sphere autodiff, multi-field brightfield summation, propagation matrix autodiff, and Zernike coefficient gradients

* the derivative through torch.arccos(cos_theta) blowed up for zero illumination angle; this now uses the equivalent cos_theta branch

* Pint triggers some numpy conversion. Added a path for tensors so that they don't go through Pint.

* modifications for learnable x, y, resolution, na, magnification, wavelength

* only bypass Pint for torch tensors that actually require grad

* differentiable paths use explicit kwargs["voxel_size"], so we must scale that explicit value

* tutorial for position optimization

---------

Co-authored-by: edudc <eduard.duta.costache@physics.gu.se>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants