X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_ROI.h;h=811735218d3327e982d873d71db1d301cc942dc0;hb=8427d8dc328ffb0f528df6ab1da1a45c6f5b6b59;hp=a22322ecbb853c0d8172444201edbcabd2fd534f;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/common/clitkDicomRT_ROI.h b/common/clitkDicomRT_ROI.h index a22322e..8117352 100644 --- a/common/clitkDicomRT_ROI.h +++ b/common/clitkDicomRT_ROI.h @@ -35,11 +35,6 @@ public: itkNewMacro(Self); void Print(std::ostream & os = std::cout) const; -#if GDCM_MAJOR_VERSION == 2 - void Read(std::map & rois, gdcm::Item const & item); -#else - void Read(std::map & rois, gdcm::SQItem * item); -#endif void SetFromBinaryImage(vvImage * image, int n, std::string name, std::vector color, @@ -64,10 +59,23 @@ public: void SetImage(vvImage * im); DicomRT_Contour* GetContour(int n); - double GetContourSpacing() const {return mZDelta;} + // Compute a vtk mesh from the dicom contours + void ComputeMesh(); + // Indicate if the mesh is uptodate according to the dicom + void SetDicomUptodateFlag(bool b) { m_DicomUptodateFlag = b; } + bool GetDicomUptoDateFlag() const { return m_DicomUptodateFlag; } + 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); + void UpdateDicomItem(); +#else + void Read(std::map & rois, gdcm::SQItem * item); +#endif + protected: - void ComputeMesh(); std::string mName; std::string mFilename; int mNumber; @@ -78,8 +86,12 @@ protected: vvImage::Pointer mImage; double mBackgroundValue; double mForegroundValue; - ///Spacing between two contours - double mZDelta; + bool m_DicomUptodateFlag; + +#if GDCM_MAJOR_VERSION == 2 + gdcm::Item * mItemInfo; + gdcm::Item * mItemContour; +#endif private: DicomRT_ROI();