Xmipp  v3.23.11-Nereus
Namespaces | Macros | Functions
transformations.h File Reference
#include "matrix2d.h"
#include "multidim_array.h"
#include "multidim_array_generic.h"
#include "transformations_defines.h"
Include dependency graph for transformations.h:

Go to the source code of this file.

Namespaces

 applyGeometryImpl
 

Macros

#define APPLYGEO(type)   applyGeometry(SplineDegree,V2, (*(MultidimArray<type>*)(V1.im)), A, inv, wrap, outside);
 
#define SCALETOSIZE(type)   scaleToSize(SplineDegree,V2,*((MultidimArray<type>*)(V1.im)),Xdim,Ydim,Zdim);
 
#define SCALETOSIZE(type)   scaleToSize(SplineDegree,MULTIDIM_ARRAY_TYPE(V2,type),V1,Xdim,Ydim,Zdim);
 

Functions

void geo2TransformationMatrix (const MDRow &imageHeader, Matrix2D< double > &A, bool only_apply_shifts=false)
 
bool getLoopRange (double value, double min, double max, double delta, int loopLimit, int &minIter, int &maxIter)
 
void string2TransformationMatrix (const String &matrixStr, Matrix2D< double > &matrix, size_t dim=4)
 
template<typename T >
void transformationMatrix2Parameters2D (const Matrix2D< T > &A, bool &flip, T &scale, T &shiftX, T &shiftY, T &psi)
 
void transformationMatrix2Parameters3D (const Matrix2D< double > &A, bool &flip, double &scale, double &shiftX, double &shiftY, double &shiftZ, double &rot, double &tilt, double &psi)
 
void transformationMatrix2Geo (const Matrix2D< double > &A, MDRow &imageGeo)
 
template<typename T >
void rotation2DMatrix (T ang, Matrix2D< T > &m, bool homogeneous=true)
 
template<typename T >
void translation2DMatrix (const Matrix1D< T > &translation, Matrix2D< T > &resMatrix, bool inverse=false)
 
void rotation3DMatrix (double ang, char axis, Matrix2D< double > &m, bool homogeneous=true)
 
void rotation3DMatrix (double ang, const Matrix1D< double > &axis, Matrix2D< double > &m, bool homogeneous=true)
 
void alignWithZ (const Matrix1D< double > &axis, Matrix2D< double > &m, bool homogeneous=true)
 
template<typename T >
void translation3DMatrix (const Matrix1D< T > &translation, Matrix2D< T > &resMatrix, bool inverse=false)
 
void scale3DMatrix (const Matrix1D< double > &sc, Matrix2D< double > &m, bool homogeneous=true)
 
void rotation3DMatrixFromIcoOrientations (const char *icoFrom, const char *icoTo, Matrix2D< double > &R)
 
template<typename T1 , typename T , bool wrap>
void applyGeometryImpl::applyGeometry2DDegree1 (MultidimArray< T > &__restrict__ V2, const MultidimArray< T1 > &__restrict__ V1, const Matrix2D< double > &Aref)
 
template<typename T1 , typename T , typename T2 >
void applyGeometry (int SplineDegree, MultidimArray< T > &__restrict__ V2, const MultidimArray< T1 > &__restrict__ V1, const Matrix2D< T2 > &At, bool inv, bool wrap, T outside=T(0), MultidimArray< double > *BcoeffsPtr=NULL)
 
template<typename T >
void applyGeometry (int SplineDegree, MultidimArray< T > &V2, const MultidimArrayGeneric &V1, const Matrix2D< double > &A, bool inv, bool wrap, T outside=0)
 
template<typename T >
void selfApplyGeometry (int SplineDegree, MultidimArray< T > &V1, const Matrix2D< double > &A, bool inv, bool wrap, T outside=0)
 
template<>
void applyGeometry (int SplineDegree, MultidimArray< std::complex< double > > &V2, const MultidimArray< std::complex< double > > &V1, const Matrix2D< double > &A, bool inv, bool wrap, std::complex< double > outside, MultidimArray< double > *BcoeffsPtr)
 
template<>
void selfApplyGeometry (int SplineDegree, MultidimArray< std::complex< double > > &V1, const Matrix2D< double > &A, bool inv, bool wrap, std::complex< double > outside)
 
void applyGeometry (int SplineDegree, MultidimArrayGeneric &V2, const MultidimArrayGeneric &V1, const Matrix2D< double > &A, bool inv, bool wrap, double outside)
 
template<typename T >
void produceSplineCoefficients (int SplineDegree, MultidimArray< double > &coeffs, const MultidimArray< T > &V1)
 
void produceSplineCoefficients (int SplineDegree, MultidimArray< double > &coeffs, const MultidimArray< std::complex< double > > &V1)
 
template<typename T >
void produceImageFromSplineCoefficients (int SplineDegree, MultidimArray< T > &img, const MultidimArray< double > &coeffs)
 
template<typename T >
void rotate (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T > &V1, double ang, char axis='Z', bool wrap=xmipp_transformation::DONT_WRAP, T outside=0)
 
template<typename T >
void selfRotate (int SplineDegree, MultidimArray< T > &V1, double ang, char axis='Z', bool wrap=xmipp_transformation::DONT_WRAP, T outside=0)
 
template<typename T >
void translate (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T > &V1, const Matrix1D< double > &v, bool wrap=xmipp_transformation::WRAP, T outside=0)
 
template<typename T >
void selfTranslate (int SplineDegree, MultidimArray< T > &V1, const Matrix1D< double > &v, bool wrap=xmipp_transformation::WRAP, T outside=0)
 
template<typename T >
void translateCenterOfMassToCenter (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T > &V1, bool wrap=xmipp_transformation::WRAP)
 
template<typename T >
void selfTranslateCenterOfMassToCenter (int SplineDegree, MultidimArray< T > &V1, bool wrap=xmipp_transformation::WRAP)
 
template<typename T1 , typename T >
void scaleToSize (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T1 > &V1, size_t Xdim, size_t Ydim, size_t Zdim=1)
 
template<typename T >
void scaleToSize (int SplineDegree, MultidimArray< T > &V2, const MultidimArrayGeneric &V1, int Xdim, int Ydim, int Zdim=1)
 
template<typename T >
void scaleToSize (int SplineDegree, MultidimArrayGeneric &V2, const MultidimArray< T > &V1, int Xdim, int Ydim, int Zdim=1)
 
void scaleToSize (int SplineDegree, MultidimArrayGeneric &V2, const MultidimArrayGeneric &V1, int Xdim, int Ydim, int Zdim=1)
 
template<typename T >
void selfScaleToSize (int SplineDegree, MultidimArray< T > &V1, int Xdim, int Ydim, int Zdim=1)
 
void selfScaleToSize (int SplineDegree, MultidimArrayGeneric &V1, int Xdim, int Ydim, int Zdim=1)
 
void scaleToSize (int SplineDegree, MultidimArray< std::complex< double > > &V2, const MultidimArray< std::complex< double > > &V1, int Xdim, int Ydim, int Zdim=1)
 
void selfScaleToSize (int SplineDegree, MultidimArray< std::complex< double > > &V1, int Xdim, int Ydim, int Zdim=1)
 
template<typename T >
void reduceBSpline (int SplineDegree, MultidimArray< double > &V2, const MultidimArray< T > &V1)
 
template<typename T >
void expandBSpline (int SplineDegree, MultidimArray< double > &V2, const MultidimArray< T > &V1)
 
template<typename T >
void pyramidReduce (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T > &V1, int levels=1)
 
template<typename T >
void selfPyramidReduce (int SplineDegree, MultidimArray< T > &V1, int levels=1)
 
void selfPyramidReduce (int SplineDegree, MultidimArrayGeneric &V1, int levels=1)
 
template<typename T >
void pyramidExpand (int SplineDegree, MultidimArray< T > &V2, const MultidimArray< T > &V1, int levels=1)
 
void pyramidExpand (int SplineDegree, MultidimArrayGeneric &V2, const MultidimArrayGeneric &V1, int levels=1)
 
void pyramidReduce (int SplineDegree, MultidimArrayGeneric &V2, const MultidimArrayGeneric &V1, int levels=1)
 
template<typename T >
void selfPyramidExpand (int SplineDegree, MultidimArray< T > &V1, int levels=1)
 
void selfPyramidExpand (int SplineDegree, MultidimArrayGeneric &V1, int levels=1)
 
template<typename T >
void radialAverage (const MultidimArray< T > &m, Matrix1D< int > &center_of_rot, MultidimArray< T > &radial_mean, MultidimArray< int > &radial_count, const bool &rounding=false)
 
template<typename T >
void radialAveragePrecomputeDistance (const MultidimArray< T > &m, Matrix1D< int > &center_of_rot, MultidimArray< int > &distance, int &dim, const bool &rounding=false)
 
template<typename T >
void fastRadialAverage (const MultidimArray< T > &m, const MultidimArray< int > &distance, int dim, MultidimArray< T > &radial_mean, MultidimArray< int > &radial_count)
 
template<typename T >
void radialAverageAxis (const MultidimArray< T > &in, char axis, MultidimArray< double > &out)
 
template<typename T >
void radialAverageNonCubic (const MultidimArray< T > &m, Matrix1D< int > &center_of_rot, MultidimArray< T > &radial_mean, MultidimArray< int > &radial_count, bool rounding=false)
 
void radiallySymmetrize (const MultidimArray< double > &img, MultidimArray< double > &radialImg)
 
double interpolatedElementBSplineDiffX (MultidimArray< double > &vol, double x, double y, double z, int SplineDegree=3)
 
double interpolatedElementBSplineDiffY (MultidimArray< double > &vol, double x, double y, double z, int SplineDegree=3)
 
double interpolatedElementBSplineDiffZ (MultidimArray< double > &vol, double x, double y, double z, int SplineDegree=3)
 

Macro Definition Documentation

◆ APPLYGEO

#define APPLYGEO (   type)    applyGeometry(SplineDegree,V2, (*(MultidimArray<type>*)(V1.im)), A, inv, wrap, outside);

◆ SCALETOSIZE [1/2]

#define SCALETOSIZE (   type)    scaleToSize(SplineDegree,V2,*((MultidimArray<type>*)(V1.im)),Xdim,Ydim,Zdim);

◆ SCALETOSIZE [2/2]

#define SCALETOSIZE (   type)    scaleToSize(SplineDegree,MULTIDIM_ARRAY_TYPE(V2,type),V1,Xdim,Ydim,Zdim);