Xmipp  v3.23.11-Nereus
Classes | Functions
Collaboration diagram for (phase flipping):

Classes

class  ProgCTFShow
 
class  ProgCTFPhaseFlipping
 

Functions

void actualPhaseFlip (MultidimArray< double > &I, CTFDescription ctf)
 

Detailed Description

Function Documentation

◆ actualPhaseFlip()

void actualPhaseFlip ( MultidimArray< double > &  I,
CTFDescription  ctf 
)

Definition at line 88 of file ctf_phase_flip.cpp.

89 {
90  // Perform the Fourier transform
91  FourierTransformer transformer;
93  transformer.FourierTransform(I,M_inFourier,false);
94 
95  Matrix1D<double> freq(2); // Frequencies for Fourier plane
96  int yDim=YSIZE(I);
97  int xDim=XSIZE(I);
98  double iTm=1.0/ctf.Tm;
99  ctf.phase_shift = (ctf.phase_shift*PI)/180;
100 
101  for (size_t i=0; i<YSIZE(M_inFourier); ++i)
102  {
103  FFT_IDX2DIGFREQ(i, yDim, YY(freq));
104  YY(freq) *= iTm;
105  for (size_t j=0; j<XSIZE(M_inFourier); ++j)
106  {
107  FFT_IDX2DIGFREQ(j, xDim, XX(freq));
108  XX(freq) *= iTm;
109  ctf.precomputeValues(XX(freq),YY(freq));
110  if (ctf.getValuePureWithoutDampingAt()<0)
111  DIRECT_A2D_ELEM(M_inFourier,i,j)*=-1;
112  }
113  }
114 
115  // Perform inverse Fourier transform and finish
116  transformer.inverseFourierTransform();
117 }
#define YSIZE(v)
#define yDim
Definition: projection.cpp:42
void inverseFourierTransform()
Definition: xmipp_fftw.cpp:329
#define xDim
Definition: projection.cpp:41
#define DIRECT_A2D_ELEM(v, i, j)
double phase_shift
Definition: ctf.h:305
#define i
#define XX(v)
Definition: matrix1d.h:85
#define XSIZE(v)
double Tm
Sampling rate (A/pixel)
Definition: ctf.h:240
void precomputeValues(double X, double Y)
Precompute values for a given frequency.
Definition: ctf.h:1002
double getValuePureWithoutDampingAt(bool show=false) const
Compute pure CTF without damping at (U,V). Continuous frequencies.
Definition: ctf.h:542
void FourierTransform(T &v, T1 &V, bool getCopy=true)
Definition: xmipp_fftw.h:166
__device__ float FFT_IDX2DIGFREQ(int idx, int size)
#define j
#define YY(v)
Definition: matrix1d.h:93
#define PI
Definition: tools.h:43