Xmipp
v3.23.11-Nereus
|
Classes | |
struct | XrayThreadArgument |
Data struct to be passed to threads. More... | |
class | XrayProjPhantom |
class | ProgXrayProject |
struct | CIGTArgument |
struct | PXSGTArgument |
Functions | |
void | XrayRotateAndProjectVolumeOffCentered (XrayProjPhantom &side, XRayPSF &psf, Projection &P, Projection &standardP, int Ydim, int Xdim) |
void | projectXrayVolume (MultidimArray< double > &muVol, MultidimArray< double > &IgeoVol, XRayPSF &psf, Projection &P, MultidimArray< double > *projNorm=nullptr, ThreadManager *ThrMgr=nullptr) |
void | threadXrayProject (ThreadArgument &thArg) |
Thread Job to generate an X-ray microscope projection. More... | |
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. More... | |
void | calculateIgeoThread (ThreadArgument &thArg) |
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. More... | |
void | projectXraySimpleGrid (MultidimArray< double > *vol, const XRayPSF &psf, MultidimArray< double > *IgeoVol, Projection *proj, MultidimArray< double > &projNorm, int FORW, int threadId=-1, int nThreads=1) |
void | projectXraySimpleGridThread (ThreadArgument &thArg) |
Variables | |
Mutex | mutex |
Barrier * | barrier |
ThreadManager * | thMgr |
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.
Definition at line 616 of file project_xray.cpp.
void calculateIgeoThread | ( | ThreadArgument & | thArg | ) |
Definition at line 650 of file project_xray.cpp.
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.
proj | Vol with the Igeometrical distribution along specimen volume |
Definition at line 688 of file project_xray.cpp.
void projectXraySimpleGrid | ( | MultidimArray< double > * | vol, |
const XRayPSF & | psf, | ||
MultidimArray< double > * | IgeoVol, | ||
Projection * | proj, | ||
MultidimArray< double > & | projNorm, | ||
int | FORW, | ||
int | threadId = -1 , |
||
int | nThreads = 1 |
||
) |
ARTK Equation mode
Definition at line 747 of file project_xray.cpp.
void projectXraySimpleGridThread | ( | ThreadArgument & | thArg | ) |
Definition at line 726 of file project_xray.cpp.
void projectXrayVolume | ( | MultidimArray< double > & | muVol, |
MultidimArray< double > & | IgeoVol, | ||
XRayPSF & | psf, | ||
Projection & | P, | ||
MultidimArray< double > * | projNorm = nullptr , |
||
ThreadManager * | ThrMgr = nullptr |
||
) |
Definition at line 334 of file project_xray.cpp.
void threadXrayProject | ( | ThreadArgument & | thArg | ) |
Thread Job to generate an X-ray microscope projection.
Thread Job to generate an X-ray microscope projection.
Calculate projNorm
Definition at line 440 of file project_xray.cpp.
void XrayRotateAndProjectVolumeOffCentered | ( | XrayProjPhantom & | side, |
XRayPSF & | psf, | ||
Projection & | P, | ||
Projection & | standardP, | ||
int | Ydim, | ||
int | Xdim | ||
) |
From voxel volumes, off-centered tilt axis. This routine projects a volume that is rotating (angle) degrees around the axis defined by the two angles (axisRot,axisTilt) and that passes through the point raxis. The projection can be further inplane rotated and shifted through the parameters (inplaneRot) and (rinplane).
All vectors involved must be 3D.
The projection model is rproj=H Rinplane Raxis r + Rinplane (I-Raxis) raxis + rinplane
Where Raxis is the 3D rotation matrix given by the axis and the angle.
Off-centered not implemented. Rotations are around volume center
Calculation of IgeoVol to optimize process
Definition at line 210 of file project_xray.cpp.
Barrier* barrier |
Definition at line 77 of file project_xray.cpp.
Mutex mutex |
Definition at line 76 of file project_xray.cpp.
ThreadManager* thMgr |
Definition at line 78 of file project_xray.cpp.