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 __DVPSRIL_H__
00035 #define __DVPSRIL_H__
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/ofstd/oflist.h"
00039 #include "dcmtk/dcmdata/dctk.h"
00040 #include "dcmtk/dcmpstat/dvpstyp.h"
00041
00042 class DVPSReferencedImage;
00043 class DVPSReferencedSeries_PList;
00044
00051 class DVPSReferencedImage_PList
00052 {
00053 public:
00055 DVPSReferencedImage_PList();
00056
00058 DVPSReferencedImage_PList(const DVPSReferencedImage_PList& copy);
00059
00064 DVPSReferencedImage_PList *clone() { return new DVPSReferencedImage_PList(*this); }
00065
00067 virtual ~DVPSReferencedImage_PList();
00068
00077 OFCondition read(DcmItem &dset);
00078
00085 OFCondition write(DcmItem &dset);
00086
00091 void clear();
00092
00099 OFBool isValid(OFString& sopclassuid);
00100
00106 DVPSReferencedImage *findImageReference(const char *sopinstanceuid);
00107
00114 void removeFrameReference(const char *sopinstanceuid, unsigned long frame, unsigned long numberOfFrames);
00115
00120 void removeImageReference(const char *sopinstanceuid);
00121
00132 OFCondition addImageReference(
00133 const char *sopclassUID,
00134 const char *instanceUID,
00135 const char *frames=NULL);
00136
00147 OFCondition addImageReference(
00148 const char *sopclassUID,
00149 const char *instanceUID,
00150 unsigned long frame,
00151 DVPSObjectApplicability applicability);
00152
00165 void removeImageReference(
00166 DVPSReferencedSeries_PList& allReferences,
00167 const char *instanceUID,
00168 unsigned long frame,
00169 unsigned long numberOfFrames,
00170 DVPSObjectApplicability applicability);
00171
00175 size_t size() const { return list_.size(); }
00176
00184 OFCondition getImageReference(
00185 size_t idx,
00186 OFString& sopclassUID,
00187 OFString& instanceUID,
00188 OFString& frames);
00189
00196 OFBool isApplicable(const char *instanceUID, unsigned long frame);
00197
00205 OFBool matchesApplicability(const char *instanceUID, unsigned long frame, DVPSObjectApplicability applicability);
00206
00212 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00213
00214 private:
00215
00217 DVPSReferencedImage_PList& operator=(const DVPSReferencedImage_PList&);
00218
00221 OFList<DVPSReferencedImage *> list_;
00222
00225 OFConsole *logstream;
00226
00229 OFBool verboseMode;
00230
00233 OFBool debugMode;
00234
00235 };
00236
00237
00238 #endif
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277