Skip to content
Snippets Groups Projects
Name Last commit Last update
demo
doc
jar
javaworkspace
src
README.md
todo.txt

EigenPSFExtractor

EigenPSFExtactor allows you to finely characterize your optical system from images of isolated sources (fluorescent microbeads, guide stars, ...) It based on a set of accuracte routines to detect, register, process and average the diffracted sources images.

The plugin is rock solid for 2D images. Beware: the treatment of 3D images is slow, because this version is based on Java only. Use it at your own risks.

Citation

If you find this work useful, please cite XXX.

Installation

The easiest way to install this plugin is through the Fiji update site.

Run Fiji, choose the menu "help", select "update..." after updating there will be a dialog that has "Manage Update Sites".

https://sites.imagej.net/XXX

Once the site has been added, updating Fiji should cause it to download and install the plugin which can be found in "plugins"->"eigenpsf-extractor".

How it works?

Step 1. Open Fiji

Step 2. Open Plugins -> Eigen_PSF -> Eigen_PSF

Step1

Step 3. Drag and drop the images you want to open in the left pane.

Step2

Step 4. Display the selected images by clicking on the eye (show) in the left pane.

Step3

Step 5. Click on the parameters button and set the parameters. In particular, pay attention to :

  • Set 2D/3D option.
  • Set the PSF width. You can also do it by drawing a square around a PSF and by clicking on get_ROI.
  • Set the number of EigenPSFs (this can be done afterwards as well).

Step4

Step 6. Click on Detect beads. This may take some time. When finished, you can click on the image pane, and ROI should appear around each detected microbead.

Step5

Step 7. The PSFs that are set as valid are displayed in green. Those in red are considered as invalid because, they are out of the distribution of observed beads. You can change the valid/invalid status by ctrl + shift + click or by clicking on the table at right. Note: the table contains the main beads properties. The lower the bead quality, the more likely it is for it to be a correct bead (i.e. no overlap with other beads, out of distribution features,...).

Step 8. Click on Preprocess Patches. This will do a fine PSF registration on the detected patches and remove the background.

Step6

Step 9. Click on Compute EigenPSF. You can also show them. You should get a result like the one below. Here we made a montage with 5 eigenPSFs extracted from the valid microbeads.

Step7

Step 10. Finally, you can display the processed PSFs after registration, background removal and projection on the eigenPSF basis.

Step8

Future releases

The current code is based purely on Java. Unfortunately, some operations (convolutions with FFTs) are resource intensive. We plan to:

  1. Develop a Pytorch package.
  2. Bind the current Java/Fiji interface with this code.
  3. Develop a Napari plugin for a better Pytorch integration.

Contributing

If you want to contribute to this project, do not hesitate to contact the core developing team.

valentin.debarnot@gmail.com

emmanuel.soubies@irit.fr

daniel.sage@epfl.ch

pierre.weiss@cnrs.fr

References

This work heavily relies on the following references.

V. Debarnot, P. Escande, T. Mangeat and P. Weiss, "Learning Low-Dimensional Models of Microscopes," in IEEE Transactions on Computational Imaging, vol. 7, pp. 178-190, 2021, doi: 10.1109/TCI.2020.3048295.

Debarnot, V., & Weiss, P. (2023). Blind inverse problems with isolated spikes. Information and Inference: A Journal of the IMA, 12(1), 26-71.

Bigot, J., Escande, P., & Weiss, P. (2019). Estimation of linear operators from scattered impulse responses. Applied and Computational Harmonic Analysis, 47(3), 730-758.