]> Creatis software - clitk.git/blobdiff - common/clitkImage2DicomRTStructFilter.txx
Merge branch 'master' into extentSimon
[clitk.git] / common / clitkImage2DicomRTStructFilter.txx
index 248451d8fac4e0dff6ac74b2b1316750226037a0..9ebde04d0c878cd8dac885da978c7e9ea332af67 100644 (file)
@@ -52,6 +52,8 @@
 #include <itkVTKImageToImageFilter.h>
 
 // gdcm
+#include <vtkRTStructSetProperties.h>
+#include <vtkGDCMPolyDataReader.h>
 #include <vtkGDCMPolyDataWriter.h>
 
 //--------------------------------------------------------------------
@@ -62,6 +64,7 @@ clitk::Image2DicomRTStructFilter<PixelType>::Image2DicomRTStructFilter()
   m_DicomFolder = "";
   m_OutputFilename = "default-output.dcm";
   m_ThresholdValue = 0.5;
+  m_SkipInitialStructuresFlag = false;
 }
 //--------------------------------------------------------------------
 
@@ -119,6 +122,11 @@ void clitk::Image2DicomRTStructFilter<PixelType>::Update()
   // Init writer
   vtkGDCMPolyDataWriter * writer = vtkGDCMPolyDataWriter::New();
   int numMasks = reader->GetNumberOfOutputPorts() + m;
+
+  if (m_SkipInitialStructuresFlag) {
+    numMasks = m;
+  }
+
   writer->SetNumberOfInputPorts(numMasks);    
   writer->SetFileName(m_OutputFilename.c_str());
   writer->SetMedicalImageProperties(reader->GetMedicalImageProperties());
@@ -172,7 +180,11 @@ void clitk::Image2DicomRTStructFilter<PixelType>::Update()
     
   // Copy previous contours
   for (unsigned int i = 0; i < numMasks-m; ++i) {
+#if VTK_MAJOR_VERSION <= 5
     writer->SetInput(i, reader->GetOutput(i));
+#else
+    writer->SetInputData(i, reader->GetOutput(i));
+#endif
     std::string theString = reader->GetRTStructSetProperties()->GetStructureSetROIName(i);
     roiNames->InsertValue(i, theString);
     theString = reader->GetRTStructSetProperties()->GetStructureSetROIGenerationAlgorithm(i);
@@ -183,7 +195,11 @@ void clitk::Image2DicomRTStructFilter<PixelType>::Update()
 
   // Add new ones
   for (unsigned int i = numMasks-m; i < numMasks; ++i) {
+#if VTK_MAJOR_VERSION <= 5
     writer->SetInput(i, meshes[i-numMasks+m]);
+#else
+    writer->SetInputData(i, meshes[i-numMasks+m]);
+#endif
     roiNames->InsertValue(i, m_ROINames[i-numMasks+m]);
     roiAlgorithms->InsertValue(i, "CLITK_CREATED");
     roiTypes->InsertValue(i, m_ROIType);