00001 /* 00002 * 00003 * Copyright (C) 1998-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmpstat 00015 * 00016 * Author: Marco Eichelberg 00017 * 00018 * Purpose: 00019 * classes: DVPSReferencedSeries 00020 * 00021 * Last Update: $Author: joergr $ 00022 * Update Date: $Date: 2010-10-14 13:16:36 $ 00023 * CVS/RCS Revision: $Revision: 1.14 $ 00024 * Status: $State: Exp $ 00025 * 00026 * CVS/RCS Log at end of file 00027 * 00028 */ 00029 00030 #ifndef DVPSRS_H 00031 #define DVPSRS_H 00032 00033 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00034 #include "dcmtk/dcmpstat/dvpsril.h" /* for DVPSReferencedImage_PList */ 00035 #include "dcmtk/dcmdata/dcvrae.h" 00036 #include "dcmtk/dcmdata/dcvrsh.h" 00037 #include "dcmtk/dcmdata/dcvrui.h" 00038 00044 class DVPSReferencedSeries 00045 { 00046 public: 00048 DVPSReferencedSeries(); 00049 00051 DVPSReferencedSeries(const DVPSReferencedSeries& copy); 00052 00057 DVPSReferencedSeries *clone() { return new DVPSReferencedSeries(*this); } 00058 00060 virtual ~DVPSReferencedSeries(); 00061 00071 OFCondition read(DcmItem &dset); 00072 00079 OFCondition write(DcmItem &dset); 00080 00089 OFBool isValid(OFString& sopclassuid); 00090 00096 OFBool isSeriesUID(const char *uid); 00097 00098 00104 DVPSReferencedImage *findImageReference(const char *sopinstanceuid); 00105 00111 void removeImageReference(const char *sopinstanceuid); 00112 00116 void setSeriesInstanceUID(const char *uid); 00117 00123 void setRetrieveLocation(const char *aetitle=NULL, const char *filesetID=NULL, const char *filesetUID=NULL); 00124 00128 const char *getRetrieveAETitle(); 00129 00133 const char *getStorageMediaFileSetID(); 00134 00138 const char *getStorageMediaFileSetUID(); 00139 00153 OFCondition addImageReference( 00154 const char *sopclassUID, 00155 const char *instanceUID, 00156 const char *frames=NULL); 00157 00161 size_t numberOfImageReferences() const { return referencedImageList.size(); } 00162 00174 OFCondition getImageReference( 00175 size_t idx, 00176 OFString& seriesUID, 00177 OFString& sopclassUID, 00178 OFString& instanceUID, 00179 OFString& frames, 00180 OFString& aetitle, 00181 OFString& filesetID, 00182 OFString& filesetUID); 00183 00184 private: 00185 00187 DVPSReferencedSeries& operator=(const DVPSReferencedSeries&); 00188 00190 DVPSReferencedImage_PList referencedImageList; 00192 DcmUniqueIdentifier seriesInstanceUID; 00194 DcmApplicationEntity retrieveAETitle; 00196 DcmShortString storageMediaFileSetID; 00198 DcmUniqueIdentifier storageMediaFileSetUID; 00199 00200 }; 00201 00202 #endif 00203 00204 /* 00205 * $Log: dvpsrs.h,v $ 00206 * Revision 1.14 2010-10-14 13:16:36 joergr 00207 * Updated copyright header. Added reference to COPYRIGHT file. 00208 * 00209 * Revision 1.13 2010-10-07 14:31:36 joergr 00210 * Removed leading underscore characters from preprocessor symbols (reserved). 00211 * 00212 * Revision 1.12 2010-03-01 09:08:49 uli 00213 * Removed some unnecessary include directives in the headers. 00214 * 00215 * Revision 1.11 2009-11-24 14:12:57 uli 00216 * Switched to logging mechanism provided by the "new" oflog module. 00217 * 00218 * Revision 1.10 2009-09-30 10:42:38 uli 00219 * Make dcmpstat's include headers self-sufficient by including all 00220 * needed headers directly and stop using dctk.h 00221 * 00222 * Revision 1.9 2005-12-08 16:04:01 meichel 00223 * Changed include path schema for all DCMTK header files 00224 * 00225 * Revision 1.8 2001/09/26 15:36:15 meichel 00226 * Adapted dcmpstat to class OFCondition 00227 * 00228 * Revision 1.7 2001/06/01 15:50:21 meichel 00229 * Updated copyright header 00230 * 00231 * Revision 1.6 2000/06/02 16:00:51 meichel 00232 * Adapted all dcmpstat classes to use OFConsole for log and error output 00233 * 00234 * Revision 1.5 2000/03/08 16:28:56 meichel 00235 * Updated copyright header. 00236 * 00237 * Revision 1.4 1999/07/22 16:39:10 meichel 00238 * Adapted dcmpstat data structures and API to supplement 33 letter ballot text. 00239 * 00240 * Revision 1.3 1999/01/15 17:33:04 meichel 00241 * added methods to DVPresentationState allowing to access the image 00242 * references in the presentation state. Also added methods allowing to 00243 * get the width and height of the attached image. 00244 * 00245 * Revision 1.2 1998/12/14 16:10:33 meichel 00246 * Implemented Presentation State interface for graphic layers, 00247 * text and graphic annotations, presentation LUTs. 00248 * 00249 * Revision 1.1 1998/11/27 14:50:32 meichel 00250 * Initial Release. 00251 * 00252 * 00253 */