diff options
-rw-r--r-- | src/CudaFDKAlgorithm3D.cpp | 6 | ||||
-rw-r--r-- | src/SartAlgorithm.cpp | 21 |
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; |