Extracting 3D PSF - UU-cellbiology/DoM_Utrecht GitHub Wiki
To Make Z calibration, it is more reliable to use an averaged PSF z-stack, made from the individual PSF images. In principle, there are many solutions out there, for example [1] and [2].
But here we will give a brief explanation on how to do this using BigStitcher plugin for FIJI (you need to install it, of course). More details on PSF extraction can be found on the plugin webpage.
- First, load a z-stack containing beads to FIJI and convert it to XML format: Plugins->BigDataViewer->Export Current Image as XML/HDF5
- Start Plugins->BigStitcher->BigStitcher and in the "Select dataset for Stitching Explorer" dialog choose saved converted XML file.
- In the newly opened "Multiview Explorer" window right-click on the loaded dataset and choose "Detect Interest Points".
- In the next dialog, choose a "Difference-of-Gaussian" detection and label name, for example, "beads".
- In the next dialog, use "3-dimensional quadratic fit" for subpixel localization and "Interactive" value for "I_nterest point specification_". Also, choose "Downsample XY" and "Z" values as "1x". In the next window choose the loaded dataset, click "OK".
- A new window should appear with the Z-stack and detection preview in the rectangular ROI (you can move it and change the current z-slice). Now you can adjust detection parameters: "Sigma 1", i.e. the size of beads and "Threshold", i.e. minimal brightness. Once you are happy with detection, click "Done" button.
- To build averaged PSF, right-click again on the dataset in the "Multiview Explorer" and choose "Point Spread Functions-> Extract.."
- Choose "beads" and "Interest points" and make sure to UNSELECT "Use Corresponding interest points" checkbox. Optionally you can select "Remove min intensity projections from PSF", but it can be done later. Choose the size of the crop around PSF in all dimensions and click "OK".
- Now a checkbox at "PSF" column of the dataset row should be displayed as selected. To get the averaged PSF stack itself, right-click and choose "Point Spread Functions-> Average->Dispay only". The plugin will output 32-bit stack of averaged PSF.
- Convert the stack to 16-bit. Build a stack histogram in FIJI: "Analyze->Histogram->Stack histogram" and write down min max intensity values (they are probably 0 and 1). Select the averaged stack and in "Brightness&Contrast" FIJI dialog with button "Set" specify min max values from the histogram.
- Run "Image->Type->16-bit" and save the averaged PSF on disk to be used for Z-calibration.
This workflow will average all detected points (beads). If you want to exclude some of them, after step 6) you can remove some of them interactively.