GDCM
2.2.0
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 00005 Copyright (c) 2006-2011 Mathieu Malaterre 00006 All rights reserved. 00007 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 // .NAME vtkRTStructSetProperties - some rtstruct properties. 00015 // .SECTION Description 00016 // 00017 // .SECTION See Also 00018 // vtkGDCMPolyDataReader vtkGDCMPolyDataWriter 00019 00020 #ifndef VTKRTSTRUCTSETPROPERTIES_H 00021 #define VTKRTSTRUCTSETPROPERTIES_H 00022 00023 #include "vtkObject.h" 00024 00025 class vtkRTStructSetPropertiesInternals; 00026 00027 class VTK_EXPORT vtkRTStructSetProperties : public vtkObject 00028 { 00029 public: 00030 static vtkRTStructSetProperties *New(); 00031 vtkTypeRevisionMacro(vtkRTStructSetProperties,vtkObject); 00032 void PrintSelf(ostream& os, vtkIndent indent); 00033 00034 // Description: 00035 // Convenience method to reset all fields to an emptry string/value 00036 virtual void Clear(); 00037 00038 // Description: 00039 // 00040 vtkSetStringMacro(StructureSetLabel); 00041 vtkGetStringMacro(StructureSetLabel); 00042 00043 vtkSetStringMacro(StructureSetName); 00044 vtkGetStringMacro(StructureSetName); 00045 00046 vtkSetStringMacro(StructureSetDate); 00047 vtkGetStringMacro(StructureSetDate); 00048 00049 vtkSetStringMacro(StructureSetTime); 00050 vtkGetStringMacro(StructureSetTime); 00051 00052 vtkSetStringMacro(SOPInstanceUID); 00053 vtkGetStringMacro(SOPInstanceUID); 00054 00055 vtkSetStringMacro(StudyInstanceUID); 00056 vtkGetStringMacro(StudyInstanceUID); 00057 00058 vtkSetStringMacro(SeriesInstanceUID); 00059 vtkGetStringMacro(SeriesInstanceUID); 00060 00061 vtkSetStringMacro(ReferenceSeriesInstanceUID); 00062 vtkGetStringMacro(ReferenceSeriesInstanceUID); 00063 00064 vtkSetStringMacro(ReferenceFrameOfReferenceUID); 00065 vtkGetStringMacro(ReferenceFrameOfReferenceUID); 00066 00067 // Description: 00068 // Copy the contents of p to this instance. 00069 virtual void DeepCopy(vtkRTStructSetProperties *p); 00070 00071 void AddContourReferencedFrameOfReference( vtkIdType pdnum, const char *classuid , const char * instanceuid ); 00072 const char *GetContourReferencedFrameOfReferenceClassUID( vtkIdType pdnum, vtkIdType id ); 00073 const char *GetContourReferencedFrameOfReferenceInstanceUID( vtkIdType pdnum, vtkIdType id ); 00074 vtkIdType GetNumberOfContourReferencedFrameOfReferences(); 00075 vtkIdType GetNumberOfContourReferencedFrameOfReferences(vtkIdType pdnum); 00076 00077 void AddReferencedFrameOfReference( const char *classuid , const char * instanceuid ); 00078 const char *GetReferencedFrameOfReferenceClassUID( vtkIdType id ); 00079 const char *GetReferencedFrameOfReferenceInstanceUID( vtkIdType id ); 00080 vtkIdType GetNumberOfReferencedFrameOfReferences(); 00081 00082 void AddStructureSetROI( int roinumber, 00083 const char* refframerefuid, 00084 const char* roiname, 00085 const char* ROIGenerationAlgorithm); 00086 void AddStructureSetROIObservation( int refnumber, 00087 int observationnumber, 00088 const char *rtroiinterpretedtype, 00089 const char *roiinterpreter); 00090 00091 vtkIdType GetNumberOfStructureSetROIs(); 00092 int GetStructureSetObservationNumber(vtkIdType id); 00093 int GetStructureSetROINumber(vtkIdType id); 00094 const char *GetStructureSetROIRefFrameRefUID(vtkIdType); 00095 const char *GetStructureSetROIName(vtkIdType); 00096 const char *GetStructureSetROIGenerationAlgorithm(vtkIdType); 00097 const char *GetStructureSetRTROIInterpretedType(vtkIdType id); 00098 00099 protected: 00100 vtkRTStructSetProperties(); 00101 ~vtkRTStructSetProperties(); 00102 00103 char *StructureSetLabel; 00104 char *StructureSetName; 00105 char *StructureSetDate; 00106 char *StructureSetTime; 00107 00108 char *SOPInstanceUID; 00109 char *StudyInstanceUID; 00110 char *SeriesInstanceUID; 00111 00112 char *ReferenceSeriesInstanceUID; 00113 char *ReferenceFrameOfReferenceUID; 00114 00115 // Description: 00116 // PIMPL Encapsulation for STL containers 00117 //BTX 00118 vtkRTStructSetPropertiesInternals *Internals; 00119 //ETX 00120 00121 private: 00122 vtkRTStructSetProperties(const vtkRTStructSetProperties&); // Not implemented. 00123 void operator=(const vtkRTStructSetProperties&); // Not implemented. 00124 }; 00125 00126 #endif