Xmipp

xmipp_resolution_ssnr (v3.0)

Usage

Evaluate the reconstruction quality using SSNR or its volumetric distribution VSSNR. You must produce a reconstruction with gaussian white noise with exactly the same angles and reconstruction parameters as the signal reconstruction. Our ART program can produce this noisy reconstruction. If you don't use ART as reconstruction algorithm, you will have to produce the noisy reconstruction by yourself (see our demo in order to learn how to do this). Finally, the VSSNR can be visualized using any volume viewer.

  • Do not use any mask during the reconstruction since the resolution estimate is biased
  • Before applying this measure make sure that the noise images and the background in the experimental images have zero average. It is also assumed that the projection of the reconstructed volumes matches the experimental or the noisy projections (i.e., check that both projections are within the same range
  • The VSSNR is stored in the file as 10*log10(1+VSSNR). Thus, if you want a threshold of VSSNR=1, the threshold in the visualizer must be set to 10*log10(1+1)=3
  • If the reconstruction algorithm linearly scales the reconstructed volume so that the reprojected images do not match the gray values of the experimental images, use adjust_volume to correct for the linear transformation before computing the SSNR images

See also
resolution_fsc

Parameters

SSNR or VSSNR Estimation

--signal, -S <signal_file> ( requires --noise )
Signal volume
--noise, -N <noise_file>
Noise volume
--sel_signal, -selS <signal_mdfile>
Metadata file with the images used for the signal reconstruction
--sel_noise, -selN <noise_mdfile>
Metadata file with the images used for the noise reconstruction
-o <SSNR_file=>
Output file with the SSNR estimation If the output filename is not given, then the input filename is taken from the -S parameter by inserting _SSNR before the extension. The columns of the output file are as follows:
Column 1: Fourier pixel number
Column 2: Corresponding frequency (1/Angstroms)
Column 3: 10*log10(SSNR-1)  (SSNR=ISSNR/alpha)
Column 4: ISSNR    (Input SSNR=Sexp/Nexp)
Column 5: 10*log10(Sexp)
Column 6: 10*log10(Nexp)
Column 7: alpha       (alpha=Snoise/Nnoise)
Column 8: 10*log10(Snoise)
Column 9: 10*log10(Nnoise)
--ring <w=4>
Ring width for the SSNR averaging computation (Measured in Fourier pixels)
--sampling_rate, -s <Ts=1>
Pixel size (Angstrom)
--min_power <th=1e-10>
Minimum power in Fourier space. If at any moment, the SSNR must divide by something smaller than this value, then the SSNR at that frequency is assumed to be 0. High values of this threshold result on speckled images. If this is the case, lower this threshold (it must always be positive)
--gen_VSSNR ( requires --signal --noise --VSSNR )
(Allowed global options: --ring, --sampling_rate, --min_power)
Generate the individual estimations of the SSNR for each particle and builds an interpolation volume (VSSNR) that is compatible with the individual SSNRs. In fact, the VSSNR is stored as 10*log10(1+SSNR). Thus, after interpolating the threshold at SSNR = 1 must be shown as the threshold of the output interpolated volume at 3.01 (10*log10(1+1)). The threshold at SSNR = 4 must be shown as the threshold of the output interpolated volume at 6.99 (10*log10(1+4)). The 1D SSNR is also generated as a side-product
--VSSNR <fn_vol_file>
Volume with the Volumetric SSNR
--oroot <root=>
Root name for individual SSNR estimations

Estimation by radial averaging of the VSSNR

--radial_avg ( requires --VSSNR )
Do radial averaging estimation (Allowed global options: --ring, --sampling_rate, --min_power, -o)

Examples and notes

SSNR Resolution of a reconstructed volume:
xmipp_resolution_ssnr -S recFourierSignal.vol -N recFourierNoise.vol -selS projections.xmd  -selN noiseProjections.xmd
VSSNR Resolution of a reconstructed volume:
xmipp_resolution_ssnr -S recFourierSignal.vol -N recFourierNoise.vol -selS projections.xmd  -selN noiseProjections.xmd --gen_VSSNR --VSSNR volumeout.vol

User's comments

%COMMENT{type="tableappend"}%