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 00024 * 00025 * Last Update: $Author: meichel $ 00026 * Update Date: $Date: 2005/12/08 16:04:01 $ 00027 * CVS/RCS Revision: $Revision: 1.9 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef __DVPSRS_H__ 00035 #define __DVPSRS_H__ 00036 00037 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00038 #include "dcmtk/dcmdata/dctk.h" 00039 #include "dcmtk/dcmpstat/dvpsril.h" /* for DVPSReferencedImage_PList */ 00040 00046 class DVPSReferencedSeries 00047 { 00048 public: 00050 DVPSReferencedSeries(); 00051 00053 DVPSReferencedSeries(const DVPSReferencedSeries& copy); 00054 00059 DVPSReferencedSeries *clone() { return new DVPSReferencedSeries(*this); } 00060 00062 virtual ~DVPSReferencedSeries(); 00063 00073 OFCondition read(DcmItem &dset); 00074 00081 OFCondition write(DcmItem &dset); 00082 00091 OFBool isValid(OFString& sopclassuid); 00092 00098 OFBool isSeriesUID(const char *uid); 00099 00100 00106 DVPSReferencedImage *findImageReference(const char *sopinstanceuid); 00107 00113 void removeImageReference(const char *sopinstanceuid); 00114 00118 void setSeriesInstanceUID(const char *uid); 00119 00125 void setRetrieveLocation(const char *aetitle=NULL, const char *filesetID=NULL, const char *filesetUID=NULL); 00126 00130 const char *getRetrieveAETitle(); 00131 00135 const char *getStorageMediaFileSetID(); 00136 00140 const char *getStorageMediaFileSetUID(); 00141 00155 OFCondition addImageReference( 00156 const char *sopclassUID, 00157 const char *instanceUID, 00158 const char *frames=NULL); 00159 00163 size_t numberOfImageReferences() const { return referencedImageList.size(); } 00164 00176 OFCondition getImageReference( 00177 size_t idx, 00178 OFString& seriesUID, 00179 OFString& sopclassUID, 00180 OFString& instanceUID, 00181 OFString& frames, 00182 OFString& aetitle, 00183 OFString& filesetID, 00184 OFString& filesetUID); 00185 00191 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode); 00192 00193 private: 00194 00196 DVPSReferencedSeries& operator=(const DVPSReferencedSeries&); 00197 00199 DVPSReferencedImage_PList referencedImageList; 00201 DcmUniqueIdentifier seriesInstanceUID; 00203 DcmApplicationEntity retrieveAETitle; 00205 DcmShortString storageMediaFileSetID; 00207 DcmUniqueIdentifier storageMediaFileSetUID; 00208 00211 OFConsole *logstream; 00212 00215 OFBool verboseMode; 00216 00219 OFBool debugMode; 00220 00221 }; 00222 00223 #endif 00224 00225 /* 00226 * $Log: dvpsrs.h,v $ 00227 * Revision 1.9 2005/12/08 16:04:01 meichel 00228 * Changed include path schema for all DCMTK header files 00229 * 00230 * Revision 1.8 2001/09/26 15:36:15 meichel 00231 * Adapted dcmpstat to class OFCondition 00232 * 00233 * Revision 1.7 2001/06/01 15:50:21 meichel 00234 * Updated copyright header 00235 * 00236 * Revision 1.6 2000/06/02 16:00:51 meichel 00237 * Adapted all dcmpstat classes to use OFConsole for log and error output 00238 * 00239 * Revision 1.5 2000/03/08 16:28:56 meichel 00240 * Updated copyright header. 00241 * 00242 * Revision 1.4 1999/07/22 16:39:10 meichel 00243 * Adapted dcmpstat data structures and API to supplement 33 letter ballot text. 00244 * 00245 * Revision 1.3 1999/01/15 17:33:04 meichel 00246 * added methods to DVPresentationState allowing to access the image 00247 * references in the presentation state. Also added methods allowing to 00248 * get the width and height of the attached image. 00249 * 00250 * Revision 1.2 1998/12/14 16:10:33 meichel 00251 * Implemented Presentation State interface for graphic layers, 00252 * text and graphic annotations, presentation LUTs. 00253 * 00254 * Revision 1.1 1998/11/27 14:50:32 meichel 00255 * Initial Release. 00256 * 00257 * 00258 */ 00259