summaryrefslogtreecommitdiffstats
path: root/cuda/2d/sirt.h
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2018-06-22 15:46:11 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2018-06-22 16:06:32 +0200
commite5b70e8b53e4ecc81b1aacc3af7893faf49ddc24 (patch)
treee92e7e11123d6b8daadb6bd70bdd2f1d4230423d /cuda/2d/sirt.h
parent3c5d9351a801f8f83565a4dbc9186cbc6a5d2b76 (diff)
downloadastra-e5b70e8b53e4ecc81b1aacc3af7893faf49ddc24.tar.gz
astra-e5b70e8b53e4ecc81b1aacc3af7893faf49ddc24.tar.bz2
astra-e5b70e8b53e4ecc81b1aacc3af7893faf49ddc24.tar.xz
astra-e5b70e8b53e4ecc81b1aacc3af7893faf49ddc24.zip
Move CUDA include files
Diffstat (limited to 'cuda/2d/sirt.h')
-rw-r--r--cuda/2d/sirt.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/cuda/2d/sirt.h b/cuda/2d/sirt.h
deleted file mode 100644
index 434a07c..0000000
--- a/cuda/2d/sirt.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
------------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
-
-Contact: astra@astra-toolbox.com
-Website: http://www.astra-toolbox.com/
-
-This file is part of the ASTRA Toolbox.
-
-
-The ASTRA Toolbox is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-The ASTRA Toolbox is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-
------------------------------------------------------------------------
-*/
-
-#ifndef _CUDA_SIRT_H
-#define _CUDA_SIRT_H
-
-#include "algo.h"
-
-namespace astraCUDA {
-
-class _AstraExport SIRT : public ReconAlgo {
-public:
- SIRT();
- ~SIRT();
-
- virtual bool init();
-
- // Do optional long-object compensation. See the comments in sirt.cu.
- // Call this after init(). It can not be used in combination with masks.
- bool doSlabCorrections();
-
- // Set min/max masks to existing GPU memory buffers
- bool setMinMaxMasks(float* D_minMaskData, float* D_maxMaskData,
- unsigned int pitch);
-
- // Set min/max masks from RAM buffers
- bool uploadMinMaxMasks(const float* minMaskData, const float* maxMaskData,
- unsigned int pitch);
-
- void setRelaxation(float r) { fRelaxation = r; }
-
- virtual bool iterate(unsigned int iterations);
-
- virtual float computeDiffNorm();
-
-protected:
- void reset();
- bool precomputeWeights();
-
- // Temporary buffers
- float* D_projData;
- unsigned int projPitch;
-
- float* D_tmpData;
- unsigned int tmpPitch;
-
- // Geometry-specific precomputed data
- float* D_lineWeight;
- unsigned int linePitch;
-
- float* D_pixelWeight;
- unsigned int pixelPitch;
-
- // Masks
- bool freeMinMaxMasks;
- float* D_minMaskData;
- unsigned int minMaskPitch;
- float* D_maxMaskData;
- unsigned int maxMaskPitch;
-
- float fRelaxation;
-};
-
-bool doSIRT(float* D_volumeData, unsigned int volumePitch,
- float* D_projData, unsigned int projPitch,
- float* D_maskData, unsigned int maskPitch,
- const SDimensions& dims, const float* angles,
- const float* TOffsets, unsigned int iterations);
-
-}
-
-#endif