summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/CudaFDKAlgorithm3D.cpp6
-rw-r--r--src/SartAlgorithm.cpp21
2 files changed, 17 insertions, 10 deletions
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp
index 00e908e..f94a24f 100644
--- a/src/CudaFDKAlgorithm3D.cpp
+++ b/src/CudaFDKAlgorithm3D.cpp
@@ -220,12 +220,6 @@ void CCudaFDKAlgorithm3D::run(int _iNrIterations)
// check initialized
ASTRA_ASSERT(m_bIsInitialized);
- const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry();
- const CConeProjectionGeometry3D* conegeom = dynamic_cast<const CConeProjectionGeometry3D*>(projgeom);
- // const CVolumeGeometry3D& volgeom = *m_pReconstruction->getGeometry();
-
- ASTRA_ASSERT(conegeom);
-
CFloat32ProjectionData3D* pSinoMem = dynamic_cast<CFloat32ProjectionData3D*>(m_pSinogram);
ASTRA_ASSERT(pSinoMem);
CFloat32VolumeData3D* pReconMem = dynamic_cast<CFloat32VolumeData3D*>(m_pReconstruction);
diff --git a/src/SartAlgorithm.cpp b/src/SartAlgorithm.cpp
index 5c8f59b..6d39107 100644
--- a/src/SartAlgorithm.cpp
+++ b/src/SartAlgorithm.cpp
@@ -46,6 +46,10 @@ void CSartAlgorithm::_clear()
{
CReconstructionAlgorithm2D::_clear();
m_piProjectionOrder = NULL;
+ m_piProjectionOrder = NULL;
+ m_pTotalRayLength = NULL;
+ m_pTotalPixelWeight = NULL;
+
m_iProjectionCount = 0;
m_iCurrentProjection = 0;
m_bIsInitialized = false;
@@ -57,10 +61,19 @@ void CSartAlgorithm::_clear()
void CSartAlgorithm::clear()
{
CReconstructionAlgorithm2D::clear();
- if (m_piProjectionOrder) {
- delete[] m_piProjectionOrder;
- m_piProjectionOrder = NULL;
- }
+
+ delete[] m_piProjectionOrder;
+ m_piProjectionOrder = NULL;
+
+ delete m_pTotalRayLength;
+ m_pTotalRayLength = NULL;
+
+ delete m_pTotalPixelWeight;
+ m_pTotalPixelWeight = NULL;
+
+ delete m_pDiffSinogram;
+ m_pDiffSinogram = NULL;
+
m_iProjectionCount = 0;
m_iCurrentProjection = 0;
m_bIsInitialized = false;