X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_ROI.h;h=0fb30768cae840c65d79046711017bd779b5d462;hb=cf35c87a6dd45a7daf171d2adca9766846a0f127;hp=5a30df865490a5c9273f0fe569fdb074413886ef;hpb=0f41173383ece2736e285fb44e8b06569bd8d201;p=clitk.git diff --git a/common/clitkDicomRT_ROI.h b/common/clitkDicomRT_ROI.h index 5a30df8..0fb3076 100644 --- a/common/clitkDicomRT_ROI.h +++ b/common/clitkDicomRT_ROI.h @@ -4,7 +4,7 @@ Authors belongs to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -25,48 +25,67 @@ namespace clitk { - //-------------------------------------------------------------------- - class DicomRT_ROI { - - public: - DicomRT_ROI(); - ~DicomRT_ROI(); +//-------------------------------------------------------------------- +class DicomRT_ROI : public itk::LightObject +{ + +public: + typedef DicomRT_ROI Self; + typedef itk::SmartPointer Pointer; + itkNewMacro(Self); - void Print(std::ostream & os = std::cout) const; - void Read(std::map & rois, gdcm::SQItem * item); - void SetFromBinaryImage(vvImage::Pointer image, int n, - std::string name, - std::vector color, - std::string filename); + 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, + std::string filename); - int GetROINumber() const; - const std::string & GetName() const; - const std::string & GetFilename() const; - const std::vector & GetDisplayColor() const; - vtkPolyData * GetMesh(); - const vvImage::Pointer GetImage() const; + int GetROINumber() const; + const std::string & GetName() const; + const std::string & GetFilename() const; + const std::vector & GetDisplayColor() const; + vtkPolyData * GetMesh(); + vvImage * GetImage() const; - void SetDisplayColor(double r, double v, double b); - std::vector & GetDisplayColor() { return mColor; } - - double GetBackgroundValueLabelImage() const; - void SetBackgroundValueLabelImage(double bg); - - void SetImage(vvImage * im); - - protected: - void ComputeMesh(); - std::string mName; - std::string mFilename; - int mNumber; - std::vector mColor; - std::vector mListOfContours; - vtkPolyData * mMesh; - bool mMeshIsUpToDate; - vvImage::Pointer mImage; - double mBackgroundValue; - }; - //-------------------------------------------------------------------- + void SetDisplayColor(double r, double v, double b); + std::vector & GetDisplayColor() { return mColor; } + + double GetBackgroundValueLabelImage() const; + void SetBackgroundValueLabelImage(double bg); + + double GetForegroundValueLabelImage() const; + void SetForegroundValueLabelImage(double bg); + + void SetImage(vvImage * im); + DicomRT_Contour* GetContour(int n); + + // double GetContourSpacing() const {return mZDelta;} + +protected: + void ComputeMesh(); + std::string mName; + std::string mFilename; + int mNumber; + std::vector mColor; + std::vector mListOfContours; + vtkSmartPointer mMesh; + bool mMeshIsUpToDate; + vvImage::Pointer mImage; + double mBackgroundValue; + double mForegroundValue; + ///Spacing between two contours + // double mZDelta; + +private: + DicomRT_ROI(); + ~DicomRT_ROI(); +}; +//-------------------------------------------------------------------- } // end namespace clitk #endif // CLITKDICOMRT_ROI_H