X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirElement.h;h=4540ce16d26abec5aae39ac882d0231345a16f78;hb=0ce6682a82eacb85233fcccef601f83bb591ec12;hp=cd747093bb3c1ce29e2aeea6cc8ccd8ef15af3e3;hpb=fae5f95ae8cf044c024b1793b94032c9368f0f4b;p=gdcm.git diff --git a/src/gdcmDicomDirElement.h b/src/gdcmDicomDirElement.h index cd747093..4540ce16 100644 --- a/src/gdcmDicomDirElement.h +++ b/src/gdcmDicomDirElement.h @@ -1,5 +1,21 @@ -// gdcmDicomDirElement.h -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmDicomDirElement.h,v $ + Language: C++ + Date: $Date: 2005/02/11 15:22:18 $ + Version: $Revision: 1.28 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #ifndef GDCMDICOMDIRELEMENT_H #define GDCMDICOMDIRELEMENT_H @@ -7,47 +23,112 @@ #include -//----------------------------------------------------------------------------- -typedef struct +namespace gdcm { - unsigned short int group; - unsigned short int elem; - std::string value; -} gdcmElement; - -typedef std::list ListMetaElem; -typedef std::list ListPatientElem; -typedef std::list ListStudyElem; -typedef std::list ListSerieElem; -typedef std::list ListImageElem; //----------------------------------------------------------------------------- + +typedef std::list ListDicomDirElem; +typedef std::list ListDicomDirMetaElem; +typedef std::list ListDicomDirPatientElem; +typedef std::list ListDicomDirStudyElem; +typedef std::list ListDicomDirSerieElem; +typedef std::list ListDicomDirImageElem; + +// For future use (Full DICOMDIR) /* - * \defgroup gdcmDicomDirElement - * \brief gdcmDicomDirElement represents elements contained in a dicom dir - * +typedef std::list ListDicomDirVisit; +typedef std::list ListDicomDirResult; +typedef std::list ListDicomDirStudyComponent; + +typedef std::list ListDicomDirOverlay; +typedef std::list ListDicomDirModalityLut; +typedef std::list ListDicomDirModalityLut; +typedef std::list ListDicomDirCurve; +typedef std::list ListDicomDirStoredPrint; +typedef std::list ListDicomDirRtDose; +typedef std::list ListDicomDirRtStructureSet; +typedef std::list ListDicomDirRtPlan; +typedef std::list ListDicomDirRtTreatRecord; +typedef std::list ListDicomDirPresentation; +typedef std::list ListDicomDirSrDocument; +typedef std::list ListDicomDirKeyObjectDoc; +typedef std::list ListDicomDirSpectroscopy; +typedef std::list ListDicomDirRawData; +typedef std::list ListDicomDirRegistration; +typedef std::list ListDicomDirFiducial; +*/ + +//----------------------------------------------------------------------------- +/** + * \brief Represents elements contained in a DicomDir class + * for the chained lists from the file 'Dicts/DicomDir.dic' */ -class GDCM_EXPORT gdcmDicomDirElement +class GDCM_EXPORT DicomDirElement { public: - gdcmDicomDirElement(void); - ~gdcmDicomDirElement(void); + DicomDirElement(); + ~DicomDirElement(); + /** + * \brief canonical Printer + */ void Print(std::ostream &os); - ListMetaElem &GetMetaElements(void) {return(MetaList);}; - ListPatientElem &GetPatientElements(void) {return(PatientList);}; - ListStudyElem &GetStudyElements(void) {return(StudyList);}; - ListSerieElem &GetSerieElements(void) {return(SerieList);}; - ListImageElem &GetImageElements(void) {return(ImageList);}; + /** + * \brief returns a reference to the chained List + * related to the META Elements of a DICOMDIR. + */ + ListDicomDirMetaElem const &GetDicomDirMetaElements() const + { return DicomDirMetaList; }; + + /** + * \brief returns a reference to the chained List + * related to the PATIENT Elements of a DICOMDIR. + */ + ListDicomDirPatientElem const &GetDicomDirPatientElements() const + { return DicomDirPatientList; }; + + /** + * \brief returns a reference to the chained List + * related to the STUDY Elements of a DICOMDIR. + */ + ListDicomDirStudyElem const &GetDicomDirStudyElements() const + { return DicomDirStudyList; }; + + /** + * \brief returns a reference to the chained List + * related to the SERIE Elements of a DICOMDIR. + */ + ListDicomDirSerieElem const &GetDicomDirSerieElements() const + { return DicomDirSerieList; }; + + /** + * \brief returns a reference to the chained List + * related to the IMAGE Elements of a DICOMDIR. + */ + ListDicomDirImageElem const &GetDicomDirImageElements() const + { return DicomDirImageList; }; + + // Public method to add an element + bool AddEntry(DicomDirType type, Element const &elem); + + // Only one instance of ddElem + void AddDicomDirElement(DicomDirType type, + uint16_t group, uint16_t elem); private: - ListMetaElem MetaList; - ListPatientElem PatientList; - ListStudyElem StudyList; - ListSerieElem SerieList; - ListImageElem ImageList; + /// Elements chained list, related to the MetaElements of DICOMDIR + ListDicomDirMetaElem DicomDirMetaList; + /// Elements chained list, related to the PatientElements of DICOMDIR + ListDicomDirPatientElem DicomDirPatientList; + /// Elements chained list, related to the StudyElements of DICOMDIR + ListDicomDirStudyElem DicomDirStudyList; + /// Elements chained list, related to the SerieElements of DICOMDIR + ListDicomDirSerieElem DicomDirSerieList; + /// Elements chained list, related to the ImageElements of DICOMDIR + ListDicomDirImageElem DicomDirImageList; }; - +} // end namespace gdcm //----------------------------------------------------------------------------- #endif