X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_StructureSet.h;h=5e4cf972d0a158284d4d5e721865bb0bef5eb016;hb=e1098dccba022441144bfc1c44a2b58db7dde34e;hp=84d74860f042b241b807513f4dcfce600df03d7b;hpb=b9db5886a4d8e50a6940d7ceea622de32cfb230a;p=clitk.git diff --git a/common/clitkDicomRT_StructureSet.h b/common/clitkDicomRT_StructureSet.h index 84d7486..5e4cf97 100644 --- a/common/clitkDicomRT_StructureSet.h +++ b/common/clitkDicomRT_StructureSet.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 @@ -20,10 +20,20 @@ #ifndef CLITKDICOMRT_STRUCTURESET_H #define CLITKDICOMRT_STRUCTURESET_H +// clitk #include "clitkCommon.h" #include "clitkDicomRT_ROI.h" + +// vv #include "vvImage.h" +// gdcm +#if GDCM_MAJOR_VERSION == 2 +#include "gdcmReader.h" +#include "gdcmWriter.h" +#include "gdcmAttribute.h" +#endif + namespace clitk { //-------------------------------------------------------------------- @@ -34,11 +44,15 @@ public: typedef itk::SmartPointer Pointer; itkNewMacro(Self); + typedef typename std::map::iterator ROIIteratorType; + typedef typename std::map::const_iterator ROIConstIteratorType; + void Print(std::ostream & os = std::cout) const; void Read(const std::string & filename); + void Write(const std::string & filename); - const std::vector & GetListOfROI() const; - clitk::DicomRT_ROI * GetROI(int n); + clitk::DicomRT_ROI * GetROIFromROINumber(int n); + std::map & GetROIs() { return mROIs; } const std::string & GetStudyID() const; const std::string & GetStudyTime() const; const std::string & GetStudyDate() const; @@ -49,6 +63,11 @@ public: int AddBinaryImageAsNewROI(vvImage * i, std::string name); +#if GDCM_MAJOR_VERSION == 2 + // Static + static int ReadROINumber(const gdcm::Item & item); +#endif + protected: std::string mStudyID; std::string mStudyTime; @@ -57,9 +76,15 @@ protected: std::string mName; std::string mDate; std::string mTime; + + std::map mROIs; std::map mMapOfROIName; - std::map mMapOfROIIndex; - std::vector mListOfROI; +#if GDCM_MAJOR_VERSION == 2 + gdcm::Reader * mReader; + gdcm::SmartPointer mROIInfoSequenceOfItems; + gdcm::SmartPointer mROIContoursSequenceOfItems; +#endif + gdcm::File * mFile; private: DicomRT_StructureSet();