26 #ifndef CORE_PROJECTION_H 27 #define CORE_PROJECTION_H 167 double ray_length = -1.0,
168 int thread_id = -1,
int num_threads = 1);
197 double rot,
double tilt,
double psi,
255 #define x0 STARTINGX(IMGMATRIX(*proj)) 256 #define xF FINISHINGX(IMGMATRIX(*proj)) 257 #define y0 STARTINGY(IMGMATRIX(*proj)) 258 #define yF FINISHINGY(IMGMATRIX(*proj)) 259 #define xDim XSIZE(IMGMATRIX(*proj)) 260 #define yDim YSIZE(IMGMATRIX(*proj)) 313 int thread_id,
int numthreads);
350 double rot,
double tilt,
double psi,
const MultidimArray< int > * mask
bool only_create_angles
Only create angles, do not project.
void defineParams(XmippProgram *program)
double Npixel_dev
Standard deviation of the noise to be added to each pixel grey value.
FileName fnOut
Output filename (used for a singleProjection)
std::string fn_projection_extension
Extension for projection filenames. This is optional.
Projection * global_norm_proj
ParametersProjectionTomography()
double tilt0
Minimum tilt around this axis.
void * project_SimpleGridThread(void *params)
void readParams(XmippProgram *program)
void singleWBP(MultidimArray< double > &V, Projection &P)
double tiltF
Maximum tilt around this axis.
const Image< int > * VNeq
Matrix1D< double > raxis
Offset of the tilt axis.
double Npixel_avg
Bias to be applied to each pixel grey value */.
int proj_Ydim
Projection Ydim.
const int ART_PIXEL_SUBSAMPLING
void project_SimpleGrid(Image< T > *vol, const SimpleGrid *grid, const Basis *basis, Projection *proj, Projection *norm_proj, int FORW, int eq_mode, const Image< int > *VNeq, Matrix2D< double > *M, const MultidimArray< int > *mask=nullptr, double ray_length=-1.0, int thread_id=-1, int num_threads=1)
double Ncenter_avg
Bias to apply to the image center.
void projectVolume(MultidimArray< double > &V, Projection &P, int Ydim, int Xdim, double rot, double tilt, double psi, const Matrix1D< double > *roffset=nullptr)
double Ncenter_dev
Standard deviation of the image center.
void project_GridVolume(GridVolumeT< T > &vol, const Basis &basis, Projection &proj, Projection &norm_proj, int Ydim, int Xdim, double rot, double tilt, double psi, int FORW, int eq_mode, GridVolumeT< int > *GVNeq, Matrix2D< double > *M, const MultidimArray< int > *mask, double ray_length, int threads)
pthread_mutex_t project_mutex
double Nangle_dev
Standard deviation of the angles.
int proj_Xdim
Projection Xdim.
void project_Crystal_Volume(GridVolume &vol, const Basis &basis, Projection &proj, Projection &norm_proj, int Ydim, int Xdim, double rot, double tilt, double psi, const Matrix1D< double > &shift, const Matrix1D< double > &aint, const Matrix1D< double > &bint, const Matrix2D< double > &D, const Matrix2D< double > &Dinv, const MultidimArray< int > &mask, int FORW, int eq_mode=ARTK)
void calculateProjectionAngles(Projection &P, double angle, double inplaneRot, const Matrix1D< double > &sinplane)
double axisRot
Rotational angle of the tilt axis.
FileName fnRoot
Root filename (used for a stack)
double axisTilt
Tilt angle of the tilt axis.
barrier_t project_barrier
bool singleProjection
Only project a single image.
double psi(const double x)
project_thread_params * project_threads
void read(const FileName &fn_proj_param)
double tiltStep
Step in tilt.
void projectVolumeOffCentered(MultidimArray< double > &V, Projection &P, int Ydim, int Xdim)
void count_eqs_in_projection(GridVolumeT< int > &GVNeq, const Basis &basis, Projection &read_proj)
int starting
First projection number. By default, 1.
double Nangle_avg
Bias to apply to the angles.