]> Creatis software - clitk.git/blobdiff - common/clitkDicomRT_ROI.h
Removed mat file from experimental
[clitk.git] / common / clitkDicomRT_ROI.h
index 811735218d3327e982d873d71db1d301cc942dc0..31d9db4d44849c2586fdbd30ab1be190cdd2fe53 100644 (file)
 #include "clitkDicomRT_Contour.h"
 #include "vvImage.h"
 
+#include "clitkConfiguration.h"
+#if CLITK_USE_SYSTEM_GDCM == 1
+#include <vtkGDCMPolyDataReader.h>
+#include <vtkRTStructSetProperties.h>
+#endif
+
 namespace clitk {
 
 //--------------------------------------------------------------------
@@ -35,7 +41,7 @@ public:
   itkNewMacro(Self);
 
   void Print(std::ostream & os = std::cout) const;
-  void SetFromBinaryImage(vvImage * image, int n, 
+  void SetFromBinaryImage(vvImage::Pointer image, int n, 
         std::string name, 
         std::vector<double> color, 
         std::string filename);
@@ -56,11 +62,12 @@ public:
   double GetForegroundValueLabelImage() const;
   void SetForegroundValueLabelImage(double bg);
   
-  void SetImage(vvImage * im);
+  void SetImage(vvImage::Pointer im);
   DicomRT_Contour* GetContour(int n);
 
   // Compute a vtk mesh from the dicom contours
-  void ComputeMesh();
+  void ComputeMeshFromContour();
+  void ComputeContoursFromImage();
   
   // Indicate if the mesh is uptodate according to the dicom
   void SetDicomUptodateFlag(bool b) { m_DicomUptodateFlag = b; }
@@ -75,6 +82,10 @@ public:
   void Read(std::map<int, std::string> & rois, gdcm::SQItem * item);
 #endif
 
+#if CLITK_USE_SYSTEM_GDCM == 1
+  void Read(vtkSmartPointer<vtkGDCMPolyDataReader> & reader, int roiindex);
+#endif
+
 protected:
   std::string mName;
   std::string mFilename;
@@ -91,6 +102,7 @@ protected:
 #if GDCM_MAJOR_VERSION == 2
   gdcm::Item * mItemInfo;
   gdcm::Item * mItemContour;
+  gdcm::SmartPointer<gdcm::SequenceOfItems> mContoursSequenceOfItems;
 #endif
 
 private: