diff --git a/reg23Topograms/itkDTRrecon/itkImageProcessor.cpp b/reg23Topograms/itkDTRrecon/itkImageProcessor.cpp index 7120366..c1d01e4 100644 --- a/reg23Topograms/itkDTRrecon/itkImageProcessor.cpp +++ b/reg23Topograms/itkDTRrecon/itkImageProcessor.cpp @@ -466,6 +466,11 @@ int itkImageProcessor::load3DSerieFromFiles( std::vector v_fnames){ caster3D->SetInput(imageSeriesReader3D->GetOutput()); caster3D->Update(); + if (m_VolumeSourceDupli) { + m_VolumeSourceDupli = NULL; + m_VolumeSourceDupli = DuplicatorType::New(); + } + m_VolumeSourceDupli->SetInputImage(caster3D->GetOutput()); m_VolumeSourceDupli->Update(); @@ -595,6 +600,11 @@ int itkImageProcessor::load3DSerieFromFolder(const char * pcDirName) caster3D->SetInput(imageSeriesReader3D->GetOutput()); caster3D->Update(); + if (m_VolumeSourceDupli) { + m_VolumeSourceDupli = NULL; + m_VolumeSourceDupli = DuplicatorType::New(); + } + m_VolumeSourceDupli->SetInputImage(caster3D->GetOutput()); m_VolumeSourceDupli->Update(); @@ -623,18 +633,22 @@ int itkImageProcessor::fill3DVolumeMeta( if(m_CTMetaInfo != NULL){ + m_CTMetaInfo = NULL; // TODO UNLOAD } if(m_DRTImage1MetaInfo != NULL){ + m_DRTImage1MetaInfo = NULL; // TODO UNLOAD } if(m_DRTImage2MetaInfo != NULL){ + m_DRTImage2MetaInfo = NULL; // TODO UNLOAD } if(m_RTMetaInfo != NULL){ + m_RTMetaInfo = NULL; // TODO UNLOAD } @@ -711,6 +725,11 @@ int itkImageProcessor::fill3DVolumeMeta( pZeroOrigin[1] = 0.; pZeroOrigin[2] = 0.; + if (m_3DInputChangeInformationToZero) { + m_3DInputChangeInformationToZero = NULL; + m_3DInputChangeInformationToZero = ChangeInformationFilterType::New(); + } + m_3DInputChangeInformationToZero->SetInput( m_VolumeSourceDupli->GetOutput()); m_3DInputChangeInformationToZero->SetOutputOrigin( @@ -1024,6 +1043,11 @@ int itkImageProcessor::load2D(const char * pcFName){ switch (currProjOrientation) { case eProjectionOrientationType::PA: + if (m_PASourceDupli) { + m_PASourceDupli = NULL; + m_PASourceDupli = DuplicatorType::New(); + } + //m_ImageIntensity = d_image1IntensityWindow; m_Duplicator = m_PASourceDupli; m_TImageMeta = m_TImage1MetaInfo; @@ -1033,6 +1057,11 @@ int itkImageProcessor::load2D(const char * pcFName){ case eProjectionOrientationType::LAT: + if (m_LATSourceDupli) { + m_LATSourceDupli = NULL; + m_LATSourceDupli = DuplicatorType::New(); + } + //m_ImageIntensity = d_image2IntensityWindow; m_Duplicator = m_LATSourceDupli; // m_ImLoaded = &image2D2Loaded;