#include <itkVTKImageToImageFilter.h>
// gdcm
+#include <vtkRTStructSetProperties.h>
+#include <vtkGDCMPolyDataReader.h>
#include <vtkGDCMPolyDataWriter.h>
//--------------------------------------------------------------------
m_DicomFolder = "";
m_OutputFilename = "default-output.dcm";
m_ThresholdValue = 0.5;
+ m_SkipInitialStructuresFlag = false;
}
//--------------------------------------------------------------------
// 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());
// 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);
// 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);