00001 /*========================================================================= 00002 00003 Program: gdcm 00004 Module: $RCSfile: gdcmDicomDirSerie.h,v $ 00005 Language: C++ 00006 Date: $Date: 2005/02/07 14:48:34 $ 00007 Version: $Revision: 1.28 $ 00008 00009 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de 00010 l'Image). All rights reserved. See Doc/License.txt or 00011 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. 00012 00013 This software is distributed WITHOUT ANY WARRANTY; without even 00014 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 PURPOSE. See the above copyright notices for more information. 00016 00017 =========================================================================*/ 00018 00019 #ifndef GDCMDICOMDIRSERIE_H 00020 #define GDCMDICOMDIRSERIE_H 00021 00022 #include "gdcmDicomDirObject.h" 00023 00024 namespace gdcm 00025 { 00026 class DicomDirImage; 00027 //----------------------------------------------------------------------------- 00028 typedef std::list<DicomDirImage *> ListDicomDirImage; 00029 00030 //----------------------------------------------------------------------------- 00035 class GDCM_EXPORT DicomDirSerie : public DicomDirObject 00036 { 00037 public: 00038 DicomDirSerie(bool empty=false); 00039 ~DicomDirSerie(); 00040 00041 void Print( std::ostream &os = std::cout, std::string const &indent = "" ); 00042 void WriteContent( std::ofstream *fp, FileType t ); 00043 00044 // Image methods 00045 DicomDirImage *NewImage(); 00047 void AddImage(DicomDirImage *obj) { Images.push_back(obj); }; 00048 void ClearImage(); 00049 00050 DicomDirImage *GetFirstImage(); 00051 DicomDirImage *GetNextImage(); 00052 00053 private: 00054 00056 ListDicomDirImage Images; 00058 ListDicomDirImage::iterator ItImage; 00059 00060 /* 00061 // for future use : 00062 00064 ListDicomDirOverlay Overlays; 00066 ListDicomDirOverlay::iterator ItOverlay; 00067 00069 ListDicomDirModalityLut ModalityLuts; 00071 ListDicomDirModalityLut::iterator ItModalityLut; 00072 00074 ListDicomDirModalityLut ModalityLuts; 00076 ListDicomDirModalityLut::iterator ItModalityLuts; 00077 00079 ListDicomDirCurve Curves; 00081 ListDicomDirCurve::iterator ItCurves; 00082 00084 ListDicomDirStoredPrint StoredPrints; 00086 ListDicomDirStoredPrint::iterator ItStoredPrints; 00087 00089 ListDicomDirRtDose RtDoses; 00091 ListDicomDirRtDose::iterator ItRtDoses; 00092 00094 ListDicomDirRtStructureSet RtStructureSets; 00096 ListDicomDirRtStructureSet::iterator ItRtStructureSets; 00097 00099 ListDicomDirRtPlan RtPlans; 00101 ListDicomDirPlan::iterator ItRtPlans; 00102 00104 ListDicomDirRtTreatRecord RtTreatRecords; 00106 ListDicomDirRtTreatRecord::iterator ItRtTreatRecords; 00107 00109 ListDicomDirPresentation Presentations; 00111 ListDicomDirPresentation::iterator ItPresentations; 00112 00114 ListDicomDirWaveForm WaveForms; 00116 ListDicomDirWaveForm::iterator ItWaveForms; 00117 00119 ListDicomDirSrDocument SrDocuments; 00121 ListDicomDirSrDocument::iterator ItSrDocuments; 00122 00124 ListDicomDirKeyObjectDoc KeyObjectDocs; 00126 ListDicomDirKeyObjectDoc::iterator ItKeyObjectDocs; 00127 00129 ListDicomDirSpectroscopy Spectroscopys; 00131 ListDicomDirSpectroscopy::iterator ItSpectroscopys; 00132 00134 ListDicomDirRawData RawDatas; 00136 ListDicomDirRawData::iterator ItRawDatas; 00137 00139 ListDicomDirRegistration Registrations; 00141 ListDicomDirRegistration::iterator ItRegistrations; 00142 00144 ListDicomDirFiducial Fiducials; 00146 ListDicomDirFiducial::iterator ItFiducials; 00147 */ 00148 00149 }; 00150 } // end namespace gdcm 00151 //----------------------------------------------------------------------------- 00152 #endif