00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __DVPSRI_H__
00035 #define __DVPSRI_H__
00036
00037 #include "osconfig.h"
00038 #include "dctk.h"
00039
00046 class DVPSReferencedImage
00047 {
00048 public:
00050 DVPSReferencedImage();
00051
00053 DVPSReferencedImage(const DVPSReferencedImage& copy);
00054
00059 DVPSReferencedImage *clone() { return new DVPSReferencedImage(*this); }
00060
00062 virtual ~DVPSReferencedImage();
00063
00073 OFCondition read(DcmItem &dset);
00074
00081 OFCondition write(DcmItem &dset);
00082
00092 OFBool validateSOPClassUID(OFString& sopclassuid);
00093
00097 void setSOPClassUID(const char *uid);
00098
00102 void setSOPInstanceUID(const char *uid);
00103
00108 void setFrameNumbers(const char *frames);
00109
00115 OFBool isSOPInstanceUID(const char *uid);
00116
00123 OFCondition getImageReference(
00124 OFString& sopclassUID,
00125 OFString& instanceUID,
00126 OFString& frames);
00127
00135 OFBool appliesToFrame(unsigned long frame);
00136
00142 OFBool appliesOnlyToFrame(unsigned long frame);
00143
00148 OFBool appliesToAllFrames();
00149
00154 void removeFrameReference(unsigned long frame, unsigned long numberOfFrames);
00155
00161 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00162
00163 private:
00164
00167 DVPSReferencedImage& operator=(const DVPSReferencedImage& source);
00168
00171 void flushCache();
00174 void updateCache();
00175
00177 DcmUniqueIdentifier referencedSOPClassUID;
00179 DcmUniqueIdentifier referencedSOPInstanceUID;
00181 DcmIntegerString referencedFrameNumber;
00183 Sint32 *frameCache;
00185 unsigned long frameCacheEntries;
00186
00189 OFConsole *logstream;
00190
00193 OFBool verboseMode;
00194
00197 OFBool debugMode;
00198
00199 };
00200
00201 #endif
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233