mehta-lab / waveorder

Wave optical models and inverse algorithms for label-agnostic imaging of density & orientation.
BSD 3-Clause "New" or "Revised" License
12 stars 3 forks source link

Fluorescence deconvolution issues #166

Open Alpaca233 opened 3 weeks ago

Alpaca233 commented 3 weeks ago

Hi there! I tried fluorescence deconvolution with the example notebook and encountered a few issues:

1) In file waveorder_reconstructor.py, Hz_det_setup calls gen_Pupil function which is missing. 2) In the same file, for 3D deconvolution Hz_det_setup calls generate_propagation_kernel with 5 parameters, while it only takes 4. 3) In the same file, within deconvolve_fluor_3D function, single_variable_tikhonov_deconvolution_3D from util.py is called with use_gpu and gpu_id . However single_variable_tikhonov_deconvolution_3D does not accept these two parameters. It would be great if we can have GPU support.

I was able to run the notebook with my own imaging data after some modifications, and here's another issue: 1) My zarr file is ~2.4G and has shape (1,4,90,2084,2084) after loaded. My memory (32G) is not enough for handling this file when running 3D deconvolution. What is the memory requirement and what would you recommend for larger files?

Thank you very much for your help!

talonchandler commented 3 weeks ago

Hi @Alpaca233!

The /examples/README has some context here. I'm guessing you're having difficulty with the notebooks in the deprecated documentation folder. Pardon me if mediocre naming wasted some time.

If a script will work, I expect examples/models/isotropic_fluorescent_thick_3d.py to do what you need. These newer implementations use pytorch, and I expect memory usage to be ~2-3x your data.

For even more abstraction, we have config-based CLI calls in recOrder with documentation here.