Xmipp
v3.23.11-Nereus
|
#include <reconstruct_fourier_gpu.h>
Public Member Functions | |
void | run () |
void | finishComputations (const FileName &out_name) |
virtual void | setIO (const FileName &fn_in, const FileName &fn_out) |
Public Member Functions inherited from ProgReconsBase | |
virtual | ~ProgReconsBase () |
Public Member Functions inherited from XmippProgram | |
const char * | getParam (const char *param, int arg=0) |
const char * | getParam (const char *param, const char *subparam, int arg=0) |
int | getIntParam (const char *param, int arg=0) |
int | getIntParam (const char *param, const char *subparam, int arg=0) |
double | getDoubleParam (const char *param, int arg=0) |
double | getDoubleParam (const char *param, const char *subparam, int arg=0) |
float | getFloatParam (const char *param, int arg=0) |
float | getFloatParam (const char *param, const char *subparam, int arg=0) |
void | getListParam (const char *param, StringVector &list) |
int | getCountParam (const char *param) |
bool | checkParam (const char *param) |
bool | existsParam (const char *param) |
void | addParamsLine (const String &line) |
void | addParamsLine (const char *line) |
ParamDef * | getParamDef (const char *param) const |
virtual void | quit (int exit_code=0) const |
virtual int | tryRun () |
void | initProgress (size_t total, size_t stepBin=60) |
void | setProgress (size_t value=0) |
void | endProgress () |
void | processDefaultComment (const char *param, const char *left) |
void | setDefaultComment (const char *param, const char *comment) |
virtual void | initComments () |
void | setProgramName (const char *name) |
void | addUsageLine (const char *line, bool verbatim=false) |
void | clearUsage () |
void | addExampleLine (const char *example, bool verbatim=true) |
void | addSeeAlsoLine (const char *seeAlso) |
void | addKeywords (const char *keywords) |
const char * | name () const |
virtual void | usage (int verb=0) const |
virtual void | usage (const String ¶m, int verb=2) |
int | version () const |
virtual void | show () const |
virtual void | read (int argc, const char **argv, bool reportErrors=true) |
virtual void | read (int argc, char **argv, bool reportErrors=true) |
void | read (const String &argumentsLine) |
XmippProgram () | |
XmippProgram (int argc, const char **argv) | |
virtual | ~XmippProgram () |
Protected Member Functions | |
void | checkDefines () |
void | mirrorAndCropTempSpaces () |
void | getGPUData () |
void | forceHermitianSymmetry () |
void | processWeights () |
void | createWorkThread (int gpuStream, int startIndex, int endIndex, RecFourierWorkThread &thread) |
void | readParams () |
void | defineParams () |
void | show () |
void | produceSideinfo () |
void | processImages (int firstImageIndex, int lastImageIndex) |
void | releaseTempSpaces () |
Protected Member Functions inherited from XmippProgram | |
void | defineCommons () |
Protected Attributes | |
RecFourierWorkThread * | workThreads |
MetaDataDb | SF |
FileName | fn_out |
FileName | fn_in |
int | maxVolumeIndexYZ |
int | maxVolumeIndexX |
std::complex< float > *** | tempVolume = NULL |
float *** | tempWeights = NULL |
float * | tempVolumeGPU = NULL |
float * | tempWeightsGPU = NULL |
int | noOfThreads |
int | device |
Protected Attributes inherited from XmippProgram | |
int | errorCode |
ProgramDef * | progDef |
Program definition and arguments parser. More... | |
std::map< String, CommentList > | defaultComments |
int | argc |
Original command line arguments. More... | |
const char ** | argv |
Additional Inherited Members | |
Public Attributes inherited from XmippProgram | |
bool | doRun |
bool | runWithoutArgs |
int | verbose |
Verbosity level. More... | |
int | debug |
Definition at line 60 of file reconstruct_fourier_gpu.h.
|
protected |
Method checks that there is no logical problem in the defines used by program. If found, error is thrown.
Definition at line 147 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will create thread used for loading and processing images Thread starts the work immediately gpuStream - stream to use startIndex - index of the first projection to process endIndex - index of the last projection to process thread - used for referencing the thread
Definition at line 198 of file reconstruct_fourier_gpu.cpp.
|
protectedvirtual |
Specify supported command line arguments
Reimplemented from XmippProgram.
Definition at line 42 of file reconstruct_fourier_gpu.cpp.
void ProgRecFourierGPU::finishComputations | ( | const FileName & | out_name | ) |
Method will take data stored in tempVolume and tempWeights (which should be cropped in X axis), calculate IFFT and store result to final destination.
Definition at line 879 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will enforce Hermitian symmetry, i.e will make sure that the values in temporal space at X=0 are complex conjugate of in respect to center of the space
Definition at line 732 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will fill temporal spaces with data stored at the GPU.
Definition at line 683 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will take temp spaces (containing complex conjugate values in the 'right X side'), transfer them to 'left X side' and remove the 'right X side'. As a result, the X dimension of the temp spaces will be half of the original.
Definition at line 697 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will initialize temporal storage (if necessary), processes images in given interval (including boundary indexes) and store results in temporal storage (
Definition at line 832 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will in effect do the point-wise division of tempVolume and tempWeights (i.e. correct Fourier coefficients by proper weight)
Definition at line 751 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will fill other help structures and variables
Definition at line 207 of file reconstruct_fourier_gpu.cpp.
|
protectedvirtual |
Read arguments from command line
Reimplemented from XmippProgram.
Definition at line 76 of file reconstruct_fourier_gpu.cpp.
|
protected |
Method will release temporal spaces for weights and Fourier coefs.
Definition at line 874 of file reconstruct_fourier_gpu.cpp.
|
virtual |
Run the image processing. Method will load data, process them and store result to final destination.
Reimplemented from XmippProgram.
Definition at line 179 of file reconstruct_fourier_gpu.cpp.
Functions of common reconstruction interface
Implements ProgReconsBase.
Definition at line 934 of file reconstruct_fourier_gpu.cpp.
|
protected |
Show basic info to standard output
Definition at line 101 of file reconstruct_fourier_gpu.cpp.
|
protected |
CUDA device to use
Definition at line 134 of file reconstruct_fourier_gpu.h.
|
protected |
Input file name
Definition at line 92 of file reconstruct_fourier_gpu.h.
|
protected |
Output file name
Definition at line 89 of file reconstruct_fourier_gpu.h.
|
protected |
maximal index in the temporal volumes, X axis
Definition at line 98 of file reconstruct_fourier_gpu.h.
|
protected |
maximal index in the temporal volumes, Y and Z axis
Definition at line 95 of file reconstruct_fourier_gpu.h.
|
protected |
Holds number of cores available at the host system
Definition at line 131 of file reconstruct_fourier_gpu.h.
|
protected |
SelFile containing all projections
Definition at line 86 of file reconstruct_fourier_gpu.h.
|
protected |
3D volume holding the cropped (without high frequencies) Fourier space. Lowest frequencies are in the center, i.e. Fourier space creates a sphere within a cube.
Definition at line 105 of file reconstruct_fourier_gpu.h.
|
protected |
3D volume holding the cropped (without high frequencies) Fourier space. Lowest frequencies are in the center, i.e. Fourier space creates a sphere within a cube. Valid for GPU, i.e. it is equivalent to tempVolume, which has been flattened Each two successive values represent one complex number
Definition at line 120 of file reconstruct_fourier_gpu.h.
|
protected |
3D volume holding the weights of the Fourier coefficients stored in tempVolume.
Definition at line 111 of file reconstruct_fourier_gpu.h.
|
protected |
3D volume holding the weights of the Fourier coefficients stored in tempVolume. Valid for GPU, i.e. it is equivalent to tempWeights, which has been flattened
Definition at line 127 of file reconstruct_fourier_gpu.h.
|
protected |
Thread used for loading input data
Definition at line 83 of file reconstruct_fourier_gpu.h.