Xmipp  v3.23.11-Nereus
Classes | Macros | Functions
xmipp_fftw.h File Reference
#include <complex>
#include "fftw3.h"
#include "multidim_array.h"
#include "multidim_array_generic.h"
#include "xmipp_fft.h"
Include dependency graph for xmipp_fftw.h:

Go to the source code of this file.

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)