diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2014-10-02 13:42:42 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2014-10-02 13:42:42 +0200 |
commit | 8188b0697751d7c7ec6fe3069d0fceb50ebd0c9e (patch) | |
tree | f957ff62ca987167221db39d005407b8a440b077 /cuda/2d | |
parent | 6354a9af8f1bb5443e7a56b24a84ee1c258a95af (diff) | |
download | astra-8188b0697751d7c7ec6fe3069d0fceb50ebd0c9e.tar.gz astra-8188b0697751d7c7ec6fe3069d0fceb50ebd0c9e.tar.bz2 astra-8188b0697751d7c7ec6fe3069d0fceb50ebd0c9e.tar.xz astra-8188b0697751d7c7ec6fe3069d0fceb50ebd0c9e.zip |
Improve cuda 2d header comments
Diffstat (limited to 'cuda/2d')
-rw-r--r-- | cuda/2d/algo.h | 7 | ||||
-rw-r--r-- | cuda/2d/dims.h | 19 |
2 files changed, 25 insertions, 1 deletions
diff --git a/cuda/2d/algo.h b/cuda/2d/algo.h index 96195a3..9f2aa00 100644 --- a/cuda/2d/algo.h +++ b/cuda/2d/algo.h @@ -74,6 +74,13 @@ public: // instead of calling setBuffers, you can also call allocateBuffers // to let ReconAlgo manage its own GPU memory virtual bool allocateBuffers(); + + // copy data to GPU. This must be called after allocateBuffers. + // pfSinogram, pfReconstruction, pfVolMask, pfSinoMask are the + // sinogram, reconstruction, volume mask and sinogram mask in system RAM, + // respectively. The corresponding pitch variables give the pitches + // of these buffers, measured in floats. + // The sinogram is multiplied by fSinogramScale after uploading it. virtual bool copyDataToGPU(const float* pfSinogram, unsigned int iSinogramPitch, float fSinogramScale, const float* pfReconstruction, unsigned int iReconstructionPitch, const float* pfVolMask, unsigned int iVolMaskPitch, diff --git a/cuda/2d/dims.h b/cuda/2d/dims.h index df349f7..3978eab 100644 --- a/cuda/2d/dims.h +++ b/cuda/2d/dims.h @@ -44,12 +44,29 @@ struct SFanProjection { struct SDimensions { + // Width, height of reconstruction volume unsigned int iVolWidth; unsigned int iVolHeight; + + // Number of projection angles unsigned int iProjAngles; + + // Number of detector pixels unsigned int iProjDets; - float fDetScale; // size of detector compared to volume pixels + + // size of detector compared to volume pixels + float fDetScale; + + // in FP, number of rays to trace per detector pixel. + // This should usually be set to 1. + // If fDetScale > 1, this should be set to an integer of roughly + // the same size as fDetScale. unsigned int iRaysPerDet; + + // in BP, square root of number of rays to trace per volume pixel + // This should usually be set to 1. + // If fDetScale < 1, this should be set to an integer of roughly + // the same size as 1 / fDetScale. unsigned int iRaysPerPixelDim; }; |