X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_ROI.h;h=d7c5a9817085016cdfa5cd9ff19de3c172a132f2;hb=refs%2Fheads%2FrtStruct;hp=f0be23d74e47777647dc6714cf512415ec2193a9;hpb=82ee6175b7043cab5b9c3fd29865b1f15ef989a1;p=clitk.git diff --git a/common/clitkDicomRT_ROI.h b/common/clitkDicomRT_ROI.h index f0be23d..d7c5a98 100644 --- a/common/clitkDicomRT_ROI.h +++ b/common/clitkDicomRT_ROI.h @@ -23,6 +23,13 @@ #include "clitkDicomRT_Contour.h" #include "vvImage.h" +#include +#include "clitkConfiguration.h" +#if CLITK_USE_SYSTEM_GDCM == 1 +#include +#include +#endif + namespace clitk { //-------------------------------------------------------------------- @@ -35,12 +42,13 @@ 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 color, std::string filename); int GetROINumber() const; + void SetROINumber(int); const std::string & GetName() const; const std::string & GetFilename() const; const std::vector & GetDisplayColor() const; @@ -56,9 +64,11 @@ public: double GetForegroundValueLabelImage() const; void SetForegroundValueLabelImage(double bg); - void SetImage(vvImage * im); + 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(); @@ -69,11 +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 & rois, gdcm::SQItem * item); + void Read(std::map & rois, gdcm::SQItem * item, double tol); +#endif + +#if CLITK_USE_SYSTEM_GDCM == 1 + void Read(vtkSmartPointer & reader, int roiindex, double tol); #endif protected: @@ -83,13 +97,14 @@ protected: std::vector mColor; std::vector mListOfContours; vtkSmartPointer mMesh; + vtkSmartPointer 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 mContoursSequenceOfItems;