X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirSerie.h;h=13065eb476200cff5cf9102d692955ce62ef94e2;hb=fc4f7706c78baf3f60474c06d871b82db221f37b;hp=eecc374ae82ed599e0d9d436c62bee6533767816;hpb=a585fafed1e72e092c6a1942c8692991c1688e7f;p=gdcm.git diff --git a/src/gdcmDicomDirSerie.h b/src/gdcmDicomDirSerie.h index eecc374a..13065eb4 100644 --- a/src/gdcmDicomDirSerie.h +++ b/src/gdcmDicomDirSerie.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirSerie.h,v $ Language: C++ - Date: $Date: 2005/11/21 09:46:25 $ - Version: $Revision: 1.31 $ + Date: $Date: 2007/08/29 15:30:49 $ + Version: $Revision: 1.38 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -16,17 +16,19 @@ =========================================================================*/ -#ifndef GDCMDICOMDIRSERIE_H -#define GDCMDICOMDIRSERIE_H +#ifndef _GDCMDICOMDIRSERIE_H_ +#define _GDCMDICOMDIRSERIE_H_ #include "gdcmDicomDirObject.h" -namespace gdcm +namespace GDCM_NAME_SPACE { class DicomDirImage; +class DicomDirPrivate; + //----------------------------------------------------------------------------- typedef std::list ListDicomDirImage; - +typedef std::list ListDicomDirPrivate; //----------------------------------------------------------------------------- /** * \brief describes a SERIE within a within a STUDY @@ -41,9 +43,10 @@ public: static DicomDirSerie *New(bool empty=false) {return new DicomDirSerie(empty);} void Print( std::ostream &os = std::cout, std::string const &indent = "" ); - void WriteContent( std::ofstream *fp, FileType t ); + void WriteContent( std::ofstream *fp, FileType t, bool insideMetaElements, + bool insideSequence ); - // Image methods + // 'Image' methods DicomDirImage *NewImage(); /// Add a new gdcm::DicomDirImage to the Serie void AddImage(DicomDirImage *obj) { Images.push_back(obj); } @@ -51,6 +54,21 @@ public: DicomDirImage *GetFirstImage(); DicomDirImage *GetNextImage(); + /// returns the number of Images currently held in the gdcm::DicomDirSerie + int GetNumberOfImages() { return Images.size();} + + // 'Private' methods (For SIEMENS 'CSA non image') + DicomDirPrivate *NewPrivate(); + /// Add a new gdcm::DicomDirPrivate to the Serie + void AddPrivate(DicomDirPrivate *obj) { Privates.push_back(obj); } + void ClearPrivate(); + + DicomDirPrivate *GetFirstPrivate(); + DicomDirPrivate *GetNextPrivate(); + /// returns the number of 'Privates' currently held in the gdcm::DicomDirSerie + int GetNumberOfPrivates() { return Privates.size();} + + virtual void Copy(DocEntrySet *set); protected: DicomDirSerie(bool empty=false); @@ -62,19 +80,18 @@ private: /// iterator on the DicomDirImages of the current DicomDirSerie ListDicomDirImage::iterator ItImage; + ///chained list of DicomDirPrivates (to be exploited recursively) + ListDicomDirPrivate Privates; + /// iterator on the DicomDirPrivates of the current DicomDirSerie + ListDicomDirPrivate::iterator ItPrivate; /* -// for future use : +// for future use (Full DICOMDIR): /// chained list of DicomDirOverlays(single level) ListDicomDirOverlay Overlays; /// iterator on the DicomDirOverlays of the current DicomDirSerie ListDicomDirOverlay::iterator ItOverlay; - /// chained list of DicomDirModalityLuts(single level) - ListDicomDirModalityLut ModalityLuts; - /// iterator on the DicomDirModalityLuts of the current DicomDirSerie - ListDicomDirModalityLut::iterator ItModalityLut; - /// chained list of DicomDirModalityLuts(single level) ListDicomDirModalityLut ModalityLuts; /// iterator on the DicomDirModalityLuts of the current DicomDirSerie