Xmipp
v3.23.11-Nereus
|
Classes | |
class | Polar_fftw_plans |
class | Polar< T > |
class | RotationalCorrelationAux |
Functions | |
void | fourierTransformRings (Polar< double > &in, Polar< std::complex< double > > &out, Polar_fftw_plans &plans, bool conjugated=DONT_CONJUGATE) |
void | inverseFourierTransformRings (Polar< std::complex< double > > &in, Polar< double > &out, Polar_fftw_plans &plans, bool conjugated=DONT_CONJUGATE) |
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<bool NORMALIZE> | |
void | polarFourierTransform (const MultidimArray< double > &in, Polar< std::complex< double > > &out, bool flag, int first_ring, int last_ring, Polar_fftw_plans *&plans, int BsplineOrder=3) |
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=1, int wrap=xmipp_transformation::WRAP) |
void | image_convertCartesianToPolar (MultidimArray< double > &in, MultidimArray< double > &out, double Rmin, double Rmax, double deltaR, double angMin, double angMax, double 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=1., double deltaRot=2.*PI/360., double deltaTilt=PI/180.) |
void alignRotationally | ( | MultidimArray< double > & | I1, |
MultidimArray< double > & | I2, | ||
RotationalCorrelationAux & | aux, | ||
int | splineOrder = 1 , |
||
int | wrap = xmipp_transformation::WRAP |
||
) |
Align I2 rotationally to I1
Definition at line 234 of file polar.cpp.
double best_rotation | ( | const Polar< std::complex< double > > & | I1, |
const Polar< std::complex< double > > & | I2, | ||
RotationalCorrelationAux & | aux | ||
) |
Best rotation between two normalized polar Fourier transforms.
Definition at line 212 of file polar.cpp.
void fourierTransformRings | ( | Polar< double > & | in, |
Polar< std::complex< double > > & | out, | ||
Polar_fftw_plans & | plans, | ||
bool | conjugated = DONT_CONJUGATE |
||
) |
Calculate FourierTransform of all rings
This function returns a polar of complex<double> by calculating the FT of all rings
Note that the Polar_fftw_plans may be re-used for polars of the same size They should initially be calculated as in the example below
Definition at line 34 of file polar.cpp.
void image_convertCartesianToPolar | ( | MultidimArray< double > & | in, |
MultidimArray< double > & | out, | ||
double | Rmin, | ||
double | Rmax, | ||
double | deltaR, | ||
double | angMin, | ||
double | angMax, | ||
double | deltaAng | ||
) |
Produce a polar image from a cartesian image. You can give the minimum and maximum radius for the interpolation, the delta radius and the delta angle. It is assumed that the input image has the Xmipp origin. Delta Ang must be in radians.
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 | ||
) |
Produce a polar image from a cartesian image. Identical to the previous function. The Zoom factor must be >=1 (==1 means no zoom). If R is with a 0 size, then it is assumed that this routine must compute the sampling radii. If it is not 0, then it is assumed that the sampling radii have already been calculated.
Definition at line 276 of file polar.cpp.
void inverseFourierTransformRings | ( | Polar< std::complex< double > > & | in, |
Polar< double > & | out, | ||
Polar_fftw_plans & | plans, | ||
bool | conjugated = DONT_CONJUGATE |
||
) |
Calculate inverse FourierTransform of all rings
This function returns a Polar<double> by calculating the inverse FT of all rings in a Polar<std::complex<double> >
Note that the Polar_fftw_plans may be re-used for polars of the same size They should initially be calculated as in the example below
Definition at line 87 of file polar.cpp.
void normalizedPolarFourierTransform | ( | Polar< double > & | polarIn, |
Polar< std::complex< double > > & | out, | ||
bool | conjugated, | ||
Polar_fftw_plans *& | plans | ||
) |
Definition at line 197 of file polar.cpp.
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 | ||
) |
Compute a polar Fourier transform (with/out normalization) of the input image. If plans is NULL, they are computed and returned.
Definition at line 153 of file polar.cpp.
void polarFourierTransform | ( | const MultidimArray< double > & | in, |
Polar< std::complex< double > > & | out, | ||
bool | flag, | ||
int | first_ring, | ||
int | last_ring, | ||
Polar_fftw_plans *& | plans, | ||
int | BsplineOrder = 3 |
||
) |
void rotationalCorrelation | ( | const Polar< std::complex< double > > & | M1, |
const Polar< std::complex< double > > & | M2, | ||
MultidimArray< double > & | angles, | ||
RotationalCorrelationAux & | aux | ||
) |
Fourier-space rotational Cross-Correlation Function
This function returns the rotational cross-correlation function of two complex Polars M1 and M2 using the cross-correlation convolution theorem.
Note that the local_transformer should have corr (with the right size) already in its fReal, and a Fourier Transform already calculated
Note that this function can be used for real-space and fourier-space correlations!!
Definition at line 99 of file polar.cpp.
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 | ||
) |
Produce a cylindrical volume from a cartesian volume. You can give the minimum and maximum radius for the interpolation, the delta radius and the delta angle. It is assumed that the input image has the Xmipp origin. Delta Ang must be in radians.
Definition at line 305 of file polar.cpp.
void volume_convertCartesianToSpherical | ( | const MultidimArray< double > & | in, |
MultidimArray< double > & | out, | ||
double | Rmin, | ||
double | Rmax, | ||
double | deltaR = 1. , |
||
double | deltaRot = 2.*PI/360. , |
||
double | deltaTilt = PI/180. |
||
) |
Produce a spherical volume from a cartesian voume. You can give the minimum and maximum radii for the interpolation. It is assumed that the input image has the Xmipp origin. Delta Ang must be in radians.
Definition at line 356 of file polar.cpp.