Xmipp  v3.23.11-Nereus
Functions
polar.cpp File Reference
#include "polar.h"
#include "core/transformations.h"
Include dependency graph for polar.cpp:

Go to the source code of this file.

Functions

void fourierTransformRings (Polar< double > &in, Polar< std::complex< double > > &out, Polar_fftw_plans &plans, bool conjugated)
 
void inverseFourierTransformRings (Polar< std::complex< double > > &in, Polar< double > &out, Polar_fftw_plans &plans, bool conjugated)
 
void rotationalCorrelation (const Polar< std::complex< double > > &M1, const Polar< std::complex< double > > &M2, MultidimArray< double > &angles, RotationalCorrelationAux &aux)
 
template<bool NORMALIZE>
void polarFourierTransform (const MultidimArray< double > &in, Polar< double > &inAux, Polar< std::complex< double > > &out, bool conjugated, int first_ring, int last_ring, Polar_fftw_plans *&plans, int BsplineOrder)
 
template void polarFourierTransform< true > (MultidimArray< double > const &, Polar< double > &, Polar< std::complex< double > > &, bool, int, int, Polar_fftw_plans *&, int)
 
template<bool NORMALIZE>
void polarFourierTransform (const MultidimArray< double > &in, Polar< std::complex< double > > &out, bool conjugated, int first_ring, int last_ring, Polar_fftw_plans *&plans, int BsplineOrder)
 
template void polarFourierTransform< true > (const MultidimArray< double > &in, Polar< std::complex< double > > &out, bool conjugated, int first_ring, int last_ring, Polar_fftw_plans *&plans, int BsplineOrder)
 
template void polarFourierTransform< false > (const MultidimArray< double > &in, Polar< std::complex< double > > &out, bool conjugated, int first_ring, int last_ring, Polar_fftw_plans *&plans, int BsplineOrder)
 
void normalizedPolarFourierTransform (Polar< double > &polarIn, Polar< std::complex< double > > &out, bool conjugated, Polar_fftw_plans *&plans)
 
double best_rotation (const Polar< std::complex< double > > &I1, const Polar< std::complex< double > > &I2, RotationalCorrelationAux &aux)
 
void alignRotationally (MultidimArray< double > &I1, MultidimArray< double > &I2, RotationalCorrelationAux &aux, int splineOrder, int wrap)
 
void image_convertCartesianToPolar (MultidimArray< double > &in, MultidimArray< double > &out, double Rmin, double Rmax, double deltaR, float angMin, double angMax, float deltaAng)
 
void image_convertCartesianToPolar_ZoomAtCenter (const MultidimArray< double > &in, MultidimArray< double > &out, Matrix1D< double > &R, double zoomFactor, double Rmin, double Rmax, int NRSteps, float angMin, double angMax, int NAngSteps)
 
void volume_convertCartesianToCylindrical (const MultidimArray< double > &in, MultidimArray< double > &out, double Rmin, double Rmax, double deltaR, float angMin, double angMax, float deltaAng, Matrix1D< double > &axis)
 
void volume_convertCartesianToSpherical (const MultidimArray< double > &in, MultidimArray< double > &out, double Rmin, double Rmax, double deltaR, double deltaRot, double deltaTilt)
 

Function Documentation

◆ image_convertCartesianToPolar()

void image_convertCartesianToPolar ( MultidimArray< double > &  in,
MultidimArray< double > &  out,
double  Rmin,
double  Rmax,
double  deltaR,
float  angMin,
double  angMax,
float  deltaAng 
)

Definition at line 258 of file polar.cpp.

260  {
261  auto NAngSteps = (size_t)floor((angMax - angMin) / deltaAng);
262  auto NRSteps = (size_t)floor((Rmax - Rmin) / deltaR);
263  out.initZeros(NAngSteps, NRSteps);
264  for (size_t i = 0; i < NAngSteps; ++i) {
265  float angle = angMin + i * deltaAng;
266  float s = sin(angle);
267  float c = cos(angle);
268  for (size_t j = 0; j < NRSteps; ++j) {
269  float R = Rmin + j * deltaR;
270  A2D_ELEM(out,i,j) = in.interpolatedElement2D(R * c, R * s);
271  }
272  }
273 }
#define A2D_ELEM(v, i, j)
__host__ __device__ float2 floor(const float2 v)
doublereal * c
#define i
T interpolatedElement2D(double x, double y, T outside_value=(T) 0) const
#define j
void initZeros(const MultidimArray< T1 > &op)

◆ polarFourierTransform< false >()

template void polarFourierTransform< false > ( const MultidimArray< double > &  in,
Polar< std::complex< double > > &  out,
bool  conjugated,
int  first_ring,
int  last_ring,
Polar_fftw_plans *&  plans,
int  BsplineOrder 
)

◆ polarFourierTransform< true >() [1/2]

template void polarFourierTransform< true > ( MultidimArray< double > const &  ,
Polar< double > &  ,
Polar< std::complex< double > > &  ,
bool  ,
int  ,
int  ,
Polar_fftw_plans *&  ,
int   
)

◆ polarFourierTransform< true >() [2/2]

template void polarFourierTransform< true > ( const MultidimArray< double > &  in,
Polar< std::complex< double > > &  out,
bool  conjugated,
int  first_ring,
int  last_ring,
Polar_fftw_plans *&  plans,
int  BsplineOrder 
)