Xmipp
v3.23.11-Nereus
|
Classes | |
class | FourierTransformer |
class | CorrelationAux |
Macros | |
#define | POWER_SPECTRUM 0 |
#define | AMPLITUDE_SPECTRUM 1 |
Functions | |
void | FFT_magnitude (const MultidimArray< std::complex< double > > &v, MultidimArray< double > &mag) |
void | FFT_phase (const MultidimArray< std::complex< double > > &v, MultidimArray< double > &phase) |
void | radial_magnitude (const MultidimArray< double > &v, MultidimArray< std::complex< double > > &V, MultidimArray< double > &radialMagnitude) |
template<typename T > | |
void | auto_correlation_vector (const MultidimArray< T > &Img, MultidimArray< double > &R) |
template<typename T > | |
void | correlation_vector (const MultidimArray< T > &m1, const MultidimArray< T > &m2, MultidimArray< double > &R) |
void | fast_correlation_vector (const MultidimArray< std::complex< double > > &FFT1, const MultidimArray< std::complex< double > > &FFT2, MultidimArray< double > &R, FourierTransformer &transformer) |
template<class T > | |
void | correlation_vector_no_Fourier (const MultidimArray< T > &v1, const MultidimArray< T > &v2, MultidimArray< T > &result) |
void | correlation_matrix (const MultidimArray< double > &m1, const MultidimArray< double > &m2, MultidimArray< double > &R, CorrelationAux &aux, bool center=true) |
void | correlation_matrix (const MultidimArray< std::complex< double > > &FFT1, const MultidimArray< double > &m2, MultidimArray< double > &R, CorrelationAux &aux, bool center=true) |
void | correlation_matrix (const MultidimArray< std::complex< double > > &FFT1, const MultidimArray< std::complex< double > > &FFT2, MultidimArray< double > &R, CorrelationAux &aux, bool center=true) |
template<typename T > | |
void | auto_correlation_matrix (const MultidimArray< T > &Img, MultidimArray< double > &R) |
void | auto_correlation_matrix (const MultidimArray< double > &Img, MultidimArray< double > &R, CorrelationAux &aux) |
void | convolutionFFTStack (const MultidimArray< double > &img, const MultidimArray< double > &kernel, MultidimArray< double > &result) |
void | convolutionFFT (MultidimArray< double > &img, MultidimArray< double > &kernel, MultidimArray< double > &result) |
void | frc_dpr (MultidimArray< double > &m1, MultidimArray< double > &m2, double sampling_rate, MultidimArray< double > &freq, MultidimArray< double > &frc, MultidimArray< double > &frc_noise, MultidimArray< double > &dpr, MultidimArray< double > &error_l2, bool skipdpr=false, bool doRfactor=false, double minFreq=-1, double maxFreq=0.5, double *rFactor=NULL) |
void | scaleToSizeFourier (int Zdim, int Ydim, int Xdim, MultidimArray< double > &mdaIn, MultidimArray< double > &mdaOut, int nThreads=1) |
template<typename T > | |
void | scaleToSizeFourier (MultidimArray< T > &mdaIn, MultidimArray< T > &mdaOut, MultidimArray< std::complex< T > > &inFourier, MultidimArray< std::complex< T > > &outFourier) |
void | selfScaleToSizeFourier (int Zdim, int Ydim, int Xdim, MultidimArray< double > &mda, int nthreads=1) |
void | selfScaleToSizeFourier (int Ydim, int Xdim, MultidimArray< double > &mda, int nthreads=1) |
void | selfScaleToSizeFourier (int Zdim, int Ydim, int Xdim, MultidimArrayGeneric &mda, int nthreads=1) |
void | selfScaleToSizeFourier (int Ydim, int Xdim, MultidimArrayGeneric &mda, int nthreads=1) |
void | getSpectrum (MultidimArray< double > &Min, MultidimArray< double > &spectrum, int spectrum_type=AMPLITUDE_SPECTRUM) |
void | divideBySpectrum (MultidimArray< double > &Min, MultidimArray< double > &spectrum, bool leave_origin_intact=false) |
void | multiplyBySpectrum (MultidimArray< double > &Min, MultidimArray< double > &spectrum, bool leave_origin_intact=false) |
void | whitenSpectrum (MultidimArray< double > &Min, MultidimArray< double > &Mout, int spectrum_type=AMPLITUDE_SPECTRUM, bool leave_origin_intact=false) |
void | adaptSpectrum (MultidimArray< double > &Min, MultidimArray< double > &Mout, const MultidimArray< double > &spectrum_ref, int spectrum_type=AMPLITUDE_SPECTRUM, bool leave_origin_intact=false) |
void | randomizePhases (MultidimArray< double > &Min, double wRandom) |
#define AMPLITUDE_SPECTRUM 1 |
Definition at line 669 of file xmipp_fftw.h.
#define POWER_SPECTRUM 0 |
Definition at line 668 of file xmipp_fftw.h.
void adaptSpectrum | ( | MultidimArray< double > & | Min, |
MultidimArray< double > & | Mout, | ||
const MultidimArray< double > & | spectrum_ref, | ||
int | spectrum_type = AMPLITUDE_SPECTRUM , |
||
bool | leave_origin_intact = false |
||
) |
Adapts Min to have the same spectrum as spectrum_ref
If only_amplitudes==true, the amplitude rather than the power spectrum will be equalized
Definition at line 849 of file xmipp_fftw.cpp.
void auto_correlation_matrix | ( | const MultidimArray< T > & | Img, |
MultidimArray< double > & | R | ||
) |
Autocorrelation function of an image
Fast calcuation of the autocorrelation matrix of a given one using Fast Fourier Transform. (Using the correlation theorem)
Definition at line 594 of file xmipp_fftw.h.
void auto_correlation_matrix | ( | const MultidimArray< double > & | Img, |
MultidimArray< double > & | R, | ||
CorrelationAux & | aux | ||
) |
Fast autocorrelation matrix
Definition at line 957 of file xmipp_fftw.cpp.
void auto_correlation_vector | ( | const MultidimArray< T > & | Img, |
MultidimArray< double > & | R | ||
) |
Autocorrelation function of a Xmipp vector
Fast calculation of the autocorrelation vector of a given one using Fast Fourier Transform. (Using the correlation theorem)
Definition at line 452 of file xmipp_fftw.h.
void convolutionFFT | ( | MultidimArray< double > & | img, |
MultidimArray< double > & | kernel, | ||
MultidimArray< double > & | result | ||
) |
Definition at line 457 of file xmipp_fftw.cpp.
void convolutionFFTStack | ( | const MultidimArray< double > & | img, |
const MultidimArray< double > & | kernel, | ||
MultidimArray< double > & | result | ||
) |
Definition at line 429 of file xmipp_fftw.cpp.
void correlation_matrix | ( | const MultidimArray< double > & | m1, |
const MultidimArray< double > & | m2, | ||
MultidimArray< double > & | R, | ||
CorrelationAux & | aux, | ||
bool | center = true |
||
) |
Correlation of two nD images
Fast calcuation of the correlation matrix on two matrices using Fast Fourier Transform. (Using the correlation theorem). The output matrix must be already resized
Definition at line 869 of file xmipp_fftw.cpp.
void correlation_matrix | ( | const MultidimArray< std::complex< double > > & | FFT1, |
const MultidimArray< double > & | m2, | ||
MultidimArray< double > & | R, | ||
CorrelationAux & | aux, | ||
bool | center = true |
||
) |
Definition at line 898 of file xmipp_fftw.cpp.
void correlation_matrix | ( | const MultidimArray< std::complex< double > > & | FFT1, |
const MultidimArray< std::complex< double > > & | FFT2, | ||
MultidimArray< double > & | R, | ||
CorrelationAux & | aux, | ||
bool | center = true |
||
) |
Correlation matrix. R must already be with the right size.
Definition at line 912 of file xmipp_fftw.cpp.
void correlation_vector | ( | const MultidimArray< T > & | m1, |
const MultidimArray< T > & | m2, | ||
MultidimArray< double > & | R | ||
) |
Autocorrelation function of a Xmipp vector
Fast calcuation of the correlation matrix on two matrices using Fast Fourier Transform. (Using the correlation theorem). The output matrix must be already resized
Definition at line 488 of file xmipp_fftw.h.
void correlation_vector_no_Fourier | ( | const MultidimArray< T > & | v1, |
const MultidimArray< T > & | v2, | ||
MultidimArray< T > & | result | ||
) |
Compute the correlation vector without using Fourier.
The results are the same as the previous ones but this function is threadsafe while the previous one is not.
It is assumed that the two vectors v1, and v2 are of the same size.
Definition at line 534 of file xmipp_fftw.h.
void divideBySpectrum | ( | MultidimArray< double > & | Min, |
MultidimArray< double > & | spectrum, | ||
bool | leave_origin_intact = false |
||
) |
Divide the input map in Fourier-space by the spectrum provided.
If leave_origin_intact==true, the origin pixel will remain untouched
Definition at line 788 of file xmipp_fftw.cpp.
void fast_correlation_vector | ( | const MultidimArray< std::complex< double > > & | FFT1, |
const MultidimArray< std::complex< double > > & | FFT2, | ||
MultidimArray< double > & | R, | ||
FourierTransformer & | transformer | ||
) |
Autocorrelation function of a Xmipp vector
Same as correlation_vector, but the Fourier transforms have already been computed and the transformer is reused. The transformer internal variables must have already been resized.
Definition at line 926 of file xmipp_fftw.cpp.
void FFT_magnitude | ( | const MultidimArray< std::complex< double > > & | v, |
MultidimArray< double > & | mag | ||
) |
FFT Magnitude 1D
Definition at line 393 of file xmipp_fftw.cpp.
void FFT_phase | ( | const MultidimArray< std::complex< double > > & | v, |
MultidimArray< double > & | phase | ||
) |
FFT Phase 1D
Definition at line 408 of file xmipp_fftw.cpp.
void frc_dpr | ( | MultidimArray< double > & | m1, |
MultidimArray< double > & | m2, | ||
double | sampling_rate, | ||
MultidimArray< double > & | freq, | ||
MultidimArray< double > & | frc, | ||
MultidimArray< double > & | frc_noise, | ||
MultidimArray< double > & | dpr, | ||
MultidimArray< double > & | error_l2, | ||
bool | skipdpr = false , |
||
bool | doRfactor = false , |
||
double | minFreq = -1 , |
||
double | maxFreq = 0.5 , |
||
double * | rFactor = NULL |
||
) |
Fourier-Ring-Correlation between two multidimArrays using FFT
Definition at line 491 of file xmipp_fftw.cpp.
void getSpectrum | ( | MultidimArray< double > & | Min, |
MultidimArray< double > & | spectrum, | ||
int | spectrum_type = AMPLITUDE_SPECTRUM |
||
) |
Get the amplitude or power spectrum of the map in Fourier space.
i.e. the radial average of the (squared) amplitudes of all Fourier components
Definition at line 752 of file xmipp_fftw.cpp.
void multiplyBySpectrum | ( | MultidimArray< double > & | Min, |
MultidimArray< double > & | spectrum, | ||
bool | leave_origin_intact = false |
||
) |
Multiply the input map in Fourier-space by the spectrum provided.
If leave_origin_intact==true, the origin pixel will remain untouched
Definition at line 806 of file xmipp_fftw.cpp.
void radial_magnitude | ( | const MultidimArray< double > & | v, |
MultidimArray< std::complex< double > > & | V, | ||
MultidimArray< double > & | radialMagnitude | ||
) |
FFT Radial average. This function computes the Fourier transform (in a relatively inefficient way), the amplitude and radial average of the input image. This is primarily meant for debugging. It also returns the Fourier transform just in case it might be useful outside.
Definition at line 416 of file xmipp_fftw.cpp.
void randomizePhases | ( | MultidimArray< double > & | Min, |
double | wRandom | ||
) |
Randomize phases beyond a certain frequency
Definition at line 981 of file xmipp_fftw.cpp.
void scaleToSizeFourier | ( | int | Zdim, |
int | Ydim, | ||
int | Xdim, | ||
MultidimArray< double > & | mdaIn, | ||
MultidimArray< double > & | mdaOut, | ||
int | nThreads = 1 |
||
) |
Scale matrix using Fourier transform
Ydim and Xdim define the output size, mda is the MultidimArray to scale
Definition at line 658 of file xmipp_fftw.cpp.
void scaleToSizeFourier | ( | MultidimArray< T > & | mdaIn, |
MultidimArray< T > & | mdaOut, | ||
MultidimArray< std::complex< T > > & | inFourier, | ||
MultidimArray< std::complex< T > > & | outFourier | ||
) |
Scale Fourier transform mdaIn and mdaOut define the sizes of the respective image, inFourier is transform to be scaled
Definition at line 685 of file xmipp_fftw.cpp.
void selfScaleToSizeFourier | ( | int | Zdim, |
int | Ydim, | ||
int | Xdim, | ||
MultidimArray< double > & | mda, | ||
int | nthreads = 1 |
||
) |
Definition at line 723 of file xmipp_fftw.cpp.
void selfScaleToSizeFourier | ( | int | Ydim, |
int | Xdim, | ||
MultidimArray< double > & | mda, | ||
int | nthreads = 1 |
||
) |
Definition at line 731 of file xmipp_fftw.cpp.
void selfScaleToSizeFourier | ( | int | Zdim, |
int | Ydim, | ||
int | Xdim, | ||
MultidimArrayGeneric & | mda, | ||
int | nthreads = 1 |
||
) |
MultidimArrayGeneric version
Definition at line 736 of file xmipp_fftw.cpp.
void selfScaleToSizeFourier | ( | int | Ydim, |
int | Xdim, | ||
MultidimArrayGeneric & | mda, | ||
int | nthreads = 1 |
||
) |
Definition at line 744 of file xmipp_fftw.cpp.
void whitenSpectrum | ( | MultidimArray< double > & | Min, |
MultidimArray< double > & | Mout, | ||
int | spectrum_type = AMPLITUDE_SPECTRUM , |
||
bool | leave_origin_intact = false |
||
) |
Perform a whitening of the amplitude/power spectrum of a 3D map
If leave_origin_intact==true, the origin pixel will remain untouched
Definition at line 835 of file xmipp_fftw.cpp.