27 #ifndef _PROG_FORWARD_ZERNIKE_SUBTOMOS 28 #define _PROG_FORWARD_ZERNIKE_SUBTOMOS 201 double rot,
double tilt,
double psi);
203 void updateCTFImage(
double defocusU,
double defocusV,
double angle);
207 template<Direction DIRECTION>
234 std::vector<MDLabel> getLabelsForEmpty()
override
ProgForwardZernikeSubtomos()
Empty constructor.
std::vector< double > z_clnm_diff
~ProgForwardZernikeSubtomos()
Destructor.
void defineParams()
Define parameters.
void rotatePositions(double rot, double tilt, double psi)
MultidimArray< int > V_mask
std::vector< SelLine >::iterator find(std::vector< SelLine > &text, const std::string &img_name)
void updateCTFImage(double defocusU, double defocusV, double angle)
Image< double > Vdeformed
void numCoefficients(int l1, int l2, int &vecSize)
Length of coefficients vector.
MultidimArray< double > df
virtual void createWorkFiles(bool resume, MetaData *md)
MultidimArray< int > mask3D
double transformImageSph(double *pclnm)
std::vector< size_t > idx_z_clnm
void processImage(const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut)
Image< double > Ifilteredp
MultidimArray< double > vpos
void deformVol(MultidimArray< double > &mVD, const MultidimArray< double > &mV, double &def, double rot, double tilt, double psi)
Deform a volumen using Zernike-Spherical harmonic basis.
virtual void checkPoint()
For very long programs, it may be needed to write checkpoints.
Matrix1D< double > prev_clnm
Matrix1D< double > gaussianProjectionTable2
FileName fnOutDir
Output directory.
virtual void finishProcessing()
virtual void writeImageParameters(MDRow &row)
void minimizepos(int L1, int l2, Matrix1D< double > &steps)
Determine the positions to be minimize of a vector containing spherical harmonic coefficients.
double psi(const double x)
Image< double > Ifiltered
void splattingAtPos(std::array< double, 3 > r, double weight, MultidimArray< double > &mP, const MultidimArray< double > &mV)
void fillVectorTerms(int l1, int l2, Matrix1D< int > &vL1, Matrix1D< int > &vN, Matrix1D< int > &vL2, Matrix1D< int > &vM)
Zernike and SPH coefficients allocation.
void readParams()
Read argument from command line.
void rotateCoefficients()
Matrix1D< double > gaussianProjectionTable
Matrix1D< double > weightsInterpolation3D(double x, double y, double z)
Matrix1D< double > steps_cp