vtkgdcm
vtkGDCMPolyDataWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: GDCM (Grassroots DICOM). A DICOM library
4 
5  Copyright (c) 2006-2011 Mathieu Malaterre
6  All rights reserved.
7  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
26 #ifndef VTKGDCMPOLYDATAWRITER_H
27 #define VTKGDCMPOLYDATAWRITER_H
28 
29 #include "vtkgdcmModule.h"
30 #include "vtkPolyDataWriter.h"
31 #include "vtkStringArray.h"
32 #include "vtkStdString.h"
33 
34 
35 class vtkMedicalImageProperties;
37 //BTX
38 namespace gdcm { class File; }
39 //ETX
40 class VTKGDCM_EXPORT vtkGDCMPolyDataWriter : public vtkPolyDataWriter
41 {
42 public:
44  vtkTypeMacro(vtkGDCMPolyDataWriter,vtkPolyDataWriter);
45  virtual void PrintSelf(ostream& os, vtkIndent indent);
46 
57  virtual void SetMedicalImageProperties(vtkMedicalImageProperties *pd);
58 
60 
61 
62  //this function will initialize the contained rtstructset with
63  //the inputs of the writer and the various extra information
64  //necessary for writing a complete rtstructset.
65  //NOTE: inputs must be set BEFORE calling this function!
66  //NOTE: the number of outputs for the appendpolydata MUST MATCH the ROI vectors!
67  void InitializeRTStructSet(vtkStdString inDirectory,
68  vtkStdString inStructLabel, vtkStdString inStructName,
69  vtkStringArray* inROINames,
70  vtkStringArray* inROIAlgorithmName,
71  vtkStringArray* inROIType);
72 
73  // make parent class public...
74  void SetNumberOfInputPorts(int n);
75 
76 protected:
79 
80  vtkMedicalImageProperties *MedicalImageProperties;
82 
83  void WriteData();
84 //BTX
85  void WriteRTSTRUCTInfo(gdcm::File &file);
86  void WriteRTSTRUCTData(gdcm::File &file, int num);
87 //ETX
88 
89 private:
90  vtkGDCMPolyDataWriter(const vtkGDCMPolyDataWriter&); // Not implemented.
91  void operator=(const vtkGDCMPolyDataWriter&); // Not implemented.
92 };
93 
94 #endif
writer DICOM PolyData files (Contour Data...)
vtkRTStructSetProperties * RTStructSetProperties
vtkMedicalImageProperties * MedicalImageProperties
void SetNumberOfInputPorts(int n)
void InitializeRTStructSet(vtkStdString inDirectory, vtkStdString inStructLabel, vtkStdString inStructName, vtkStringArray *inROINames, vtkStringArray *inROIAlgorithmName, vtkStringArray *inROIType)
static vtkGDCMPolyDataWriter * New()
void WriteRTSTRUCTData(gdcm::File &file, int num)
void WriteRTSTRUCTInfo(gdcm::File &file)
virtual void SetRTStructSetProperties(vtkRTStructSetProperties *pd)
virtual void SetMedicalImageProperties(vtkMedicalImageProperties *pd)
Set/Get the filename of the file to be read vtkSetStringMacro(FileName); vtkGetStringMacro(FileName);...
virtual void PrintSelf(ostream &os, vtkIndent indent)
some rtstruct properties.