LidkeLab / smite

Single Molecule Imaging Toolbox Extraordinaire
MIT License
15 stars 3 forks source link

PSF output of fullAnalysis() #48

Open hirschmichael opened 9 months ago

hirschmichael commented 9 months ago

I've run a test based on the Example_SMLM_script.m

In the *result.mat file, the SMD['PSFSigma'] data set is an array, shape=(1, 1081), full of 1.0. This does not seem right. Did I miss anything? I used 2-byte unsigned integers as input image data type.

Also, before running SMLMobj.fullAnalysis(), I set the pixel size SMF.Data.PixelSize = 0.0468. That didn't have any effect. The output was still in pixel units.

MJWester commented 9 months ago

I've run a test based on the Example_SMLM_script.m

Hello! Thank you for trying SMITE out.

In the *result.mat file, the SMD['PSFSigma'] data set is an array, shape=(1, 1081), full of 1.0. This does not seem right. Did I miss anything? I used 2-byte unsigned integers as input image data type.

No, this is fine. The default value for SMD.PSFSigma for SMF.Fitting.FitType set to its default value of 'XYNB' is 1.0 as you saw (i.e., the input initial PSFSigma is simply copied to the SMD structure). If you use a more sophisticated FitType, such as 'XYNBS' (S stands for Sigma), values for each localization will be estimated.

Also, before running SMLMobj.fullAnalysis(), I set the pixel size SMF.Data.PixelSize = 0.0468. That didn't have any effect. The output was still in pixel units.

SMD data are ALWAYS kept in pixel units for x and y (z is in um). This is a convention which we found helpful for maintaining consistency and comparing with camera output. A number of SMITE functions do use the PixelSize when it is helpful and important to use physical measurements, for example, clustering and other statistical calculations. BaGoL also does everything in physical units.

It certainly is a reasonable idea to propagate physical units more widely.