]> Creatis software - clitk.git/blobdiff - common/vvFromITK.h
used vtkSmartPointer
[clitk.git] / common / vvFromITK.h
index c611eee6370f853cd375461b9f775f496260d827..fb1e8827c2c6b25d5719c96cc2ca5bde385ebc16 100644 (file)
 ======================================================================-====*/
 #ifndef VVIMAGEFROMITK_H
 #define VVIMAGEFROMITK_H
+
+// vv
 #include "vvImage.h"
-//#include <itkImage.h>
+
+// itk
 #include <itkExtractImageFilter.h>
 #include <itkImageToVTKImageFilter.h>
 
+//------------------------------------------------------------------------------
 /**Converts the itk image to vv, handling the 4D problem
  * The time_sequence boolean specifies that the image is to be interpreted as a time sequence,
  * even if its dim is < 4. */
@@ -76,9 +80,11 @@ template<unsigned int Dim, class PixelType> vvImage::Pointer vvImageFromITK(type
                 return vv_image;
             }
             vtkImageData *image = vtkImageData::New();
-            image->DeepCopy(connector->GetOutput());
+            image->ShallowCopy(connector->GetOutput());
             vv_image->AddImage(image);
         }
+        vv_image->SetTimeSpacing(input->GetSpacing()[Dim-1]);
+        vv_image->SetTimeOrigin(input->GetOrigin()[Dim-1]);        
     }
     else //Dim == 1,2,3 and not time_sequence
     {
@@ -96,10 +102,11 @@ template<unsigned int Dim, class PixelType> vvImage::Pointer vvImageFromITK(type
             return vv_image;
         }
         vtkImageData *image = vtkImageData::New();
-        image->DeepCopy(connector->GetOutput());
+        image->ShallowCopy(connector->GetOutput());
         vv_image->AddImage(image);
     }
     return vv_image;
 }
+//------------------------------------------------------------------------------
 
 #endif //vvImageFromITK