26 #ifndef _PROJECTXRAY_H_ 27 #define _PROJECTXRAY_H_ 111 virtual void defineParams();
112 virtual void readParams();
168 muVol = cumMu = IgeoVol = IgeoZb =
nullptr;
197 int threadId = -1,
int nThreads = 1);
void threadXrayProject(ThreadArgument &thArg)
Thread Job to generate an X-ray microscope projection.
ParametersProjectionTomography projParam
void projectXraySimpleGridThread(ThreadArgument &thArg)
Data struct to be passed to threads.
MultidimArray< double > * IgeoVol
MultidimArray< double > * muVol
FileName fn_proj_param
Filename with the Projection_Parameters.
void projectXrayVolume(MultidimArray< double > &muVol, MultidimArray< double > &IgeoVol, XRayPSF &psf, Projection &P, MultidimArray< double > *projNorm=nullptr, ThreadManager *ThrMgr=nullptr)
ParallelTaskDistributor * td
void XrayRotateAndProjectVolumeOffCentered(XrayProjPhantom &side, XRayPSF &psf, Projection &P, Projection &standardP, int Ydim, int Xdim)
Image< double > iniVol
Phantom Xmipp volume.
ParallelTaskDistributor * td
MultidimArray< double > * projNorm
MultidimArray< double > * IgeoVol
std::vector< int > * phantomSlabIdx
std::vector< int > * psfSlicesIdx
void projectXrayGridVolume(MultidimArray< double > &muVol, XRayPSF &psf, MultidimArray< double > &IgeoVol, Projection &proj, MultidimArray< double > *projNorm, int FORW, ThreadManager *thMgr)
Project as in an X-ray microscope using a grids and blobs.
FileName fn_psf_xr
Filename with the Microscope Parameters.
ParallelTaskDistributor * td
Intensity in the beginning of the volume to project.
bool save_std_projs
Save standard projections.
ParallelTaskDistributor * td
MultidimArray< double > * IgeoZb
double psfThr
threshold for psfSlabs
void projectXraySimpleGrid(MultidimArray< double > *vol, const XRayPSF &psf, MultidimArray< double > *IgeoVol, Projection *proj, MultidimArray< double > &projNorm, int FORW, int threadId=-1, int nThreads=1)
MultidimArray< double > * muVol
void calculateIgeoThread(ThreadArgument &thArg)
MultidimArray< double > * IgeoVol
Accumulated Mu == Standard EM projection used as reference for reconstruction.
int nThr
Number of threads;.
MultidimArray< double > * IgeoZb
MultidimArray< double > * muVol
FileName fn_sel_file
Selection file with all projections.
MultidimArray< double > * IgeoZb
Igeo accumulated along Z axis.
MultidimArray< double > * cumMu
Phantom volume.
MultidimArray< double > rotVol
void calculateIgeo(MultidimArray< double > &muVol, double sampling, MultidimArray< double > &IgeoVol, MultidimArray< double > &cumMu, MultidimArray< double > &IgeoZb, int nThreads=1, ThreadManager *ThrMgr=nullptr)
Calculate the volume of the information of Igeometric at each plane of the phantom.
file read(std::istream &is)