27 #ifndef _PROG_FORWARD_ART_ZERNIKE3D 28 #define _PROG_FORWARD_ART_ZERNIKE3D 180 double rot,
double tilt,
double psi);
188 enum class Direction { Forward, Backward };
191 template <Direction DIRECTION>
195 template<
bool USESZERNIKE, Direction DIRECTION>
199 void splattingAtPos(std::array<double, 2> r,
double weight,
208 void sortOrthogonal();
Matrix1D< double > gaussianProjectionTable
std::vector< double > clnm
void defineParams()
Define parameters.
void readParams()
Read argument from command line.
void processImage(const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut)
Image< double > Ifilteredp
~ProgForwardArtZernike3D()
Destructor.
double bspline1(double x)
MultidimArray< int > Vmask
Matrix1D< double > gaussianProjectionTable2
FileName fnOutDir
Output directory.
MultidimArray< size_t > ordered_list
virtual void finishProcessing()
void fillVectorTerms(int l1, int l2, Matrix1D< int > &vL1, Matrix1D< int > &vN, Matrix1D< int > &vL2, Matrix1D< int > &vM)
Zernike and SPH coefficients allocation.
MultidimArray< int > mask2D
ProgForwardArtZernike3D()
Empty constructor.
void numCoefficients(int l1, int l2, int &vecSize)
Length of coefficients vector.
void deformVol(MultidimArray< double > &mP, MultidimArray< double > &mW, const MultidimArray< double > &mV, double rot, double tilt, double psi)
Deform a volumen using Zernike-Spherical harmonic basis.