summaryrefslogtreecommitdiffstats
path: root/cuda/3d/mem3d.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/3d/mem3d.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/3d/mem3d.h')
-rw-r--r--cuda/3d/mem3d.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/cuda/3d/mem3d.h b/cuda/3d/mem3d.h
deleted file mode 100644
index 78e1294..0000000
--- a/cuda/3d/mem3d.h
+++ /dev/null
@@ -1,105 +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_MEM3D_H
-#define _CUDA_MEM3D_H
-
-#include <boost/shared_ptr.hpp>
-
-#include "astra3d.h"
-
-namespace astra {
-class CVolumeGeometry3D;
-class CProjectionGeometry3D;
-}
-
-namespace astraCUDA3d {
-
-// TODO: Make it possible to delete these handles when they're no longer
-// necessary inside the FP/BP
-//
-// TODO: Add functions for querying capacity
-
-struct SMemHandle3D_internal;
-
-struct MemHandle3D {
- boost::shared_ptr<SMemHandle3D_internal> d;
- operator bool() const { return (bool)d; }
-};
-
-struct SSubDimensions3D {
- unsigned int nx;
- unsigned int ny;
- unsigned int nz;
- unsigned int pitch;
- unsigned int subnx;
- unsigned int subny;
- unsigned int subnz;
- unsigned int subx;
- unsigned int suby;
- unsigned int subz;
-};
-
-/*
-// Useful or not?
-enum Mem3DCopyMode {
- MODE_SET,
- MODE_ADD
-};
-*/
-
-enum Mem3DZeroMode {
- INIT_NO,
- INIT_ZERO
-};
-
-int maxBlockDimension();
-
-_AstraExport MemHandle3D wrapHandle(float *D_ptr, unsigned int x, unsigned int y, unsigned int z, unsigned int pitch);
-
-MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Mem3DZeroMode zero);
-
-bool copyToGPUMemory(const float *src, MemHandle3D dst, const SSubDimensions3D &pos);
-
-bool copyFromGPUMemory(float *dst, MemHandle3D src, const SSubDimensions3D &pos);
-
-bool freeGPUMemory(MemHandle3D handle);
-
-bool zeroGPUMemory(MemHandle3D handle, unsigned int x, unsigned int y, unsigned int z);
-
-bool setGPUIndex(int index);
-
-
-bool FP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iDetectorSuperSampling, astra::Cuda3DProjectionKernel projKernel);
-
-bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling, bool bFDKWeighting);
-
-bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan, const float *pfFilter = 0);
-
-}
-
-#endif