summaryrefslogtreecommitdiffstats
path: root/cuda/3d/astra3d.cu
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-04-18 11:51:32 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-04-18 11:51:32 +0200
commitc366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2 (patch)
treee9dc99f16607021d60ddb24c63ba7438e41a235d /cuda/3d/astra3d.cu
parentb8ee38bdada2067f4351b27d841e68580bcbff8e (diff)
parent547def0ea6e3eab07b7e4c48cee6d6a81f6155e1 (diff)
downloadastra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.gz
astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.bz2
astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.xz
astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.zip
Merge branch 'master' into aniso
Diffstat (limited to 'cuda/3d/astra3d.cu')
-rw-r--r--cuda/3d/astra3d.cu13
1 files changed, 13 insertions, 0 deletions
diff --git a/cuda/3d/astra3d.cu b/cuda/3d/astra3d.cu
index 42cece2..dd6d551 100644
--- a/cuda/3d/astra3d.cu
+++ b/cuda/3d/astra3d.cu
@@ -263,6 +263,7 @@ public:
float* angles;
float fOriginSourceDistance;
float fOriginDetectorDistance;
+ float fRelaxation;
SConeProjection* projs;
SPar3DProjection* parprojs;
@@ -302,6 +303,8 @@ AstraSIRT3d::AstraSIRT3d()
pData->projs = 0;
pData->parprojs = 0;
+ pData->fRelaxation = 1.0f;
+
pData->initialized = false;
pData->setStartReconstruction = false;
@@ -380,6 +383,14 @@ bool AstraSIRT3d::enableSuperSampling(unsigned int iVoxelSuperSampling,
return true;
}
+void AstraSIRT3d::setRelaxation(float r)
+{
+ if (pData->initialized)
+ return;
+
+ pData->fRelaxation = r;
+}
+
bool AstraSIRT3d::enableVolumeMask()
{
if (pData->initialized)
@@ -439,6 +450,8 @@ bool AstraSIRT3d::init()
if (!ok)
return false;
+ pData->sirt.setRelaxation(pData->fRelaxation);
+
pData->D_volumeData = allocateVolumeData(pData->dims);
ok = pData->D_volumeData.ptr;
if (!ok)