27 #ifndef _PROG_FORWARD_ZERNIKE_IMAGES 28 #define _PROG_FORWARD_ZERNIKE_IMAGES 104 std::vector<Image<double>>
I;
108 std::vector<Image<double>>
P;
194 double rot,
double tilt,
double psi);
196 void updateCTFImage(
double defocusU,
double defocusV,
double angle);
200 template<Direction DIRECTION>
233 std::vector<MDLabel> getLabelsForEmpty()
override void fillVectorTerms(int l1, int l2, Matrix1D< int > &vL1, Matrix1D< int > &vN, Matrix1D< int > &vL2, Matrix1D< int > &vM)
Zernike and SPH coefficients allocation.
std::vector< Image< double > > Ifiltered
void minimizepos(int L1, int l2, Matrix1D< double > &steps)
Determine the positions to be minimize of a vector containing spherical harmonic coefficients.
std::vector< FileName > fnImage
std::vector< double > old_shiftY
std::vector< double > old_psi
std::vector< double > old_tilt
void rotatePositions(double rot, double tilt, double psi)
FileName fnOutDir
Output directory.
std::vector< double > old_defocusV
std::vector< double > deltaPsi
std::vector< Image< double > > I
std::vector< double > deltaTilt
~ProgForwardZernikeImages()
Destructor.
std::vector< double > old_defocusU
Matrix1D< double > weightsInterpolation3D(double x, double y, double z)
std::vector< Image< double > > Ifilteredp
Matrix1D< double > prev_clnm
std::vector< double > deltaDefocusAngle
std::vector< double > deltaDefocusU
ProgForwardZernikeImages()
Empty constructor.
void updateCTFImage(double defocusU, double defocusV, double angle)
MultidimArray< int > mask2D
std::vector< double > deltaX
double bspline3(double x)
Image< double > Vdeformed
virtual void writeImageParameters(MDRow &row)
virtual void finishProcessing()
std::vector< double > deltaY
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.
std::vector< Image< double > > P
virtual void createWorkFiles(bool resume, MetaData *md)
double bspline1(double x)
std::vector< double > currentAngle
void rotateCoefficients()
void defineParams()
Define parameters.
std::vector< double > old_rot
std::vector< double > old_defocusAngle
MultidimArray< double > vpos
void processImage(const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut)
std::vector< double > z_clnm_diff
void numCoefficients(int l1, int l2, int &vecSize)
Length of coefficients vector.
MultidimArray< int > V_mask
std::vector< double > old_shiftX
void readParams()
Read argument from command line.
double psi(const double x)
void splattingAtPos(std::array< double, 3 > r, double weight, MultidimArray< double > &mP, const MultidimArray< double > &mV)
std::vector< size_t > idx_z_clnm
virtual void checkPoint()
For very long programs, it may be needed to write checkpoints.
Matrix1D< double > steps_cp
std::vector< double > currentDefocusU
std::vector< double > deltaDefocusV
double transformImageSph(double *pclnm)
MultidimArray< double > df
std::vector< double > currentDefocusV
std::vector< double > deltaRot