]> Creatis software - clitk.git/blobdiff - common/clitkDicomRT_ROI.h
From Benoit P, use clitkDicomRTStruct2Image with image with direction cosine
[clitk.git] / common / clitkDicomRT_ROI.h
index 31d9db4d44849c2586fdbd30ab1be190cdd2fe53..d7c5a9817085016cdfa5cd9ff19de3c172a132f2 100644 (file)
@@ -23,6 +23,7 @@
 #include "clitkDicomRT_Contour.h"
 #include "vvImage.h"
 
+#include <vtkMatrix4x4.h>
 #include "clitkConfiguration.h"
 #if CLITK_USE_SYSTEM_GDCM == 1
 #include <vtkGDCMPolyDataReader.h>
@@ -47,6 +48,7 @@ public:
         std::string filename);
 
   int GetROINumber() const;
+  void SetROINumber(int);
   const std::string & GetName() const;
   const std::string & GetFilename() const;
   const std::vector<double> & GetDisplayColor() const;
@@ -65,6 +67,8 @@ public:
   void SetImage(vvImage::Pointer im);
   DicomRT_Contour* GetContour(int n);
 
+  void SetTransformMatrix(vtkMatrix4x4* matrix);
+
   // Compute a vtk mesh from the dicom contours
   void ComputeMeshFromContour();
   void ComputeContoursFromImage();
@@ -75,15 +79,15 @@ public:
   void SetName(std::string n) { mName = n; }
 
   // Read from DICOM RT STRUCT
-#if GDCM_MAJOR_VERSION == 2
-  bool Read(gdcm::Item * itemInfo, gdcm::Item * itemContour);
+#if GDCM_MAJOR_VERSION >= 2
+  bool Read(gdcm::Item * itemInfo, gdcm::Item * itemContour, double tol);
   void UpdateDicomItem();
 #else
-  void Read(std::map<int, std::string> & rois, gdcm::SQItem * item);
+  void Read(std::map<int, std::string> & rois, gdcm::SQItem * item, double tol);
 #endif
 
 #if CLITK_USE_SYSTEM_GDCM == 1
-  void Read(vtkSmartPointer<vtkGDCMPolyDataReader> & reader, int roiindex);
+  void Read(vtkSmartPointer<vtkGDCMPolyDataReader> & reader, int roiindex, double tol);
 #endif
 
 protected:
@@ -93,13 +97,14 @@ protected:
   std::vector<double> mColor;
   std::vector<DicomRT_Contour::Pointer> mListOfContours;
   vtkSmartPointer<vtkPolyData> mMesh;
+  vtkSmartPointer<vtkMatrix4x4> mTransformMatrix;
   bool mMeshIsUpToDate;
   vvImage::Pointer mImage;
   double mBackgroundValue;
   double mForegroundValue;
   bool m_DicomUptodateFlag;
 
-#if GDCM_MAJOR_VERSION == 2
+#if GDCM_MAJOR_VERSION >= 2
   gdcm::Item * mItemInfo;
   gdcm::Item * mItemContour;
   gdcm::SmartPointer<gdcm::SequenceOfItems> mContoursSequenceOfItems;