scfn - calculate the normalized circulant self-correlation function of an image using multiplication in Fourier space.
output = scfn(image, center=True)
- input image (real)
- if set to True (default), the origin of the result is at the center; if set to False, the origin is at (0,0), the option is much faster, but the result is difficult to use
- normalized circulant self-correlation function of an input image. Real. The origin of the self-correlation function (term ccf(0,0,0)) is located at (int[n/2], int[n/2], int[n/2]) in 3D, (int[n/2], int[n/2]) in 2D, and at int[n/2] in 1D.
Calculation of the circulant self-correlation function of an image f is performed by first normalization of the input image by subtracting its average and by dividing it by its standard deviation. Next, Fourier transform is calculated, modulus calculated as `|hat(f)_"normalized"|`, and an inverse Fourier transform is calculated to yield scfn.
- This expression does not have any corresponding expression in real space - it can be considered to be adaptive filtration.
Note: for image size nx and object size m, the circulant scfn is valid only within `+//- (nx-m/2)` pixels from the origin. More distant scfn values are corrupted by the "wrap around" artifacts.
van Heel, M., Schatz, M., Orlova, E., 1992. Correlation functions revisited. Ultramicroscopy 46, 307-316.
Author / Maintainer
Pawel A. Penczek
- category 1
- category 2
- works for most people, has been tested; test cases/examples available.
None. It is perfect.