00001 /* 00002 * 00003 * Copyright (C) 1998-2005, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmpstat 00019 * 00020 * Author: Marco Eichelberg 00021 * 00022 * Purpose: 00023 * classes: DVPSReferencedSeries_PList 00024 * 00025 * Last Update: $Author: meichel $ 00026 * Update Date: $Date: 2005/12/08 16:04:02 $ 00027 * CVS/RCS Revision: $Revision: 1.10 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef __DVPSRSL_H__ 00035 #define __DVPSRSL_H__ 00036 00037 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00038 #include "dcmtk/ofstd/oflist.h" 00039 #include "dcmtk/dcmdata/dctk.h" 00040 00041 00042 class DVPSReferencedSeries; 00043 class DVPSReferencedImage; 00044 00050 class DVPSReferencedSeries_PList 00051 { 00052 public: 00054 DVPSReferencedSeries_PList(); 00055 00057 DVPSReferencedSeries_PList(const DVPSReferencedSeries_PList& copy); 00058 00063 DVPSReferencedSeries_PList *clone() { return new DVPSReferencedSeries_PList(*this); } 00064 00066 virtual ~DVPSReferencedSeries_PList(); 00067 00076 OFCondition read(DcmItem &dset); 00077 00084 OFCondition write(DcmItem &dset); 00085 00090 void clear(); 00091 00096 OFBool isValid(); 00097 00102 OFBool checkSOPClass(const char *uid); 00103 00110 DVPSReferencedSeries *findSeriesReference(const char *seriesUID); 00111 00119 DVPSReferencedImage *findImageReference(const char *seriesUID, const char *instanceUID); 00120 00126 void removeSeriesReference(const char *seriesUID); 00127 00134 void removeImageReference(const char *seriesUID, const char *instanceUID); 00135 00152 OFCondition addImageReference( 00153 const char *seriesUID, 00154 const char *sopclassUID, 00155 const char *instanceUID, 00156 const char *frames=NULL, 00157 const char *aetitle=NULL, 00158 const char *filesetID=NULL, 00159 const char *filesetUID=NULL); 00160 00164 size_t numberOfImageReferences(); 00165 00177 OFCondition getImageReference( 00178 size_t idx, 00179 OFString& seriesUID, 00180 OFString& sopclassUID, 00181 OFString& instanceUID, 00182 OFString& frames, 00183 OFString& aetitle, 00184 OFString& filesetID, 00185 OFString& filesetUID); 00186 00192 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode); 00193 00194 private: 00195 00197 DVPSReferencedSeries_PList& operator=(const DVPSReferencedSeries_PList&); 00198 00201 OFList<DVPSReferencedSeries *> list_; 00202 00205 OFConsole *logstream; 00206 00209 OFBool verboseMode; 00210 00213 OFBool debugMode; 00214 00215 }; 00216 00217 #endif 00218 00219 /* 00220 * $Log: dvpsrsl.h,v $ 00221 * Revision 1.10 2005/12/08 16:04:02 meichel 00222 * Changed include path schema for all DCMTK header files 00223 * 00224 * Revision 1.9 2003/06/04 10:18:06 meichel 00225 * Replaced private inheritance from template with aggregation 00226 * 00227 * Revision 1.8 2001/09/26 15:36:15 meichel 00228 * Adapted dcmpstat to class OFCondition 00229 * 00230 * Revision 1.7 2001/06/01 15:50:21 meichel 00231 * Updated copyright header 00232 * 00233 * Revision 1.6 2000/06/02 16:00:51 meichel 00234 * Adapted all dcmpstat classes to use OFConsole for log and error output 00235 * 00236 * Revision 1.5 2000/03/08 16:28:56 meichel 00237 * Updated copyright header. 00238 * 00239 * Revision 1.4 1999/07/22 16:39:11 meichel 00240 * Adapted dcmpstat data structures and API to supplement 33 letter ballot text. 00241 * 00242 * Revision 1.3 1999/01/15 17:33:04 meichel 00243 * added methods to DVPresentationState allowing to access the image 00244 * references in the presentation state. Also added methods allowing to 00245 * get the width and height of the attached image. 00246 * 00247 * Revision 1.2 1998/12/14 16:10:34 meichel 00248 * Implemented Presentation State interface for graphic layers, 00249 * text and graphic annotations, presentation LUTs. 00250 * 00251 * Revision 1.1 1998/11/27 14:50:33 meichel 00252 * Initial Release. 00253 * 00254 * 00255 */ 00256