diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2014-05-02 09:20:54 +0000 |
---|---|---|
committer | wpalenst <Willem.Jan.Palenstijn@cwi.nl> | 2014-05-02 09:20:54 +0000 |
commit | 1dd79f23f783564719a52de7d9b54b17005c32d7 (patch) | |
tree | 71e3c59863680e9da29a51359786d24c68787f1a /cuda/3d/par3d_bp.cu | |
parent | 9dd746071621cf854171b985afbf375f19a5b726 (diff) | |
download | astra-1dd79f23f783564719a52de7d9b54b17005c32d7.tar.gz astra-1dd79f23f783564719a52de7d9b54b17005c32d7.tar.bz2 astra-1dd79f23f783564719a52de7d9b54b17005c32d7.tar.xz astra-1dd79f23f783564719a52de7d9b54b17005c32d7.zip |
Add SIRT-Weighted BP3D (par3d-only) for use in large BP
Diffstat (limited to 'cuda/3d/par3d_bp.cu')
-rw-r--r-- | cuda/3d/par3d_bp.cu | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/cuda/3d/par3d_bp.cu b/cuda/3d/par3d_bp.cu index 9bf9a9f..8cb285c 100644 --- a/cuda/3d/par3d_bp.cu +++ b/cuda/3d/par3d_bp.cu @@ -136,13 +136,10 @@ __global__ void dev_par3D_BP(void* D_volData, unsigned int volPitch, int startAn const float fCvz = gC_Cvz[angle]; const float fCvc = gC_Cvc[angle]; - const float fUNum = fCuc + fX * fCux + fY * fCuy + fZ * fCuz; - const float fVNum = fCvc + fX * fCvx + fY * fCvy + fZ * fCvz; + const float fU = fCuc + fX * fCux + fY * fCuy + fZ * fCuz; + const float fV = fCvc + fX * fCvx + fY * fCvy + fZ * fCvz; - const float fU = fUNum; - const float fV = fVNum; - - fVal += tex3D(gT_par3DProjTexture, fU, fAngle, fV); // TODO: check order + fVal += tex3D(gT_par3DProjTexture, fU, fAngle, fV); } @@ -213,13 +210,10 @@ __global__ void dev_par3D_BP_SS(void* D_volData, unsigned int volPitch, int star float fZs = fZ; for (int iSubZ = 0; iSubZ < dims.iRaysPerVoxelDim; ++iSubZ) { - const float fUNum = fCuc + fXs * fCux + fYs * fCuy + fZs * fCuz; - const float fVNum = fCvc + fXs * fCvx + fYs * fCvy + fZs * fCvz; - - const float fU = fUNum; - const float fV = fVNum; + const float fU = fCuc + fXs * fCux + fYs * fCuy + fZs * fCuz; + const float fV = fCvc + fXs * fCvx + fYs * fCvy + fZs * fCvz; - fVal += tex3D(gT_par3DProjTexture, fU, fAngle, fV); // TODO: check order + fVal += tex3D(gT_par3DProjTexture, fU, fAngle, fV); fZs += fSubStep; } fYs += fSubStep; |