diff options
Diffstat (limited to 'src')
| -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;  | 
