25 #ifndef _PROG_PROJECT_CRYSTAL_HH 26 #define _PROG_PROJECT_CRYSTAL_HH 89 void read(
const FileName &fn_crystal,
double scale = 1.0);
104 float rot,
float tilt,
float psi);
120 int &iamin,
int &iamax,
int &ibmin,
int &ibmax);
170 double param_file_scale);
void read(const FileName &fn_crystal, double scale=1.0)
void write(const FileName &fn_crystal)
Matrix1D< double > b
Crustal vector b.
bool orthogonal
Orthogonalize projections.
Matrix1D< double > a
Crystal vector a.
bool DF_shift_bool
is doc file with shifts available
MetaDataVec DF_shift
Document File for shifts. Order: H K x_SHIFT y_SHIFT z_SHIFT.
void fill_cell_positions(Projection &P, Matrix1D< double > &aproj, Matrix1D< double > &bproj, Matrix1D< double > &aprojd, Matrix1D< double > &bprojd, Matrix1D< double > &corner1, Matrix1D< double > &corner2, const Crystal_Projection_Parameters &prm_crystal, MultidimArray< double > &cell_shiftX, MultidimArray< double > &cell_shiftY, MultidimArray< double > &cell_shiftZ, MultidimArray< int > &cell_inside, MultidimArray< double > &exp_shifts_matrix_X, MultidimArray< double > &exp_shifts_matrix_Y, MultidimArray< double > &exp_shifts_matrix_Z)
void find_crystal_limits(const Matrix1D< double > &proj_corner1, const Matrix1D< double > &proj_corner2, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2, const Matrix1D< double > &a, const Matrix1D< double > &b, int &iamin, int &iamax, int &ibmin, int &ibmax)
double disappearing_th
Disappearing threshold.
Crystal_Projection_Parameters()
double Nshift_dev
Standard deviation of the magnitude shift.
int crystal_Xdim
Crystal X dimension.
int crystal_Ydim
Crystal Y dimension.
void move_following_spiral(Matrix1D< double > &r, const MultidimArray< int > &visited)
double psi(const double x)
FileName fn_shift
file with shifts
void project_crystal(Phantom &phantom, Projection &P, const ParametersProjection &prm, PROJECT_Side_Info &side, const Crystal_Projection_Parameters &prm_crystal, float rot, float tilt, float psi)
void init_shift_matrix(const Crystal_Projection_Parameters &prm_crystal, MultidimArray< int > &cell_inside, MultidimArray< double > &exp_shifts_matrix_X, MultidimArray< double > &exp_shifts_matrix_Y, MultidimArray< double > &exp_shifts_matrix_Z, MultidimArray< double > &exp_normal_shifts_matrix_X, MultidimArray< double > &exp_normal_shifts_matrix_Y, MultidimArray< double > &exp_normal_shifts_matrix_Z, double param_file_scale)
double Nshift_avg
Bias to apply to the magnitude shift.