Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Match parameters to simplify recOrder-waveorder interface #131

Merged
merged 5 commits into from
Jul 10, 2023

Conversation

talonchandler
Copy link
Collaborator

This PR simplifies the parameter names for the recOrder-waveorder interface.

This PR needs is matched with recOrder #381. Sorry for the headache @edyoshikun.

Copy link

@edyoshikun edyoshikun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested with the recOrder fluor-cli branch and works. The renaming of the arguments for apply_inverse_transfer_function() merge is needed to run the latest recOrder fluor-cli. LGTM to be merged to alg-dev.

@talonchandler talonchandler merged commit 181903f into alg-dev Jul 10, 2023
3 checks passed
talonchandler added a commit that referenced this pull request Jul 25, 2023
* New Stokes and Mueller module (#110)

* Initial fwd and inv w/ tests

* Add A-matrix and mueller-from-projection functions

* Debug AR_mueller

* Add convenience functions

* Make 4d transposes nd with moveaxis

* Add documentation

* Improve module docstring

* Change `KeyError` to `ValueError`

* Improved docs

* Remove unnecessary test

* Removed "float" from docs

* Revert "Removed "float" from docs"

This reverts commit d9dd7e3.

* Use `assert_almost_equal`

* fixed couple of  typos

* `A` -> `I2S` & new `S2I`

* comprehensive renaming

* copy `s0` <-> `tra`

* `np.array(s0)` so that it always has `.copy()`

* Set default to "inverse"

---------

Co-authored-by: Shalin Mehta <[email protected]>

* PR docs (#111)

* Add .git-blame-ignore-revs (#109)

* Add #110 pr doc

* Phase 2D + 3D refactor (#117)

* black formatting

* move 2D-to-3D phase recon to phase.py

* convert gen_HZ_stack to ZYX

* keep existing gpu handling

* add 3D_to_3D phase OTF

* improve naming consistency in phase_2D_to_3D_OTF

* Add kwargs to recon params

* change axes for 2D recon preparation

* simplify 2D_to_3D recon with kwargs

* handle padding and simplify OTFs

* add 3D_to_3D recon with kwargs

* temporarily remove docs for rewriting

* first dependence on torch

* move gen_Hz_stack to torch

* convert 2d wotf to torch

* move gen_Greens_function_z to torch

* move important utils to torch

* phase3Dto3D complete overhaul

* refactor

* optics.py to torch

* high-level tests

* splitt phase.py into models

* clean up 3D script

* cleaning and notes

* phase2Dto3D placeholders

* clean tests

* use napari in tests

* better skipping

* reduce dependencies

* update tests

* maintiain PTI simulation's compatibility revised optics functions

* drop pdb

* Preserve birefringence recon

* fix transpose bug

* transpose bug

* phase2Dto3D.py example

* support padding

* empty model for planaraniso

* improved names

* broad renaming of phase2D_3D and phase3D_3D

* updated 2D phase and absorption recon

Return the 2D absorption along with phase. Viewing OTFs in napari is very nice. I changed the axis order to be able to compare phase and absorption OTFs at focal plane.

* display OTFs with Z-axis as a slider

* changes to 2D phase/absorption simulation

I suggest changing this example to be simulation and reconstruction of 2D specimens, thinner than the depth of field of the microscope.

* rename models to <object-type>_<object-thickness>_<data_shape>

* fix isotropic_thin_3d example, include absorption

* 2D -> 2d, 3D -> 3d

---------

Co-authored-by: Shalin Mehta <[email protected]>

* Prepare polarization algorithms for integration with `recOrder` (#118)

* black formatting

* move 2D-to-3D phase recon to phase.py

* convert gen_HZ_stack to ZYX

* keep existing gpu handling

* add 3D_to_3D phase OTF

* improve naming consistency in phase_2D_to_3D_OTF

* Add kwargs to recon params

* change axes for 2D recon preparation

* simplify 2D_to_3D recon with kwargs

* handle padding and simplify OTFs

* add 3D_to_3D recon with kwargs

* temporarily remove docs for rewriting

* first dependence on torch

* move gen_Hz_stack to torch

* convert 2d wotf to torch

* move gen_Greens_function_z to torch

* move important utils to torch

* phase3Dto3D complete overhaul

* refactor

* optics.py to torch

* high-level tests

* splitt phase.py into models

* clean up 3D script

* cleaning and notes

* phase2Dto3D placeholders

* clean tests

* use napari in tests

* better skipping

* reduce dependencies

* update tests

* maintiain PTI simulation's compatibility revised optics functions

* drop pdb

* Preserve birefringence recon

* fix transpose bug

* transpose bug

* phase2Dto3D.py example

* support padding

* empty model for planaraniso

* improved names

* broad renaming of phase2D_3D and phase3D_3D

* Rename variables in `stokes.py`.

* updated 2D phase and absorption recon

Return the 2D absorption along with phase. Viewing OTFs in napari is very nice. I changed the axis order to be able to compare phase and absorption OTFs at focal plane.

* display OTFs with Z-axis as a slider

* changes to 2D phase/absorption simulation

I suggest changing this example to be simulation and reconstruction of 2D specimens, thinner than the depth of field of the microscope.

* convert stokes to torch

* initial draft of planaraniso model

* rename models to <object-type>_<object-thickness>_<data_shape>

* fix isotropic_thin_3d example, include absorption

* 2D -> 2d, 3D -> 3d

* calculate background corrections with transfer function

* rearrange examples folder

* rearrange examples folder

* rearrange `isotropic` and `phase` examples

* add `inplane_anisotropic` model and example

* fix inplane tests

* fix maintenance scripts

* remove deprecated

* use `np.meshgrid` for consistency

* minor bug

* integration changes

---------

Co-authored-by: Shalin Mehta <[email protected]>

* Remove kwargs from reconstructions (#119)

* remove kwargs

* fix estimated background bug

* `illumination_wavelength` -> `wavelength_illumination` (#123)

* Remove duplicate test (#125)

remove duplicate test

* Add option for axial flip of `phase_thick_3d` transfer function (#124)

* `illumination_wavelength` -> `wavelength_illumination`

* add option for axial flip of transfer function

* test axial flip

---------

Co-authored-by: Ziwen Liu <[email protected]>

* Rename model from `anisotropic_thin` to `oriented_thick` (#127)

`anisotropic_thin` -> `oriented_thick`

* `isotropic_fluorescent_thick_3d` model (#128)

* typo

* model outline

* prototype transfer function

* 3d phantom + visualize transfer function

* refactor apply_transfer_function

* typo

* refactor padding (with gpt docs + tests)

* complete example

* test apply_inverse_transfer_function

* TV reconstructions raise NotImplementedError

* `pad_zyx` -> `pad_zyx_along_z`

* Simplify `data += 10`

* Update tests/test_util.py

Co-authored-by: Ziwen Liu <[email protected]>

---------

Co-authored-by: Ziwen Liu <[email protected]>

* Match parameters to simplify `recOrder`-`waveorder` interface (#131)

* add axial_flip to `isotropic_thin_3d`

* `illumination` -> `emission` for fluorescence

* simplify parameters for usage with recOrder

* fix test

* pin torch>=2.0.0

* `z_position_list` should accept a list

---------

Co-authored-by: Shalin Mehta <[email protected]>
Co-authored-by: Ziwen Liu <[email protected]>
@talonchandler talonchandler deleted the match-parameters branch August 5, 2023 20:51
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.

2 participants