/src/graphicsmagick/coders/dcm.c
Line | Count | Source |
1 | | /* |
2 | | % Copyright (C) 2003-2025 GraphicsMagick Group |
3 | | % Copyright (C) 2002 ImageMagick Studio |
4 | | % Copyright 1991-1999 E. I. du Pont de Nemours and Company |
5 | | % |
6 | | % This program is covered by multiple licenses, which are described in |
7 | | % Copyright.txt. You should have received a copy of Copyright.txt with this |
8 | | % package; otherwise see http://www.graphicsmagick.org/www/Copyright.html. |
9 | | % |
10 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
11 | | % % |
12 | | % % |
13 | | % % |
14 | | % DDDD CCCC M M % |
15 | | % D D C MM MM % |
16 | | % D D C M M M % |
17 | | % D D C M M % |
18 | | % DDDD CCCC M M % |
19 | | % % |
20 | | % % |
21 | | % Read DICOM Image Format. % |
22 | | % % |
23 | | % % |
24 | | % Software Design % |
25 | | % John Cristy % |
26 | | % July 1992 % |
27 | | % % |
28 | | % % |
29 | | % % |
30 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
31 | | % |
32 | | % |
33 | | */ |
34 | | |
35 | | /* |
36 | | Include declarations. |
37 | | */ |
38 | | #include "magick/studio.h" |
39 | | #include "magick/attribute.h" |
40 | | #include "magick/blob.h" |
41 | | #include "magick/colormap.h" |
42 | | #include "magick/constitute.h" |
43 | | #include "magick/enhance.h" |
44 | | #include "magick/log.h" |
45 | | #include "magick/magick.h" |
46 | | #include "magick/monitor.h" |
47 | | #include "magick/pixel_cache.h" |
48 | | #include "magick/tempfile.h" |
49 | | #include "magick/utility.h" |
50 | | #include "magick/static.h" |
51 | | |
52 | | /* |
53 | | #define USE_GRAYMAP |
54 | | #define GRAYSCALE_USES_PALETTE |
55 | | */ |
56 | | |
57 | | /* Defines for "best guess" fixes */ |
58 | | #define NEW_IMPLICIT_LOGIC |
59 | | #define IGNORE_WINDOW_FOR_UNSPECIFIED_SCALE_TYPE |
60 | | |
61 | | /* |
62 | | Function types for reading MSB/LSB shorts/longs |
63 | | */ |
64 | | typedef magick_uint16_t (DicomReadShortFunc)(Image *); |
65 | | typedef magick_uint32_t (DicomReadLongFunc)(Image *); |
66 | | |
67 | | /* |
68 | | DCM enums |
69 | | */ |
70 | | typedef enum |
71 | | { |
72 | | DCM_TS_IMPL_LITTLE, |
73 | | DCM_TS_EXPL_LITTLE, |
74 | | DCM_TS_EXPL_BIG, |
75 | | DCM_TS_JPEG, |
76 | | DCM_TS_JPEG_LS, |
77 | | DCM_TS_JPEG_2000, |
78 | | DCM_TS_RLE |
79 | | } Dicom_TS; |
80 | | |
81 | | typedef enum |
82 | | { |
83 | | DCM_MSB_LITTLE, |
84 | | DCM_MSB_BIG_PENDING, |
85 | | DCM_MSB_BIG |
86 | | } Dicom_MSB; |
87 | | |
88 | | typedef enum |
89 | | { |
90 | | DCM_PI_MONOCHROME1, |
91 | | DCM_PI_MONOCHROME2, |
92 | | DCM_PI_PALETTE_COLOR, |
93 | | DCM_PI_RGB, |
94 | | DCM_PI_OTHER |
95 | | } Dicom_PI; |
96 | | |
97 | | typedef enum |
98 | | { |
99 | | DCM_RT_OPTICAL_DENSITY, |
100 | | DCM_RT_HOUNSFIELD, |
101 | | DCM_RT_UNSPECIFIED, |
102 | | DCM_RT_UNKNOWN |
103 | | } Dicom_RT; |
104 | | |
105 | | typedef enum |
106 | | { |
107 | | DCM_RS_NONE, |
108 | | DCM_RS_PRE, |
109 | | DCM_RS_POST |
110 | | } Dicom_RS; |
111 | | |
112 | | /* |
113 | | Dicom medical image declarations. |
114 | | */ |
115 | | typedef struct _DicomStream |
116 | | { |
117 | | /* |
118 | | Values representing nature of image |
119 | | */ |
120 | | unsigned long |
121 | | rows, |
122 | | columns; |
123 | | |
124 | | unsigned int |
125 | | number_scenes, |
126 | | samples_per_pixel, |
127 | | bits_allocated, |
128 | | significant_bits, |
129 | | bytes_per_pixel, |
130 | | max_value_in, |
131 | | max_value_out, |
132 | | high_bit, |
133 | | pixel_representation, |
134 | | interlace; |
135 | | |
136 | | Dicom_MSB |
137 | | msb_state; |
138 | | |
139 | | Dicom_PI |
140 | | phot_interp; |
141 | | |
142 | | double |
143 | | window_center, |
144 | | window_width, |
145 | | rescale_intercept, |
146 | | rescale_slope; |
147 | | |
148 | | Dicom_TS |
149 | | transfer_syntax; |
150 | | |
151 | | Dicom_RT |
152 | | rescale_type; |
153 | | |
154 | | Dicom_RS |
155 | | rescaling; |
156 | | |
157 | | /* |
158 | | Array to store offset table for fragments within image |
159 | | */ |
160 | | magick_uint32_t |
161 | | offset_ct; |
162 | | magick_uint32_t * |
163 | | offset_arr; |
164 | | |
165 | | /* |
166 | | Variables used to handle fragments and RLE compression |
167 | | */ |
168 | | magick_uint32_t |
169 | | frag_bytes; |
170 | | |
171 | | magick_uint32_t |
172 | | rle_seg_ct, |
173 | | rle_seg_offsets[15]; |
174 | | |
175 | | int |
176 | | rle_rep_ct, |
177 | | rle_rep_char; |
178 | | |
179 | | /* |
180 | | Max and minimum sample values within image used for post rescale mapping |
181 | | */ |
182 | | int |
183 | | upper_lim, |
184 | | lower_lim; |
185 | | |
186 | | Quantum |
187 | | *rescale_map; /* Allocated with dcm->max_value_in+1 entries */ |
188 | | |
189 | | #if defined(USE_GRAYMAP) |
190 | | unsigned short |
191 | | *graymap; |
192 | | #endif |
193 | | |
194 | | /* |
195 | | Values representing last read element |
196 | | */ |
197 | | unsigned short |
198 | | group, |
199 | | element; |
200 | | |
201 | | int |
202 | | index, |
203 | | datum; |
204 | | |
205 | | size_t |
206 | | quantum, |
207 | | length; |
208 | | |
209 | | unsigned char * |
210 | | data; |
211 | | |
212 | | /* |
213 | | Remaining fields for internal use by DCM_ReadElement and to read data |
214 | | */ |
215 | | DicomReadShortFunc * |
216 | | funcReadShort; |
217 | | |
218 | | DicomReadLongFunc * |
219 | | funcReadLong; |
220 | | |
221 | | int |
222 | | explicit_file; |
223 | | |
224 | | unsigned int |
225 | | verbose; |
226 | | } DicomStream; |
227 | | |
228 | | /* |
229 | | Function type for parsing DICOM elements |
230 | | */ |
231 | | typedef MagickPassFail (DicomElemParseFunc)(Image *Image,DicomStream *dcm,ExceptionInfo *exception); |
232 | | |
233 | | /* |
234 | | Forward declaration for parser functions |
235 | | */ |
236 | | static DicomElemParseFunc funcDCM_BitsAllocated; |
237 | | static DicomElemParseFunc funcDCM_BitsStored; |
238 | | static DicomElemParseFunc funcDCM_Columns; |
239 | | static DicomElemParseFunc funcDCM_FieldOfView; |
240 | | static DicomElemParseFunc funcDCM_HighBit; |
241 | | static DicomElemParseFunc funcDCM_ImageOrientation; |
242 | | static DicomElemParseFunc funcDCM_ImagePosition; |
243 | | static DicomElemParseFunc funcDCM_LUT; |
244 | | static DicomElemParseFunc funcDCM_NumberOfFrames; |
245 | | static DicomElemParseFunc funcDCM_Palette; |
246 | | static DicomElemParseFunc funcDCM_PaletteDescriptor; |
247 | | static DicomElemParseFunc funcDCM_PatientName; |
248 | | static DicomElemParseFunc funcDCM_PhotometricInterpretation; |
249 | | static DicomElemParseFunc funcDCM_PixelRepresentation; |
250 | | static DicomElemParseFunc funcDCM_PlanarConfiguration; |
251 | | static DicomElemParseFunc funcDCM_RescaleIntercept; |
252 | | static DicomElemParseFunc funcDCM_RescaleSlope; |
253 | | static DicomElemParseFunc funcDCM_RescaleType; |
254 | | static DicomElemParseFunc funcDCM_Rows; |
255 | | static DicomElemParseFunc funcDCM_SamplesPerPixel; |
256 | | static DicomElemParseFunc funcDCM_SeriesNumber; |
257 | | static DicomElemParseFunc funcDCM_SliceLocation; |
258 | | static DicomElemParseFunc funcDCM_StudyDate; |
259 | | static DicomElemParseFunc funcDCM_TransferSyntax; |
260 | | static DicomElemParseFunc funcDCM_TriggerTime; |
261 | | static DicomElemParseFunc funcDCM_WindowCenter; |
262 | | static DicomElemParseFunc funcDCM_WindowWidth; |
263 | | |
264 | | static void DCM_SetRescaling(DicomStream *dcm,int avoid_scaling); |
265 | | |
266 | | /* |
267 | | Function vectors for supported DICOM element parsing functions. |
268 | | |
269 | | We store the enumeration in the DICOM info table and use it to look |
270 | | up the callback function in the parse_funcs table. This approach is |
271 | | used because we only support a small subset of possible functions, |
272 | | the pointers are large (8 bytes) on 64-bit systems, and because |
273 | | relocations in shared libraries (especially with ASLR support) cause |
274 | | the whole data-structure that the function pointers are stored in to |
275 | | become initialized data (which is then set read-only). With this |
276 | | approach, only the list of parsing functions may be initialized data |
277 | | and we store a reference to the function using a smaller storage |
278 | | element. |
279 | | |
280 | | The list of enumerations and parsing functions must be in the same |
281 | | order (1:1 match). |
282 | | */ |
283 | | typedef enum _DICOM_PARSE_FUNC_T |
284 | | { |
285 | | FUNCDCM_NONE, |
286 | | FUNCDCM_BITSALLOCATED, |
287 | | FUNCDCM_BITSSTORED, |
288 | | FUNCDCM_COLUMNS, |
289 | | FUNCDCM_FIELDOFVIEW, |
290 | | FUNCDCM_HIGHBIT, |
291 | | FUNCDCM_IMAGEORIENTATION, |
292 | | FUNCDCM_IMAGEPOSITION, |
293 | | FUNCDCM_LUT, |
294 | | FUNCDCM_NUMBEROFFRAMES, |
295 | | FUNCDCM_PALETTE, |
296 | | FUNCDCM_PALETTEDESCRIPTOR, |
297 | | FUNCDCM_PATIENTNAME, |
298 | | FUNCDCM_PHOTOMETRICINTERPRETATION, |
299 | | FUNCDCM_PIXELREPRESENTATION, |
300 | | FUNCDCM_PLANARCONFIGURATION, |
301 | | FUNCDCM_RESCALEINTERCEPT, |
302 | | FUNCDCM_RESCALESLOPE, |
303 | | FUNCDCM_RESCALETYPE, |
304 | | FUNCDCM_ROWS, |
305 | | FUNCDCM_SAMPLESPERPIXEL, |
306 | | FUNCDCM_SERIESNUMBER, |
307 | | FUNCDCM_SLICELOCATION, |
308 | | FUNCDCM_STUDYDATE, |
309 | | FUNCDCM_TRANSFERSYNTAX, |
310 | | FUNCDCM_TRIGGERTIME, |
311 | | FUNCDCM_WINDOWCENTER, |
312 | | FUNCDCM_WINDOWWIDTH |
313 | | } DICOM_PARSE_FUNC_T; |
314 | | |
315 | | static DicomElemParseFunc * parse_funcs[] = |
316 | | { |
317 | | (DicomElemParseFunc *) NULL , |
318 | | (DicomElemParseFunc *) funcDCM_BitsAllocated , |
319 | | (DicomElemParseFunc *) funcDCM_BitsStored , |
320 | | (DicomElemParseFunc *) funcDCM_Columns , |
321 | | (DicomElemParseFunc *) funcDCM_FieldOfView , |
322 | | (DicomElemParseFunc *) funcDCM_HighBit , |
323 | | (DicomElemParseFunc *) funcDCM_ImageOrientation , |
324 | | (DicomElemParseFunc *) funcDCM_ImagePosition , |
325 | | (DicomElemParseFunc *) funcDCM_LUT , |
326 | | (DicomElemParseFunc *) funcDCM_NumberOfFrames , |
327 | | (DicomElemParseFunc *) funcDCM_Palette , |
328 | | (DicomElemParseFunc *) funcDCM_PaletteDescriptor , |
329 | | (DicomElemParseFunc *) funcDCM_PatientName , |
330 | | (DicomElemParseFunc *) funcDCM_PhotometricInterpretation , |
331 | | (DicomElemParseFunc *) funcDCM_PixelRepresentation , |
332 | | (DicomElemParseFunc *) funcDCM_PlanarConfiguration , |
333 | | (DicomElemParseFunc *) funcDCM_RescaleIntercept , |
334 | | (DicomElemParseFunc *) funcDCM_RescaleSlope , |
335 | | (DicomElemParseFunc *) funcDCM_RescaleType , |
336 | | (DicomElemParseFunc *) funcDCM_Rows , |
337 | | (DicomElemParseFunc *) funcDCM_SamplesPerPixel , |
338 | | (DicomElemParseFunc *) funcDCM_SeriesNumber , |
339 | | (DicomElemParseFunc *) funcDCM_SliceLocation , |
340 | | (DicomElemParseFunc *) funcDCM_StudyDate , |
341 | | (DicomElemParseFunc *) funcDCM_TransferSyntax , |
342 | | (DicomElemParseFunc *) funcDCM_TriggerTime , |
343 | | (DicomElemParseFunc *) funcDCM_WindowCenter , |
344 | | (DicomElemParseFunc *) funcDCM_WindowWidth |
345 | | }; |
346 | | |
347 | | /* |
348 | | Type for holding information on DICOM elements |
349 | | */ |
350 | | #define DESCRIPION_STR 1 /* Description text elements in one big string */ |
351 | | typedef struct _DicomInfo |
352 | | { |
353 | | const unsigned short |
354 | | group, |
355 | | element; |
356 | | |
357 | | const char |
358 | | vr[3]; |
359 | | |
360 | | #if !DESCRIPION_STR |
361 | | const char |
362 | | *description; |
363 | | #endif /* DESCRIPION_STR */ |
364 | | |
365 | | const unsigned char /* DICOM_PARSE_FUNC_T */ |
366 | | funce; |
367 | | |
368 | | } DicomInfo; |
369 | | |
370 | | /* |
371 | | Array holding information on DICOM elements |
372 | | */ |
373 | | static const DicomInfo |
374 | | dicom_info[]= |
375 | | { |
376 | | #if DESCRIPION_STR |
377 | | #define ENTRY(group, element, vr, description, pfunc) {group, element, vr, pfunc} |
378 | | #else |
379 | | #define ENTRY(group, element, vr, description, pfunc) {group, element, vr, description, pfunc} |
380 | | #endif |
381 | | ENTRY( 0x0000, 0x0000, "UL", "Group Length", FUNCDCM_NONE ), |
382 | | ENTRY( 0x0000, 0x0001, "UL", "Command Length to End", FUNCDCM_NONE ), |
383 | | ENTRY( 0x0000, 0x0002, "UI", "Affected SOP Class UID", FUNCDCM_NONE ), |
384 | | ENTRY( 0x0000, 0x0003, "UI", "Requested SOP Class UID", FUNCDCM_NONE ), |
385 | | ENTRY( 0x0000, 0x0010, "LO", "Command Recognition Code", FUNCDCM_NONE ), |
386 | | ENTRY( 0x0000, 0x0100, "US", "Command Field", FUNCDCM_NONE ), |
387 | | ENTRY( 0x0000, 0x0110, "US", "Message ID", FUNCDCM_NONE ), |
388 | | ENTRY( 0x0000, 0x0120, "US", "Message ID Being Responded To", FUNCDCM_NONE ), |
389 | | ENTRY( 0x0000, 0x0200, "AE", "Initiator", FUNCDCM_NONE ), |
390 | | ENTRY( 0x0000, 0x0300, "AE", "Receiver", FUNCDCM_NONE ), |
391 | | ENTRY( 0x0000, 0x0400, "AE", "Find Location", FUNCDCM_NONE ), |
392 | | ENTRY( 0x0000, 0x0600, "AE", "Move Destination", FUNCDCM_NONE ), |
393 | | ENTRY( 0x0000, 0x0700, "US", "Priority", FUNCDCM_NONE ), |
394 | | ENTRY( 0x0000, 0x0800, "US", "Data Set Type", FUNCDCM_NONE ), |
395 | | ENTRY( 0x0000, 0x0850, "US", "Number of Matches", FUNCDCM_NONE ), |
396 | | ENTRY( 0x0000, 0x0860, "US", "Response Sequence Number", FUNCDCM_NONE ), |
397 | | ENTRY( 0x0000, 0x0900, "US", "Status", FUNCDCM_NONE ), |
398 | | ENTRY( 0x0000, 0x0901, "AT", "Offending Element", FUNCDCM_NONE ), |
399 | | ENTRY( 0x0000, 0x0902, "LO", "Exception Comment", FUNCDCM_NONE ), |
400 | | ENTRY( 0x0000, 0x0903, "US", "Exception ID", FUNCDCM_NONE ), |
401 | | ENTRY( 0x0000, 0x1000, "UI", "Affected SOP Instance UID", FUNCDCM_NONE ), |
402 | | ENTRY( 0x0000, 0x1001, "UI", "Requested SOP Instance UID", FUNCDCM_NONE ), |
403 | | ENTRY( 0x0000, 0x1002, "US", "Event Type ID", FUNCDCM_NONE ), |
404 | | ENTRY( 0x0000, 0x1005, "AT", "Attribute Identifier List", FUNCDCM_NONE ), |
405 | | ENTRY( 0x0000, 0x1008, "US", "Action Type ID", FUNCDCM_NONE ), |
406 | | ENTRY( 0x0000, 0x1020, "US", "Number of Remaining Suboperations", FUNCDCM_NONE ), |
407 | | ENTRY( 0x0000, 0x1021, "US", "Number of Completed Suboperations", FUNCDCM_NONE ), |
408 | | ENTRY( 0x0000, 0x1022, "US", "Number of Failed Suboperations", FUNCDCM_NONE ), |
409 | | ENTRY( 0x0000, 0x1023, "US", "Number of Warning Suboperations", FUNCDCM_NONE ), |
410 | | ENTRY( 0x0000, 0x1030, "AE", "Move Originator Application Entity Title", FUNCDCM_NONE ), |
411 | | ENTRY( 0x0000, 0x1031, "US", "Move Originator Message ID", FUNCDCM_NONE ), |
412 | | ENTRY( 0x0000, 0x4000, "LO", "Dialog Receiver", FUNCDCM_NONE ), |
413 | | ENTRY( 0x0000, 0x4010, "LO", "Terminal Type", FUNCDCM_NONE ), |
414 | | ENTRY( 0x0000, 0x5010, "SH", "Message Set ID", FUNCDCM_NONE ), |
415 | | ENTRY( 0x0000, 0x5020, "SH", "End Message Set", FUNCDCM_NONE ), |
416 | | ENTRY( 0x0000, 0x5110, "LO", "Display Format", FUNCDCM_NONE ), |
417 | | ENTRY( 0x0000, 0x5120, "LO", "Page Position ID", FUNCDCM_NONE ), |
418 | | ENTRY( 0x0000, 0x5130, "LO", "Text Format ID", FUNCDCM_NONE ), |
419 | | ENTRY( 0x0000, 0x5140, "LO", "Normal Reverse", FUNCDCM_NONE ), |
420 | | ENTRY( 0x0000, 0x5150, "LO", "Add Gray Scale", FUNCDCM_NONE ), |
421 | | ENTRY( 0x0000, 0x5160, "LO", "Borders", FUNCDCM_NONE ), |
422 | | ENTRY( 0x0000, 0x5170, "IS", "Copies", FUNCDCM_NONE ), |
423 | | ENTRY( 0x0000, 0x5180, "LO", "OldMagnificationType", FUNCDCM_NONE ), |
424 | | ENTRY( 0x0000, 0x5190, "LO", "Erase", FUNCDCM_NONE ), |
425 | | ENTRY( 0x0000, 0x51a0, "LO", "Print", FUNCDCM_NONE ), |
426 | | ENTRY( 0x0000, 0x51b0, "US", "Overlays", FUNCDCM_NONE ), |
427 | | ENTRY( 0x0002, 0x0000, "UL", "Meta Element Group Length", FUNCDCM_NONE ), |
428 | | ENTRY( 0x0002, 0x0001, "OB", "File Meta Information Version", FUNCDCM_NONE ), |
429 | | ENTRY( 0x0002, 0x0002, "UI", "Media Storage SOP Class UID", FUNCDCM_NONE ), |
430 | | ENTRY( 0x0002, 0x0003, "UI", "Media Storage SOP Instance UID", FUNCDCM_NONE ), |
431 | | ENTRY( 0x0002, 0x0010, "UI", "Transfer Syntax UID", FUNCDCM_TRANSFERSYNTAX ), |
432 | | ENTRY( 0x0002, 0x0012, "UI", "Implementation Class UID", FUNCDCM_NONE ), |
433 | | ENTRY( 0x0002, 0x0013, "SH", "Implementation Version Name", FUNCDCM_NONE ), |
434 | | ENTRY( 0x0002, 0x0016, "AE", "Source Application Entity Title", FUNCDCM_NONE ), |
435 | | ENTRY( 0x0002, 0x0100, "UI", "Private Information Creator UID", FUNCDCM_NONE ), |
436 | | ENTRY( 0x0002, 0x0102, "OB", "Private Information", FUNCDCM_NONE ), |
437 | | ENTRY( 0x0003, 0x0000, "US", "?", FUNCDCM_NONE ), |
438 | | ENTRY( 0x0003, 0x0008, "US", "ISI Command Field", FUNCDCM_NONE ), |
439 | | ENTRY( 0x0003, 0x0011, "US", "Attach ID Application Code", FUNCDCM_NONE ), |
440 | | ENTRY( 0x0003, 0x0012, "UL", "Attach ID Message Count", FUNCDCM_NONE ), |
441 | | ENTRY( 0x0003, 0x0013, "DA", "Attach ID Date", FUNCDCM_NONE ), |
442 | | ENTRY( 0x0003, 0x0014, "TM", "Attach ID Time", FUNCDCM_NONE ), |
443 | | ENTRY( 0x0003, 0x0020, "US", "Message Type", FUNCDCM_NONE ), |
444 | | ENTRY( 0x0003, 0x0030, "DA", "Max Waiting Date", FUNCDCM_NONE ), |
445 | | ENTRY( 0x0003, 0x0031, "TM", "Max Waiting Time", FUNCDCM_NONE ), |
446 | | ENTRY( 0x0004, 0x0000, "UL", "File Set Group Length", FUNCDCM_NONE ), |
447 | | ENTRY( 0x0004, 0x1130, "CS", "File Set ID", FUNCDCM_NONE ), |
448 | | ENTRY( 0x0004, 0x1141, "CS", "File Set Descriptor File ID", FUNCDCM_NONE ), |
449 | | ENTRY( 0x0004, 0x1142, "CS", "File Set Descriptor File Specific Character Set", FUNCDCM_NONE ), |
450 | | ENTRY( 0x0004, 0x1200, "UL", "Root Directory Entity First Directory Record Offset", FUNCDCM_NONE ), |
451 | | ENTRY( 0x0004, 0x1202, "UL", "Root Directory Entity Last Directory Record Offset", FUNCDCM_NONE ), |
452 | | ENTRY( 0x0004, 0x1212, "US", "File Set Consistency Flag", FUNCDCM_NONE ), |
453 | | ENTRY( 0x0004, 0x1220, "SQ", "Directory Record Sequence", FUNCDCM_NONE ), |
454 | | ENTRY( 0x0004, 0x1400, "UL", "Next Directory Record Offset", FUNCDCM_NONE ), |
455 | | ENTRY( 0x0004, 0x1410, "US", "Record In Use Flag", FUNCDCM_NONE ), |
456 | | ENTRY( 0x0004, 0x1420, "UL", "Referenced Lower Level Directory Entity Offset", FUNCDCM_NONE ), |
457 | | ENTRY( 0x0004, 0x1430, "CS", "Directory Record Type", FUNCDCM_NONE ), |
458 | | ENTRY( 0x0004, 0x1432, "UI", "Private Record UID", FUNCDCM_NONE ), |
459 | | ENTRY( 0x0004, 0x1500, "CS", "Referenced File ID", FUNCDCM_NONE ), |
460 | | ENTRY( 0x0004, 0x1504, "UL", "MRDR Directory Record Offset", FUNCDCM_NONE ), |
461 | | ENTRY( 0x0004, 0x1510, "UI", "Referenced SOP Class UID In File", FUNCDCM_NONE ), |
462 | | ENTRY( 0x0004, 0x1511, "UI", "Referenced SOP Instance UID In File", FUNCDCM_NONE ), |
463 | | ENTRY( 0x0004, 0x1512, "UI", "Referenced Transfer Syntax UID In File", FUNCDCM_NONE ), |
464 | | ENTRY( 0x0004, 0x1600, "UL", "Number of References", FUNCDCM_NONE ), |
465 | | ENTRY( 0x0005, 0x0000, "US", "?", FUNCDCM_NONE ), |
466 | | ENTRY( 0x0006, 0x0000, "US", "?", FUNCDCM_NONE ), |
467 | | ENTRY( 0x0008, 0x0000, "UL", "Identifying Group Length", FUNCDCM_NONE ), |
468 | | ENTRY( 0x0008, 0x0001, "UL", "Length to End", FUNCDCM_NONE ), |
469 | | ENTRY( 0x0008, 0x0005, "CS", "Specific Character Set", FUNCDCM_NONE ), |
470 | | ENTRY( 0x0008, 0x0008, "CS", "Image Type", FUNCDCM_NONE ), |
471 | | ENTRY( 0x0008, 0x0010, "LO", "Recognition Code", FUNCDCM_NONE ), |
472 | | ENTRY( 0x0008, 0x0012, "DA", "Instance Creation Date", FUNCDCM_NONE ), |
473 | | ENTRY( 0x0008, 0x0013, "TM", "Instance Creation Time", FUNCDCM_NONE ), |
474 | | ENTRY( 0x0008, 0x0014, "UI", "Instance Creator UID", FUNCDCM_NONE ), |
475 | | ENTRY( 0x0008, 0x0016, "UI", "SOP Class UID", FUNCDCM_NONE ), |
476 | | ENTRY( 0x0008, 0x0018, "UI", "SOP Instance UID", FUNCDCM_NONE ), |
477 | | ENTRY( 0x0008, 0x0020, "DA", "Study Date", FUNCDCM_STUDYDATE ), |
478 | | ENTRY( 0x0008, 0x0021, "DA", "Series Date", FUNCDCM_NONE ), |
479 | | ENTRY( 0x0008, 0x0022, "DA", "Acquisition Date", FUNCDCM_NONE ), |
480 | | ENTRY( 0x0008, 0x0023, "DA", "Image Date", FUNCDCM_NONE ), |
481 | | ENTRY( 0x0008, 0x0024, "DA", "Overlay Date", FUNCDCM_NONE ), |
482 | | ENTRY( 0x0008, 0x0025, "DA", "Curve Date", FUNCDCM_NONE ), |
483 | | ENTRY( 0x0008, 0x0030, "TM", "Study Time", FUNCDCM_NONE ), |
484 | | ENTRY( 0x0008, 0x0031, "TM", "Series Time", FUNCDCM_NONE ), |
485 | | ENTRY( 0x0008, 0x0032, "TM", "Acquisition Time", FUNCDCM_NONE ), |
486 | | ENTRY( 0x0008, 0x0033, "TM", "Image Time", FUNCDCM_NONE ), |
487 | | ENTRY( 0x0008, 0x0034, "TM", "Overlay Time", FUNCDCM_NONE ), |
488 | | ENTRY( 0x0008, 0x0035, "TM", "Curve Time", FUNCDCM_NONE ), |
489 | | ENTRY( 0x0008, 0x0040, "xs", "Old Data Set Type", FUNCDCM_NONE ), |
490 | | ENTRY( 0x0008, 0x0041, "xs", "Old Data Set Subtype", FUNCDCM_NONE ), |
491 | | ENTRY( 0x0008, 0x0042, "CS", "Nuclear Medicine Series Type", FUNCDCM_NONE ), |
492 | | ENTRY( 0x0008, 0x0050, "SH", "Accession Number", FUNCDCM_NONE ), |
493 | | ENTRY( 0x0008, 0x0052, "CS", "Query/Retrieve Level", FUNCDCM_NONE ), |
494 | | ENTRY( 0x0008, 0x0054, "AE", "Retrieve AE Title", FUNCDCM_NONE ), |
495 | | ENTRY( 0x0008, 0x0058, "UI", "Failed SOP Instance UID List", FUNCDCM_NONE ), |
496 | | ENTRY( 0x0008, 0x0060, "CS", "Modality", FUNCDCM_NONE ), |
497 | | ENTRY( 0x0008, 0x0062, "SQ", "Modality Subtype", FUNCDCM_NONE ), |
498 | | ENTRY( 0x0008, 0x0064, "CS", "Conversion Type", FUNCDCM_NONE ), |
499 | | ENTRY( 0x0008, 0x0068, "CS", "Presentation Intent Type", FUNCDCM_NONE ), |
500 | | ENTRY( 0x0008, 0x0070, "LO", "Manufacturer", FUNCDCM_NONE ), |
501 | | ENTRY( 0x0008, 0x0080, "LO", "Institution Name", FUNCDCM_NONE ), |
502 | | ENTRY( 0x0008, 0x0081, "ST", "Institution Address", FUNCDCM_NONE ), |
503 | | ENTRY( 0x0008, 0x0082, "SQ", "Institution Code Sequence", FUNCDCM_NONE ), |
504 | | ENTRY( 0x0008, 0x0090, "PN", "Referring Physician's Name", FUNCDCM_NONE ), |
505 | | ENTRY( 0x0008, 0x0092, "ST", "Referring Physician's Address", FUNCDCM_NONE ), |
506 | | ENTRY( 0x0008, 0x0094, "SH", "Referring Physician's Telephone Numbers", FUNCDCM_NONE ), |
507 | | ENTRY( 0x0008, 0x0100, "SH", "Code Value", FUNCDCM_NONE ), |
508 | | ENTRY( 0x0008, 0x0102, "SH", "Coding Scheme Designator", FUNCDCM_NONE ), |
509 | | ENTRY( 0x0008, 0x0103, "SH", "Coding Scheme Version", FUNCDCM_NONE ), |
510 | | ENTRY( 0x0008, 0x0104, "LO", "Code Meaning", FUNCDCM_NONE ), |
511 | | ENTRY( 0x0008, 0x0105, "CS", "Mapping Resource", FUNCDCM_NONE ), |
512 | | ENTRY( 0x0008, 0x0106, "DT", "Context Group Version", FUNCDCM_NONE ), |
513 | | ENTRY( 0x0008, 0x010b, "CS", "Code Set Extension Flag", FUNCDCM_NONE ), |
514 | | ENTRY( 0x0008, 0x010c, "UI", "Private Coding Scheme Creator UID", FUNCDCM_NONE ), |
515 | | ENTRY( 0x0008, 0x010d, "UI", "Code Set Extension Creator UID", FUNCDCM_NONE ), |
516 | | ENTRY( 0x0008, 0x010f, "CS", "Context Identifier", FUNCDCM_NONE ), |
517 | | ENTRY( 0x0008, 0x1000, "LT", "Network ID", FUNCDCM_NONE ), |
518 | | ENTRY( 0x0008, 0x1010, "SH", "Station Name", FUNCDCM_NONE ), |
519 | | ENTRY( 0x0008, 0x1030, "LO", "Study Description", FUNCDCM_NONE ), |
520 | | ENTRY( 0x0008, 0x1032, "SQ", "Procedure Code Sequence", FUNCDCM_NONE ), |
521 | | ENTRY( 0x0008, 0x103e, "LO", "Series Description", FUNCDCM_NONE ), |
522 | | ENTRY( 0x0008, 0x1040, "LO", "Institutional Department Name", FUNCDCM_NONE ), |
523 | | ENTRY( 0x0008, 0x1048, "PN", "Physician of Record", FUNCDCM_NONE ), |
524 | | ENTRY( 0x0008, 0x1050, "PN", "Performing Physician's Name", FUNCDCM_NONE ), |
525 | | ENTRY( 0x0008, 0x1060, "PN", "Name of Physician(s) Reading Study", FUNCDCM_NONE ), |
526 | | ENTRY( 0x0008, 0x1070, "PN", "Operator's Name", FUNCDCM_NONE ), |
527 | | ENTRY( 0x0008, 0x1080, "LO", "Admitting Diagnosis Description", FUNCDCM_NONE ), |
528 | | ENTRY( 0x0008, 0x1084, "SQ", "Admitting Diagnosis Code Sequence", FUNCDCM_NONE ), |
529 | | ENTRY( 0x0008, 0x1090, "LO", "Manufacturer's Model Name", FUNCDCM_NONE ), |
530 | | ENTRY( 0x0008, 0x1100, "SQ", "Referenced Results Sequence", FUNCDCM_NONE ), |
531 | | ENTRY( 0x0008, 0x1110, "SQ", "Referenced Study Sequence", FUNCDCM_NONE ), |
532 | | ENTRY( 0x0008, 0x1111, "SQ", "Referenced Study Component Sequence", FUNCDCM_NONE ), |
533 | | ENTRY( 0x0008, 0x1115, "SQ", "Referenced Series Sequence", FUNCDCM_NONE ), |
534 | | ENTRY( 0x0008, 0x1120, "SQ", "Referenced Patient Sequence", FUNCDCM_NONE ), |
535 | | ENTRY( 0x0008, 0x1125, "SQ", "Referenced Visit Sequence", FUNCDCM_NONE ), |
536 | | ENTRY( 0x0008, 0x1130, "SQ", "Referenced Overlay Sequence", FUNCDCM_NONE ), |
537 | | ENTRY( 0x0008, 0x1140, "SQ", "Referenced Image Sequence", FUNCDCM_NONE ), |
538 | | ENTRY( 0x0008, 0x1145, "SQ", "Referenced Curve Sequence", FUNCDCM_NONE ), |
539 | | ENTRY( 0x0008, 0x1148, "SQ", "Referenced Previous Waveform", FUNCDCM_NONE ), |
540 | | ENTRY( 0x0008, 0x114a, "SQ", "Referenced Simultaneous Waveforms", FUNCDCM_NONE ), |
541 | | ENTRY( 0x0008, 0x114c, "SQ", "Referenced Subsequent Waveform", FUNCDCM_NONE ), |
542 | | ENTRY( 0x0008, 0x1150, "UI", "Referenced SOP Class UID", FUNCDCM_NONE ), |
543 | | ENTRY( 0x0008, 0x1155, "UI", "Referenced SOP Instance UID", FUNCDCM_NONE ), |
544 | | ENTRY( 0x0008, 0x1160, "IS", "Referenced Frame Number", FUNCDCM_NONE ), |
545 | | ENTRY( 0x0008, 0x1195, "UI", "Transaction UID", FUNCDCM_NONE ), |
546 | | ENTRY( 0x0008, 0x1197, "US", "Failure Reason", FUNCDCM_NONE ), |
547 | | ENTRY( 0x0008, 0x1198, "SQ", "Failed SOP Sequence", FUNCDCM_NONE ), |
548 | | ENTRY( 0x0008, 0x1199, "SQ", "Referenced SOP Sequence", FUNCDCM_NONE ), |
549 | | ENTRY( 0x0008, 0x2110, "CS", "Old Lossy Image Compression", FUNCDCM_NONE ), |
550 | | ENTRY( 0x0008, 0x2111, "ST", "Derivation Description", FUNCDCM_NONE ), |
551 | | ENTRY( 0x0008, 0x2112, "SQ", "Source Image Sequence", FUNCDCM_NONE ), |
552 | | ENTRY( 0x0008, 0x2120, "SH", "Stage Name", FUNCDCM_NONE ), |
553 | | ENTRY( 0x0008, 0x2122, "IS", "Stage Number", FUNCDCM_NONE ), |
554 | | ENTRY( 0x0008, 0x2124, "IS", "Number of Stages", FUNCDCM_NONE ), |
555 | | ENTRY( 0x0008, 0x2128, "IS", "View Number", FUNCDCM_NONE ), |
556 | | ENTRY( 0x0008, 0x2129, "IS", "Number of Event Timers", FUNCDCM_NONE ), |
557 | | ENTRY( 0x0008, 0x212a, "IS", "Number of Views in Stage", FUNCDCM_NONE ), |
558 | | ENTRY( 0x0008, 0x2130, "DS", "Event Elapsed Time(s)", FUNCDCM_NONE ), |
559 | | ENTRY( 0x0008, 0x2132, "LO", "Event Timer Name(s)", FUNCDCM_NONE ), |
560 | | ENTRY( 0x0008, 0x2142, "IS", "Start Trim", FUNCDCM_NONE ), |
561 | | ENTRY( 0x0008, 0x2143, "IS", "Stop Trim", FUNCDCM_NONE ), |
562 | | ENTRY( 0x0008, 0x2144, "IS", "Recommended Display Frame Rate", FUNCDCM_NONE ), |
563 | | ENTRY( 0x0008, 0x2200, "CS", "Transducer Position", FUNCDCM_NONE ), |
564 | | ENTRY( 0x0008, 0x2204, "CS", "Transducer Orientation", FUNCDCM_NONE ), |
565 | | ENTRY( 0x0008, 0x2208, "CS", "Anatomic Structure", FUNCDCM_NONE ), |
566 | | ENTRY( 0x0008, 0x2218, "SQ", "Anatomic Region Sequence", FUNCDCM_NONE ), |
567 | | ENTRY( 0x0008, 0x2220, "SQ", "Anatomic Region Modifier Sequence", FUNCDCM_NONE ), |
568 | | ENTRY( 0x0008, 0x2228, "SQ", "Primary Anatomic Structure Sequence", FUNCDCM_NONE ), |
569 | | ENTRY( 0x0008, 0x2230, "SQ", "Primary Anatomic Structure Modifier Sequence", FUNCDCM_NONE ), |
570 | | ENTRY( 0x0008, 0x2240, "SQ", "Transducer Position Sequence", FUNCDCM_NONE ), |
571 | | ENTRY( 0x0008, 0x2242, "SQ", "Transducer Position Modifier Sequence", FUNCDCM_NONE ), |
572 | | ENTRY( 0x0008, 0x2244, "SQ", "Transducer Orientation Sequence", FUNCDCM_NONE ), |
573 | | ENTRY( 0x0008, 0x2246, "SQ", "Transducer Orientation Modifier Sequence", FUNCDCM_NONE ), |
574 | | ENTRY( 0x0008, 0x2251, "SQ", "Anatomic Structure Space Or Region Code Sequence", FUNCDCM_NONE ), |
575 | | ENTRY( 0x0008, 0x2253, "SQ", "Anatomic Portal Of Entrance Code Sequence", FUNCDCM_NONE ), |
576 | | ENTRY( 0x0008, 0x2255, "SQ", "Anatomic Approach Direction Code Sequence", FUNCDCM_NONE ), |
577 | | ENTRY( 0x0008, 0x2256, "ST", "Anatomic Perspective Description", FUNCDCM_NONE ), |
578 | | ENTRY( 0x0008, 0x2257, "SQ", "Anatomic Perspective Code Sequence", FUNCDCM_NONE ), |
579 | | ENTRY( 0x0008, 0x2258, "ST", "Anatomic Location Of Examining Instrument Description", FUNCDCM_NONE ), |
580 | | ENTRY( 0x0008, 0x2259, "SQ", "Anatomic Location Of Examining Instrument Code Sequence", FUNCDCM_NONE ), |
581 | | ENTRY( 0x0008, 0x225a, "SQ", "Anatomic Structure Space Or Region Modifier Code Sequence", FUNCDCM_NONE ), |
582 | | ENTRY( 0x0008, 0x225c, "SQ", "OnAxis Background Anatomic Structure Code Sequence", FUNCDCM_NONE ), |
583 | | ENTRY( 0x0008, 0x4000, "LT", "Identifying Comments", FUNCDCM_NONE ), |
584 | | ENTRY( 0x0009, 0x0000, "xs", "?", FUNCDCM_NONE ), |
585 | | ENTRY( 0x0009, 0x0001, "xs", "?", FUNCDCM_NONE ), |
586 | | ENTRY( 0x0009, 0x0002, "xs", "?", FUNCDCM_NONE ), |
587 | | ENTRY( 0x0009, 0x0003, "xs", "?", FUNCDCM_NONE ), |
588 | | ENTRY( 0x0009, 0x0004, "xs", "?", FUNCDCM_NONE ), |
589 | | ENTRY( 0x0009, 0x0005, "UN", "?", FUNCDCM_NONE ), |
590 | | ENTRY( 0x0009, 0x0006, "UN", "?", FUNCDCM_NONE ), |
591 | | ENTRY( 0x0009, 0x0007, "UN", "?", FUNCDCM_NONE ), |
592 | | ENTRY( 0x0009, 0x0008, "xs", "?", FUNCDCM_NONE ), |
593 | | ENTRY( 0x0009, 0x0009, "LT", "?", FUNCDCM_NONE ), |
594 | | ENTRY( 0x0009, 0x000a, "IS", "?", FUNCDCM_NONE ), |
595 | | ENTRY( 0x0009, 0x000b, "IS", "?", FUNCDCM_NONE ), |
596 | | ENTRY( 0x0009, 0x000c, "IS", "?", FUNCDCM_NONE ), |
597 | | ENTRY( 0x0009, 0x000d, "IS", "?", FUNCDCM_NONE ), |
598 | | ENTRY( 0x0009, 0x000e, "IS", "?", FUNCDCM_NONE ), |
599 | | ENTRY( 0x0009, 0x000f, "UN", "?", FUNCDCM_NONE ), |
600 | | ENTRY( 0x0009, 0x0010, "xs", "?", FUNCDCM_NONE ), |
601 | | ENTRY( 0x0009, 0x0011, "xs", "?", FUNCDCM_NONE ), |
602 | | ENTRY( 0x0009, 0x0012, "xs", "?", FUNCDCM_NONE ), |
603 | | ENTRY( 0x0009, 0x0013, "xs", "?", FUNCDCM_NONE ), |
604 | | ENTRY( 0x0009, 0x0014, "xs", "?", FUNCDCM_NONE ), |
605 | | ENTRY( 0x0009, 0x0015, "xs", "?", FUNCDCM_NONE ), |
606 | | ENTRY( 0x0009, 0x0016, "xs", "?", FUNCDCM_NONE ), |
607 | | ENTRY( 0x0009, 0x0017, "LT", "?", FUNCDCM_NONE ), |
608 | | ENTRY( 0x0009, 0x0018, "LT", "Data Set Identifier", FUNCDCM_NONE ), |
609 | | ENTRY( 0x0009, 0x001a, "US", "?", FUNCDCM_NONE ), |
610 | | ENTRY( 0x0009, 0x001e, "UI", "?", FUNCDCM_NONE ), |
611 | | ENTRY( 0x0009, 0x0020, "xs", "?", FUNCDCM_NONE ), |
612 | | ENTRY( 0x0009, 0x0021, "xs", "?", FUNCDCM_NONE ), |
613 | | ENTRY( 0x0009, 0x0022, "SH", "User Orientation", FUNCDCM_NONE ), |
614 | | ENTRY( 0x0009, 0x0023, "SL", "Initiation Type", FUNCDCM_NONE ), |
615 | | ENTRY( 0x0009, 0x0024, "xs", "?", FUNCDCM_NONE ), |
616 | | ENTRY( 0x0009, 0x0025, "xs", "?", FUNCDCM_NONE ), |
617 | | ENTRY( 0x0009, 0x0026, "xs", "?", FUNCDCM_NONE ), |
618 | | ENTRY( 0x0009, 0x0027, "xs", "?", FUNCDCM_NONE ), |
619 | | ENTRY( 0x0009, 0x0029, "xs", "?", FUNCDCM_NONE ), |
620 | | ENTRY( 0x0009, 0x002a, "SL", "?", FUNCDCM_NONE ), |
621 | | ENTRY( 0x0009, 0x002c, "LO", "Series Comments", FUNCDCM_NONE ), |
622 | | ENTRY( 0x0009, 0x002d, "SL", "Track Beat Average", FUNCDCM_NONE ), |
623 | | ENTRY( 0x0009, 0x002e, "FD", "Distance Prescribed", FUNCDCM_NONE ), |
624 | | ENTRY( 0x0009, 0x002f, "LT", "?", FUNCDCM_NONE ), |
625 | | ENTRY( 0x0009, 0x0030, "xs", "?", FUNCDCM_NONE ), |
626 | | ENTRY( 0x0009, 0x0031, "xs", "?", FUNCDCM_NONE ), |
627 | | ENTRY( 0x0009, 0x0032, "LT", "?", FUNCDCM_NONE ), |
628 | | ENTRY( 0x0009, 0x0034, "xs", "?", FUNCDCM_NONE ), |
629 | | ENTRY( 0x0009, 0x0035, "SL", "Gantry Locus Type", FUNCDCM_NONE ), |
630 | | ENTRY( 0x0009, 0x0037, "SL", "Starting Heart Rate", FUNCDCM_NONE ), |
631 | | ENTRY( 0x0009, 0x0038, "xs", "?", FUNCDCM_NONE ), |
632 | | ENTRY( 0x0009, 0x0039, "SL", "RR Window Offset", FUNCDCM_NONE ), |
633 | | ENTRY( 0x0009, 0x003a, "SL", "Percent Cycle Imaged", FUNCDCM_NONE ), |
634 | | ENTRY( 0x0009, 0x003e, "US", "?", FUNCDCM_NONE ), |
635 | | ENTRY( 0x0009, 0x003f, "US", "?", FUNCDCM_NONE ), |
636 | | ENTRY( 0x0009, 0x0040, "xs", "?", FUNCDCM_NONE ), |
637 | | ENTRY( 0x0009, 0x0041, "xs", "?", FUNCDCM_NONE ), |
638 | | ENTRY( 0x0009, 0x0042, "xs", "?", FUNCDCM_NONE ), |
639 | | ENTRY( 0x0009, 0x0043, "xs", "?", FUNCDCM_NONE ), |
640 | | ENTRY( 0x0009, 0x0050, "LT", "?", FUNCDCM_NONE ), |
641 | | ENTRY( 0x0009, 0x0051, "xs", "?", FUNCDCM_NONE ), |
642 | | ENTRY( 0x0009, 0x0060, "LT", "?", FUNCDCM_NONE ), |
643 | | ENTRY( 0x0009, 0x0061, "LT", "Series Unique Identifier", FUNCDCM_NONE ), |
644 | | ENTRY( 0x0009, 0x0070, "LT", "?", FUNCDCM_NONE ), |
645 | | ENTRY( 0x0009, 0x0080, "LT", "?", FUNCDCM_NONE ), |
646 | | ENTRY( 0x0009, 0x0091, "LT", "?", FUNCDCM_NONE ), |
647 | | ENTRY( 0x0009, 0x00e2, "LT", "?", FUNCDCM_NONE ), |
648 | | ENTRY( 0x0009, 0x00e3, "UI", "Equipment UID", FUNCDCM_NONE ), |
649 | | ENTRY( 0x0009, 0x00e6, "SH", "Genesis Version Now", FUNCDCM_NONE ), |
650 | | ENTRY( 0x0009, 0x00e7, "UL", "Exam Record Checksum", FUNCDCM_NONE ), |
651 | | ENTRY( 0x0009, 0x00e8, "UL", "?", FUNCDCM_NONE ), |
652 | | ENTRY( 0x0009, 0x00e9, "SL", "Actual Series Data Time Stamp", FUNCDCM_NONE ), |
653 | | ENTRY( 0x0009, 0x00f2, "UN", "?", FUNCDCM_NONE ), |
654 | | ENTRY( 0x0009, 0x00f3, "UN", "?", FUNCDCM_NONE ), |
655 | | ENTRY( 0x0009, 0x00f4, "LT", "?", FUNCDCM_NONE ), |
656 | | ENTRY( 0x0009, 0x00f5, "xs", "?", FUNCDCM_NONE ), |
657 | | ENTRY( 0x0009, 0x00f6, "LT", "PDM Data Object Type Extension", FUNCDCM_NONE ), |
658 | | ENTRY( 0x0009, 0x00f8, "US", "?", FUNCDCM_NONE ), |
659 | | ENTRY( 0x0009, 0x00fb, "IS", "?", FUNCDCM_NONE ), |
660 | | ENTRY( 0x0009, 0x1002, "OB", "?", FUNCDCM_NONE ), |
661 | | ENTRY( 0x0009, 0x1003, "OB", "?", FUNCDCM_NONE ), |
662 | | ENTRY( 0x0009, 0x1010, "UN", "?", FUNCDCM_NONE ), |
663 | | ENTRY( 0x0010, 0x0000, "UL", "Patient Group Length", FUNCDCM_NONE ), |
664 | | ENTRY( 0x0010, 0x0010, "PN", "Patient's Name", FUNCDCM_PATIENTNAME ), |
665 | | ENTRY( 0x0010, 0x0020, "LO", "Patient's ID", FUNCDCM_NONE ), |
666 | | ENTRY( 0x0010, 0x0021, "LO", "Issuer of Patient's ID", FUNCDCM_NONE ), |
667 | | ENTRY( 0x0010, 0x0030, "DA", "Patient's Birth Date", FUNCDCM_NONE ), |
668 | | ENTRY( 0x0010, 0x0032, "TM", "Patient's Birth Time", FUNCDCM_NONE ), |
669 | | ENTRY( 0x0010, 0x0040, "CS", "Patient's Sex", FUNCDCM_NONE ), |
670 | | ENTRY( 0x0010, 0x0050, "SQ", "Patient's Insurance Plan Code Sequence", FUNCDCM_NONE ), |
671 | | ENTRY( 0x0010, 0x1000, "LO", "Other Patient's ID's", FUNCDCM_NONE ), |
672 | | ENTRY( 0x0010, 0x1001, "PN", "Other Patient's Names", FUNCDCM_NONE ), |
673 | | ENTRY( 0x0010, 0x1005, "PN", "Patient's Birth Name", FUNCDCM_NONE ), |
674 | | ENTRY( 0x0010, 0x1010, "AS", "Patient's Age", FUNCDCM_NONE ), |
675 | | ENTRY( 0x0010, 0x1020, "DS", "Patient's Size", FUNCDCM_NONE ), |
676 | | ENTRY( 0x0010, 0x1030, "DS", "Patient's Weight", FUNCDCM_NONE ), |
677 | | ENTRY( 0x0010, 0x1040, "LO", "Patient's Address", FUNCDCM_NONE ), |
678 | | ENTRY( 0x0010, 0x1050, "LT", "Insurance Plan Identification", FUNCDCM_NONE ), |
679 | | ENTRY( 0x0010, 0x1060, "PN", "Patient's Mother's Birth Name", FUNCDCM_NONE ), |
680 | | ENTRY( 0x0010, 0x1080, "LO", "Military Rank", FUNCDCM_NONE ), |
681 | | ENTRY( 0x0010, 0x1081, "LO", "Branch of Service", FUNCDCM_NONE ), |
682 | | ENTRY( 0x0010, 0x1090, "LO", "Medical Record Locator", FUNCDCM_NONE ), |
683 | | ENTRY( 0x0010, 0x2000, "LO", "Medical Alerts", FUNCDCM_NONE ), |
684 | | ENTRY( 0x0010, 0x2110, "LO", "Contrast Allergies", FUNCDCM_NONE ), |
685 | | ENTRY( 0x0010, 0x2150, "LO", "Country of Residence", FUNCDCM_NONE ), |
686 | | ENTRY( 0x0010, 0x2152, "LO", "Region of Residence", FUNCDCM_NONE ), |
687 | | ENTRY( 0x0010, 0x2154, "SH", "Patients Telephone Numbers", FUNCDCM_NONE ), |
688 | | ENTRY( 0x0010, 0x2160, "SH", "Ethnic Group", FUNCDCM_NONE ), |
689 | | ENTRY( 0x0010, 0x2180, "SH", "Occupation", FUNCDCM_NONE ), |
690 | | ENTRY( 0x0010, 0x21a0, "CS", "Smoking Status", FUNCDCM_NONE ), |
691 | | ENTRY( 0x0010, 0x21b0, "LT", "Additional Patient History", FUNCDCM_NONE ), |
692 | | ENTRY( 0x0010, 0x21c0, "US", "Pregnancy Status", FUNCDCM_NONE ), |
693 | | ENTRY( 0x0010, 0x21d0, "DA", "Last Menstrual Date", FUNCDCM_NONE ), |
694 | | ENTRY( 0x0010, 0x21f0, "LO", "Patients Religious Preference", FUNCDCM_NONE ), |
695 | | ENTRY( 0x0010, 0x4000, "LT", "Patient Comments", FUNCDCM_NONE ), |
696 | | ENTRY( 0x0011, 0x0001, "xs", "?", FUNCDCM_NONE ), |
697 | | ENTRY( 0x0011, 0x0002, "US", "?", FUNCDCM_NONE ), |
698 | | ENTRY( 0x0011, 0x0003, "LT", "Patient UID", FUNCDCM_NONE ), |
699 | | ENTRY( 0x0011, 0x0004, "LT", "Patient ID", FUNCDCM_NONE ), |
700 | | ENTRY( 0x0011, 0x000a, "xs", "?", FUNCDCM_NONE ), |
701 | | ENTRY( 0x0011, 0x000b, "SL", "Effective Series Duration", FUNCDCM_NONE ), |
702 | | ENTRY( 0x0011, 0x000c, "SL", "Num Beats", FUNCDCM_NONE ), |
703 | | ENTRY( 0x0011, 0x000d, "LO", "Radio Nuclide Name", FUNCDCM_NONE ), |
704 | | ENTRY( 0x0011, 0x0010, "xs", "?", FUNCDCM_NONE ), |
705 | | ENTRY( 0x0011, 0x0011, "xs", "?", FUNCDCM_NONE ), |
706 | | ENTRY( 0x0011, 0x0012, "LO", "Dataset Name", FUNCDCM_NONE ), |
707 | | ENTRY( 0x0011, 0x0013, "LO", "Dataset Type", FUNCDCM_NONE ), |
708 | | ENTRY( 0x0011, 0x0015, "xs", "?", FUNCDCM_NONE ), |
709 | | ENTRY( 0x0011, 0x0016, "SL", "Energy Number", FUNCDCM_NONE ), |
710 | | ENTRY( 0x0011, 0x0017, "SL", "RR Interval Window Number", FUNCDCM_NONE ), |
711 | | ENTRY( 0x0011, 0x0018, "SL", "MG Bin Number", FUNCDCM_NONE ), |
712 | | ENTRY( 0x0011, 0x0019, "FD", "Radius Of Rotation", FUNCDCM_NONE ), |
713 | | ENTRY( 0x0011, 0x001a, "SL", "Detector Count Zone", FUNCDCM_NONE ), |
714 | | ENTRY( 0x0011, 0x001b, "SL", "Num Energy Windows", FUNCDCM_NONE ), |
715 | | ENTRY( 0x0011, 0x001c, "SL", "Energy Offset", FUNCDCM_NONE ), |
716 | | ENTRY( 0x0011, 0x001d, "SL", "Energy Range", FUNCDCM_NONE ), |
717 | | ENTRY( 0x0011, 0x001f, "SL", "Image Orientation", FUNCDCM_IMAGEORIENTATION ), |
718 | | ENTRY( 0x0011, 0x0020, "xs", "?", FUNCDCM_NONE ), |
719 | | ENTRY( 0x0011, 0x0021, "xs", "?", FUNCDCM_NONE ), |
720 | | ENTRY( 0x0011, 0x0022, "xs", "?", FUNCDCM_NONE ), |
721 | | ENTRY( 0x0011, 0x0023, "xs", "?", FUNCDCM_NONE ), |
722 | | ENTRY( 0x0011, 0x0024, "SL", "FOV Mask Y Cutoff Angle", FUNCDCM_NONE ), |
723 | | ENTRY( 0x0011, 0x0025, "xs", "?", FUNCDCM_NONE ), |
724 | | ENTRY( 0x0011, 0x0026, "SL", "Table Orientation", FUNCDCM_NONE ), |
725 | | ENTRY( 0x0011, 0x0027, "SL", "ROI Top Left", FUNCDCM_NONE ), |
726 | | ENTRY( 0x0011, 0x0028, "SL", "ROI Bottom Right", FUNCDCM_NONE ), |
727 | | ENTRY( 0x0011, 0x0030, "xs", "?", FUNCDCM_NONE ), |
728 | | ENTRY( 0x0011, 0x0031, "xs", "?", FUNCDCM_NONE ), |
729 | | ENTRY( 0x0011, 0x0032, "UN", "?", FUNCDCM_NONE ), |
730 | | ENTRY( 0x0011, 0x0033, "LO", "Energy Correct Name", FUNCDCM_NONE ), |
731 | | ENTRY( 0x0011, 0x0034, "LO", "Spatial Correct Name", FUNCDCM_NONE ), |
732 | | ENTRY( 0x0011, 0x0035, "xs", "?", FUNCDCM_NONE ), |
733 | | ENTRY( 0x0011, 0x0036, "LO", "Uniformity Correct Name", FUNCDCM_NONE ), |
734 | | ENTRY( 0x0011, 0x0037, "LO", "Acquisition Specific Correct Name", FUNCDCM_NONE ), |
735 | | ENTRY( 0x0011, 0x0038, "SL", "Byte Order", FUNCDCM_NONE ), |
736 | | ENTRY( 0x0011, 0x003a, "SL", "Picture Format", FUNCDCM_NONE ), |
737 | | ENTRY( 0x0011, 0x003b, "FD", "Pixel Scale", FUNCDCM_NONE ), |
738 | | ENTRY( 0x0011, 0x003c, "FD", "Pixel Offset", FUNCDCM_NONE ), |
739 | | ENTRY( 0x0011, 0x003e, "SL", "FOV Shape", FUNCDCM_NONE ), |
740 | | ENTRY( 0x0011, 0x003f, "SL", "Dataset Flags", FUNCDCM_NONE ), |
741 | | ENTRY( 0x0011, 0x0040, "xs", "?", FUNCDCM_NONE ), |
742 | | ENTRY( 0x0011, 0x0041, "LT", "Medical Alerts", FUNCDCM_NONE ), |
743 | | ENTRY( 0x0011, 0x0042, "LT", "Contrast Allergies", FUNCDCM_NONE ), |
744 | | ENTRY( 0x0011, 0x0044, "FD", "Threshold Center", FUNCDCM_NONE ), |
745 | | ENTRY( 0x0011, 0x0045, "FD", "Threshold Width", FUNCDCM_NONE ), |
746 | | ENTRY( 0x0011, 0x0046, "SL", "Interpolation Type", FUNCDCM_NONE ), |
747 | | ENTRY( 0x0011, 0x0055, "FD", "Period", FUNCDCM_NONE ), |
748 | | ENTRY( 0x0011, 0x0056, "FD", "ElapsedTime", FUNCDCM_NONE ), |
749 | | ENTRY( 0x0011, 0x00a1, "DA", "Patient Registration Date", FUNCDCM_NONE ), |
750 | | ENTRY( 0x0011, 0x00a2, "TM", "Patient Registration Time", FUNCDCM_NONE ), |
751 | | ENTRY( 0x0011, 0x00b0, "LT", "Patient Last Name", FUNCDCM_NONE ), |
752 | | ENTRY( 0x0011, 0x00b2, "LT", "Patient First Name", FUNCDCM_NONE ), |
753 | | ENTRY( 0x0011, 0x00b4, "LT", "Patient Hospital Status", FUNCDCM_NONE ), |
754 | | ENTRY( 0x0011, 0x00bc, "TM", "Current Location Time", FUNCDCM_NONE ), |
755 | | ENTRY( 0x0011, 0x00c0, "LT", "Patient Insurance Status", FUNCDCM_NONE ), |
756 | | ENTRY( 0x0011, 0x00d0, "LT", "Patient Billing Type", FUNCDCM_NONE ), |
757 | | ENTRY( 0x0011, 0x00d2, "LT", "Patient Billing Address", FUNCDCM_NONE ), |
758 | | ENTRY( 0x0013, 0x0000, "LT", "Modifying Physician", FUNCDCM_NONE ), |
759 | | ENTRY( 0x0013, 0x0010, "xs", "?", FUNCDCM_NONE ), |
760 | | ENTRY( 0x0013, 0x0011, "SL", "?", FUNCDCM_NONE ), |
761 | | ENTRY( 0x0013, 0x0012, "xs", "?", FUNCDCM_NONE ), |
762 | | ENTRY( 0x0013, 0x0016, "SL", "AutoTrack Peak", FUNCDCM_NONE ), |
763 | | ENTRY( 0x0013, 0x0017, "SL", "AutoTrack Width", FUNCDCM_NONE ), |
764 | | ENTRY( 0x0013, 0x0018, "FD", "Transmission Scan Time", FUNCDCM_NONE ), |
765 | | ENTRY( 0x0013, 0x0019, "FD", "Transmission Mask Width", FUNCDCM_NONE ), |
766 | | ENTRY( 0x0013, 0x001a, "FD", "Copper Attenuator Thickness", FUNCDCM_NONE ), |
767 | | ENTRY( 0x0013, 0x001c, "FD", "?", FUNCDCM_NONE ), |
768 | | ENTRY( 0x0013, 0x001d, "FD", "?", FUNCDCM_NONE ), |
769 | | ENTRY( 0x0013, 0x001e, "FD", "Tomo View Offset", FUNCDCM_NONE ), |
770 | | ENTRY( 0x0013, 0x0020, "LT", "Patient Name", FUNCDCM_NONE ), |
771 | | ENTRY( 0x0013, 0x0022, "LT", "Patient Id", FUNCDCM_NONE ), |
772 | | ENTRY( 0x0013, 0x0026, "LT", "Study Comments", FUNCDCM_NONE ), |
773 | | ENTRY( 0x0013, 0x0030, "DA", "Patient Birthdate", FUNCDCM_NONE ), |
774 | | ENTRY( 0x0013, 0x0031, "DS", "Patient Weight", FUNCDCM_NONE ), |
775 | | ENTRY( 0x0013, 0x0032, "LT", "Patients Maiden Name", FUNCDCM_NONE ), |
776 | | ENTRY( 0x0013, 0x0033, "LT", "Referring Physician", FUNCDCM_NONE ), |
777 | | ENTRY( 0x0013, 0x0034, "LT", "Admitting Diagnosis", FUNCDCM_NONE ), |
778 | | ENTRY( 0x0013, 0x0035, "LT", "Patient Sex", FUNCDCM_NONE ), |
779 | | ENTRY( 0x0013, 0x0040, "LT", "Procedure Description", FUNCDCM_NONE ), |
780 | | ENTRY( 0x0013, 0x0042, "LT", "Patient Rest Direction", FUNCDCM_NONE ), |
781 | | ENTRY( 0x0013, 0x0044, "LT", "Patient Position", FUNCDCM_NONE ), |
782 | | ENTRY( 0x0013, 0x0046, "LT", "View Direction", FUNCDCM_NONE ), |
783 | | ENTRY( 0x0015, 0x0001, "DS", "Stenosis Calibration Ratio", FUNCDCM_NONE ), |
784 | | ENTRY( 0x0015, 0x0002, "DS", "Stenosis Magnification", FUNCDCM_NONE ), |
785 | | ENTRY( 0x0015, 0x0003, "DS", "Cardiac Calibration Ratio", FUNCDCM_NONE ), |
786 | | ENTRY( 0x0018, 0x0000, "UL", "Acquisition Group Length", FUNCDCM_NONE ), |
787 | | ENTRY( 0x0018, 0x0010, "LO", "Contrast/Bolus Agent", FUNCDCM_NONE ), |
788 | | ENTRY( 0x0018, 0x0012, "SQ", "Contrast/Bolus Agent Sequence", FUNCDCM_NONE ), |
789 | | ENTRY( 0x0018, 0x0014, "SQ", "Contrast/Bolus Administration Route Sequence", FUNCDCM_NONE ), |
790 | | ENTRY( 0x0018, 0x0015, "CS", "Body Part Examined", FUNCDCM_NONE ), |
791 | | ENTRY( 0x0018, 0x0020, "CS", "Scanning Sequence", FUNCDCM_NONE ), |
792 | | ENTRY( 0x0018, 0x0021, "CS", "Sequence Variant", FUNCDCM_NONE ), |
793 | | ENTRY( 0x0018, 0x0022, "CS", "Scan Options", FUNCDCM_NONE ), |
794 | | ENTRY( 0x0018, 0x0023, "CS", "MR Acquisition Type", FUNCDCM_NONE ), |
795 | | ENTRY( 0x0018, 0x0024, "SH", "Sequence Name", FUNCDCM_NONE ), |
796 | | ENTRY( 0x0018, 0x0025, "CS", "Angio Flag", FUNCDCM_NONE ), |
797 | | ENTRY( 0x0018, 0x0026, "SQ", "Intervention Drug Information Sequence", FUNCDCM_NONE ), |
798 | | ENTRY( 0x0018, 0x0027, "TM", "Intervention Drug Stop Time", FUNCDCM_NONE ), |
799 | | ENTRY( 0x0018, 0x0028, "DS", "Intervention Drug Dose", FUNCDCM_NONE ), |
800 | | ENTRY( 0x0018, 0x0029, "SQ", "Intervention Drug Code Sequence", FUNCDCM_NONE ), |
801 | | ENTRY( 0x0018, 0x002a, "SQ", "Additional Drug Sequence", FUNCDCM_NONE ), |
802 | | ENTRY( 0x0018, 0x0030, "LO", "Radionuclide", FUNCDCM_NONE ), |
803 | | ENTRY( 0x0018, 0x0031, "LO", "Radiopharmaceutical", FUNCDCM_NONE ), |
804 | | ENTRY( 0x0018, 0x0032, "DS", "Energy Window Centerline", FUNCDCM_NONE ), |
805 | | ENTRY( 0x0018, 0x0033, "DS", "Energy Window Total Width", FUNCDCM_NONE ), |
806 | | ENTRY( 0x0018, 0x0034, "LO", "Intervention Drug Name", FUNCDCM_NONE ), |
807 | | ENTRY( 0x0018, 0x0035, "TM", "Intervention Drug Start Time", FUNCDCM_NONE ), |
808 | | ENTRY( 0x0018, 0x0036, "SQ", "Intervention Therapy Sequence", FUNCDCM_NONE ), |
809 | | ENTRY( 0x0018, 0x0037, "CS", "Therapy Type", FUNCDCM_NONE ), |
810 | | ENTRY( 0x0018, 0x0038, "CS", "Intervention Status", FUNCDCM_NONE ), |
811 | | ENTRY( 0x0018, 0x0039, "CS", "Therapy Description", FUNCDCM_NONE ), |
812 | | ENTRY( 0x0018, 0x0040, "IS", "Cine Rate", FUNCDCM_NONE ), |
813 | | ENTRY( 0x0018, 0x0050, "DS", "Slice Thickness", FUNCDCM_NONE ), |
814 | | ENTRY( 0x0018, 0x0060, "DS", "KVP", FUNCDCM_NONE ), |
815 | | ENTRY( 0x0018, 0x0070, "IS", "Counts Accumulated", FUNCDCM_NONE ), |
816 | | ENTRY( 0x0018, 0x0071, "CS", "Acquisition Termination Condition", FUNCDCM_NONE ), |
817 | | ENTRY( 0x0018, 0x0072, "DS", "Effective Series Duration", FUNCDCM_NONE ), |
818 | | ENTRY( 0x0018, 0x0073, "CS", "Acquisition Start Condition", FUNCDCM_NONE ), |
819 | | ENTRY( 0x0018, 0x0074, "IS", "Acquisition Start Condition Data", FUNCDCM_NONE ), |
820 | | ENTRY( 0x0018, 0x0075, "IS", "Acquisition Termination Condition Data", FUNCDCM_NONE ), |
821 | | ENTRY( 0x0018, 0x0080, "DS", "Repetition Time", FUNCDCM_NONE ), |
822 | | ENTRY( 0x0018, 0x0081, "DS", "Echo Time", FUNCDCM_NONE ), |
823 | | ENTRY( 0x0018, 0x0082, "DS", "Inversion Time", FUNCDCM_NONE ), |
824 | | ENTRY( 0x0018, 0x0083, "DS", "Number of Averages", FUNCDCM_NONE ), |
825 | | ENTRY( 0x0018, 0x0084, "DS", "Imaging Frequency", FUNCDCM_NONE ), |
826 | | ENTRY( 0x0018, 0x0085, "SH", "Imaged Nucleus", FUNCDCM_NONE ), |
827 | | ENTRY( 0x0018, 0x0086, "IS", "Echo Number(s)", FUNCDCM_NONE ), |
828 | | ENTRY( 0x0018, 0x0087, "DS", "Magnetic Field Strength", FUNCDCM_NONE ), |
829 | | ENTRY( 0x0018, 0x0088, "DS", "Spacing Between Slices", FUNCDCM_NONE ), |
830 | | ENTRY( 0x0018, 0x0089, "IS", "Number of Phase Encoding Steps", FUNCDCM_NONE ), |
831 | | ENTRY( 0x0018, 0x0090, "DS", "Data Collection Diameter", FUNCDCM_NONE ), |
832 | | ENTRY( 0x0018, 0x0091, "IS", "Echo Train Length", FUNCDCM_NONE ), |
833 | | ENTRY( 0x0018, 0x0093, "DS", "Percent Sampling", FUNCDCM_NONE ), |
834 | | ENTRY( 0x0018, 0x0094, "DS", "Percent Phase Field of View", FUNCDCM_NONE ), |
835 | | ENTRY( 0x0018, 0x0095, "DS", "Pixel Bandwidth", FUNCDCM_NONE ), |
836 | | ENTRY( 0x0018, 0x1000, "LO", "Device Serial Number", FUNCDCM_NONE ), |
837 | | ENTRY( 0x0018, 0x1004, "LO", "Plate ID", FUNCDCM_NONE ), |
838 | | ENTRY( 0x0018, 0x1010, "LO", "Secondary Capture Device ID", FUNCDCM_NONE ), |
839 | | ENTRY( 0x0018, 0x1012, "DA", "Date of Secondary Capture", FUNCDCM_NONE ), |
840 | | ENTRY( 0x0018, 0x1014, "TM", "Time of Secondary Capture", FUNCDCM_NONE ), |
841 | | ENTRY( 0x0018, 0x1016, "LO", "Secondary Capture Device Manufacturer", FUNCDCM_NONE ), |
842 | | ENTRY( 0x0018, 0x1018, "LO", "Secondary Capture Device Manufacturer Model Name", FUNCDCM_NONE ), |
843 | | ENTRY( 0x0018, 0x1019, "LO", "Secondary Capture Device Software Version(s)", FUNCDCM_NONE ), |
844 | | ENTRY( 0x0018, 0x1020, "LO", "Software Version(s)", FUNCDCM_NONE ), |
845 | | ENTRY( 0x0018, 0x1022, "SH", "Video Image Format Acquired", FUNCDCM_NONE ), |
846 | | ENTRY( 0x0018, 0x1023, "LO", "Digital Image Format Acquired", FUNCDCM_NONE ), |
847 | | ENTRY( 0x0018, 0x1030, "LO", "Protocol Name", FUNCDCM_NONE ), |
848 | | ENTRY( 0x0018, 0x1040, "LO", "Contrast/Bolus Route", FUNCDCM_NONE ), |
849 | | ENTRY( 0x0018, 0x1041, "DS", "Contrast/Bolus Volume", FUNCDCM_NONE ), |
850 | | ENTRY( 0x0018, 0x1042, "TM", "Contrast/Bolus Start Time", FUNCDCM_NONE ), |
851 | | ENTRY( 0x0018, 0x1043, "TM", "Contrast/Bolus Stop Time", FUNCDCM_NONE ), |
852 | | ENTRY( 0x0018, 0x1044, "DS", "Contrast/Bolus Total Dose", FUNCDCM_NONE ), |
853 | | ENTRY( 0x0018, 0x1045, "IS", "Syringe Counts", FUNCDCM_NONE ), |
854 | | ENTRY( 0x0018, 0x1046, "DS", "Contrast Flow Rate", FUNCDCM_NONE ), |
855 | | ENTRY( 0x0018, 0x1047, "DS", "Contrast Flow Duration", FUNCDCM_NONE ), |
856 | | ENTRY( 0x0018, 0x1048, "CS", "Contrast/Bolus Ingredient", FUNCDCM_NONE ), |
857 | | ENTRY( 0x0018, 0x1049, "DS", "Contrast/Bolus Ingredient Concentration", FUNCDCM_NONE ), |
858 | | ENTRY( 0x0018, 0x1050, "DS", "Spatial Resolution", FUNCDCM_NONE ), |
859 | | ENTRY( 0x0018, 0x1060, "DS", "Trigger Time", FUNCDCM_TRIGGERTIME ), |
860 | | ENTRY( 0x0018, 0x1061, "LO", "Trigger Source or Type", FUNCDCM_NONE ), |
861 | | ENTRY( 0x0018, 0x1062, "IS", "Nominal Interval", FUNCDCM_NONE ), |
862 | | ENTRY( 0x0018, 0x1063, "DS", "Frame Time", FUNCDCM_NONE ), |
863 | | ENTRY( 0x0018, 0x1064, "LO", "Framing Type", FUNCDCM_NONE ), |
864 | | ENTRY( 0x0018, 0x1065, "DS", "Frame Time Vector", FUNCDCM_NONE ), |
865 | | ENTRY( 0x0018, 0x1066, "DS", "Frame Delay", FUNCDCM_NONE ), |
866 | | ENTRY( 0x0018, 0x1067, "DS", "Image Trigger Delay", FUNCDCM_NONE ), |
867 | | ENTRY( 0x0018, 0x1068, "DS", "Group Time Offset", FUNCDCM_NONE ), |
868 | | ENTRY( 0x0018, 0x1069, "DS", "Trigger Time Offset", FUNCDCM_NONE ), |
869 | | ENTRY( 0x0018, 0x106a, "CS", "Synchronization Trigger", FUNCDCM_NONE ), |
870 | | ENTRY( 0x0018, 0x106b, "UI", "Synchronization Frame of Reference", FUNCDCM_NONE ), |
871 | | ENTRY( 0x0018, 0x106e, "UL", "Trigger Sample Position", FUNCDCM_NONE ), |
872 | | ENTRY( 0x0018, 0x1070, "LO", "Radiopharmaceutical Route", FUNCDCM_NONE ), |
873 | | ENTRY( 0x0018, 0x1071, "DS", "Radiopharmaceutical Volume", FUNCDCM_NONE ), |
874 | | ENTRY( 0x0018, 0x1072, "TM", "Radiopharmaceutical Start Time", FUNCDCM_NONE ), |
875 | | ENTRY( 0x0018, 0x1073, "TM", "Radiopharmaceutical Stop Time", FUNCDCM_NONE ), |
876 | | ENTRY( 0x0018, 0x1074, "DS", "Radionuclide Total Dose", FUNCDCM_NONE ), |
877 | | ENTRY( 0x0018, 0x1075, "DS", "Radionuclide Half Life", FUNCDCM_NONE ), |
878 | | ENTRY( 0x0018, 0x1076, "DS", "Radionuclide Positron Fraction", FUNCDCM_NONE ), |
879 | | ENTRY( 0x0018, 0x1077, "DS", "Radiopharmaceutical Specific Activity", FUNCDCM_NONE ), |
880 | | ENTRY( 0x0018, 0x1080, "CS", "Beat Rejection Flag", FUNCDCM_NONE ), |
881 | | ENTRY( 0x0018, 0x1081, "IS", "Low R-R Value", FUNCDCM_NONE ), |
882 | | ENTRY( 0x0018, 0x1082, "IS", "High R-R Value", FUNCDCM_NONE ), |
883 | | ENTRY( 0x0018, 0x1083, "IS", "Intervals Acquired", FUNCDCM_NONE ), |
884 | | ENTRY( 0x0018, 0x1084, "IS", "Intervals Rejected", FUNCDCM_NONE ), |
885 | | ENTRY( 0x0018, 0x1085, "LO", "PVC Rejection", FUNCDCM_NONE ), |
886 | | ENTRY( 0x0018, 0x1086, "IS", "Skip Beats", FUNCDCM_NONE ), |
887 | | ENTRY( 0x0018, 0x1088, "IS", "Heart Rate", FUNCDCM_NONE ), |
888 | | ENTRY( 0x0018, 0x1090, "IS", "Cardiac Number of Images", FUNCDCM_NONE ), |
889 | | ENTRY( 0x0018, 0x1094, "IS", "Trigger Window", FUNCDCM_NONE ), |
890 | | ENTRY( 0x0018, 0x1100, "DS", "Reconstruction Diameter", FUNCDCM_NONE ), |
891 | | ENTRY( 0x0018, 0x1110, "DS", "Distance Source to Detector", FUNCDCM_NONE ), |
892 | | ENTRY( 0x0018, 0x1111, "DS", "Distance Source to Patient", FUNCDCM_NONE ), |
893 | | ENTRY( 0x0018, 0x1114, "DS", "Estimated Radiographic Magnification Factor", FUNCDCM_NONE ), |
894 | | ENTRY( 0x0018, 0x1120, "DS", "Gantry/Detector Tilt", FUNCDCM_NONE ), |
895 | | ENTRY( 0x0018, 0x1121, "DS", "Gantry/Detector Slew", FUNCDCM_NONE ), |
896 | | ENTRY( 0x0018, 0x1130, "DS", "Table Height", FUNCDCM_NONE ), |
897 | | ENTRY( 0x0018, 0x1131, "DS", "Table Traverse", FUNCDCM_NONE ), |
898 | | ENTRY( 0x0018, 0x1134, "CS", "Table Motion", FUNCDCM_NONE ), |
899 | | ENTRY( 0x0018, 0x1135, "DS", "Table Vertical Increment", FUNCDCM_NONE ), |
900 | | ENTRY( 0x0018, 0x1136, "DS", "Table Lateral Increment", FUNCDCM_NONE ), |
901 | | ENTRY( 0x0018, 0x1137, "DS", "Table Longitudinal Increment", FUNCDCM_NONE ), |
902 | | ENTRY( 0x0018, 0x1138, "DS", "Table Angle", FUNCDCM_NONE ), |
903 | | ENTRY( 0x0018, 0x113a, "CS", "Table Type", FUNCDCM_NONE ), |
904 | | ENTRY( 0x0018, 0x1140, "CS", "Rotation Direction", FUNCDCM_NONE ), |
905 | | ENTRY( 0x0018, 0x1141, "DS", "Angular Position", FUNCDCM_NONE ), |
906 | | ENTRY( 0x0018, 0x1142, "DS", "Radial Position", FUNCDCM_NONE ), |
907 | | ENTRY( 0x0018, 0x1143, "DS", "Scan Arc", FUNCDCM_NONE ), |
908 | | ENTRY( 0x0018, 0x1144, "DS", "Angular Step", FUNCDCM_NONE ), |
909 | | ENTRY( 0x0018, 0x1145, "DS", "Center of Rotation Offset", FUNCDCM_NONE ), |
910 | | ENTRY( 0x0018, 0x1146, "DS", "Rotation Offset", FUNCDCM_NONE ), |
911 | | ENTRY( 0x0018, 0x1147, "CS", "Field of View Shape", FUNCDCM_NONE ), |
912 | | ENTRY( 0x0018, 0x1149, "IS", "Field of View Dimension(s)", FUNCDCM_NONE ), |
913 | | ENTRY( 0x0018, 0x1150, "IS", "Exposure Time", FUNCDCM_NONE ), |
914 | | ENTRY( 0x0018, 0x1151, "IS", "X-ray Tube Current", FUNCDCM_NONE ), |
915 | | ENTRY( 0x0018, 0x1152, "IS", "Exposure", FUNCDCM_NONE ), |
916 | | ENTRY( 0x0018, 0x1153, "IS", "Exposure in uAs", FUNCDCM_NONE ), |
917 | | ENTRY( 0x0018, 0x1154, "DS", "AveragePulseWidth", FUNCDCM_NONE ), |
918 | | ENTRY( 0x0018, 0x1155, "CS", "RadiationSetting", FUNCDCM_NONE ), |
919 | | ENTRY( 0x0018, 0x1156, "CS", "Rectification Type", FUNCDCM_NONE ), |
920 | | ENTRY( 0x0018, 0x115a, "CS", "RadiationMode", FUNCDCM_NONE ), |
921 | | ENTRY( 0x0018, 0x115e, "DS", "ImageAreaDoseProduct", FUNCDCM_NONE ), |
922 | | ENTRY( 0x0018, 0x1160, "SH", "Filter Type", FUNCDCM_NONE ), |
923 | | ENTRY( 0x0018, 0x1161, "LO", "TypeOfFilters", FUNCDCM_NONE ), |
924 | | ENTRY( 0x0018, 0x1162, "DS", "IntensifierSize", FUNCDCM_NONE ), |
925 | | ENTRY( 0x0018, 0x1164, "DS", "ImagerPixelSpacing", FUNCDCM_NONE ), |
926 | | ENTRY( 0x0018, 0x1166, "CS", "Grid", FUNCDCM_NONE ), |
927 | | ENTRY( 0x0018, 0x1170, "IS", "Generator Power", FUNCDCM_NONE ), |
928 | | ENTRY( 0x0018, 0x1180, "SH", "Collimator/Grid Name", FUNCDCM_NONE ), |
929 | | ENTRY( 0x0018, 0x1181, "CS", "Collimator Type", FUNCDCM_NONE ), |
930 | | ENTRY( 0x0018, 0x1182, "IS", "Focal Distance", FUNCDCM_NONE ), |
931 | | ENTRY( 0x0018, 0x1183, "DS", "X Focus Center", FUNCDCM_NONE ), |
932 | | ENTRY( 0x0018, 0x1184, "DS", "Y Focus Center", FUNCDCM_NONE ), |
933 | | ENTRY( 0x0018, 0x1190, "DS", "Focal Spot(s)", FUNCDCM_NONE ), |
934 | | ENTRY( 0x0018, 0x1191, "CS", "Anode Target Material", FUNCDCM_NONE ), |
935 | | ENTRY( 0x0018, 0x11a0, "DS", "Body Part Thickness", FUNCDCM_NONE ), |
936 | | ENTRY( 0x0018, 0x11a2, "DS", "Compression Force", FUNCDCM_NONE ), |
937 | | ENTRY( 0x0018, 0x1200, "DA", "Date of Last Calibration", FUNCDCM_NONE ), |
938 | | ENTRY( 0x0018, 0x1201, "TM", "Time of Last Calibration", FUNCDCM_NONE ), |
939 | | ENTRY( 0x0018, 0x1210, "SH", "Convolution Kernel", FUNCDCM_NONE ), |
940 | | ENTRY( 0x0018, 0x1240, "IS", "Upper/Lower Pixel Values", FUNCDCM_NONE ), |
941 | | ENTRY( 0x0018, 0x1242, "IS", "Actual Frame Duration", FUNCDCM_NONE ), |
942 | | ENTRY( 0x0018, 0x1243, "IS", "Count Rate", FUNCDCM_NONE ), |
943 | | ENTRY( 0x0018, 0x1244, "US", "Preferred Playback Sequencing", FUNCDCM_NONE ), |
944 | | ENTRY( 0x0018, 0x1250, "SH", "Receiving Coil", FUNCDCM_NONE ), |
945 | | ENTRY( 0x0018, 0x1251, "SH", "Transmitting Coil", FUNCDCM_NONE ), |
946 | | ENTRY( 0x0018, 0x1260, "SH", "Plate Type", FUNCDCM_NONE ), |
947 | | ENTRY( 0x0018, 0x1261, "LO", "Phosphor Type", FUNCDCM_NONE ), |
948 | | ENTRY( 0x0018, 0x1300, "DS", "Scan Velocity", FUNCDCM_NONE ), |
949 | | ENTRY( 0x0018, 0x1301, "CS", "Whole Body Technique", FUNCDCM_NONE ), |
950 | | ENTRY( 0x0018, 0x1302, "IS", "Scan Length", FUNCDCM_NONE ), |
951 | | ENTRY( 0x0018, 0x1310, "US", "Acquisition Matrix", FUNCDCM_NONE ), |
952 | | ENTRY( 0x0018, 0x1312, "CS", "Phase Encoding Direction", FUNCDCM_NONE ), |
953 | | ENTRY( 0x0018, 0x1314, "DS", "Flip Angle", FUNCDCM_NONE ), |
954 | | ENTRY( 0x0018, 0x1315, "CS", "Variable Flip Angle Flag", FUNCDCM_NONE ), |
955 | | ENTRY( 0x0018, 0x1316, "DS", "SAR", FUNCDCM_NONE ), |
956 | | ENTRY( 0x0018, 0x1318, "DS", "dB/dt", FUNCDCM_NONE ), |
957 | | ENTRY( 0x0018, 0x1400, "LO", "Acquisition Device Processing Description", FUNCDCM_NONE ), |
958 | | ENTRY( 0x0018, 0x1401, "LO", "Acquisition Device Processing Code", FUNCDCM_NONE ), |
959 | | ENTRY( 0x0018, 0x1402, "CS", "Cassette Orientation", FUNCDCM_NONE ), |
960 | | ENTRY( 0x0018, 0x1403, "CS", "Cassette Size", FUNCDCM_NONE ), |
961 | | ENTRY( 0x0018, 0x1404, "US", "Exposures on Plate", FUNCDCM_NONE ), |
962 | | ENTRY( 0x0018, 0x1405, "IS", "Relative X-ray Exposure", FUNCDCM_NONE ), |
963 | | ENTRY( 0x0018, 0x1450, "DS", "Column Angulation", FUNCDCM_NONE ), |
964 | | ENTRY( 0x0018, 0x1460, "DS", "Tomo Layer Height", FUNCDCM_NONE ), |
965 | | ENTRY( 0x0018, 0x1470, "DS", "Tomo Angle", FUNCDCM_NONE ), |
966 | | ENTRY( 0x0018, 0x1480, "DS", "Tomo Time", FUNCDCM_NONE ), |
967 | | ENTRY( 0x0018, 0x1490, "CS", "Tomo Type", FUNCDCM_NONE ), |
968 | | ENTRY( 0x0018, 0x1491, "CS", "Tomo Class", FUNCDCM_NONE ), |
969 | | ENTRY( 0x0018, 0x1495, "IS", "Number of Tomosynthesis Source Images", FUNCDCM_NONE ), |
970 | | ENTRY( 0x0018, 0x1500, "CS", "PositionerMotion", FUNCDCM_NONE ), |
971 | | ENTRY( 0x0018, 0x1508, "CS", "Positioner Type", FUNCDCM_NONE ), |
972 | | ENTRY( 0x0018, 0x1510, "DS", "PositionerPrimaryAngle", FUNCDCM_NONE ), |
973 | | ENTRY( 0x0018, 0x1511, "DS", "PositionerSecondaryAngle", FUNCDCM_NONE ), |
974 | | ENTRY( 0x0018, 0x1520, "DS", "PositionerPrimaryAngleIncrement", FUNCDCM_NONE ), |
975 | | ENTRY( 0x0018, 0x1521, "DS", "PositionerSecondaryAngleIncrement", FUNCDCM_NONE ), |
976 | | ENTRY( 0x0018, 0x1530, "DS", "DetectorPrimaryAngle", FUNCDCM_NONE ), |
977 | | ENTRY( 0x0018, 0x1531, "DS", "DetectorSecondaryAngle", FUNCDCM_NONE ), |
978 | | ENTRY( 0x0018, 0x1600, "CS", "Shutter Shape", FUNCDCM_NONE ), |
979 | | ENTRY( 0x0018, 0x1602, "IS", "Shutter Left Vertical Edge", FUNCDCM_NONE ), |
980 | | ENTRY( 0x0018, 0x1604, "IS", "Shutter Right Vertical Edge", FUNCDCM_NONE ), |
981 | | ENTRY( 0x0018, 0x1606, "IS", "Shutter Upper Horizontal Edge", FUNCDCM_NONE ), |
982 | | ENTRY( 0x0018, 0x1608, "IS", "Shutter Lower Horizonta lEdge", FUNCDCM_NONE ), |
983 | | ENTRY( 0x0018, 0x1610, "IS", "Center of Circular Shutter", FUNCDCM_NONE ), |
984 | | ENTRY( 0x0018, 0x1612, "IS", "Radius of Circular Shutter", FUNCDCM_NONE ), |
985 | | ENTRY( 0x0018, 0x1620, "IS", "Vertices of Polygonal Shutter", FUNCDCM_NONE ), |
986 | | ENTRY( 0x0018, 0x1622, "US", "Shutter Presentation Value", FUNCDCM_NONE ), |
987 | | ENTRY( 0x0018, 0x1623, "US", "Shutter Overlay Group", FUNCDCM_NONE ), |
988 | | ENTRY( 0x0018, 0x1700, "CS", "Collimator Shape", FUNCDCM_NONE ), |
989 | | ENTRY( 0x0018, 0x1702, "IS", "Collimator Left Vertical Edge", FUNCDCM_NONE ), |
990 | | ENTRY( 0x0018, 0x1704, "IS", "Collimator Right Vertical Edge", FUNCDCM_NONE ), |
991 | | ENTRY( 0x0018, 0x1706, "IS", "Collimator Upper Horizontal Edge", FUNCDCM_NONE ), |
992 | | ENTRY( 0x0018, 0x1708, "IS", "Collimator Lower Horizontal Edge", FUNCDCM_NONE ), |
993 | | ENTRY( 0x0018, 0x1710, "IS", "Center of Circular Collimator", FUNCDCM_NONE ), |
994 | | ENTRY( 0x0018, 0x1712, "IS", "Radius of Circular Collimator", FUNCDCM_NONE ), |
995 | | ENTRY( 0x0018, 0x1720, "IS", "Vertices of Polygonal Collimator", FUNCDCM_NONE ), |
996 | | ENTRY( 0x0018, 0x1800, "CS", "Acquisition Time Synchronized", FUNCDCM_NONE ), |
997 | | ENTRY( 0x0018, 0x1801, "SH", "Time Source", FUNCDCM_NONE ), |
998 | | ENTRY( 0x0018, 0x1802, "CS", "Time Distribution Protocol", FUNCDCM_NONE ), |
999 | | ENTRY( 0x0018, 0x4000, "LT", "Acquisition Comments", FUNCDCM_NONE ), |
1000 | | ENTRY( 0x0018, 0x5000, "SH", "Output Power", FUNCDCM_NONE ), |
1001 | | ENTRY( 0x0018, 0x5010, "LO", "Transducer Data", FUNCDCM_NONE ), |
1002 | | ENTRY( 0x0018, 0x5012, "DS", "Focus Depth", FUNCDCM_NONE ), |
1003 | | ENTRY( 0x0018, 0x5020, "LO", "Processing Function", FUNCDCM_NONE ), |
1004 | | ENTRY( 0x0018, 0x5021, "LO", "Postprocessing Function", FUNCDCM_NONE ), |
1005 | | ENTRY( 0x0018, 0x5022, "DS", "Mechanical Index", FUNCDCM_NONE ), |
1006 | | ENTRY( 0x0018, 0x5024, "DS", "Thermal Index", FUNCDCM_NONE ), |
1007 | | ENTRY( 0x0018, 0x5026, "DS", "Cranial Thermal Index", FUNCDCM_NONE ), |
1008 | | ENTRY( 0x0018, 0x5027, "DS", "Soft Tissue Thermal Index", FUNCDCM_NONE ), |
1009 | | ENTRY( 0x0018, 0x5028, "DS", "Soft Tissue-Focus Thermal Index", FUNCDCM_NONE ), |
1010 | | ENTRY( 0x0018, 0x5029, "DS", "Soft Tissue-Surface Thermal Index", FUNCDCM_NONE ), |
1011 | | ENTRY( 0x0018, 0x5030, "DS", "Dynamic Range", FUNCDCM_NONE ), |
1012 | | ENTRY( 0x0018, 0x5040, "DS", "Total Gain", FUNCDCM_NONE ), |
1013 | | ENTRY( 0x0018, 0x5050, "IS", "Depth of Scan Field", FUNCDCM_NONE ), |
1014 | | ENTRY( 0x0018, 0x5100, "CS", "Patient Position", FUNCDCM_NONE ), |
1015 | | ENTRY( 0x0018, 0x5101, "CS", "View Position", FUNCDCM_NONE ), |
1016 | | ENTRY( 0x0018, 0x5104, "SQ", "Projection Eponymous Name Code Sequence", FUNCDCM_NONE ), |
1017 | | ENTRY( 0x0018, 0x5210, "DS", "Image Transformation Matrix", FUNCDCM_NONE ), |
1018 | | ENTRY( 0x0018, 0x5212, "DS", "Image Translation Vector", FUNCDCM_NONE ), |
1019 | | ENTRY( 0x0018, 0x6000, "DS", "Sensitivity", FUNCDCM_NONE ), |
1020 | | ENTRY( 0x0018, 0x6011, "IS", "Sequence of Ultrasound Regions", FUNCDCM_NONE ), |
1021 | | ENTRY( 0x0018, 0x6012, "US", "Region Spatial Format", FUNCDCM_NONE ), |
1022 | | ENTRY( 0x0018, 0x6014, "US", "Region Data Type", FUNCDCM_NONE ), |
1023 | | ENTRY( 0x0018, 0x6016, "UL", "Region Flags", FUNCDCM_NONE ), |
1024 | | ENTRY( 0x0018, 0x6018, "UL", "Region Location Min X0", FUNCDCM_NONE ), |
1025 | | ENTRY( 0x0018, 0x601a, "UL", "Region Location Min Y0", FUNCDCM_NONE ), |
1026 | | ENTRY( 0x0018, 0x601c, "UL", "Region Location Max X1", FUNCDCM_NONE ), |
1027 | | ENTRY( 0x0018, 0x601e, "UL", "Region Location Max Y1", FUNCDCM_NONE ), |
1028 | | ENTRY( 0x0018, 0x6020, "SL", "Reference Pixel X0", FUNCDCM_NONE ), |
1029 | | ENTRY( 0x0018, 0x6022, "SL", "Reference Pixel Y0", FUNCDCM_NONE ), |
1030 | | ENTRY( 0x0018, 0x6024, "US", "Physical Units X Direction", FUNCDCM_NONE ), |
1031 | | ENTRY( 0x0018, 0x6026, "US", "Physical Units Y Direction", FUNCDCM_NONE ), |
1032 | | ENTRY( 0x0018, 0x6028, "FD", "Reference Pixel Physical Value X", FUNCDCM_NONE ), |
1033 | | ENTRY( 0x0018, 0x602a, "US", "Reference Pixel Physical Value Y", FUNCDCM_NONE ), |
1034 | | ENTRY( 0x0018, 0x602c, "US", "Physical Delta X", FUNCDCM_NONE ), |
1035 | | ENTRY( 0x0018, 0x602e, "US", "Physical Delta Y", FUNCDCM_NONE ), |
1036 | | ENTRY( 0x0018, 0x6030, "UL", "Transducer Frequency", FUNCDCM_NONE ), |
1037 | | ENTRY( 0x0018, 0x6031, "CS", "Transducer Type", FUNCDCM_NONE ), |
1038 | | ENTRY( 0x0018, 0x6032, "UL", "Pulse Repetition Frequency", FUNCDCM_NONE ), |
1039 | | ENTRY( 0x0018, 0x6034, "FD", "Doppler Correction Angle", FUNCDCM_NONE ), |
1040 | | ENTRY( 0x0018, 0x6036, "FD", "Steering Angle", FUNCDCM_NONE ), |
1041 | | ENTRY( 0x0018, 0x6038, "UL", "Doppler Sample Volume X Position", FUNCDCM_NONE ), |
1042 | | ENTRY( 0x0018, 0x603a, "UL", "Doppler Sample Volume Y Position", FUNCDCM_NONE ), |
1043 | | ENTRY( 0x0018, 0x603c, "UL", "TM-Line Position X0", FUNCDCM_NONE ), |
1044 | | ENTRY( 0x0018, 0x603e, "UL", "TM-Line Position Y0", FUNCDCM_NONE ), |
1045 | | ENTRY( 0x0018, 0x6040, "UL", "TM-Line Position X1", FUNCDCM_NONE ), |
1046 | | ENTRY( 0x0018, 0x6042, "UL", "TM-Line Position Y1", FUNCDCM_NONE ), |
1047 | | ENTRY( 0x0018, 0x6044, "US", "Pixel Component Organization", FUNCDCM_NONE ), |
1048 | | ENTRY( 0x0018, 0x6046, "UL", "Pixel Component Mask", FUNCDCM_NONE ), |
1049 | | ENTRY( 0x0018, 0x6048, "UL", "Pixel Component Range Start", FUNCDCM_NONE ), |
1050 | | ENTRY( 0x0018, 0x604a, "UL", "Pixel Component Range Stop", FUNCDCM_NONE ), |
1051 | | ENTRY( 0x0018, 0x604c, "US", "Pixel Component Physical Units", FUNCDCM_NONE ), |
1052 | | ENTRY( 0x0018, 0x604e, "US", "Pixel Component Data Type", FUNCDCM_NONE ), |
1053 | | ENTRY( 0x0018, 0x6050, "UL", "Number of Table Break Points", FUNCDCM_NONE ), |
1054 | | ENTRY( 0x0018, 0x6052, "UL", "Table of X Break Points", FUNCDCM_NONE ), |
1055 | | ENTRY( 0x0018, 0x6054, "FD", "Table of Y Break Points", FUNCDCM_NONE ), |
1056 | | ENTRY( 0x0018, 0x6056, "UL", "Number of Table Entries", FUNCDCM_NONE ), |
1057 | | ENTRY( 0x0018, 0x6058, "UL", "Table of Pixel Values", FUNCDCM_NONE ), |
1058 | | ENTRY( 0x0018, 0x605a, "FL", "Table of Parameter Values", FUNCDCM_NONE ), |
1059 | | ENTRY( 0x0018, 0x7000, "CS", "Detector Conditions Nominal Flag", FUNCDCM_NONE ), |
1060 | | ENTRY( 0x0018, 0x7001, "DS", "Detector Temperature", FUNCDCM_NONE ), |
1061 | | ENTRY( 0x0018, 0x7004, "CS", "Detector Type", FUNCDCM_NONE ), |
1062 | | ENTRY( 0x0018, 0x7005, "CS", "Detector Configuration", FUNCDCM_NONE ), |
1063 | | ENTRY( 0x0018, 0x7006, "LT", "Detector Description", FUNCDCM_NONE ), |
1064 | | ENTRY( 0x0018, 0x7008, "LT", "Detector Mode", FUNCDCM_NONE ), |
1065 | | ENTRY( 0x0018, 0x700a, "SH", "Detector ID", FUNCDCM_NONE ), |
1066 | | ENTRY( 0x0018, 0x700c, "DA", "Date of Last Detector Calibration ", FUNCDCM_NONE ), |
1067 | | ENTRY( 0x0018, 0x700e, "TM", "Time of Last Detector Calibration", FUNCDCM_NONE ), |
1068 | | ENTRY( 0x0018, 0x7010, "IS", "Exposures on Detector Since Last Calibration", FUNCDCM_NONE ), |
1069 | | ENTRY( 0x0018, 0x7011, "IS", "Exposures on Detector Since Manufactured", FUNCDCM_NONE ), |
1070 | | ENTRY( 0x0018, 0x7012, "DS", "Detector Time Since Last Exposure", FUNCDCM_NONE ), |
1071 | | ENTRY( 0x0018, 0x7014, "DS", "Detector Active Time", FUNCDCM_NONE ), |
1072 | | ENTRY( 0x0018, 0x7016, "DS", "Detector Activation Offset From Exposure", FUNCDCM_NONE ), |
1073 | | ENTRY( 0x0018, 0x701a, "DS", "Detector Binning", FUNCDCM_NONE ), |
1074 | | ENTRY( 0x0018, 0x7020, "DS", "Detector Element Physical Size", FUNCDCM_NONE ), |
1075 | | ENTRY( 0x0018, 0x7022, "DS", "Detector Element Spacing", FUNCDCM_NONE ), |
1076 | | ENTRY( 0x0018, 0x7024, "CS", "Detector Active Shape", FUNCDCM_NONE ), |
1077 | | ENTRY( 0x0018, 0x7026, "DS", "Detector Active Dimensions", FUNCDCM_NONE ), |
1078 | | ENTRY( 0x0018, 0x7028, "DS", "Detector Active Origin", FUNCDCM_NONE ), |
1079 | | ENTRY( 0x0018, 0x7030, "DS", "Field of View Origin", FUNCDCM_NONE ), |
1080 | | ENTRY( 0x0018, 0x7032, "DS", "Field of View Rotation", FUNCDCM_NONE ), |
1081 | | ENTRY( 0x0018, 0x7034, "CS", "Field of View Horizontal Flip", FUNCDCM_NONE ), |
1082 | | ENTRY( 0x0018, 0x7040, "LT", "Grid Absorbing Material", FUNCDCM_NONE ), |
1083 | | ENTRY( 0x0018, 0x7041, "LT", "Grid Spacing Material", FUNCDCM_NONE ), |
1084 | | ENTRY( 0x0018, 0x7042, "DS", "Grid Thickness", FUNCDCM_NONE ), |
1085 | | ENTRY( 0x0018, 0x7044, "DS", "Grid Pitch", FUNCDCM_NONE ), |
1086 | | ENTRY( 0x0018, 0x7046, "IS", "Grid Aspect Ratio", FUNCDCM_NONE ), |
1087 | | ENTRY( 0x0018, 0x7048, "DS", "Grid Period", FUNCDCM_NONE ), |
1088 | | ENTRY( 0x0018, 0x704c, "DS", "Grid Focal Distance", FUNCDCM_NONE ), |
1089 | | ENTRY( 0x0018, 0x7050, "LT", "Filter Material", FUNCDCM_NONE ), |
1090 | | ENTRY( 0x0018, 0x7052, "DS", "Filter Thickness Minimum", FUNCDCM_NONE ), |
1091 | | ENTRY( 0x0018, 0x7054, "DS", "Filter Thickness Maximum", FUNCDCM_NONE ), |
1092 | | ENTRY( 0x0018, 0x7060, "CS", "Exposure Control Mode", FUNCDCM_NONE ), |
1093 | | ENTRY( 0x0018, 0x7062, "LT", "Exposure Control Mode Description", FUNCDCM_NONE ), |
1094 | | ENTRY( 0x0018, 0x7064, "CS", "Exposure Status", FUNCDCM_NONE ), |
1095 | | ENTRY( 0x0018, 0x7065, "DS", "Phototimer Setting", FUNCDCM_NONE ), |
1096 | | ENTRY( 0x0019, 0x0000, "xs", "?", FUNCDCM_NONE ), |
1097 | | ENTRY( 0x0019, 0x0001, "xs", "?", FUNCDCM_NONE ), |
1098 | | ENTRY( 0x0019, 0x0002, "xs", "?", FUNCDCM_NONE ), |
1099 | | ENTRY( 0x0019, 0x0003, "xs", "?", FUNCDCM_NONE ), |
1100 | | ENTRY( 0x0019, 0x0004, "xs", "?", FUNCDCM_NONE ), |
1101 | | ENTRY( 0x0019, 0x0005, "xs", "?", FUNCDCM_NONE ), |
1102 | | ENTRY( 0x0019, 0x0006, "xs", "?", FUNCDCM_NONE ), |
1103 | | ENTRY( 0x0019, 0x0007, "xs", "?", FUNCDCM_NONE ), |
1104 | | ENTRY( 0x0019, 0x0008, "xs", "?", FUNCDCM_NONE ), |
1105 | | ENTRY( 0x0019, 0x0009, "xs", "?", FUNCDCM_NONE ), |
1106 | | ENTRY( 0x0019, 0x000a, "xs", "?", FUNCDCM_NONE ), |
1107 | | ENTRY( 0x0019, 0x000b, "DS", "?", FUNCDCM_NONE ), |
1108 | | ENTRY( 0x0019, 0x000c, "US", "?", FUNCDCM_NONE ), |
1109 | | ENTRY( 0x0019, 0x000d, "TM", "Time", FUNCDCM_NONE ), |
1110 | | ENTRY( 0x0019, 0x000e, "xs", "?", FUNCDCM_NONE ), |
1111 | | ENTRY( 0x0019, 0x000f, "DS", "Horizontal Frame Of Reference", FUNCDCM_NONE ), |
1112 | | ENTRY( 0x0019, 0x0010, "xs", "?", FUNCDCM_NONE ), |
1113 | | ENTRY( 0x0019, 0x0011, "xs", "?", FUNCDCM_NONE ), |
1114 | | ENTRY( 0x0019, 0x0012, "xs", "?", FUNCDCM_NONE ), |
1115 | | ENTRY( 0x0019, 0x0013, "xs", "?", FUNCDCM_NONE ), |
1116 | | ENTRY( 0x0019, 0x0014, "xs", "?", FUNCDCM_NONE ), |
1117 | | ENTRY( 0x0019, 0x0015, "xs", "?", FUNCDCM_NONE ), |
1118 | | ENTRY( 0x0019, 0x0016, "xs", "?", FUNCDCM_NONE ), |
1119 | | ENTRY( 0x0019, 0x0017, "xs", "?", FUNCDCM_NONE ), |
1120 | | ENTRY( 0x0019, 0x0018, "xs", "?", FUNCDCM_NONE ), |
1121 | | ENTRY( 0x0019, 0x0019, "xs", "?", FUNCDCM_NONE ), |
1122 | | ENTRY( 0x0019, 0x001a, "xs", "?", FUNCDCM_NONE ), |
1123 | | ENTRY( 0x0019, 0x001b, "xs", "?", FUNCDCM_NONE ), |
1124 | | ENTRY( 0x0019, 0x001c, "CS", "Dose", FUNCDCM_NONE ), |
1125 | | ENTRY( 0x0019, 0x001d, "IS", "Side Mark", FUNCDCM_NONE ), |
1126 | | ENTRY( 0x0019, 0x001e, "xs", "?", FUNCDCM_NONE ), |
1127 | | ENTRY( 0x0019, 0x001f, "DS", "Exposure Duration", FUNCDCM_NONE ), |
1128 | | ENTRY( 0x0019, 0x0020, "xs", "?", FUNCDCM_NONE ), |
1129 | | ENTRY( 0x0019, 0x0021, "xs", "?", FUNCDCM_NONE ), |
1130 | | ENTRY( 0x0019, 0x0022, "xs", "?", FUNCDCM_NONE ), |
1131 | | ENTRY( 0x0019, 0x0023, "xs", "?", FUNCDCM_NONE ), |
1132 | | ENTRY( 0x0019, 0x0024, "xs", "?", FUNCDCM_NONE ), |
1133 | | ENTRY( 0x0019, 0x0025, "xs", "?", FUNCDCM_NONE ), |
1134 | | ENTRY( 0x0019, 0x0026, "xs", "?", FUNCDCM_NONE ), |
1135 | | ENTRY( 0x0019, 0x0027, "xs", "?", FUNCDCM_NONE ), |
1136 | | ENTRY( 0x0019, 0x0028, "xs", "?", FUNCDCM_NONE ), |
1137 | | ENTRY( 0x0019, 0x0029, "IS", "?", FUNCDCM_NONE ), |
1138 | | ENTRY( 0x0019, 0x002a, "xs", "?", FUNCDCM_NONE ), |
1139 | | ENTRY( 0x0019, 0x002b, "DS", "Xray Off Position", FUNCDCM_NONE ), |
1140 | | ENTRY( 0x0019, 0x002c, "xs", "?", FUNCDCM_NONE ), |
1141 | | ENTRY( 0x0019, 0x002d, "US", "?", FUNCDCM_NONE ), |
1142 | | ENTRY( 0x0019, 0x002e, "xs", "?", FUNCDCM_NONE ), |
1143 | | ENTRY( 0x0019, 0x002f, "DS", "Trigger Frequency", FUNCDCM_NONE ), |
1144 | | ENTRY( 0x0019, 0x0030, "xs", "?", FUNCDCM_NONE ), |
1145 | | ENTRY( 0x0019, 0x0031, "xs", "?", FUNCDCM_NONE ), |
1146 | | ENTRY( 0x0019, 0x0032, "xs", "?", FUNCDCM_NONE ), |
1147 | | ENTRY( 0x0019, 0x0033, "UN", "ECG 2 Offset 2", FUNCDCM_NONE ), |
1148 | | ENTRY( 0x0019, 0x0034, "US", "?", FUNCDCM_NONE ), |
1149 | | ENTRY( 0x0019, 0x0036, "US", "?", FUNCDCM_NONE ), |
1150 | | ENTRY( 0x0019, 0x0038, "US", "?", FUNCDCM_NONE ), |
1151 | | ENTRY( 0x0019, 0x0039, "xs", "?", FUNCDCM_NONE ), |
1152 | | ENTRY( 0x0019, 0x003a, "xs", "?", FUNCDCM_NONE ), |
1153 | | ENTRY( 0x0019, 0x003b, "LT", "?", FUNCDCM_NONE ), |
1154 | | ENTRY( 0x0019, 0x003c, "xs", "?", FUNCDCM_NONE ), |
1155 | | ENTRY( 0x0019, 0x003e, "xs", "?", FUNCDCM_NONE ), |
1156 | | ENTRY( 0x0019, 0x003f, "UN", "?", FUNCDCM_NONE ), |
1157 | | ENTRY( 0x0019, 0x0040, "xs", "?", FUNCDCM_NONE ), |
1158 | | ENTRY( 0x0019, 0x0041, "xs", "?", FUNCDCM_NONE ), |
1159 | | ENTRY( 0x0019, 0x0042, "xs", "?", FUNCDCM_NONE ), |
1160 | | ENTRY( 0x0019, 0x0043, "xs", "?", FUNCDCM_NONE ), |
1161 | | ENTRY( 0x0019, 0x0044, "xs", "?", FUNCDCM_NONE ), |
1162 | | ENTRY( 0x0019, 0x0045, "xs", "?", FUNCDCM_NONE ), |
1163 | | ENTRY( 0x0019, 0x0046, "xs", "?", FUNCDCM_NONE ), |
1164 | | ENTRY( 0x0019, 0x0047, "xs", "?", FUNCDCM_NONE ), |
1165 | | ENTRY( 0x0019, 0x0048, "xs", "?", FUNCDCM_NONE ), |
1166 | | ENTRY( 0x0019, 0x0049, "US", "?", FUNCDCM_NONE ), |
1167 | | ENTRY( 0x0019, 0x004a, "xs", "?", FUNCDCM_NONE ), |
1168 | | ENTRY( 0x0019, 0x004b, "SL", "Data Size For Scan Data", FUNCDCM_NONE ), |
1169 | | ENTRY( 0x0019, 0x004c, "US", "?", FUNCDCM_NONE ), |
1170 | | ENTRY( 0x0019, 0x004e, "US", "?", FUNCDCM_NONE ), |
1171 | | ENTRY( 0x0019, 0x0050, "xs", "?", FUNCDCM_NONE ), |
1172 | | ENTRY( 0x0019, 0x0051, "xs", "?", FUNCDCM_NONE ), |
1173 | | ENTRY( 0x0019, 0x0052, "xs", "?", FUNCDCM_NONE ), |
1174 | | ENTRY( 0x0019, 0x0053, "LT", "Barcode", FUNCDCM_NONE ), |
1175 | | ENTRY( 0x0019, 0x0054, "xs", "?", FUNCDCM_NONE ), |
1176 | | ENTRY( 0x0019, 0x0055, "DS", "Receiver Reference Gain", FUNCDCM_NONE ), |
1177 | | ENTRY( 0x0019, 0x0056, "xs", "?", FUNCDCM_NONE ), |
1178 | | ENTRY( 0x0019, 0x0057, "SS", "CT Water Number", FUNCDCM_NONE ), |
1179 | | ENTRY( 0x0019, 0x0058, "xs", "?", FUNCDCM_NONE ), |
1180 | | ENTRY( 0x0019, 0x005a, "xs", "?", FUNCDCM_NONE ), |
1181 | | ENTRY( 0x0019, 0x005c, "xs", "?", FUNCDCM_NONE ), |
1182 | | ENTRY( 0x0019, 0x005d, "US", "?", FUNCDCM_NONE ), |
1183 | | ENTRY( 0x0019, 0x005e, "xs", "?", FUNCDCM_NONE ), |
1184 | | ENTRY( 0x0019, 0x005f, "SL", "Increment Between Channels", FUNCDCM_NONE ), |
1185 | | ENTRY( 0x0019, 0x0060, "xs", "?", FUNCDCM_NONE ), |
1186 | | ENTRY( 0x0019, 0x0061, "xs", "?", FUNCDCM_NONE ), |
1187 | | ENTRY( 0x0019, 0x0062, "xs", "?", FUNCDCM_NONE ), |
1188 | | ENTRY( 0x0019, 0x0063, "xs", "?", FUNCDCM_NONE ), |
1189 | | ENTRY( 0x0019, 0x0064, "xs", "?", FUNCDCM_NONE ), |
1190 | | ENTRY( 0x0019, 0x0065, "xs", "?", FUNCDCM_NONE ), |
1191 | | ENTRY( 0x0019, 0x0066, "xs", "?", FUNCDCM_NONE ), |
1192 | | ENTRY( 0x0019, 0x0067, "xs", "?", FUNCDCM_NONE ), |
1193 | | ENTRY( 0x0019, 0x0068, "xs", "?", FUNCDCM_NONE ), |
1194 | | ENTRY( 0x0019, 0x0069, "UL", "Convolution Mode", FUNCDCM_NONE ), |
1195 | | ENTRY( 0x0019, 0x006a, "xs", "?", FUNCDCM_NONE ), |
1196 | | ENTRY( 0x0019, 0x006b, "SS", "Field Of View In Detector Cells", FUNCDCM_NONE ), |
1197 | | ENTRY( 0x0019, 0x006c, "US", "?", FUNCDCM_NONE ), |
1198 | | ENTRY( 0x0019, 0x006e, "US", "?", FUNCDCM_NONE ), |
1199 | | ENTRY( 0x0019, 0x0070, "xs", "?", FUNCDCM_NONE ), |
1200 | | ENTRY( 0x0019, 0x0071, "xs", "?", FUNCDCM_NONE ), |
1201 | | ENTRY( 0x0019, 0x0072, "xs", "?", FUNCDCM_NONE ), |
1202 | | ENTRY( 0x0019, 0x0073, "xs", "?", FUNCDCM_NONE ), |
1203 | | ENTRY( 0x0019, 0x0074, "xs", "?", FUNCDCM_NONE ), |
1204 | | ENTRY( 0x0019, 0x0075, "xs", "?", FUNCDCM_NONE ), |
1205 | | ENTRY( 0x0019, 0x0076, "xs", "?", FUNCDCM_NONE ), |
1206 | | ENTRY( 0x0019, 0x0077, "US", "?", FUNCDCM_NONE ), |
1207 | | ENTRY( 0x0019, 0x0078, "US", "?", FUNCDCM_NONE ), |
1208 | | ENTRY( 0x0019, 0x007a, "US", "?", FUNCDCM_NONE ), |
1209 | | ENTRY( 0x0019, 0x007c, "US", "?", FUNCDCM_NONE ), |
1210 | | ENTRY( 0x0019, 0x007d, "DS", "Second Echo", FUNCDCM_NONE ), |
1211 | | ENTRY( 0x0019, 0x007e, "xs", "?", FUNCDCM_NONE ), |
1212 | | ENTRY( 0x0019, 0x007f, "DS", "Table Delta", FUNCDCM_NONE ), |
1213 | | ENTRY( 0x0019, 0x0080, "xs", "?", FUNCDCM_NONE ), |
1214 | | ENTRY( 0x0019, 0x0081, "xs", "?", FUNCDCM_NONE ), |
1215 | | ENTRY( 0x0019, 0x0082, "xs", "?", FUNCDCM_NONE ), |
1216 | | ENTRY( 0x0019, 0x0083, "xs", "?", FUNCDCM_NONE ), |
1217 | | ENTRY( 0x0019, 0x0084, "xs", "?", FUNCDCM_NONE ), |
1218 | | ENTRY( 0x0019, 0x0085, "xs", "?", FUNCDCM_NONE ), |
1219 | | ENTRY( 0x0019, 0x0086, "xs", "?", FUNCDCM_NONE ), |
1220 | | ENTRY( 0x0019, 0x0087, "xs", "?", FUNCDCM_NONE ), |
1221 | | ENTRY( 0x0019, 0x0088, "xs", "?", FUNCDCM_NONE ), |
1222 | | ENTRY( 0x0019, 0x008a, "xs", "?", FUNCDCM_NONE ), |
1223 | | ENTRY( 0x0019, 0x008b, "SS", "Actual Receive Gain Digital", FUNCDCM_NONE ), |
1224 | | ENTRY( 0x0019, 0x008c, "US", "?", FUNCDCM_NONE ), |
1225 | | ENTRY( 0x0019, 0x008d, "DS", "Delay After Trigger", FUNCDCM_NONE ), |
1226 | | ENTRY( 0x0019, 0x008e, "US", "?", FUNCDCM_NONE ), |
1227 | | ENTRY( 0x0019, 0x008f, "SS", "Swap Phase Frequency", FUNCDCM_NONE ), |
1228 | | ENTRY( 0x0019, 0x0090, "xs", "?", FUNCDCM_NONE ), |
1229 | | ENTRY( 0x0019, 0x0091, "xs", "?", FUNCDCM_NONE ), |
1230 | | ENTRY( 0x0019, 0x0092, "xs", "?", FUNCDCM_NONE ), |
1231 | | ENTRY( 0x0019, 0x0093, "xs", "?", FUNCDCM_NONE ), |
1232 | | ENTRY( 0x0019, 0x0094, "xs", "?", FUNCDCM_NONE ), |
1233 | | ENTRY( 0x0019, 0x0095, "SS", "Analog Receiver Gain", FUNCDCM_NONE ), |
1234 | | ENTRY( 0x0019, 0x0096, "xs", "?", FUNCDCM_NONE ), |
1235 | | ENTRY( 0x0019, 0x0097, "xs", "?", FUNCDCM_NONE ), |
1236 | | ENTRY( 0x0019, 0x0098, "xs", "?", FUNCDCM_NONE ), |
1237 | | ENTRY( 0x0019, 0x0099, "US", "?", FUNCDCM_NONE ), |
1238 | | ENTRY( 0x0019, 0x009a, "US", "?", FUNCDCM_NONE ), |
1239 | | ENTRY( 0x0019, 0x009b, "SS", "Pulse Sequence Mode", FUNCDCM_NONE ), |
1240 | | ENTRY( 0x0019, 0x009c, "xs", "?", FUNCDCM_NONE ), |
1241 | | ENTRY( 0x0019, 0x009d, "DT", "Pulse Sequence Date", FUNCDCM_NONE ), |
1242 | | ENTRY( 0x0019, 0x009e, "xs", "?", FUNCDCM_NONE ), |
1243 | | ENTRY( 0x0019, 0x009f, "xs", "?", FUNCDCM_NONE ), |
1244 | | ENTRY( 0x0019, 0x00a0, "xs", "?", FUNCDCM_NONE ), |
1245 | | ENTRY( 0x0019, 0x00a1, "xs", "?", FUNCDCM_NONE ), |
1246 | | ENTRY( 0x0019, 0x00a2, "xs", "?", FUNCDCM_NONE ), |
1247 | | ENTRY( 0x0019, 0x00a3, "xs", "?", FUNCDCM_NONE ), |
1248 | | ENTRY( 0x0019, 0x00a4, "xs", "?", FUNCDCM_NONE ), |
1249 | | ENTRY( 0x0019, 0x00a5, "xs", "?", FUNCDCM_NONE ), |
1250 | | ENTRY( 0x0019, 0x00a6, "xs", "?", FUNCDCM_NONE ), |
1251 | | ENTRY( 0x0019, 0x00a7, "xs", "?", FUNCDCM_NONE ), |
1252 | | ENTRY( 0x0019, 0x00a8, "xs", "?", FUNCDCM_NONE ), |
1253 | | ENTRY( 0x0019, 0x00a9, "xs", "?", FUNCDCM_NONE ), |
1254 | | ENTRY( 0x0019, 0x00aa, "xs", "?", FUNCDCM_NONE ), |
1255 | | ENTRY( 0x0019, 0x00ab, "xs", "?", FUNCDCM_NONE ), |
1256 | | ENTRY( 0x0019, 0x00ac, "xs", "?", FUNCDCM_NONE ), |
1257 | | ENTRY( 0x0019, 0x00ad, "xs", "?", FUNCDCM_NONE ), |
1258 | | ENTRY( 0x0019, 0x00ae, "xs", "?", FUNCDCM_NONE ), |
1259 | | ENTRY( 0x0019, 0x00af, "xs", "?", FUNCDCM_NONE ), |
1260 | | ENTRY( 0x0019, 0x00b0, "xs", "?", FUNCDCM_NONE ), |
1261 | | ENTRY( 0x0019, 0x00b1, "xs", "?", FUNCDCM_NONE ), |
1262 | | ENTRY( 0x0019, 0x00b2, "xs", "?", FUNCDCM_NONE ), |
1263 | | ENTRY( 0x0019, 0x00b3, "xs", "?", FUNCDCM_NONE ), |
1264 | | ENTRY( 0x0019, 0x00b4, "xs", "?", FUNCDCM_NONE ), |
1265 | | ENTRY( 0x0019, 0x00b5, "xs", "?", FUNCDCM_NONE ), |
1266 | | ENTRY( 0x0019, 0x00b6, "DS", "User Data", FUNCDCM_NONE ), |
1267 | | ENTRY( 0x0019, 0x00b7, "DS", "User Data", FUNCDCM_NONE ), |
1268 | | ENTRY( 0x0019, 0x00b8, "DS", "User Data", FUNCDCM_NONE ), |
1269 | | ENTRY( 0x0019, 0x00b9, "DS", "User Data", FUNCDCM_NONE ), |
1270 | | ENTRY( 0x0019, 0x00ba, "DS", "User Data", FUNCDCM_NONE ), |
1271 | | ENTRY( 0x0019, 0x00bb, "DS", "User Data", FUNCDCM_NONE ), |
1272 | | ENTRY( 0x0019, 0x00bc, "DS", "User Data", FUNCDCM_NONE ), |
1273 | | ENTRY( 0x0019, 0x00bd, "DS", "User Data", FUNCDCM_NONE ), |
1274 | | ENTRY( 0x0019, 0x00be, "DS", "Projection Angle", FUNCDCM_NONE ), |
1275 | | ENTRY( 0x0019, 0x00c0, "xs", "?", FUNCDCM_NONE ), |
1276 | | ENTRY( 0x0019, 0x00c1, "xs", "?", FUNCDCM_NONE ), |
1277 | | ENTRY( 0x0019, 0x00c2, "xs", "?", FUNCDCM_NONE ), |
1278 | | ENTRY( 0x0019, 0x00c3, "xs", "?", FUNCDCM_NONE ), |
1279 | | ENTRY( 0x0019, 0x00c4, "xs", "?", FUNCDCM_NONE ), |
1280 | | ENTRY( 0x0019, 0x00c5, "xs", "?", FUNCDCM_NONE ), |
1281 | | ENTRY( 0x0019, 0x00c6, "SS", "SAT Location H", FUNCDCM_NONE ), |
1282 | | ENTRY( 0x0019, 0x00c7, "SS", "SAT Location F", FUNCDCM_NONE ), |
1283 | | ENTRY( 0x0019, 0x00c8, "SS", "SAT Thickness R L", FUNCDCM_NONE ), |
1284 | | ENTRY( 0x0019, 0x00c9, "SS", "SAT Thickness A P", FUNCDCM_NONE ), |
1285 | | ENTRY( 0x0019, 0x00ca, "SS", "SAT Thickness H F", FUNCDCM_NONE ), |
1286 | | ENTRY( 0x0019, 0x00cb, "xs", "?", FUNCDCM_NONE ), |
1287 | | ENTRY( 0x0019, 0x00cc, "xs", "?", FUNCDCM_NONE ), |
1288 | | ENTRY( 0x0019, 0x00cd, "SS", "Thickness Disclaimer", FUNCDCM_NONE ), |
1289 | | ENTRY( 0x0019, 0x00ce, "SS", "Prescan Type", FUNCDCM_NONE ), |
1290 | | ENTRY( 0x0019, 0x00cf, "SS", "Prescan Status", FUNCDCM_NONE ), |
1291 | | ENTRY( 0x0019, 0x00d0, "SH", "Raw Data Type", FUNCDCM_NONE ), |
1292 | | ENTRY( 0x0019, 0x00d1, "DS", "Flow Sensitivity", FUNCDCM_NONE ), |
1293 | | ENTRY( 0x0019, 0x00d2, "xs", "?", FUNCDCM_NONE ), |
1294 | | ENTRY( 0x0019, 0x00d3, "xs", "?", FUNCDCM_NONE ), |
1295 | | ENTRY( 0x0019, 0x00d4, "xs", "?", FUNCDCM_NONE ), |
1296 | | ENTRY( 0x0019, 0x00d5, "xs", "?", FUNCDCM_NONE ), |
1297 | | ENTRY( 0x0019, 0x00d6, "xs", "?", FUNCDCM_NONE ), |
1298 | | ENTRY( 0x0019, 0x00d7, "xs", "?", FUNCDCM_NONE ), |
1299 | | ENTRY( 0x0019, 0x00d8, "xs", "?", FUNCDCM_NONE ), |
1300 | | ENTRY( 0x0019, 0x00d9, "xs", "?", FUNCDCM_NONE ), |
1301 | | ENTRY( 0x0019, 0x00da, "xs", "?", FUNCDCM_NONE ), |
1302 | | ENTRY( 0x0019, 0x00db, "DS", "Back Projector Coefficient", FUNCDCM_NONE ), |
1303 | | ENTRY( 0x0019, 0x00dc, "SS", "Primary Speed Correction Used", FUNCDCM_NONE ), |
1304 | | ENTRY( 0x0019, 0x00dd, "SS", "Overrange Correction Used", FUNCDCM_NONE ), |
1305 | | ENTRY( 0x0019, 0x00de, "DS", "Dynamic Z Alpha Value", FUNCDCM_NONE ), |
1306 | | ENTRY( 0x0019, 0x00df, "DS", "User Data", FUNCDCM_NONE ), |
1307 | | ENTRY( 0x0019, 0x00e0, "DS", "User Data", FUNCDCM_NONE ), |
1308 | | ENTRY( 0x0019, 0x00e1, "xs", "?", FUNCDCM_NONE ), |
1309 | | ENTRY( 0x0019, 0x00e2, "xs", "?", FUNCDCM_NONE ), |
1310 | | ENTRY( 0x0019, 0x00e3, "xs", "?", FUNCDCM_NONE ), |
1311 | | ENTRY( 0x0019, 0x00e4, "LT", "?", FUNCDCM_NONE ), |
1312 | | ENTRY( 0x0019, 0x00e5, "IS", "?", FUNCDCM_NONE ), |
1313 | | ENTRY( 0x0019, 0x00e6, "US", "?", FUNCDCM_NONE ), |
1314 | | ENTRY( 0x0019, 0x00e8, "DS", "?", FUNCDCM_NONE ), |
1315 | | ENTRY( 0x0019, 0x00e9, "DS", "?", FUNCDCM_NONE ), |
1316 | | ENTRY( 0x0019, 0x00eb, "DS", "?", FUNCDCM_NONE ), |
1317 | | ENTRY( 0x0019, 0x00ec, "US", "?", FUNCDCM_NONE ), |
1318 | | ENTRY( 0x0019, 0x00f0, "xs", "?", FUNCDCM_NONE ), |
1319 | | ENTRY( 0x0019, 0x00f1, "xs", "?", FUNCDCM_NONE ), |
1320 | | ENTRY( 0x0019, 0x00f2, "xs", "?", FUNCDCM_NONE ), |
1321 | | ENTRY( 0x0019, 0x00f3, "xs", "?", FUNCDCM_NONE ), |
1322 | | ENTRY( 0x0019, 0x00f4, "LT", "?", FUNCDCM_NONE ), |
1323 | | ENTRY( 0x0019, 0x00f9, "DS", "Transmission Gain", FUNCDCM_NONE ), |
1324 | | ENTRY( 0x0019, 0x1015, "UN", "?", FUNCDCM_NONE ), |
1325 | | ENTRY( 0x0020, 0x0000, "UL", "Relationship Group Length", FUNCDCM_NONE ), |
1326 | | ENTRY( 0x0020, 0x000d, "UI", "Study Instance UID", FUNCDCM_NONE ), |
1327 | | ENTRY( 0x0020, 0x000e, "UI", "Series Instance UID", FUNCDCM_NONE ), |
1328 | | ENTRY( 0x0020, 0x0010, "SH", "Study ID", FUNCDCM_NONE ), |
1329 | | ENTRY( 0x0020, 0x0011, "IS", "Series Number", FUNCDCM_SERIESNUMBER ), |
1330 | | ENTRY( 0x0020, 0x0012, "IS", "Acquisition Number", FUNCDCM_NONE ), |
1331 | | ENTRY( 0x0020, 0x0013, "IS", "Instance (formerly Image) Number", FUNCDCM_NONE ), |
1332 | | ENTRY( 0x0020, 0x0014, "IS", "Isotope Number", FUNCDCM_NONE ), |
1333 | | ENTRY( 0x0020, 0x0015, "IS", "Phase Number", FUNCDCM_NONE ), |
1334 | | ENTRY( 0x0020, 0x0016, "IS", "Interval Number", FUNCDCM_NONE ), |
1335 | | ENTRY( 0x0020, 0x0017, "IS", "Time Slot Number", FUNCDCM_NONE ), |
1336 | | ENTRY( 0x0020, 0x0018, "IS", "Angle Number", FUNCDCM_NONE ), |
1337 | | ENTRY( 0x0020, 0x0020, "CS", "Patient Orientation", FUNCDCM_NONE ), |
1338 | | ENTRY( 0x0020, 0x0022, "IS", "Overlay Number", FUNCDCM_NONE ), |
1339 | | ENTRY( 0x0020, 0x0024, "IS", "Curve Number", FUNCDCM_NONE ), |
1340 | | ENTRY( 0x0020, 0x0026, "IS", "LUT Number", FUNCDCM_NONE ), |
1341 | | ENTRY( 0x0020, 0x0030, "DS", "Image Position", FUNCDCM_IMAGEPOSITION ), |
1342 | | ENTRY( 0x0020, 0x0032, "DS", "Image Position (Patient)", FUNCDCM_NONE ), |
1343 | | ENTRY( 0x0020, 0x0035, "DS", "Image Orientation", FUNCDCM_NONE ), |
1344 | | ENTRY( 0x0020, 0x0037, "DS", "Image Orientation (Patient)", FUNCDCM_NONE ), |
1345 | | ENTRY( 0x0020, 0x0050, "DS", "Location", FUNCDCM_NONE ), |
1346 | | ENTRY( 0x0020, 0x0052, "UI", "Frame of Reference UID", FUNCDCM_NONE ), |
1347 | | ENTRY( 0x0020, 0x0060, "CS", "Laterality", FUNCDCM_NONE ), |
1348 | | ENTRY( 0x0020, 0x0062, "CS", "Image Laterality", FUNCDCM_NONE ), |
1349 | | ENTRY( 0x0020, 0x0070, "LT", "Image Geometry Type", FUNCDCM_NONE ), |
1350 | | ENTRY( 0x0020, 0x0080, "LO", "Masking Image", FUNCDCM_NONE ), |
1351 | | ENTRY( 0x0020, 0x0100, "IS", "Temporal Position Identifier", FUNCDCM_NONE ), |
1352 | | ENTRY( 0x0020, 0x0105, "IS", "Number of Temporal Positions", FUNCDCM_NONE ), |
1353 | | ENTRY( 0x0020, 0x0110, "DS", "Temporal Resolution", FUNCDCM_NONE ), |
1354 | | ENTRY( 0x0020, 0x1000, "IS", "Series in Study", FUNCDCM_NONE ), |
1355 | | ENTRY( 0x0020, 0x1001, "DS", "Acquisitions in Series", FUNCDCM_NONE ), |
1356 | | ENTRY( 0x0020, 0x1002, "IS", "Images in Acquisition", FUNCDCM_NONE ), |
1357 | | ENTRY( 0x0020, 0x1003, "IS", "Images in Series", FUNCDCM_NONE ), |
1358 | | ENTRY( 0x0020, 0x1004, "IS", "Acquisitions in Study", FUNCDCM_NONE ), |
1359 | | ENTRY( 0x0020, 0x1005, "IS", "Images in Study", FUNCDCM_NONE ), |
1360 | | ENTRY( 0x0020, 0x1020, "LO", "Reference", FUNCDCM_NONE ), |
1361 | | ENTRY( 0x0020, 0x1040, "LO", "Position Reference Indicator", FUNCDCM_NONE ), |
1362 | | ENTRY( 0x0020, 0x1041, "DS", "Slice Location", FUNCDCM_SLICELOCATION ), |
1363 | | ENTRY( 0x0020, 0x1070, "IS", "Other Study Numbers", FUNCDCM_NONE ), |
1364 | | ENTRY( 0x0020, 0x1200, "IS", "Number of Patient Related Studies", FUNCDCM_NONE ), |
1365 | | ENTRY( 0x0020, 0x1202, "IS", "Number of Patient Related Series", FUNCDCM_NONE ), |
1366 | | ENTRY( 0x0020, 0x1204, "IS", "Number of Patient Related Images", FUNCDCM_NONE ), |
1367 | | ENTRY( 0x0020, 0x1206, "IS", "Number of Study Related Series", FUNCDCM_NONE ), |
1368 | | ENTRY( 0x0020, 0x1208, "IS", "Number of Study Related Series", FUNCDCM_NONE ), |
1369 | | ENTRY( 0x0020, 0x3100, "LO", "Source Image IDs", FUNCDCM_NONE ), |
1370 | | ENTRY( 0x0020, 0x3401, "LO", "Modifying Device ID", FUNCDCM_NONE ), |
1371 | | ENTRY( 0x0020, 0x3402, "LO", "Modified Image ID", FUNCDCM_NONE ), |
1372 | | ENTRY( 0x0020, 0x3403, "xs", "Modified Image Date", FUNCDCM_NONE ), |
1373 | | ENTRY( 0x0020, 0x3404, "LO", "Modifying Device Manufacturer", FUNCDCM_NONE ), |
1374 | | ENTRY( 0x0020, 0x3405, "xs", "Modified Image Time", FUNCDCM_NONE ), |
1375 | | ENTRY( 0x0020, 0x3406, "xs", "Modified Image Description", FUNCDCM_NONE ), |
1376 | | ENTRY( 0x0020, 0x4000, "LT", "Image Comments", FUNCDCM_NONE ), |
1377 | | ENTRY( 0x0020, 0x5000, "AT", "Original Image Identification", FUNCDCM_NONE ), |
1378 | | ENTRY( 0x0020, 0x5002, "LO", "Original Image Identification Nomenclature", FUNCDCM_NONE ), |
1379 | | ENTRY( 0x0021, 0x0000, "xs", "?", FUNCDCM_NONE ), |
1380 | | ENTRY( 0x0021, 0x0001, "xs", "?", FUNCDCM_NONE ), |
1381 | | ENTRY( 0x0021, 0x0002, "xs", "?", FUNCDCM_NONE ), |
1382 | | ENTRY( 0x0021, 0x0003, "xs", "?", FUNCDCM_NONE ), |
1383 | | ENTRY( 0x0021, 0x0004, "DS", "VOI Position", FUNCDCM_NONE ), |
1384 | | ENTRY( 0x0021, 0x0005, "xs", "?", FUNCDCM_NONE ), |
1385 | | ENTRY( 0x0021, 0x0006, "IS", "CSI Matrix Size Original", FUNCDCM_NONE ), |
1386 | | ENTRY( 0x0021, 0x0007, "xs", "?", FUNCDCM_NONE ), |
1387 | | ENTRY( 0x0021, 0x0008, "DS", "Spatial Grid Shift", FUNCDCM_NONE ), |
1388 | | ENTRY( 0x0021, 0x0009, "DS", "Signal Limits Minimum", FUNCDCM_NONE ), |
1389 | | ENTRY( 0x0021, 0x0010, "xs", "?", FUNCDCM_NONE ), |
1390 | | ENTRY( 0x0021, 0x0011, "xs", "?", FUNCDCM_NONE ), |
1391 | | ENTRY( 0x0021, 0x0012, "xs", "?", FUNCDCM_NONE ), |
1392 | | ENTRY( 0x0021, 0x0013, "xs", "?", FUNCDCM_NONE ), |
1393 | | ENTRY( 0x0021, 0x0014, "xs", "?", FUNCDCM_NONE ), |
1394 | | ENTRY( 0x0021, 0x0015, "xs", "?", FUNCDCM_NONE ), |
1395 | | ENTRY( 0x0021, 0x0016, "xs", "?", FUNCDCM_NONE ), |
1396 | | ENTRY( 0x0021, 0x0017, "DS", "EPI Operation Mode Flag", FUNCDCM_NONE ), |
1397 | | ENTRY( 0x0021, 0x0018, "xs", "?", FUNCDCM_NONE ), |
1398 | | ENTRY( 0x0021, 0x0019, "xs", "?", FUNCDCM_NONE ), |
1399 | | ENTRY( 0x0021, 0x0020, "xs", "?", FUNCDCM_NONE ), |
1400 | | ENTRY( 0x0021, 0x0021, "xs", "?", FUNCDCM_NONE ), |
1401 | | ENTRY( 0x0021, 0x0022, "xs", "?", FUNCDCM_NONE ), |
1402 | | ENTRY( 0x0021, 0x0024, "xs", "?", FUNCDCM_NONE ), |
1403 | | ENTRY( 0x0021, 0x0025, "US", "?", FUNCDCM_NONE ), |
1404 | | ENTRY( 0x0021, 0x0026, "IS", "Image Pixel Offset", FUNCDCM_NONE ), |
1405 | | ENTRY( 0x0021, 0x0030, "xs", "?", FUNCDCM_NONE ), |
1406 | | ENTRY( 0x0021, 0x0031, "xs", "?", FUNCDCM_NONE ), |
1407 | | ENTRY( 0x0021, 0x0032, "xs", "?", FUNCDCM_NONE ), |
1408 | | ENTRY( 0x0021, 0x0034, "xs", "?", FUNCDCM_NONE ), |
1409 | | ENTRY( 0x0021, 0x0035, "SS", "Series From Which Prescribed", FUNCDCM_NONE ), |
1410 | | ENTRY( 0x0021, 0x0036, "xs", "?", FUNCDCM_NONE ), |
1411 | | ENTRY( 0x0021, 0x0037, "SS", "Screen Format", FUNCDCM_NONE ), |
1412 | | ENTRY( 0x0021, 0x0039, "DS", "Slab Thickness", FUNCDCM_NONE ), |
1413 | | ENTRY( 0x0021, 0x0040, "xs", "?", FUNCDCM_NONE ), |
1414 | | ENTRY( 0x0021, 0x0041, "xs", "?", FUNCDCM_NONE ), |
1415 | | ENTRY( 0x0021, 0x0042, "xs", "?", FUNCDCM_NONE ), |
1416 | | ENTRY( 0x0021, 0x0043, "xs", "?", FUNCDCM_NONE ), |
1417 | | ENTRY( 0x0021, 0x0044, "xs", "?", FUNCDCM_NONE ), |
1418 | | ENTRY( 0x0021, 0x0045, "xs", "?", FUNCDCM_NONE ), |
1419 | | ENTRY( 0x0021, 0x0046, "xs", "?", FUNCDCM_NONE ), |
1420 | | ENTRY( 0x0021, 0x0047, "xs", "?", FUNCDCM_NONE ), |
1421 | | ENTRY( 0x0021, 0x0048, "xs", "?", FUNCDCM_NONE ), |
1422 | | ENTRY( 0x0021, 0x0049, "xs", "?", FUNCDCM_NONE ), |
1423 | | ENTRY( 0x0021, 0x004a, "xs", "?", FUNCDCM_NONE ), |
1424 | | ENTRY( 0x0021, 0x004e, "US", "?", FUNCDCM_NONE ), |
1425 | | ENTRY( 0x0021, 0x004f, "xs", "?", FUNCDCM_NONE ), |
1426 | | ENTRY( 0x0021, 0x0050, "xs", "?", FUNCDCM_NONE ), |
1427 | | ENTRY( 0x0021, 0x0051, "xs", "?", FUNCDCM_NONE ), |
1428 | | ENTRY( 0x0021, 0x0052, "xs", "?", FUNCDCM_NONE ), |
1429 | | ENTRY( 0x0021, 0x0053, "xs", "?", FUNCDCM_NONE ), |
1430 | | ENTRY( 0x0021, 0x0054, "xs", "?", FUNCDCM_NONE ), |
1431 | | ENTRY( 0x0021, 0x0055, "xs", "?", FUNCDCM_NONE ), |
1432 | | ENTRY( 0x0021, 0x0056, "xs", "?", FUNCDCM_NONE ), |
1433 | | ENTRY( 0x0021, 0x0057, "xs", "?", FUNCDCM_NONE ), |
1434 | | ENTRY( 0x0021, 0x0058, "xs", "?", FUNCDCM_NONE ), |
1435 | | ENTRY( 0x0021, 0x0059, "xs", "?", FUNCDCM_NONE ), |
1436 | | ENTRY( 0x0021, 0x005a, "SL", "Integer Slop", FUNCDCM_NONE ), |
1437 | | ENTRY( 0x0021, 0x005b, "DS", "Float Slop", FUNCDCM_NONE ), |
1438 | | ENTRY( 0x0021, 0x005c, "DS", "Float Slop", FUNCDCM_NONE ), |
1439 | | ENTRY( 0x0021, 0x005d, "DS", "Float Slop", FUNCDCM_NONE ), |
1440 | | ENTRY( 0x0021, 0x005e, "DS", "Float Slop", FUNCDCM_NONE ), |
1441 | | ENTRY( 0x0021, 0x005f, "DS", "Float Slop", FUNCDCM_NONE ), |
1442 | | ENTRY( 0x0021, 0x0060, "xs", "?", FUNCDCM_NONE ), |
1443 | | ENTRY( 0x0021, 0x0061, "DS", "Image Normal", FUNCDCM_NONE ), |
1444 | | ENTRY( 0x0021, 0x0062, "IS", "Reference Type Code", FUNCDCM_NONE ), |
1445 | | ENTRY( 0x0021, 0x0063, "DS", "Image Distance", FUNCDCM_NONE ), |
1446 | | ENTRY( 0x0021, 0x0065, "US", "Image Positioning History Mask", FUNCDCM_NONE ), |
1447 | | ENTRY( 0x0021, 0x006a, "DS", "Image Row", FUNCDCM_NONE ), |
1448 | | ENTRY( 0x0021, 0x006b, "DS", "Image Column", FUNCDCM_NONE ), |
1449 | | ENTRY( 0x0021, 0x0070, "xs", "?", FUNCDCM_NONE ), |
1450 | | ENTRY( 0x0021, 0x0071, "xs", "?", FUNCDCM_NONE ), |
1451 | | ENTRY( 0x0021, 0x0072, "xs", "?", FUNCDCM_NONE ), |
1452 | | ENTRY( 0x0021, 0x0073, "DS", "Second Repetition Time", FUNCDCM_NONE ), |
1453 | | ENTRY( 0x0021, 0x0075, "DS", "Light Brightness", FUNCDCM_NONE ), |
1454 | | ENTRY( 0x0021, 0x0076, "DS", "Light Contrast", FUNCDCM_NONE ), |
1455 | | ENTRY( 0x0021, 0x007a, "IS", "Overlay Threshold", FUNCDCM_NONE ), |
1456 | | ENTRY( 0x0021, 0x007b, "IS", "Surface Threshold", FUNCDCM_NONE ), |
1457 | | ENTRY( 0x0021, 0x007c, "IS", "Grey Scale Threshold", FUNCDCM_NONE ), |
1458 | | ENTRY( 0x0021, 0x0080, "xs", "?", FUNCDCM_NONE ), |
1459 | | ENTRY( 0x0021, 0x0081, "DS", "Auto Window Level Alpha", FUNCDCM_NONE ), |
1460 | | ENTRY( 0x0021, 0x0082, "xs", "?", FUNCDCM_NONE ), |
1461 | | ENTRY( 0x0021, 0x0083, "DS", "Auto Window Level Window", FUNCDCM_NONE ), |
1462 | | ENTRY( 0x0021, 0x0084, "DS", "Auto Window Level Level", FUNCDCM_NONE ), |
1463 | | ENTRY( 0x0021, 0x0090, "xs", "?", FUNCDCM_NONE ), |
1464 | | ENTRY( 0x0021, 0x0091, "xs", "?", FUNCDCM_NONE ), |
1465 | | ENTRY( 0x0021, 0x0092, "xs", "?", FUNCDCM_NONE ), |
1466 | | ENTRY( 0x0021, 0x0093, "xs", "?", FUNCDCM_NONE ), |
1467 | | ENTRY( 0x0021, 0x0094, "DS", "EPI Change Value of X Component", FUNCDCM_NONE ), |
1468 | | ENTRY( 0x0021, 0x0095, "DS", "EPI Change Value of Y Component", FUNCDCM_NONE ), |
1469 | | ENTRY( 0x0021, 0x0096, "DS", "EPI Change Value of Z Component", FUNCDCM_NONE ), |
1470 | | ENTRY( 0x0021, 0x00a0, "xs", "?", FUNCDCM_NONE ), |
1471 | | ENTRY( 0x0021, 0x00a1, "DS", "?", FUNCDCM_NONE ), |
1472 | | ENTRY( 0x0021, 0x00a2, "xs", "?", FUNCDCM_NONE ), |
1473 | | ENTRY( 0x0021, 0x00a3, "LT", "?", FUNCDCM_NONE ), |
1474 | | ENTRY( 0x0021, 0x00a4, "LT", "?", FUNCDCM_NONE ), |
1475 | | ENTRY( 0x0021, 0x00a7, "LT", "?", FUNCDCM_NONE ), |
1476 | | ENTRY( 0x0021, 0x00b0, "IS", "?", FUNCDCM_NONE ), |
1477 | | ENTRY( 0x0021, 0x00c0, "IS", "?", FUNCDCM_NONE ), |
1478 | | ENTRY( 0x0023, 0x0000, "xs", "?", FUNCDCM_NONE ), |
1479 | | ENTRY( 0x0023, 0x0001, "SL", "Number Of Series In Study", FUNCDCM_NONE ), |
1480 | | ENTRY( 0x0023, 0x0002, "SL", "Number Of Unarchived Series", FUNCDCM_NONE ), |
1481 | | ENTRY( 0x0023, 0x0010, "xs", "?", FUNCDCM_NONE ), |
1482 | | ENTRY( 0x0023, 0x0020, "xs", "?", FUNCDCM_NONE ), |
1483 | | ENTRY( 0x0023, 0x0030, "xs", "?", FUNCDCM_NONE ), |
1484 | | ENTRY( 0x0023, 0x0040, "xs", "?", FUNCDCM_NONE ), |
1485 | | ENTRY( 0x0023, 0x0050, "xs", "?", FUNCDCM_NONE ), |
1486 | | ENTRY( 0x0023, 0x0060, "xs", "?", FUNCDCM_NONE ), |
1487 | | ENTRY( 0x0023, 0x0070, "xs", "?", FUNCDCM_NONE ), |
1488 | | ENTRY( 0x0023, 0x0074, "SL", "Number Of Updates To Info", FUNCDCM_NONE ), |
1489 | | ENTRY( 0x0023, 0x007d, "SS", "Indicates If Study Has Complete Info", FUNCDCM_NONE ), |
1490 | | ENTRY( 0x0023, 0x0080, "xs", "?", FUNCDCM_NONE ), |
1491 | | ENTRY( 0x0023, 0x0090, "xs", "?", FUNCDCM_NONE ), |
1492 | | ENTRY( 0x0023, 0x00ff, "US", "?", FUNCDCM_NONE ), |
1493 | | ENTRY( 0x0025, 0x0000, "UL", "Group Length", FUNCDCM_NONE ), |
1494 | | ENTRY( 0x0025, 0x0006, "SS", "Last Pulse Sequence Used", FUNCDCM_NONE ), |
1495 | | ENTRY( 0x0025, 0x0007, "SL", "Images In Series", FUNCDCM_NONE ), |
1496 | | ENTRY( 0x0025, 0x0010, "SS", "Landmark Counter", FUNCDCM_NONE ), |
1497 | | ENTRY( 0x0025, 0x0011, "SS", "Number Of Acquisitions", FUNCDCM_NONE ), |
1498 | | ENTRY( 0x0025, 0x0014, "SL", "Indicates Number Of Updates To Info", FUNCDCM_NONE ), |
1499 | | ENTRY( 0x0025, 0x0017, "SL", "Series Complete Flag", FUNCDCM_NONE ), |
1500 | | ENTRY( 0x0025, 0x0018, "SL", "Number Of Images Archived", FUNCDCM_NONE ), |
1501 | | ENTRY( 0x0025, 0x0019, "SL", "Last Image Number Used", FUNCDCM_NONE ), |
1502 | | ENTRY( 0x0025, 0x001a, "SH", "Primary Receiver Suite And Host", FUNCDCM_NONE ), |
1503 | | ENTRY( 0x0027, 0x0000, "US", "?", FUNCDCM_NONE ), |
1504 | | ENTRY( 0x0027, 0x0006, "SL", "Image Archive Flag", FUNCDCM_NONE ), |
1505 | | ENTRY( 0x0027, 0x0010, "SS", "Scout Type", FUNCDCM_NONE ), |
1506 | | ENTRY( 0x0027, 0x0011, "UN", "?", FUNCDCM_NONE ), |
1507 | | ENTRY( 0x0027, 0x0012, "IS", "?", FUNCDCM_NONE ), |
1508 | | ENTRY( 0x0027, 0x0013, "IS", "?", FUNCDCM_NONE ), |
1509 | | ENTRY( 0x0027, 0x0014, "IS", "?", FUNCDCM_NONE ), |
1510 | | ENTRY( 0x0027, 0x0015, "IS", "?", FUNCDCM_NONE ), |
1511 | | ENTRY( 0x0027, 0x0016, "LT", "?", FUNCDCM_NONE ), |
1512 | | ENTRY( 0x0027, 0x001c, "SL", "Vma Mamp", FUNCDCM_NONE ), |
1513 | | ENTRY( 0x0027, 0x001d, "SS", "Vma Phase", FUNCDCM_NONE ), |
1514 | | ENTRY( 0x0027, 0x001e, "SL", "Vma Mod", FUNCDCM_NONE ), |
1515 | | ENTRY( 0x0027, 0x001f, "SL", "Vma Clip", FUNCDCM_NONE ), |
1516 | | ENTRY( 0x0027, 0x0020, "SS", "Smart Scan On Off Flag", FUNCDCM_NONE ), |
1517 | | ENTRY( 0x0027, 0x0030, "SH", "Foreign Image Revision", FUNCDCM_NONE ), |
1518 | | ENTRY( 0x0027, 0x0031, "SS", "Imaging Mode", FUNCDCM_NONE ), |
1519 | | ENTRY( 0x0027, 0x0032, "SS", "Pulse Sequence", FUNCDCM_NONE ), |
1520 | | ENTRY( 0x0027, 0x0033, "SL", "Imaging Options", FUNCDCM_NONE ), |
1521 | | ENTRY( 0x0027, 0x0035, "SS", "Plane Type", FUNCDCM_NONE ), |
1522 | | ENTRY( 0x0027, 0x0036, "SL", "Oblique Plane", FUNCDCM_NONE ), |
1523 | | ENTRY( 0x0027, 0x0040, "SH", "RAS Letter Of Image Location", FUNCDCM_NONE ), |
1524 | | ENTRY( 0x0027, 0x0041, "FL", "Image Location", FUNCDCM_NONE ), |
1525 | | ENTRY( 0x0027, 0x0042, "FL", "Center R Coord Of Plane Image", FUNCDCM_NONE ), |
1526 | | ENTRY( 0x0027, 0x0043, "FL", "Center A Coord Of Plane Image", FUNCDCM_NONE ), |
1527 | | ENTRY( 0x0027, 0x0044, "FL", "Center S Coord Of Plane Image", FUNCDCM_NONE ), |
1528 | | ENTRY( 0x0027, 0x0045, "FL", "Normal R Coord", FUNCDCM_NONE ), |
1529 | | ENTRY( 0x0027, 0x0046, "FL", "Normal A Coord", FUNCDCM_NONE ), |
1530 | | ENTRY( 0x0027, 0x0047, "FL", "Normal S Coord", FUNCDCM_NONE ), |
1531 | | ENTRY( 0x0027, 0x0048, "FL", "R Coord Of Top Right Corner", FUNCDCM_NONE ), |
1532 | | ENTRY( 0x0027, 0x0049, "FL", "A Coord Of Top Right Corner", FUNCDCM_NONE ), |
1533 | | ENTRY( 0x0027, 0x004a, "FL", "S Coord Of Top Right Corner", FUNCDCM_NONE ), |
1534 | | ENTRY( 0x0027, 0x004b, "FL", "R Coord Of Bottom Right Corner", FUNCDCM_NONE ), |
1535 | | ENTRY( 0x0027, 0x004c, "FL", "A Coord Of Bottom Right Corner", FUNCDCM_NONE ), |
1536 | | ENTRY( 0x0027, 0x004d, "FL", "S Coord Of Bottom Right Corner", FUNCDCM_NONE ), |
1537 | | ENTRY( 0x0027, 0x0050, "FL", "Table Start Location", FUNCDCM_NONE ), |
1538 | | ENTRY( 0x0027, 0x0051, "FL", "Table End Location", FUNCDCM_NONE ), |
1539 | | ENTRY( 0x0027, 0x0052, "SH", "RAS Letter For Side Of Image", FUNCDCM_NONE ), |
1540 | | ENTRY( 0x0027, 0x0053, "SH", "RAS Letter For Anterior Posterior", FUNCDCM_NONE ), |
1541 | | ENTRY( 0x0027, 0x0054, "SH", "RAS Letter For Scout Start Loc", FUNCDCM_NONE ), |
1542 | | ENTRY( 0x0027, 0x0055, "SH", "RAS Letter For Scout End Loc", FUNCDCM_NONE ), |
1543 | | ENTRY( 0x0027, 0x0060, "FL", "Image Dimension X", FUNCDCM_NONE ), |
1544 | | ENTRY( 0x0027, 0x0061, "FL", "Image Dimension Y", FUNCDCM_NONE ), |
1545 | | ENTRY( 0x0027, 0x0062, "FL", "Number Of Excitations", FUNCDCM_NONE ), |
1546 | | ENTRY( 0x0028, 0x0000, "UL", "Image Presentation Group Length", FUNCDCM_NONE ), |
1547 | | ENTRY( 0x0028, 0x0002, "US", "Samples per Pixel", FUNCDCM_SAMPLESPERPIXEL ), |
1548 | | ENTRY( 0x0028, 0x0004, "CS", "Photometric Interpretation", FUNCDCM_PHOTOMETRICINTERPRETATION ), |
1549 | | ENTRY( 0x0028, 0x0005, "US", "Image Dimensions", FUNCDCM_NONE ), |
1550 | | ENTRY( 0x0028, 0x0006, "US", "Planar Configuration", FUNCDCM_PLANARCONFIGURATION ), |
1551 | | ENTRY( 0x0028, 0x0008, "IS", "Number of Frames", FUNCDCM_NUMBEROFFRAMES ), |
1552 | | ENTRY( 0x0028, 0x0009, "AT", "Frame Increment Pointer", FUNCDCM_NONE ), |
1553 | | ENTRY( 0x0028, 0x0010, "US", "Rows", FUNCDCM_ROWS ), |
1554 | | ENTRY( 0x0028, 0x0011, "US", "Columns", FUNCDCM_COLUMNS ), |
1555 | | ENTRY( 0x0028, 0x0012, "US", "Planes", FUNCDCM_NONE ), |
1556 | | ENTRY( 0x0028, 0x0014, "US", "Ultrasound Color Data Present", FUNCDCM_NONE ), |
1557 | | ENTRY( 0x0028, 0x0030, "DS", "Pixel Spacing", FUNCDCM_NONE ), |
1558 | | ENTRY( 0x0028, 0x0031, "DS", "Zoom Factor", FUNCDCM_NONE ), |
1559 | | ENTRY( 0x0028, 0x0032, "DS", "Zoom Center", FUNCDCM_NONE ), |
1560 | | ENTRY( 0x0028, 0x0034, "IS", "Pixel Aspect Ratio", FUNCDCM_NONE ), |
1561 | | ENTRY( 0x0028, 0x0040, "LO", "Image Format", FUNCDCM_NONE ), |
1562 | | ENTRY( 0x0028, 0x0050, "LT", "Manipulated Image", FUNCDCM_NONE ), |
1563 | | ENTRY( 0x0028, 0x0051, "CS", "Corrected Image", FUNCDCM_NONE ), |
1564 | | ENTRY( 0x0028, 0x005f, "LO", "Compression Recognition Code", FUNCDCM_NONE ), |
1565 | | ENTRY( 0x0028, 0x0060, "LO", "Compression Code", FUNCDCM_NONE ), |
1566 | | ENTRY( 0x0028, 0x0061, "SH", "Compression Originator", FUNCDCM_NONE ), |
1567 | | ENTRY( 0x0028, 0x0062, "SH", "Compression Label", FUNCDCM_NONE ), |
1568 | | ENTRY( 0x0028, 0x0063, "SH", "Compression Description", FUNCDCM_NONE ), |
1569 | | ENTRY( 0x0028, 0x0065, "LO", "Compression Sequence", FUNCDCM_NONE ), |
1570 | | ENTRY( 0x0028, 0x0066, "AT", "Compression Step Pointers", FUNCDCM_NONE ), |
1571 | | ENTRY( 0x0028, 0x0068, "US", "Repeat Interval", FUNCDCM_NONE ), |
1572 | | ENTRY( 0x0028, 0x0069, "US", "Bits Grouped", FUNCDCM_NONE ), |
1573 | | ENTRY( 0x0028, 0x0070, "US", "Perimeter Table", FUNCDCM_NONE ), |
1574 | | ENTRY( 0x0028, 0x0071, "xs", "Perimeter Value", FUNCDCM_NONE ), |
1575 | | ENTRY( 0x0028, 0x0080, "US", "Predictor Rows", FUNCDCM_NONE ), |
1576 | | ENTRY( 0x0028, 0x0081, "US", "Predictor Columns", FUNCDCM_NONE ), |
1577 | | ENTRY( 0x0028, 0x0082, "US", "Predictor Constants", FUNCDCM_NONE ), |
1578 | | ENTRY( 0x0028, 0x0090, "LO", "Blocked Pixels", FUNCDCM_NONE ), |
1579 | | ENTRY( 0x0028, 0x0091, "US", "Block Rows", FUNCDCM_NONE ), |
1580 | | ENTRY( 0x0028, 0x0092, "US", "Block Columns", FUNCDCM_NONE ), |
1581 | | ENTRY( 0x0028, 0x0093, "US", "Row Overlap", FUNCDCM_NONE ), |
1582 | | ENTRY( 0x0028, 0x0094, "US", "Column Overlap", FUNCDCM_NONE ), |
1583 | | ENTRY( 0x0028, 0x0100, "US", "Bits Allocated", FUNCDCM_BITSALLOCATED ), |
1584 | | ENTRY( 0x0028, 0x0101, "US", "Bits Stored", FUNCDCM_BITSSTORED ), |
1585 | | ENTRY( 0x0028, 0x0102, "US", "High Bit", FUNCDCM_HIGHBIT ), |
1586 | | ENTRY( 0x0028, 0x0103, "US", "Pixel Representation", FUNCDCM_PIXELREPRESENTATION ), |
1587 | | ENTRY( 0x0028, 0x0104, "xs", "Smallest Valid Pixel Value", FUNCDCM_NONE ), |
1588 | | ENTRY( 0x0028, 0x0105, "xs", "Largest Valid Pixel Value", FUNCDCM_NONE ), |
1589 | | ENTRY( 0x0028, 0x0106, "xs", "Smallest Image Pixel Value", FUNCDCM_NONE ), |
1590 | | ENTRY( 0x0028, 0x0107, "xs", "Largest Image Pixel Value", FUNCDCM_NONE ), |
1591 | | ENTRY( 0x0028, 0x0108, "xs", "Smallest Pixel Value in Series", FUNCDCM_NONE ), |
1592 | | ENTRY( 0x0028, 0x0109, "xs", "Largest Pixel Value in Series", FUNCDCM_NONE ), |
1593 | | ENTRY( 0x0028, 0x0110, "xs", "Smallest Pixel Value in Plane", FUNCDCM_NONE ), |
1594 | | ENTRY( 0x0028, 0x0111, "xs", "Largest Pixel Value in Plane", FUNCDCM_NONE ), |
1595 | | ENTRY( 0x0028, 0x0120, "xs", "Pixel Padding Value", FUNCDCM_NONE ), |
1596 | | ENTRY( 0x0028, 0x0121, "xs", "Pixel Padding Range Limit", FUNCDCM_NONE ), |
1597 | | ENTRY( 0x0028, 0x0200, "xs", "Image Location", FUNCDCM_NONE ), |
1598 | | ENTRY( 0x0028, 0x0300, "CS", "Quality Control Image", FUNCDCM_NONE ), |
1599 | | ENTRY( 0x0028, 0x0301, "CS", "Burned In Annotation", FUNCDCM_NONE ), |
1600 | | ENTRY( 0x0028, 0x0400, "xs", "?", FUNCDCM_NONE ), |
1601 | | ENTRY( 0x0028, 0x0401, "xs", "?", FUNCDCM_NONE ), |
1602 | | ENTRY( 0x0028, 0x0402, "xs", "?", FUNCDCM_NONE ), |
1603 | | ENTRY( 0x0028, 0x0403, "xs", "?", FUNCDCM_NONE ), |
1604 | | ENTRY( 0x0028, 0x0404, "AT", "Details of Coefficients", FUNCDCM_NONE ), |
1605 | | ENTRY( 0x0028, 0x0700, "LO", "DCT Label", FUNCDCM_NONE ), |
1606 | | ENTRY( 0x0028, 0x0701, "LO", "Data Block Description", FUNCDCM_NONE ), |
1607 | | ENTRY( 0x0028, 0x0702, "AT", "Data Block", FUNCDCM_NONE ), |
1608 | | ENTRY( 0x0028, 0x0710, "US", "Normalization Factor Format", FUNCDCM_NONE ), |
1609 | | ENTRY( 0x0028, 0x0720, "US", "Zonal Map Number Format", FUNCDCM_NONE ), |
1610 | | ENTRY( 0x0028, 0x0721, "AT", "Zonal Map Location", FUNCDCM_NONE ), |
1611 | | ENTRY( 0x0028, 0x0722, "US", "Zonal Map Format", FUNCDCM_NONE ), |
1612 | | ENTRY( 0x0028, 0x0730, "US", "Adaptive Map Format", FUNCDCM_NONE ), |
1613 | | ENTRY( 0x0028, 0x0740, "US", "Code Number Format", FUNCDCM_NONE ), |
1614 | | ENTRY( 0x0028, 0x0800, "LO", "Code Label", FUNCDCM_NONE ), |
1615 | | ENTRY( 0x0028, 0x0802, "US", "Number of Tables", FUNCDCM_NONE ), |
1616 | | ENTRY( 0x0028, 0x0803, "AT", "Code Table Location", FUNCDCM_NONE ), |
1617 | | ENTRY( 0x0028, 0x0804, "US", "Bits For Code Word", FUNCDCM_NONE ), |
1618 | | ENTRY( 0x0028, 0x0808, "AT", "Image Data Location", FUNCDCM_NONE ), |
1619 | | ENTRY( 0x0028, 0x1040, "CS", "Pixel Intensity Relationship", FUNCDCM_NONE ), |
1620 | | ENTRY( 0x0028, 0x1041, "SS", "Pixel Intensity Relationship Sign", FUNCDCM_NONE ), |
1621 | | ENTRY( 0x0028, 0x1050, "DS", "Window Center", FUNCDCM_WINDOWCENTER ), |
1622 | | ENTRY( 0x0028, 0x1051, "DS", "Window Width", FUNCDCM_WINDOWWIDTH ), |
1623 | | ENTRY( 0x0028, 0x1052, "DS", "Rescale Intercept", FUNCDCM_RESCALEINTERCEPT ), |
1624 | | ENTRY( 0x0028, 0x1053, "DS", "Rescale Slope", FUNCDCM_RESCALESLOPE ), |
1625 | | ENTRY( 0x0028, 0x1054, "LO", "Rescale Type", FUNCDCM_RESCALETYPE ), |
1626 | | ENTRY( 0x0028, 0x1055, "LO", "Window Center & Width Explanation", FUNCDCM_NONE ), |
1627 | | ENTRY( 0x0028, 0x1080, "LO", "Gray Scale", FUNCDCM_NONE ), |
1628 | | ENTRY( 0x0028, 0x1090, "CS", "Recommended Viewing Mode", FUNCDCM_NONE ), |
1629 | | ENTRY( 0x0028, 0x1100, "xs", "Gray Lookup Table Descriptor", FUNCDCM_NONE ), |
1630 | | ENTRY( 0x0028, 0x1101, "xs", "Red Palette Color Lookup Table Descriptor", FUNCDCM_PALETTEDESCRIPTOR ), |
1631 | | ENTRY( 0x0028, 0x1102, "xs", "Green Palette Color Lookup Table Descriptor", FUNCDCM_PALETTEDESCRIPTOR ), |
1632 | | ENTRY( 0x0028, 0x1103, "xs", "Blue Palette Color Lookup Table Descriptor", FUNCDCM_PALETTEDESCRIPTOR ), |
1633 | | ENTRY( 0x0028, 0x1111, "OW", "Large Red Palette Color Lookup Table Descriptor", FUNCDCM_NONE ), |
1634 | | ENTRY( 0x0028, 0x1112, "OW", "Large Green Palette Color Lookup Table Descriptor", FUNCDCM_NONE ), |
1635 | | ENTRY( 0x0028, 0x1113, "OW", "Large Blue Palette Color Lookup Table Descriptor", FUNCDCM_NONE ), |
1636 | | ENTRY( 0x0028, 0x1199, "UI", "Palette Color Lookup Table UID", FUNCDCM_NONE ), |
1637 | | ENTRY( 0x0028, 0x1200, "xs", "Gray Lookup Table Data", FUNCDCM_LUT ), |
1638 | | ENTRY( 0x0028, 0x1201, "OW", "Red Palette Color Lookup Table Data", FUNCDCM_PALETTE ), |
1639 | | ENTRY( 0x0028, 0x1202, "OW", "Green Palette Color Lookup Table Data", FUNCDCM_PALETTE ), |
1640 | | ENTRY( 0x0028, 0x1203, "OW", "Blue Palette Color Lookup Table Data", FUNCDCM_PALETTE ), |
1641 | | ENTRY( 0x0028, 0x1211, "OW", "Large Red Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1642 | | ENTRY( 0x0028, 0x1212, "OW", "Large Green Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1643 | | ENTRY( 0x0028, 0x1213, "OW", "Large Blue Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1644 | | ENTRY( 0x0028, 0x1214, "UI", "Large Palette Color Lookup Table UID", FUNCDCM_NONE ), |
1645 | | ENTRY( 0x0028, 0x1221, "OW", "Segmented Red Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1646 | | ENTRY( 0x0028, 0x1222, "OW", "Segmented Green Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1647 | | ENTRY( 0x0028, 0x1223, "OW", "Segmented Blue Palette Color Lookup Table Data", FUNCDCM_NONE ), |
1648 | | ENTRY( 0x0028, 0x1300, "CS", "Implant Present", FUNCDCM_NONE ), |
1649 | | ENTRY( 0x0028, 0x2110, "CS", "Lossy Image Compression", FUNCDCM_NONE ), |
1650 | | ENTRY( 0x0028, 0x2112, "DS", "Lossy Image Compression Ratio", FUNCDCM_NONE ), |
1651 | | ENTRY( 0x0028, 0x3000, "SQ", "Modality LUT Sequence", FUNCDCM_NONE ), |
1652 | | ENTRY( 0x0028, 0x3002, "US", "LUT Descriptor", FUNCDCM_NONE ), |
1653 | | ENTRY( 0x0028, 0x3003, "LO", "LUT Explanation", FUNCDCM_NONE ), |
1654 | | ENTRY( 0x0028, 0x3004, "LO", "Modality LUT Type", FUNCDCM_NONE ), |
1655 | | ENTRY( 0x0028, 0x3006, "US", "LUT Data", FUNCDCM_LUT ), |
1656 | | ENTRY( 0x0028, 0x3010, "xs", "VOI LUT Sequence", FUNCDCM_NONE ), |
1657 | | ENTRY( 0x0028, 0x4000, "LT", "Image Presentation Comments", FUNCDCM_NONE ), |
1658 | | ENTRY( 0x0028, 0x5000, "SQ", "Biplane Acquisition Sequence", FUNCDCM_NONE ), |
1659 | | ENTRY( 0x0028, 0x6010, "US", "Representative Frame Number", FUNCDCM_NONE ), |
1660 | | ENTRY( 0x0028, 0x6020, "US", "Frame Numbers of Interest", FUNCDCM_NONE ), |
1661 | | ENTRY( 0x0028, 0x6022, "LO", "Frame of Interest Description", FUNCDCM_NONE ), |
1662 | | ENTRY( 0x0028, 0x6030, "US", "Mask Pointer", FUNCDCM_NONE ), |
1663 | | ENTRY( 0x0028, 0x6040, "US", "R Wave Pointer", FUNCDCM_NONE ), |
1664 | | ENTRY( 0x0028, 0x6100, "SQ", "Mask Subtraction Sequence", FUNCDCM_NONE ), |
1665 | | ENTRY( 0x0028, 0x6101, "CS", "Mask Operation", FUNCDCM_NONE ), |
1666 | | ENTRY( 0x0028, 0x6102, "US", "Applicable Frame Range", FUNCDCM_NONE ), |
1667 | | ENTRY( 0x0028, 0x6110, "US", "Mask Frame Numbers", FUNCDCM_NONE ), |
1668 | | ENTRY( 0x0028, 0x6112, "US", "Contrast Frame Averaging", FUNCDCM_NONE ), |
1669 | | ENTRY( 0x0028, 0x6114, "FL", "Mask Sub-Pixel Shift", FUNCDCM_NONE ), |
1670 | | ENTRY( 0x0028, 0x6120, "SS", "TID Offset", FUNCDCM_NONE ), |
1671 | | ENTRY( 0x0028, 0x6190, "ST", "Mask Operation Explanation", FUNCDCM_NONE ), |
1672 | | ENTRY( 0x0029, 0x0000, "xs", "?", FUNCDCM_NONE ), |
1673 | | ENTRY( 0x0029, 0x0001, "xs", "?", FUNCDCM_NONE ), |
1674 | | ENTRY( 0x0029, 0x0002, "xs", "?", FUNCDCM_NONE ), |
1675 | | ENTRY( 0x0029, 0x0003, "xs", "?", FUNCDCM_NONE ), |
1676 | | ENTRY( 0x0029, 0x0004, "xs", "?", FUNCDCM_NONE ), |
1677 | | ENTRY( 0x0029, 0x0005, "xs", "?", FUNCDCM_NONE ), |
1678 | | ENTRY( 0x0029, 0x0006, "xs", "?", FUNCDCM_NONE ), |
1679 | | ENTRY( 0x0029, 0x0007, "SL", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1680 | | ENTRY( 0x0029, 0x0008, "SH", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1681 | | ENTRY( 0x0029, 0x0009, "SH", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1682 | | ENTRY( 0x0029, 0x000a, "SS", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1683 | | ENTRY( 0x0029, 0x000c, "xs", "?", FUNCDCM_NONE ), |
1684 | | ENTRY( 0x0029, 0x000e, "CS", "Zoom Enable Status", FUNCDCM_NONE ), |
1685 | | ENTRY( 0x0029, 0x000f, "CS", "Zoom Select Status", FUNCDCM_NONE ), |
1686 | | ENTRY( 0x0029, 0x0010, "xs", "?", FUNCDCM_NONE ), |
1687 | | ENTRY( 0x0029, 0x0011, "xs", "?", FUNCDCM_NONE ), |
1688 | | ENTRY( 0x0029, 0x0013, "LT", "?", FUNCDCM_NONE ), |
1689 | | ENTRY( 0x0029, 0x0015, "xs", "?", FUNCDCM_NONE ), |
1690 | | ENTRY( 0x0029, 0x0016, "SL", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1691 | | ENTRY( 0x0029, 0x0017, "SL", "Lower Range Of Pixels", FUNCDCM_NONE ), |
1692 | | ENTRY( 0x0029, 0x0018, "SL", "Upper Range Of Pixels", FUNCDCM_NONE ), |
1693 | | ENTRY( 0x0029, 0x001a, "SL", "Length Of Total Info In Bytes", FUNCDCM_NONE ), |
1694 | | ENTRY( 0x0029, 0x001e, "xs", "?", FUNCDCM_NONE ), |
1695 | | ENTRY( 0x0029, 0x001f, "xs", "?", FUNCDCM_NONE ), |
1696 | | ENTRY( 0x0029, 0x0020, "xs", "?", FUNCDCM_NONE ), |
1697 | | ENTRY( 0x0029, 0x0022, "IS", "Pixel Quality Value", FUNCDCM_NONE ), |
1698 | | ENTRY( 0x0029, 0x0025, "LT", "Processed Pixel Data Quality", FUNCDCM_NONE ), |
1699 | | ENTRY( 0x0029, 0x0026, "SS", "Version Of Info Structure", FUNCDCM_NONE ), |
1700 | | ENTRY( 0x0029, 0x0030, "xs", "?", FUNCDCM_NONE ), |
1701 | | ENTRY( 0x0029, 0x0031, "xs", "?", FUNCDCM_NONE ), |
1702 | | ENTRY( 0x0029, 0x0032, "xs", "?", FUNCDCM_NONE ), |
1703 | | ENTRY( 0x0029, 0x0033, "xs", "?", FUNCDCM_NONE ), |
1704 | | ENTRY( 0x0029, 0x0034, "xs", "?", FUNCDCM_NONE ), |
1705 | | ENTRY( 0x0029, 0x0035, "SL", "Advantage Comp Underflow", FUNCDCM_NONE ), |
1706 | | ENTRY( 0x0029, 0x0038, "US", "?", FUNCDCM_NONE ), |
1707 | | ENTRY( 0x0029, 0x0040, "xs", "?", FUNCDCM_NONE ), |
1708 | | ENTRY( 0x0029, 0x0041, "DS", "Magnifying Glass Rectangle", FUNCDCM_NONE ), |
1709 | | ENTRY( 0x0029, 0x0043, "DS", "Magnifying Glass Factor", FUNCDCM_NONE ), |
1710 | | ENTRY( 0x0029, 0x0044, "US", "Magnifying Glass Function", FUNCDCM_NONE ), |
1711 | | ENTRY( 0x0029, 0x004e, "CS", "Magnifying Glass Enable Status", FUNCDCM_NONE ), |
1712 | | ENTRY( 0x0029, 0x004f, "CS", "Magnifying Glass Select Status", FUNCDCM_NONE ), |
1713 | | ENTRY( 0x0029, 0x0050, "xs", "?", FUNCDCM_NONE ), |
1714 | | ENTRY( 0x0029, 0x0051, "LT", "Exposure Code", FUNCDCM_NONE ), |
1715 | | ENTRY( 0x0029, 0x0052, "LT", "Sort Code", FUNCDCM_NONE ), |
1716 | | ENTRY( 0x0029, 0x0053, "LT", "?", FUNCDCM_NONE ), |
1717 | | ENTRY( 0x0029, 0x0060, "xs", "?", FUNCDCM_NONE ), |
1718 | | ENTRY( 0x0029, 0x0061, "xs", "?", FUNCDCM_NONE ), |
1719 | | ENTRY( 0x0029, 0x0067, "LT", "?", FUNCDCM_NONE ), |
1720 | | ENTRY( 0x0029, 0x0070, "xs", "?", FUNCDCM_NONE ), |
1721 | | ENTRY( 0x0029, 0x0071, "xs", "?", FUNCDCM_NONE ), |
1722 | | ENTRY( 0x0029, 0x0072, "xs", "?", FUNCDCM_NONE ), |
1723 | | ENTRY( 0x0029, 0x0077, "CS", "Window Select Status", FUNCDCM_NONE ), |
1724 | | ENTRY( 0x0029, 0x0078, "LT", "ECG Display Printing ID", FUNCDCM_NONE ), |
1725 | | ENTRY( 0x0029, 0x0079, "CS", "ECG Display Printing", FUNCDCM_NONE ), |
1726 | | ENTRY( 0x0029, 0x007e, "CS", "ECG Display Printing Enable Status", FUNCDCM_NONE ), |
1727 | | ENTRY( 0x0029, 0x007f, "CS", "ECG Display Printing Select Status", FUNCDCM_NONE ), |
1728 | | ENTRY( 0x0029, 0x0080, "xs", "?", FUNCDCM_NONE ), |
1729 | | ENTRY( 0x0029, 0x0081, "xs", "?", FUNCDCM_NONE ), |
1730 | | ENTRY( 0x0029, 0x0082, "IS", "View Zoom", FUNCDCM_NONE ), |
1731 | | ENTRY( 0x0029, 0x0083, "IS", "View Transform", FUNCDCM_NONE ), |
1732 | | ENTRY( 0x0029, 0x008e, "CS", "Physiological Display Enable Status", FUNCDCM_NONE ), |
1733 | | ENTRY( 0x0029, 0x008f, "CS", "Physiological Display Select Status", FUNCDCM_NONE ), |
1734 | | ENTRY( 0x0029, 0x0090, "IS", "?", FUNCDCM_NONE ), |
1735 | | ENTRY( 0x0029, 0x0099, "LT", "Shutter Type", FUNCDCM_NONE ), |
1736 | | ENTRY( 0x0029, 0x00a0, "US", "Rows of Rectangular Shutter", FUNCDCM_NONE ), |
1737 | | ENTRY( 0x0029, 0x00a1, "US", "Columns of Rectangular Shutter", FUNCDCM_NONE ), |
1738 | | ENTRY( 0x0029, 0x00a2, "US", "Origin of Rectangular Shutter", FUNCDCM_NONE ), |
1739 | | ENTRY( 0x0029, 0x00b0, "US", "Radius of Circular Shutter", FUNCDCM_NONE ), |
1740 | | ENTRY( 0x0029, 0x00b2, "US", "Origin of Circular Shutter", FUNCDCM_NONE ), |
1741 | | ENTRY( 0x0029, 0x00c0, "LT", "Functional Shutter ID", FUNCDCM_NONE ), |
1742 | | ENTRY( 0x0029, 0x00c1, "xs", "?", FUNCDCM_NONE ), |
1743 | | ENTRY( 0x0029, 0x00c3, "IS", "Scan Resolution", FUNCDCM_NONE ), |
1744 | | ENTRY( 0x0029, 0x00c4, "IS", "Field of View", FUNCDCM_FIELDOFVIEW ), |
1745 | | ENTRY( 0x0029, 0x00c5, "LT", "Field Of Shutter Rectangle", FUNCDCM_NONE ), |
1746 | | ENTRY( 0x0029, 0x00ce, "CS", "Shutter Enable Status", FUNCDCM_NONE ), |
1747 | | ENTRY( 0x0029, 0x00cf, "CS", "Shutter Select Status", FUNCDCM_NONE ), |
1748 | | ENTRY( 0x0029, 0x00d0, "IS", "?", FUNCDCM_NONE ), |
1749 | | ENTRY( 0x0029, 0x00d1, "IS", "?", FUNCDCM_NONE ), |
1750 | | ENTRY( 0x0029, 0x00d5, "LT", "Slice Thickness", FUNCDCM_NONE ), |
1751 | | ENTRY( 0x0031, 0x0010, "LT", "Request UID", FUNCDCM_NONE ), |
1752 | | ENTRY( 0x0031, 0x0012, "LT", "Examination Reason", FUNCDCM_NONE ), |
1753 | | ENTRY( 0x0031, 0x0030, "DA", "Requested Date", FUNCDCM_NONE ), |
1754 | | ENTRY( 0x0031, 0x0032, "TM", "Worklist Request Start Time", FUNCDCM_NONE ), |
1755 | | ENTRY( 0x0031, 0x0033, "TM", "Worklist Request End Time", FUNCDCM_NONE ), |
1756 | | ENTRY( 0x0031, 0x0045, "LT", "Requesting Physician", FUNCDCM_NONE ), |
1757 | | ENTRY( 0x0031, 0x004a, "TM", "Requested Time", FUNCDCM_NONE ), |
1758 | | ENTRY( 0x0031, 0x0050, "LT", "Requested Physician", FUNCDCM_NONE ), |
1759 | | ENTRY( 0x0031, 0x0080, "LT", "Requested Location", FUNCDCM_NONE ), |
1760 | | ENTRY( 0x0032, 0x0000, "UL", "Study Group Length", FUNCDCM_NONE ), |
1761 | | ENTRY( 0x0032, 0x000a, "CS", "Study Status ID", FUNCDCM_NONE ), |
1762 | | ENTRY( 0x0032, 0x000c, "CS", "Study Priority ID", FUNCDCM_NONE ), |
1763 | | ENTRY( 0x0032, 0x0012, "LO", "Study ID Issuer", FUNCDCM_NONE ), |
1764 | | ENTRY( 0x0032, 0x0032, "DA", "Study Verified Date", FUNCDCM_NONE ), |
1765 | | ENTRY( 0x0032, 0x0033, "TM", "Study Verified Time", FUNCDCM_NONE ), |
1766 | | ENTRY( 0x0032, 0x0034, "DA", "Study Read Date", FUNCDCM_NONE ), |
1767 | | ENTRY( 0x0032, 0x0035, "TM", "Study Read Time", FUNCDCM_NONE ), |
1768 | | ENTRY( 0x0032, 0x1000, "DA", "Scheduled Study Start Date", FUNCDCM_NONE ), |
1769 | | ENTRY( 0x0032, 0x1001, "TM", "Scheduled Study Start Time", FUNCDCM_NONE ), |
1770 | | ENTRY( 0x0032, 0x1010, "DA", "Scheduled Study Stop Date", FUNCDCM_NONE ), |
1771 | | ENTRY( 0x0032, 0x1011, "TM", "Scheduled Study Stop Time", FUNCDCM_NONE ), |
1772 | | ENTRY( 0x0032, 0x1020, "LO", "Scheduled Study Location", FUNCDCM_NONE ), |
1773 | | ENTRY( 0x0032, 0x1021, "AE", "Scheduled Study Location AE Title(s)", FUNCDCM_NONE ), |
1774 | | ENTRY( 0x0032, 0x1030, "LO", "Reason for Study", FUNCDCM_NONE ), |
1775 | | ENTRY( 0x0032, 0x1032, "PN", "Requesting Physician", FUNCDCM_NONE ), |
1776 | | ENTRY( 0x0032, 0x1033, "LO", "Requesting Service", FUNCDCM_NONE ), |
1777 | | ENTRY( 0x0032, 0x1040, "DA", "Study Arrival Date", FUNCDCM_NONE ), |
1778 | | ENTRY( 0x0032, 0x1041, "TM", "Study Arrival Time", FUNCDCM_NONE ), |
1779 | | ENTRY( 0x0032, 0x1050, "DA", "Study Completion Date", FUNCDCM_NONE ), |
1780 | | ENTRY( 0x0032, 0x1051, "TM", "Study Completion Time", FUNCDCM_NONE ), |
1781 | | ENTRY( 0x0032, 0x1055, "CS", "Study Component Status ID", FUNCDCM_NONE ), |
1782 | | ENTRY( 0x0032, 0x1060, "LO", "Requested Procedure Description", FUNCDCM_NONE ), |
1783 | | ENTRY( 0x0032, 0x1064, "SQ", "Requested Procedure Code Sequence", FUNCDCM_NONE ), |
1784 | | ENTRY( 0x0032, 0x1070, "LO", "Requested Contrast Agent", FUNCDCM_NONE ), |
1785 | | ENTRY( 0x0032, 0x4000, "LT", "Study Comments", FUNCDCM_NONE ), |
1786 | | ENTRY( 0x0033, 0x0001, "UN", "?", FUNCDCM_NONE ), |
1787 | | ENTRY( 0x0033, 0x0002, "UN", "?", FUNCDCM_NONE ), |
1788 | | ENTRY( 0x0033, 0x0005, "UN", "?", FUNCDCM_NONE ), |
1789 | | ENTRY( 0x0033, 0x0006, "UN", "?", FUNCDCM_NONE ), |
1790 | | ENTRY( 0x0033, 0x0010, "LT", "Patient Study UID", FUNCDCM_NONE ), |
1791 | | ENTRY( 0x0037, 0x0010, "LO", "ReferringDepartment", FUNCDCM_NONE ), |
1792 | | ENTRY( 0x0037, 0x0020, "US", "ScreenNumber", FUNCDCM_NONE ), |
1793 | | ENTRY( 0x0037, 0x0040, "SH", "LeftOrientation", FUNCDCM_NONE ), |
1794 | | ENTRY( 0x0037, 0x0042, "SH", "RightOrientation", FUNCDCM_NONE ), |
1795 | | ENTRY( 0x0037, 0x0050, "CS", "Inversion", FUNCDCM_NONE ), |
1796 | | ENTRY( 0x0037, 0x0060, "US", "DSA", FUNCDCM_NONE ), |
1797 | | ENTRY( 0x0038, 0x0000, "UL", "Visit Group Length", FUNCDCM_NONE ), |
1798 | | ENTRY( 0x0038, 0x0004, "SQ", "Referenced Patient Alias Sequence", FUNCDCM_NONE ), |
1799 | | ENTRY( 0x0038, 0x0008, "CS", "Visit Status ID", FUNCDCM_NONE ), |
1800 | | ENTRY( 0x0038, 0x0010, "LO", "Admission ID", FUNCDCM_NONE ), |
1801 | | ENTRY( 0x0038, 0x0011, "LO", "Issuer of Admission ID", FUNCDCM_NONE ), |
1802 | | ENTRY( 0x0038, 0x0016, "LO", "Route of Admissions", FUNCDCM_NONE ), |
1803 | | ENTRY( 0x0038, 0x001a, "DA", "Scheduled Admission Date", FUNCDCM_NONE ), |
1804 | | ENTRY( 0x0038, 0x001b, "TM", "Scheduled Admission Time", FUNCDCM_NONE ), |
1805 | | ENTRY( 0x0038, 0x001c, "DA", "Scheduled Discharge Date", FUNCDCM_NONE ), |
1806 | | ENTRY( 0x0038, 0x001d, "TM", "Scheduled Discharge Time", FUNCDCM_NONE ), |
1807 | | ENTRY( 0x0038, 0x001e, "LO", "Scheduled Patient Institution Residence", FUNCDCM_NONE ), |
1808 | | ENTRY( 0x0038, 0x0020, "DA", "Admitting Date", FUNCDCM_NONE ), |
1809 | | ENTRY( 0x0038, 0x0021, "TM", "Admitting Time", FUNCDCM_NONE ), |
1810 | | ENTRY( 0x0038, 0x0030, "DA", "Discharge Date", FUNCDCM_NONE ), |
1811 | | ENTRY( 0x0038, 0x0032, "TM", "Discharge Time", FUNCDCM_NONE ), |
1812 | | ENTRY( 0x0038, 0x0040, "LO", "Discharge Diagnosis Description", FUNCDCM_NONE ), |
1813 | | ENTRY( 0x0038, 0x0044, "SQ", "Discharge Diagnosis Code Sequence", FUNCDCM_NONE ), |
1814 | | ENTRY( 0x0038, 0x0050, "LO", "Special Needs", FUNCDCM_NONE ), |
1815 | | ENTRY( 0x0038, 0x0300, "LO", "Current Patient Location", FUNCDCM_NONE ), |
1816 | | ENTRY( 0x0038, 0x0400, "LO", "Patient's Institution Residence", FUNCDCM_NONE ), |
1817 | | ENTRY( 0x0038, 0x0500, "LO", "Patient State", FUNCDCM_NONE ), |
1818 | | ENTRY( 0x0038, 0x4000, "LT", "Visit Comments", FUNCDCM_NONE ), |
1819 | | ENTRY( 0x0039, 0x0080, "IS", "Private Entity Number", FUNCDCM_NONE ), |
1820 | | ENTRY( 0x0039, 0x0085, "DA", "Private Entity Date", FUNCDCM_NONE ), |
1821 | | ENTRY( 0x0039, 0x0090, "TM", "Private Entity Time", FUNCDCM_NONE ), |
1822 | | ENTRY( 0x0039, 0x0095, "LO", "Private Entity Launch Command", FUNCDCM_NONE ), |
1823 | | ENTRY( 0x0039, 0x00aa, "CS", "Private Entity Type", FUNCDCM_NONE ), |
1824 | | ENTRY( 0x003a, 0x0002, "SQ", "Waveform Sequence", FUNCDCM_NONE ), |
1825 | | ENTRY( 0x003a, 0x0005, "US", "Waveform Number of Channels", FUNCDCM_NONE ), |
1826 | | ENTRY( 0x003a, 0x0010, "UL", "Waveform Number of Samples", FUNCDCM_NONE ), |
1827 | | ENTRY( 0x003a, 0x001a, "DS", "Sampling Frequency", FUNCDCM_NONE ), |
1828 | | ENTRY( 0x003a, 0x0020, "SH", "Group Label", FUNCDCM_NONE ), |
1829 | | ENTRY( 0x003a, 0x0103, "CS", "Waveform Sample Value Representation", FUNCDCM_NONE ), |
1830 | | ENTRY( 0x003a, 0x0122, "OB", "Waveform Padding Value", FUNCDCM_NONE ), |
1831 | | ENTRY( 0x003a, 0x0200, "SQ", "Channel Definition", FUNCDCM_NONE ), |
1832 | | ENTRY( 0x003a, 0x0202, "IS", "Waveform Channel Number", FUNCDCM_NONE ), |
1833 | | ENTRY( 0x003a, 0x0203, "SH", "Channel Label", FUNCDCM_NONE ), |
1834 | | ENTRY( 0x003a, 0x0205, "CS", "Channel Status", FUNCDCM_NONE ), |
1835 | | ENTRY( 0x003a, 0x0208, "SQ", "Channel Source", FUNCDCM_NONE ), |
1836 | | ENTRY( 0x003a, 0x0209, "SQ", "Channel Source Modifiers", FUNCDCM_NONE ), |
1837 | | ENTRY( 0x003a, 0x020a, "SQ", "Differential Channel Source", FUNCDCM_NONE ), |
1838 | | ENTRY( 0x003a, 0x020b, "SQ", "Differential Channel Source Modifiers", FUNCDCM_NONE ), |
1839 | | ENTRY( 0x003a, 0x0210, "DS", "Channel Sensitivity", FUNCDCM_NONE ), |
1840 | | ENTRY( 0x003a, 0x0211, "SQ", "Channel Sensitivity Units", FUNCDCM_NONE ), |
1841 | | ENTRY( 0x003a, 0x0212, "DS", "Channel Sensitivity Correction Factor", FUNCDCM_NONE ), |
1842 | | ENTRY( 0x003a, 0x0213, "DS", "Channel Baseline", FUNCDCM_NONE ), |
1843 | | ENTRY( 0x003a, 0x0214, "DS", "Channel Time Skew", FUNCDCM_NONE ), |
1844 | | ENTRY( 0x003a, 0x0215, "DS", "Channel Sample Skew", FUNCDCM_NONE ), |
1845 | | ENTRY( 0x003a, 0x0216, "OB", "Channel Minimum Value", FUNCDCM_NONE ), |
1846 | | ENTRY( 0x003a, 0x0217, "OB", "Channel Maximum Value", FUNCDCM_NONE ), |
1847 | | ENTRY( 0x003a, 0x0218, "DS", "Channel Offset", FUNCDCM_NONE ), |
1848 | | ENTRY( 0x003a, 0x021a, "US", "Bits Per Sample", FUNCDCM_NONE ), |
1849 | | ENTRY( 0x003a, 0x0220, "DS", "Filter Low Frequency", FUNCDCM_NONE ), |
1850 | | ENTRY( 0x003a, 0x0221, "DS", "Filter High Frequency", FUNCDCM_NONE ), |
1851 | | ENTRY( 0x003a, 0x0222, "DS", "Notch Filter Frequency", FUNCDCM_NONE ), |
1852 | | ENTRY( 0x003a, 0x0223, "DS", "Notch Filter Bandwidth", FUNCDCM_NONE ), |
1853 | | ENTRY( 0x003a, 0x1000, "OB", "Waveform Data", FUNCDCM_NONE ), |
1854 | | ENTRY( 0x0040, 0x0001, "AE", "Scheduled Station AE Title", FUNCDCM_NONE ), |
1855 | | ENTRY( 0x0040, 0x0002, "DA", "Scheduled Procedure Step Start Date", FUNCDCM_NONE ), |
1856 | | ENTRY( 0x0040, 0x0003, "TM", "Scheduled Procedure Step Start Time", FUNCDCM_NONE ), |
1857 | | ENTRY( 0x0040, 0x0004, "DA", "Scheduled Procedure Step End Date", FUNCDCM_NONE ), |
1858 | | ENTRY( 0x0040, 0x0005, "TM", "Scheduled Procedure Step End Time", FUNCDCM_NONE ), |
1859 | | ENTRY( 0x0040, 0x0006, "PN", "Scheduled Performing Physician Name", FUNCDCM_NONE ), |
1860 | | ENTRY( 0x0040, 0x0007, "LO", "Scheduled Procedure Step Description", FUNCDCM_NONE ), |
1861 | | ENTRY( 0x0040, 0x0008, "SQ", "Scheduled Action Item Code Sequence", FUNCDCM_NONE ), |
1862 | | ENTRY( 0x0040, 0x0009, "SH", "Scheduled Procedure Step ID", FUNCDCM_NONE ), |
1863 | | ENTRY( 0x0040, 0x0010, "SH", "Scheduled Station Name", FUNCDCM_NONE ), |
1864 | | ENTRY( 0x0040, 0x0011, "SH", "Scheduled Procedure Step Location", FUNCDCM_NONE ), |
1865 | | ENTRY( 0x0040, 0x0012, "LO", "Pre-Medication", FUNCDCM_NONE ), |
1866 | | ENTRY( 0x0040, 0x0020, "CS", "Scheduled Procedure Step Status", FUNCDCM_NONE ), |
1867 | | ENTRY( 0x0040, 0x0100, "SQ", "Scheduled Procedure Step Sequence", FUNCDCM_NONE ), |
1868 | | ENTRY( 0x0040, 0x0302, "US", "Entrance Dose", FUNCDCM_NONE ), |
1869 | | ENTRY( 0x0040, 0x0303, "US", "Exposed Area", FUNCDCM_NONE ), |
1870 | | ENTRY( 0x0040, 0x0306, "DS", "Distance Source to Entrance", FUNCDCM_NONE ), |
1871 | | ENTRY( 0x0040, 0x0307, "DS", "Distance Source to Support", FUNCDCM_NONE ), |
1872 | | ENTRY( 0x0040, 0x0310, "ST", "Comments On Radiation Dose", FUNCDCM_NONE ), |
1873 | | ENTRY( 0x0040, 0x0312, "DS", "X-Ray Output", FUNCDCM_NONE ), |
1874 | | ENTRY( 0x0040, 0x0314, "DS", "Half Value Layer", FUNCDCM_NONE ), |
1875 | | ENTRY( 0x0040, 0x0316, "DS", "Organ Dose", FUNCDCM_NONE ), |
1876 | | ENTRY( 0x0040, 0x0318, "CS", "Organ Exposed", FUNCDCM_NONE ), |
1877 | | ENTRY( 0x0040, 0x0400, "LT", "Comments On Scheduled Procedure Step", FUNCDCM_NONE ), |
1878 | | ENTRY( 0x0040, 0x050a, "LO", "Specimen Accession Number", FUNCDCM_NONE ), |
1879 | | ENTRY( 0x0040, 0x0550, "SQ", "Specimen Sequence", FUNCDCM_NONE ), |
1880 | | ENTRY( 0x0040, 0x0551, "LO", "Specimen Identifier", FUNCDCM_NONE ), |
1881 | | ENTRY( 0x0040, 0x0552, "SQ", "Specimen Description Sequence", FUNCDCM_NONE ), |
1882 | | ENTRY( 0x0040, 0x0553, "ST", "Specimen Description", FUNCDCM_NONE ), |
1883 | | ENTRY( 0x0040, 0x0555, "SQ", "Acquisition Context Sequence", FUNCDCM_NONE ), |
1884 | | ENTRY( 0x0040, 0x0556, "ST", "Acquisition Context Description", FUNCDCM_NONE ), |
1885 | | ENTRY( 0x0040, 0x059a, "SQ", "Specimen Type Code Sequence", FUNCDCM_NONE ), |
1886 | | ENTRY( 0x0040, 0x06fa, "LO", "Slide Identifier", FUNCDCM_NONE ), |
1887 | | ENTRY( 0x0040, 0x071a, "SQ", "Image Center Point Coordinates Sequence", FUNCDCM_NONE ), |
1888 | | ENTRY( 0x0040, 0x072a, "DS", "X Offset In Slide Coordinate System", FUNCDCM_NONE ), |
1889 | | ENTRY( 0x0040, 0x073a, "DS", "Y Offset In Slide Coordinate System", FUNCDCM_NONE ), |
1890 | | ENTRY( 0x0040, 0x074a, "DS", "Z Offset In Slide Coordinate System", FUNCDCM_NONE ), |
1891 | | ENTRY( 0x0040, 0x08d8, "SQ", "Pixel Spacing Sequence", FUNCDCM_NONE ), |
1892 | | ENTRY( 0x0040, 0x08da, "SQ", "Coordinate System Axis Code Sequence", FUNCDCM_NONE ), |
1893 | | ENTRY( 0x0040, 0x08ea, "SQ", "Measurement Units Code Sequence", FUNCDCM_NONE ), |
1894 | | ENTRY( 0x0040, 0x09f8, "SQ", "Vital Stain Code Sequence", FUNCDCM_NONE ), |
1895 | | ENTRY( 0x0040, 0x1001, "SH", "Requested Procedure ID", FUNCDCM_NONE ), |
1896 | | ENTRY( 0x0040, 0x1002, "LO", "Reason For Requested Procedure", FUNCDCM_NONE ), |
1897 | | ENTRY( 0x0040, 0x1003, "SH", "Requested Procedure Priority", FUNCDCM_NONE ), |
1898 | | ENTRY( 0x0040, 0x1004, "LO", "Patient Transport Arrangements", FUNCDCM_NONE ), |
1899 | | ENTRY( 0x0040, 0x1005, "LO", "Requested Procedure Location", FUNCDCM_NONE ), |
1900 | | ENTRY( 0x0040, 0x1006, "SH", "Placer Order Number of Procedure", FUNCDCM_NONE ), |
1901 | | ENTRY( 0x0040, 0x1007, "SH", "Filler Order Number of Procedure", FUNCDCM_NONE ), |
1902 | | ENTRY( 0x0040, 0x1008, "LO", "Confidentiality Code", FUNCDCM_NONE ), |
1903 | | ENTRY( 0x0040, 0x1009, "SH", "Reporting Priority", FUNCDCM_NONE ), |
1904 | | ENTRY( 0x0040, 0x1010, "PN", "Names of Intended Recipients of Results", FUNCDCM_NONE ), |
1905 | | ENTRY( 0x0040, 0x1400, "LT", "Requested Procedure Comments", FUNCDCM_NONE ), |
1906 | | ENTRY( 0x0040, 0x2001, "LO", "Reason For Imaging Service Request", FUNCDCM_NONE ), |
1907 | | ENTRY( 0x0040, 0x2004, "DA", "Issue Date of Imaging Service Request", FUNCDCM_NONE ), |
1908 | | ENTRY( 0x0040, 0x2005, "TM", "Issue Time of Imaging Service Request", FUNCDCM_NONE ), |
1909 | | ENTRY( 0x0040, 0x2006, "SH", "Placer Order Number of Imaging Service Request", FUNCDCM_NONE ), |
1910 | | ENTRY( 0x0040, 0x2007, "SH", "Filler Order Number of Imaging Service Request", FUNCDCM_NONE ), |
1911 | | ENTRY( 0x0040, 0x2008, "PN", "Order Entered By", FUNCDCM_NONE ), |
1912 | | ENTRY( 0x0040, 0x2009, "SH", "Order Enterer Location", FUNCDCM_NONE ), |
1913 | | ENTRY( 0x0040, 0x2010, "SH", "Order Callback Phone Number", FUNCDCM_NONE ), |
1914 | | ENTRY( 0x0040, 0x2400, "LT", "Imaging Service Request Comments", FUNCDCM_NONE ), |
1915 | | ENTRY( 0x0040, 0x3001, "LO", "Confidentiality Constraint On Patient Data", FUNCDCM_NONE ), |
1916 | | ENTRY( 0x0040, 0xa007, "CS", "Findings Flag", FUNCDCM_NONE ), |
1917 | | ENTRY( 0x0040, 0xa020, "SQ", "Findings Sequence", FUNCDCM_NONE ), |
1918 | | ENTRY( 0x0040, 0xa021, "UI", "Findings Group UID", FUNCDCM_NONE ), |
1919 | | ENTRY( 0x0040, 0xa022, "UI", "Referenced Findings Group UID", FUNCDCM_NONE ), |
1920 | | ENTRY( 0x0040, 0xa023, "DA", "Findings Group Recording Date", FUNCDCM_NONE ), |
1921 | | ENTRY( 0x0040, 0xa024, "TM", "Findings Group Recording Time", FUNCDCM_NONE ), |
1922 | | ENTRY( 0x0040, 0xa026, "SQ", "Findings Source Category Code Sequence", FUNCDCM_NONE ), |
1923 | | ENTRY( 0x0040, 0xa027, "LO", "Documenting Organization", FUNCDCM_NONE ), |
1924 | | ENTRY( 0x0040, 0xa028, "SQ", "Documenting Organization Identifier Code Sequence", FUNCDCM_NONE ), |
1925 | | ENTRY( 0x0040, 0xa032, "LO", "History Reliability Qualifier Description", FUNCDCM_NONE ), |
1926 | | ENTRY( 0x0040, 0xa043, "SQ", "Concept Name Code Sequence", FUNCDCM_NONE ), |
1927 | | ENTRY( 0x0040, 0xa047, "LO", "Measurement Precision Description", FUNCDCM_NONE ), |
1928 | | ENTRY( 0x0040, 0xa057, "CS", "Urgency or Priority Alerts", FUNCDCM_NONE ), |
1929 | | ENTRY( 0x0040, 0xa060, "LO", "Sequencing Indicator", FUNCDCM_NONE ), |
1930 | | ENTRY( 0x0040, 0xa066, "SQ", "Document Identifier Code Sequence", FUNCDCM_NONE ), |
1931 | | ENTRY( 0x0040, 0xa067, "PN", "Document Author", FUNCDCM_NONE ), |
1932 | | ENTRY( 0x0040, 0xa068, "SQ", "Document Author Identifier Code Sequence", FUNCDCM_NONE ), |
1933 | | ENTRY( 0x0040, 0xa070, "SQ", "Identifier Code Sequence", FUNCDCM_NONE ), |
1934 | | ENTRY( 0x0040, 0xa073, "LO", "Object String Identifier", FUNCDCM_NONE ), |
1935 | | ENTRY( 0x0040, 0xa074, "OB", "Object Binary Identifier", FUNCDCM_NONE ), |
1936 | | ENTRY( 0x0040, 0xa075, "PN", "Documenting Observer", FUNCDCM_NONE ), |
1937 | | ENTRY( 0x0040, 0xa076, "SQ", "Documenting Observer Identifier Code Sequence", FUNCDCM_NONE ), |
1938 | | ENTRY( 0x0040, 0xa078, "SQ", "Observation Subject Identifier Code Sequence", FUNCDCM_NONE ), |
1939 | | ENTRY( 0x0040, 0xa080, "SQ", "Person Identifier Code Sequence", FUNCDCM_NONE ), |
1940 | | ENTRY( 0x0040, 0xa085, "SQ", "Procedure Identifier Code Sequence", FUNCDCM_NONE ), |
1941 | | ENTRY( 0x0040, 0xa088, "LO", "Object Directory String Identifier", FUNCDCM_NONE ), |
1942 | | ENTRY( 0x0040, 0xa089, "OB", "Object Directory Binary Identifier", FUNCDCM_NONE ), |
1943 | | ENTRY( 0x0040, 0xa090, "CS", "History Reliability Qualifier", FUNCDCM_NONE ), |
1944 | | ENTRY( 0x0040, 0xa0a0, "CS", "Referenced Type of Data", FUNCDCM_NONE ), |
1945 | | ENTRY( 0x0040, 0xa0b0, "US", "Referenced Waveform Channels", FUNCDCM_NONE ), |
1946 | | ENTRY( 0x0040, 0xa110, "DA", "Date of Document or Verbal Transaction", FUNCDCM_NONE ), |
1947 | | ENTRY( 0x0040, 0xa112, "TM", "Time of Document Creation or Verbal Transaction", FUNCDCM_NONE ), |
1948 | | ENTRY( 0x0040, 0xa121, "DA", "Date", FUNCDCM_NONE ), |
1949 | | ENTRY( 0x0040, 0xa122, "TM", "Time", FUNCDCM_NONE ), |
1950 | | ENTRY( 0x0040, 0xa123, "PN", "Person Name", FUNCDCM_NONE ), |
1951 | | ENTRY( 0x0040, 0xa124, "SQ", "Referenced Person Sequence", FUNCDCM_NONE ), |
1952 | | ENTRY( 0x0040, 0xa125, "CS", "Report Status ID", FUNCDCM_NONE ), |
1953 | | ENTRY( 0x0040, 0xa130, "CS", "Temporal Range Type", FUNCDCM_NONE ), |
1954 | | ENTRY( 0x0040, 0xa132, "UL", "Referenced Sample Offsets", FUNCDCM_NONE ), |
1955 | | ENTRY( 0x0040, 0xa136, "US", "Referenced Frame Numbers", FUNCDCM_NONE ), |
1956 | | ENTRY( 0x0040, 0xa138, "DS", "Referenced Time Offsets", FUNCDCM_NONE ), |
1957 | | ENTRY( 0x0040, 0xa13a, "DT", "Referenced Datetime", FUNCDCM_NONE ), |
1958 | | ENTRY( 0x0040, 0xa160, "UT", "Text Value", FUNCDCM_NONE ), |
1959 | | ENTRY( 0x0040, 0xa167, "SQ", "Observation Category Code Sequence", FUNCDCM_NONE ), |
1960 | | ENTRY( 0x0040, 0xa168, "SQ", "Concept Code Sequence", FUNCDCM_NONE ), |
1961 | | ENTRY( 0x0040, 0xa16a, "ST", "Bibliographic Citation", FUNCDCM_NONE ), |
1962 | | ENTRY( 0x0040, 0xa170, "CS", "Observation Class", FUNCDCM_NONE ), |
1963 | | ENTRY( 0x0040, 0xa171, "UI", "Observation UID", FUNCDCM_NONE ), |
1964 | | ENTRY( 0x0040, 0xa172, "UI", "Referenced Observation UID", FUNCDCM_NONE ), |
1965 | | ENTRY( 0x0040, 0xa173, "CS", "Referenced Observation Class", FUNCDCM_NONE ), |
1966 | | ENTRY( 0x0040, 0xa174, "CS", "Referenced Object Observation Class", FUNCDCM_NONE ), |
1967 | | ENTRY( 0x0040, 0xa180, "US", "Annotation Group Number", FUNCDCM_NONE ), |
1968 | | ENTRY( 0x0040, 0xa192, "DA", "Observation Date", FUNCDCM_NONE ), |
1969 | | ENTRY( 0x0040, 0xa193, "TM", "Observation Time", FUNCDCM_NONE ), |
1970 | | ENTRY( 0x0040, 0xa194, "CS", "Measurement Automation", FUNCDCM_NONE ), |
1971 | | ENTRY( 0x0040, 0xa195, "SQ", "Concept Name Code Sequence Modifier", FUNCDCM_NONE ), |
1972 | | ENTRY( 0x0040, 0xa224, "ST", "Identification Description", FUNCDCM_NONE ), |
1973 | | ENTRY( 0x0040, 0xa290, "CS", "Coordinates Set Geometric Type", FUNCDCM_NONE ), |
1974 | | ENTRY( 0x0040, 0xa296, "SQ", "Algorithm Code Sequence", FUNCDCM_NONE ), |
1975 | | ENTRY( 0x0040, 0xa297, "ST", "Algorithm Description", FUNCDCM_NONE ), |
1976 | | ENTRY( 0x0040, 0xa29a, "SL", "Pixel Coordinates Set", FUNCDCM_NONE ), |
1977 | | ENTRY( 0x0040, 0xa300, "SQ", "Measured Value Sequence", FUNCDCM_NONE ), |
1978 | | ENTRY( 0x0040, 0xa307, "PN", "Current Observer", FUNCDCM_NONE ), |
1979 | | ENTRY( 0x0040, 0xa30a, "DS", "Numeric Value", FUNCDCM_NONE ), |
1980 | | ENTRY( 0x0040, 0xa313, "SQ", "Referenced Accession Sequence", FUNCDCM_NONE ), |
1981 | | ENTRY( 0x0040, 0xa33a, "ST", "Report Status Comment", FUNCDCM_NONE ), |
1982 | | ENTRY( 0x0040, 0xa340, "SQ", "Procedure Context Sequence", FUNCDCM_NONE ), |
1983 | | ENTRY( 0x0040, 0xa352, "PN", "Verbal Source", FUNCDCM_NONE ), |
1984 | | ENTRY( 0x0040, 0xa353, "ST", "Address", FUNCDCM_NONE ), |
1985 | | ENTRY( 0x0040, 0xa354, "LO", "Telephone Number", FUNCDCM_NONE ), |
1986 | | ENTRY( 0x0040, 0xa358, "SQ", "Verbal Source Identifier Code Sequence", FUNCDCM_NONE ), |
1987 | | ENTRY( 0x0040, 0xa380, "SQ", "Report Detail Sequence", FUNCDCM_NONE ), |
1988 | | ENTRY( 0x0040, 0xa402, "UI", "Observation Subject UID", FUNCDCM_NONE ), |
1989 | | ENTRY( 0x0040, 0xa403, "CS", "Observation Subject Class", FUNCDCM_NONE ), |
1990 | | ENTRY( 0x0040, 0xa404, "SQ", "Observation Subject Type Code Sequence", FUNCDCM_NONE ), |
1991 | | ENTRY( 0x0040, 0xa600, "CS", "Observation Subject Context Flag", FUNCDCM_NONE ), |
1992 | | ENTRY( 0x0040, 0xa601, "CS", "Observer Context Flag", FUNCDCM_NONE ), |
1993 | | ENTRY( 0x0040, 0xa603, "CS", "Procedure Context Flag", FUNCDCM_NONE ), |
1994 | | ENTRY( 0x0040, 0xa730, "SQ", "Observations Sequence", FUNCDCM_NONE ), |
1995 | | ENTRY( 0x0040, 0xa731, "SQ", "Relationship Sequence", FUNCDCM_NONE ), |
1996 | | ENTRY( 0x0040, 0xa732, "SQ", "Relationship Type Code Sequence", FUNCDCM_NONE ), |
1997 | | ENTRY( 0x0040, 0xa744, "SQ", "Language Code Sequence", FUNCDCM_NONE ), |
1998 | | ENTRY( 0x0040, 0xa992, "ST", "Uniform Resource Locator", FUNCDCM_NONE ), |
1999 | | ENTRY( 0x0040, 0xb020, "SQ", "Annotation Sequence", FUNCDCM_NONE ), |
2000 | | ENTRY( 0x0040, 0xdb73, "SQ", "Relationship Type Code Sequence Modifier", FUNCDCM_NONE ), |
2001 | | ENTRY( 0x0041, 0x0000, "LT", "Papyrus Comments", FUNCDCM_NONE ), |
2002 | | ENTRY( 0x0041, 0x0010, "xs", "?", FUNCDCM_NONE ), |
2003 | | ENTRY( 0x0041, 0x0011, "xs", "?", FUNCDCM_NONE ), |
2004 | | ENTRY( 0x0041, 0x0012, "UL", "Pixel Offset", FUNCDCM_NONE ), |
2005 | | ENTRY( 0x0041, 0x0013, "SQ", "Image Identifier Sequence", FUNCDCM_NONE ), |
2006 | | ENTRY( 0x0041, 0x0014, "SQ", "External File Reference Sequence", FUNCDCM_NONE ), |
2007 | | ENTRY( 0x0041, 0x0015, "US", "Number of Images", FUNCDCM_NONE ), |
2008 | | ENTRY( 0x0041, 0x0020, "xs", "?", FUNCDCM_NONE ), |
2009 | | ENTRY( 0x0041, 0x0021, "UI", "Referenced SOP Class UID", FUNCDCM_NONE ), |
2010 | | ENTRY( 0x0041, 0x0022, "UI", "Referenced SOP Instance UID", FUNCDCM_NONE ), |
2011 | | ENTRY( 0x0041, 0x0030, "xs", "?", FUNCDCM_NONE ), |
2012 | | ENTRY( 0x0041, 0x0031, "xs", "?", FUNCDCM_NONE ), |
2013 | | ENTRY( 0x0041, 0x0032, "xs", "?", FUNCDCM_NONE ), |
2014 | | ENTRY( 0x0041, 0x0034, "DA", "Modified Date", FUNCDCM_NONE ), |
2015 | | ENTRY( 0x0041, 0x0036, "TM", "Modified Time", FUNCDCM_NONE ), |
2016 | | ENTRY( 0x0041, 0x0040, "LT", "Owner Name", FUNCDCM_NONE ), |
2017 | | ENTRY( 0x0041, 0x0041, "UI", "Referenced Image SOP Class UID", FUNCDCM_NONE ), |
2018 | | ENTRY( 0x0041, 0x0042, "UI", "Referenced Image SOP Instance UID", FUNCDCM_NONE ), |
2019 | | ENTRY( 0x0041, 0x0050, "xs", "?", FUNCDCM_NONE ), |
2020 | | ENTRY( 0x0041, 0x0060, "UL", "Number of Images", FUNCDCM_NONE ), |
2021 | | ENTRY( 0x0041, 0x0062, "UL", "Number of Other", FUNCDCM_NONE ), |
2022 | | ENTRY( 0x0041, 0x00a0, "LT", "External Folder Element DSID", FUNCDCM_NONE ), |
2023 | | ENTRY( 0x0041, 0x00a1, "US", "External Folder Element Data Set Type", FUNCDCM_NONE ), |
2024 | | ENTRY( 0x0041, 0x00a2, "LT", "External Folder Element File Location", FUNCDCM_NONE ), |
2025 | | ENTRY( 0x0041, 0x00a3, "UL", "External Folder Element Length", FUNCDCM_NONE ), |
2026 | | ENTRY( 0x0041, 0x00b0, "LT", "Internal Folder Element DSID", FUNCDCM_NONE ), |
2027 | | ENTRY( 0x0041, 0x00b1, "US", "Internal Folder Element Data Set Type", FUNCDCM_NONE ), |
2028 | | ENTRY( 0x0041, 0x00b2, "UL", "Internal Offset To Data Set", FUNCDCM_NONE ), |
2029 | | ENTRY( 0x0041, 0x00b3, "UL", "Internal Offset To Image", FUNCDCM_NONE ), |
2030 | | ENTRY( 0x0043, 0x0001, "SS", "Bitmap Of Prescan Options", FUNCDCM_NONE ), |
2031 | | ENTRY( 0x0043, 0x0002, "SS", "Gradient Offset In X", FUNCDCM_NONE ), |
2032 | | ENTRY( 0x0043, 0x0003, "SS", "Gradient Offset In Y", FUNCDCM_NONE ), |
2033 | | ENTRY( 0x0043, 0x0004, "SS", "Gradient Offset In Z", FUNCDCM_NONE ), |
2034 | | ENTRY( 0x0043, 0x0005, "SS", "Image Is Original Or Unoriginal", FUNCDCM_NONE ), |
2035 | | ENTRY( 0x0043, 0x0006, "SS", "Number Of EPI Shots", FUNCDCM_NONE ), |
2036 | | ENTRY( 0x0043, 0x0007, "SS", "Views Per Segment", FUNCDCM_NONE ), |
2037 | | ENTRY( 0x0043, 0x0008, "SS", "Respiratory Rate In BPM", FUNCDCM_NONE ), |
2038 | | ENTRY( 0x0043, 0x0009, "SS", "Respiratory Trigger Point", FUNCDCM_NONE ), |
2039 | | ENTRY( 0x0043, 0x000a, "SS", "Type Of Receiver Used", FUNCDCM_NONE ), |
2040 | | ENTRY( 0x0043, 0x000b, "DS", "Peak Rate Of Change Of Gradient Field", FUNCDCM_NONE ), |
2041 | | ENTRY( 0x0043, 0x000c, "DS", "Limits In Units Of Percent", FUNCDCM_NONE ), |
2042 | | ENTRY( 0x0043, 0x000d, "DS", "PSD Estimated Limit", FUNCDCM_NONE ), |
2043 | | ENTRY( 0x0043, 0x000e, "DS", "PSD Estimated Limit In Tesla Per Second", FUNCDCM_NONE ), |
2044 | | ENTRY( 0x0043, 0x000f, "DS", "SAR Avg Head", FUNCDCM_NONE ), |
2045 | | ENTRY( 0x0043, 0x0010, "US", "Window Value", FUNCDCM_NONE ), |
2046 | | ENTRY( 0x0043, 0x0011, "US", "Total Input Views", FUNCDCM_NONE ), |
2047 | | ENTRY( 0x0043, 0x0012, "SS", "Xray Chain", FUNCDCM_NONE ), |
2048 | | ENTRY( 0x0043, 0x0013, "SS", "Recon Kernel Parameters", FUNCDCM_NONE ), |
2049 | | ENTRY( 0x0043, 0x0014, "SS", "Calibration Parameters", FUNCDCM_NONE ), |
2050 | | ENTRY( 0x0043, 0x0015, "SS", "Total Output Views", FUNCDCM_NONE ), |
2051 | | ENTRY( 0x0043, 0x0016, "SS", "Number Of Overranges", FUNCDCM_NONE ), |
2052 | | ENTRY( 0x0043, 0x0017, "DS", "IBH Image Scale Factors", FUNCDCM_NONE ), |
2053 | | ENTRY( 0x0043, 0x0018, "DS", "BBH Coefficients", FUNCDCM_NONE ), |
2054 | | ENTRY( 0x0043, 0x0019, "SS", "Number Of BBH Chains To Blend", FUNCDCM_NONE ), |
2055 | | ENTRY( 0x0043, 0x001a, "SL", "Starting Channel Number", FUNCDCM_NONE ), |
2056 | | ENTRY( 0x0043, 0x001b, "SS", "PPScan Parameters", FUNCDCM_NONE ), |
2057 | | ENTRY( 0x0043, 0x001c, "SS", "GE Image Integrity", FUNCDCM_NONE ), |
2058 | | ENTRY( 0x0043, 0x001d, "SS", "Level Value", FUNCDCM_NONE ), |
2059 | | ENTRY( 0x0043, 0x001e, "xs", "?", FUNCDCM_NONE ), |
2060 | | ENTRY( 0x0043, 0x001f, "SL", "Max Overranges In A View", FUNCDCM_NONE ), |
2061 | | ENTRY( 0x0043, 0x0020, "DS", "Avg Overranges All Views", FUNCDCM_NONE ), |
2062 | | ENTRY( 0x0043, 0x0021, "SS", "Corrected Afterglow Terms", FUNCDCM_NONE ), |
2063 | | ENTRY( 0x0043, 0x0025, "SS", "Reference Channels", FUNCDCM_NONE ), |
2064 | | ENTRY( 0x0043, 0x0026, "US", "No Views Ref Channels Blocked", FUNCDCM_NONE ), |
2065 | | ENTRY( 0x0043, 0x0027, "xs", "?", FUNCDCM_NONE ), |
2066 | | ENTRY( 0x0043, 0x0028, "OB", "Unique Image Identifier", FUNCDCM_NONE ), |
2067 | | ENTRY( 0x0043, 0x0029, "OB", "Histogram Tables", FUNCDCM_NONE ), |
2068 | | ENTRY( 0x0043, 0x002a, "OB", "User Defined Data", FUNCDCM_NONE ), |
2069 | | ENTRY( 0x0043, 0x002b, "SS", "Private Scan Options", FUNCDCM_NONE ), |
2070 | | ENTRY( 0x0043, 0x002c, "SS", "Effective Echo Spacing", FUNCDCM_NONE ), |
2071 | | ENTRY( 0x0043, 0x002d, "SH", "String Slop Field 1", FUNCDCM_NONE ), |
2072 | | ENTRY( 0x0043, 0x002e, "SH", "String Slop Field 2", FUNCDCM_NONE ), |
2073 | | ENTRY( 0x0043, 0x002f, "SS", "Raw Data Type", FUNCDCM_NONE ), |
2074 | | ENTRY( 0x0043, 0x0030, "SS", "Raw Data Type", FUNCDCM_NONE ), |
2075 | | ENTRY( 0x0043, 0x0031, "DS", "RA Coord Of Target Recon Centre", FUNCDCM_NONE ), |
2076 | | ENTRY( 0x0043, 0x0032, "SS", "Raw Data Type", FUNCDCM_NONE ), |
2077 | | ENTRY( 0x0043, 0x0033, "FL", "Neg Scan Spacing", FUNCDCM_NONE ), |
2078 | | ENTRY( 0x0043, 0x0034, "IS", "Offset Frequency", FUNCDCM_NONE ), |
2079 | | ENTRY( 0x0043, 0x0035, "UL", "User Usage Tag", FUNCDCM_NONE ), |
2080 | | ENTRY( 0x0043, 0x0036, "UL", "User Fill Map MSW", FUNCDCM_NONE ), |
2081 | | ENTRY( 0x0043, 0x0037, "UL", "User Fill Map LSW", FUNCDCM_NONE ), |
2082 | | ENTRY( 0x0043, 0x0038, "FL", "User 25 To User 48", FUNCDCM_NONE ), |
2083 | | ENTRY( 0x0043, 0x0039, "IS", "Slop Integer 6 To Slop Integer 9", FUNCDCM_NONE ), |
2084 | | ENTRY( 0x0043, 0x0040, "FL", "Trigger On Position", FUNCDCM_NONE ), |
2085 | | ENTRY( 0x0043, 0x0041, "FL", "Degree Of Rotation", FUNCDCM_NONE ), |
2086 | | ENTRY( 0x0043, 0x0042, "SL", "DAS Trigger Source", FUNCDCM_NONE ), |
2087 | | ENTRY( 0x0043, 0x0043, "SL", "DAS Fpa Gain", FUNCDCM_NONE ), |
2088 | | ENTRY( 0x0043, 0x0044, "SL", "DAS Output Source", FUNCDCM_NONE ), |
2089 | | ENTRY( 0x0043, 0x0045, "SL", "DAS Ad Input", FUNCDCM_NONE ), |
2090 | | ENTRY( 0x0043, 0x0046, "SL", "DAS Cal Mode", FUNCDCM_NONE ), |
2091 | | ENTRY( 0x0043, 0x0047, "SL", "DAS Cal Frequency", FUNCDCM_NONE ), |
2092 | | ENTRY( 0x0043, 0x0048, "SL", "DAS Reg Xm", FUNCDCM_NONE ), |
2093 | | ENTRY( 0x0043, 0x0049, "SL", "DAS Auto Zero", FUNCDCM_NONE ), |
2094 | | ENTRY( 0x0043, 0x004a, "SS", "Starting Channel Of View", FUNCDCM_NONE ), |
2095 | | ENTRY( 0x0043, 0x004b, "SL", "DAS Xm Pattern", FUNCDCM_NONE ), |
2096 | | ENTRY( 0x0043, 0x004c, "SS", "TGGC Trigger Mode", FUNCDCM_NONE ), |
2097 | | ENTRY( 0x0043, 0x004d, "FL", "Start Scan To Xray On Delay", FUNCDCM_NONE ), |
2098 | | ENTRY( 0x0043, 0x004e, "FL", "Duration Of Xray On", FUNCDCM_NONE ), |
2099 | | ENTRY( 0x0044, 0x0000, "UI", "?", FUNCDCM_NONE ), |
2100 | | ENTRY( 0x0045, 0x0004, "CS", "AES", FUNCDCM_NONE ), |
2101 | | ENTRY( 0x0045, 0x0006, "DS", "Angulation", FUNCDCM_NONE ), |
2102 | | ENTRY( 0x0045, 0x0009, "DS", "Real Magnification Factor", FUNCDCM_NONE ), |
2103 | | ENTRY( 0x0045, 0x000b, "CS", "Senograph Type", FUNCDCM_NONE ), |
2104 | | ENTRY( 0x0045, 0x000c, "DS", "Integration Time", FUNCDCM_NONE ), |
2105 | | ENTRY( 0x0045, 0x000d, "DS", "ROI Origin X and Y", FUNCDCM_NONE ), |
2106 | | ENTRY( 0x0045, 0x0011, "DS", "Receptor Size cm X and Y", FUNCDCM_NONE ), |
2107 | | ENTRY( 0x0045, 0x0012, "IS", "Receptor Size Pixels X and Y", FUNCDCM_NONE ), |
2108 | | ENTRY( 0x0045, 0x0013, "ST", "Screen", FUNCDCM_NONE ), |
2109 | | ENTRY( 0x0045, 0x0014, "DS", "Pixel Pitch Microns", FUNCDCM_NONE ), |
2110 | | ENTRY( 0x0045, 0x0015, "IS", "Pixel Depth Bits", FUNCDCM_NONE ), |
2111 | | ENTRY( 0x0045, 0x0016, "IS", "Binning Factor X and Y", FUNCDCM_NONE ), |
2112 | | ENTRY( 0x0045, 0x001b, "CS", "Clinical View", FUNCDCM_NONE ), |
2113 | | ENTRY( 0x0045, 0x001d, "DS", "Mean Of Raw Gray Levels", FUNCDCM_NONE ), |
2114 | | ENTRY( 0x0045, 0x001e, "DS", "Mean Of Offset Gray Levels", FUNCDCM_NONE ), |
2115 | | ENTRY( 0x0045, 0x001f, "DS", "Mean Of Corrected Gray Levels", FUNCDCM_NONE ), |
2116 | | ENTRY( 0x0045, 0x0020, "DS", "Mean Of Region Gray Levels", FUNCDCM_NONE ), |
2117 | | ENTRY( 0x0045, 0x0021, "DS", "Mean Of Log Region Gray Levels", FUNCDCM_NONE ), |
2118 | | ENTRY( 0x0045, 0x0022, "DS", "Standard Deviation Of Raw Gray Levels", FUNCDCM_NONE ), |
2119 | | ENTRY( 0x0045, 0x0023, "DS", "Standard Deviation Of Corrected Gray Levels", FUNCDCM_NONE ), |
2120 | | ENTRY( 0x0045, 0x0024, "DS", "Standard Deviation Of Region Gray Levels", FUNCDCM_NONE ), |
2121 | | ENTRY( 0x0045, 0x0025, "DS", "Standard Deviation Of Log Region Gray Levels", FUNCDCM_NONE ), |
2122 | | ENTRY( 0x0045, 0x0026, "OB", "MAO Buffer", FUNCDCM_NONE ), |
2123 | | ENTRY( 0x0045, 0x0027, "IS", "Set Number", FUNCDCM_NONE ), |
2124 | | ENTRY( 0x0045, 0x0028, "CS", "WindowingType (LINEAR or GAMMA)", FUNCDCM_NONE ), |
2125 | | ENTRY( 0x0045, 0x0029, "DS", "WindowingParameters", FUNCDCM_NONE ), |
2126 | | ENTRY( 0x0045, 0x002a, "IS", "Crosshair Cursor X Coordinates", FUNCDCM_NONE ), |
2127 | | ENTRY( 0x0045, 0x002b, "IS", "Crosshair Cursor Y Coordinates", FUNCDCM_NONE ), |
2128 | | ENTRY( 0x0045, 0x0039, "US", "Vignette Rows", FUNCDCM_NONE ), |
2129 | | ENTRY( 0x0045, 0x003a, "US", "Vignette Columns", FUNCDCM_NONE ), |
2130 | | ENTRY( 0x0045, 0x003b, "US", "Vignette Bits Allocated", FUNCDCM_NONE ), |
2131 | | ENTRY( 0x0045, 0x003c, "US", "Vignette Bits Stored", FUNCDCM_NONE ), |
2132 | | ENTRY( 0x0045, 0x003d, "US", "Vignette High Bit", FUNCDCM_NONE ), |
2133 | | ENTRY( 0x0045, 0x003e, "US", "Vignette Pixel Representation", FUNCDCM_NONE ), |
2134 | | ENTRY( 0x0045, 0x003f, "OB", "Vignette Pixel Data", FUNCDCM_NONE ), |
2135 | | ENTRY( 0x0047, 0x0001, "SQ", "Reconstruction Parameters Sequence", FUNCDCM_NONE ), |
2136 | | ENTRY( 0x0047, 0x0050, "UL", "Volume Voxel Count", FUNCDCM_NONE ), |
2137 | | ENTRY( 0x0047, 0x0051, "UL", "Volume Segment Count", FUNCDCM_NONE ), |
2138 | | ENTRY( 0x0047, 0x0053, "US", "Volume Slice Size", FUNCDCM_NONE ), |
2139 | | ENTRY( 0x0047, 0x0054, "US", "Volume Slice Count", FUNCDCM_NONE ), |
2140 | | ENTRY( 0x0047, 0x0055, "SL", "Volume Threshold Value", FUNCDCM_NONE ), |
2141 | | ENTRY( 0x0047, 0x0057, "DS", "Volume Voxel Ratio", FUNCDCM_NONE ), |
2142 | | ENTRY( 0x0047, 0x0058, "DS", "Volume Voxel Size", FUNCDCM_NONE ), |
2143 | | ENTRY( 0x0047, 0x0059, "US", "Volume Z Position Size", FUNCDCM_NONE ), |
2144 | | ENTRY( 0x0047, 0x0060, "DS", "Volume Base Line", FUNCDCM_NONE ), |
2145 | | ENTRY( 0x0047, 0x0061, "DS", "Volume Center Point", FUNCDCM_NONE ), |
2146 | | ENTRY( 0x0047, 0x0063, "SL", "Volume Skew Base", FUNCDCM_NONE ), |
2147 | | ENTRY( 0x0047, 0x0064, "DS", "Volume Registration Transform Rotation Matrix", FUNCDCM_NONE ), |
2148 | | ENTRY( 0x0047, 0x0065, "DS", "Volume Registration Transform Translation Vector", FUNCDCM_NONE ), |
2149 | | ENTRY( 0x0047, 0x0070, "DS", "KVP List", FUNCDCM_NONE ), |
2150 | | ENTRY( 0x0047, 0x0071, "IS", "XRay Tube Current List", FUNCDCM_NONE ), |
2151 | | ENTRY( 0x0047, 0x0072, "IS", "Exposure List", FUNCDCM_NONE ), |
2152 | | ENTRY( 0x0047, 0x0080, "LO", "Acquisition DLX Identifier", FUNCDCM_NONE ), |
2153 | | ENTRY( 0x0047, 0x0085, "SQ", "Acquisition DLX 2D Series Sequence", FUNCDCM_NONE ), |
2154 | | ENTRY( 0x0047, 0x0089, "DS", "Contrast Agent Volume List", FUNCDCM_NONE ), |
2155 | | ENTRY( 0x0047, 0x008a, "US", "Number Of Injections", FUNCDCM_NONE ), |
2156 | | ENTRY( 0x0047, 0x008b, "US", "Frame Count", FUNCDCM_NONE ), |
2157 | | ENTRY( 0x0047, 0x0096, "IS", "Used Frames", FUNCDCM_NONE ), |
2158 | | ENTRY( 0x0047, 0x0091, "LO", "XA 3D Reconstruction Algorithm Name", FUNCDCM_NONE ), |
2159 | | ENTRY( 0x0047, 0x0092, "CS", "XA 3D Reconstruction Algorithm Version", FUNCDCM_NONE ), |
2160 | | ENTRY( 0x0047, 0x0093, "DA", "DLX Calibration Date", FUNCDCM_NONE ), |
2161 | | ENTRY( 0x0047, 0x0094, "TM", "DLX Calibration Time", FUNCDCM_NONE ), |
2162 | | ENTRY( 0x0047, 0x0095, "CS", "DLX Calibration Status", FUNCDCM_NONE ), |
2163 | | ENTRY( 0x0047, 0x0098, "US", "Transform Count", FUNCDCM_NONE ), |
2164 | | ENTRY( 0x0047, 0x0099, "SQ", "Transform Sequence", FUNCDCM_NONE ), |
2165 | | ENTRY( 0x0047, 0x009a, "DS", "Transform Rotation Matrix", FUNCDCM_NONE ), |
2166 | | ENTRY( 0x0047, 0x009b, "DS", "Transform Translation Vector", FUNCDCM_NONE ), |
2167 | | ENTRY( 0x0047, 0x009c, "LO", "Transform Label", FUNCDCM_NONE ), |
2168 | | ENTRY( 0x0047, 0x00b1, "US", "Wireframe Count", FUNCDCM_NONE ), |
2169 | | ENTRY( 0x0047, 0x00b2, "US", "Location System", FUNCDCM_NONE ), |
2170 | | ENTRY( 0x0047, 0x00b0, "SQ", "Wireframe List", FUNCDCM_NONE ), |
2171 | | ENTRY( 0x0047, 0x00b5, "LO", "Wireframe Name", FUNCDCM_NONE ), |
2172 | | ENTRY( 0x0047, 0x00b6, "LO", "Wireframe Group Name", FUNCDCM_NONE ), |
2173 | | ENTRY( 0x0047, 0x00b7, "LO", "Wireframe Color", FUNCDCM_NONE ), |
2174 | | ENTRY( 0x0047, 0x00b8, "SL", "Wireframe Attributes", FUNCDCM_NONE ), |
2175 | | ENTRY( 0x0047, 0x00b9, "SL", "Wireframe Point Count", FUNCDCM_NONE ), |
2176 | | ENTRY( 0x0047, 0x00ba, "SL", "Wireframe Timestamp", FUNCDCM_NONE ), |
2177 | | ENTRY( 0x0047, 0x00bb, "SQ", "Wireframe Point List", FUNCDCM_NONE ), |
2178 | | ENTRY( 0x0047, 0x00bc, "DS", "Wireframe Points Coordinates", FUNCDCM_NONE ), |
2179 | | ENTRY( 0x0047, 0x00c0, "DS", "Volume Upper Left High Corner RAS", FUNCDCM_NONE ), |
2180 | | ENTRY( 0x0047, 0x00c1, "DS", "Volume Slice To RAS Rotation Matrix", FUNCDCM_NONE ), |
2181 | | ENTRY( 0x0047, 0x00c2, "DS", "Volume Upper Left High Corner TLOC", FUNCDCM_NONE ), |
2182 | | ENTRY( 0x0047, 0x00d1, "OB", "Volume Segment List", FUNCDCM_NONE ), |
2183 | | ENTRY( 0x0047, 0x00d2, "OB", "Volume Gradient List", FUNCDCM_NONE ), |
2184 | | ENTRY( 0x0047, 0x00d3, "OB", "Volume Density List", FUNCDCM_NONE ), |
2185 | | ENTRY( 0x0047, 0x00d4, "OB", "Volume Z Position List", FUNCDCM_NONE ), |
2186 | | ENTRY( 0x0047, 0x00d5, "OB", "Volume Original Index List", FUNCDCM_NONE ), |
2187 | | ENTRY( 0x0050, 0x0000, "UL", "Calibration Group Length", FUNCDCM_NONE ), |
2188 | | ENTRY( 0x0050, 0x0004, "CS", "Calibration Object", FUNCDCM_NONE ), |
2189 | | ENTRY( 0x0050, 0x0010, "SQ", "DeviceSequence", FUNCDCM_NONE ), |
2190 | | ENTRY( 0x0050, 0x0014, "DS", "DeviceLength", FUNCDCM_NONE ), |
2191 | | ENTRY( 0x0050, 0x0016, "DS", "DeviceDiameter", FUNCDCM_NONE ), |
2192 | | ENTRY( 0x0050, 0x0017, "CS", "DeviceDiameterUnits", FUNCDCM_NONE ), |
2193 | | ENTRY( 0x0050, 0x0018, "DS", "DeviceVolume", FUNCDCM_NONE ), |
2194 | | ENTRY( 0x0050, 0x0019, "DS", "InterMarkerDistance", FUNCDCM_NONE ), |
2195 | | ENTRY( 0x0050, 0x0020, "LO", "DeviceDescription", FUNCDCM_NONE ), |
2196 | | ENTRY( 0x0050, 0x0030, "SQ", "CodedInterventionDeviceSequence", FUNCDCM_NONE ), |
2197 | | ENTRY( 0x0051, 0x0010, "xs", "Image Text", FUNCDCM_NONE ), |
2198 | | ENTRY( 0x0054, 0x0000, "UL", "Nuclear Acquisition Group Length", FUNCDCM_NONE ), |
2199 | | ENTRY( 0x0054, 0x0010, "US", "Energy Window Vector", FUNCDCM_NONE ), |
2200 | | ENTRY( 0x0054, 0x0011, "US", "Number of Energy Windows", FUNCDCM_NONE ), |
2201 | | ENTRY( 0x0054, 0x0012, "SQ", "Energy Window Information Sequence", FUNCDCM_NONE ), |
2202 | | ENTRY( 0x0054, 0x0013, "SQ", "Energy Window Range Sequence", FUNCDCM_NONE ), |
2203 | | ENTRY( 0x0054, 0x0014, "DS", "Energy Window Lower Limit", FUNCDCM_NONE ), |
2204 | | ENTRY( 0x0054, 0x0015, "DS", "Energy Window Upper Limit", FUNCDCM_NONE ), |
2205 | | ENTRY( 0x0054, 0x0016, "SQ", "Radiopharmaceutical Information Sequence", FUNCDCM_NONE ), |
2206 | | ENTRY( 0x0054, 0x0017, "IS", "Residual Syringe Counts", FUNCDCM_NONE ), |
2207 | | ENTRY( 0x0054, 0x0018, "SH", "Energy Window Name", FUNCDCM_NONE ), |
2208 | | ENTRY( 0x0054, 0x0020, "US", "Detector Vector", FUNCDCM_NONE ), |
2209 | | ENTRY( 0x0054, 0x0021, "US", "Number of Detectors", FUNCDCM_NONE ), |
2210 | | ENTRY( 0x0054, 0x0022, "SQ", "Detector Information Sequence", FUNCDCM_NONE ), |
2211 | | ENTRY( 0x0054, 0x0030, "US", "Phase Vector", FUNCDCM_NONE ), |
2212 | | ENTRY( 0x0054, 0x0031, "US", "Number of Phases", FUNCDCM_NONE ), |
2213 | | ENTRY( 0x0054, 0x0032, "SQ", "Phase Information Sequence", FUNCDCM_NONE ), |
2214 | | ENTRY( 0x0054, 0x0033, "US", "Number of Frames In Phase", FUNCDCM_NONE ), |
2215 | | ENTRY( 0x0054, 0x0036, "IS", "Phase Delay", FUNCDCM_NONE ), |
2216 | | ENTRY( 0x0054, 0x0038, "IS", "Pause Between Frames", FUNCDCM_NONE ), |
2217 | | ENTRY( 0x0054, 0x0050, "US", "Rotation Vector", FUNCDCM_NONE ), |
2218 | | ENTRY( 0x0054, 0x0051, "US", "Number of Rotations", FUNCDCM_NONE ), |
2219 | | ENTRY( 0x0054, 0x0052, "SQ", "Rotation Information Sequence", FUNCDCM_NONE ), |
2220 | | ENTRY( 0x0054, 0x0053, "US", "Number of Frames In Rotation", FUNCDCM_NONE ), |
2221 | | ENTRY( 0x0054, 0x0060, "US", "R-R Interval Vector", FUNCDCM_NONE ), |
2222 | | ENTRY( 0x0054, 0x0061, "US", "Number of R-R Intervals", FUNCDCM_NONE ), |
2223 | | ENTRY( 0x0054, 0x0062, "SQ", "Gated Information Sequence", FUNCDCM_NONE ), |
2224 | | ENTRY( 0x0054, 0x0063, "SQ", "Data Information Sequence", FUNCDCM_NONE ), |
2225 | | ENTRY( 0x0054, 0x0070, "US", "Time Slot Vector", FUNCDCM_NONE ), |
2226 | | ENTRY( 0x0054, 0x0071, "US", "Number of Time Slots", FUNCDCM_NONE ), |
2227 | | ENTRY( 0x0054, 0x0072, "SQ", "Time Slot Information Sequence", FUNCDCM_NONE ), |
2228 | | ENTRY( 0x0054, 0x0073, "DS", "Time Slot Time", FUNCDCM_NONE ), |
2229 | | ENTRY( 0x0054, 0x0080, "US", "Slice Vector", FUNCDCM_NONE ), |
2230 | | ENTRY( 0x0054, 0x0081, "US", "Number of Slices", FUNCDCM_NONE ), |
2231 | | ENTRY( 0x0054, 0x0090, "US", "Angular View Vector", FUNCDCM_NONE ), |
2232 | | ENTRY( 0x0054, 0x0100, "US", "Time Slice Vector", FUNCDCM_NONE ), |
2233 | | ENTRY( 0x0054, 0x0101, "US", "Number Of Time Slices", FUNCDCM_NONE ), |
2234 | | ENTRY( 0x0054, 0x0200, "DS", "Start Angle", FUNCDCM_NONE ), |
2235 | | ENTRY( 0x0054, 0x0202, "CS", "Type of Detector Motion", FUNCDCM_NONE ), |
2236 | | ENTRY( 0x0054, 0x0210, "IS", "Trigger Vector", FUNCDCM_NONE ), |
2237 | | ENTRY( 0x0054, 0x0211, "US", "Number of Triggers in Phase", FUNCDCM_NONE ), |
2238 | | ENTRY( 0x0054, 0x0220, "SQ", "View Code Sequence", FUNCDCM_NONE ), |
2239 | | ENTRY( 0x0054, 0x0222, "SQ", "View Modifier Code Sequence", FUNCDCM_NONE ), |
2240 | | ENTRY( 0x0054, 0x0300, "SQ", "Radionuclide Code Sequence", FUNCDCM_NONE ), |
2241 | | ENTRY( 0x0054, 0x0302, "SQ", "Radiopharmaceutical Route Code Sequence", FUNCDCM_NONE ), |
2242 | | ENTRY( 0x0054, 0x0304, "SQ", "Radiopharmaceutical Code Sequence", FUNCDCM_NONE ), |
2243 | | ENTRY( 0x0054, 0x0306, "SQ", "Calibration Data Sequence", FUNCDCM_NONE ), |
2244 | | ENTRY( 0x0054, 0x0308, "US", "Energy Window Number", FUNCDCM_NONE ), |
2245 | | ENTRY( 0x0054, 0x0400, "SH", "Image ID", FUNCDCM_NONE ), |
2246 | | ENTRY( 0x0054, 0x0410, "SQ", "Patient Orientation Code Sequence", FUNCDCM_NONE ), |
2247 | | ENTRY( 0x0054, 0x0412, "SQ", "Patient Orientation Modifier Code Sequence", FUNCDCM_NONE ), |
2248 | | ENTRY( 0x0054, 0x0414, "SQ", "Patient Gantry Relationship Code Sequence", FUNCDCM_NONE ), |
2249 | | ENTRY( 0x0054, 0x1000, "CS", "Positron Emission Tomography Series Type", FUNCDCM_NONE ), |
2250 | | ENTRY( 0x0054, 0x1001, "CS", "Positron Emission Tomography Units", FUNCDCM_NONE ), |
2251 | | ENTRY( 0x0054, 0x1002, "CS", "Counts Source", FUNCDCM_NONE ), |
2252 | | ENTRY( 0x0054, 0x1004, "CS", "Reprojection Method", FUNCDCM_NONE ), |
2253 | | ENTRY( 0x0054, 0x1100, "CS", "Randoms Correction Method", FUNCDCM_NONE ), |
2254 | | ENTRY( 0x0054, 0x1101, "LO", "Attenuation Correction Method", FUNCDCM_NONE ), |
2255 | | ENTRY( 0x0054, 0x1102, "CS", "Decay Correction", FUNCDCM_NONE ), |
2256 | | ENTRY( 0x0054, 0x1103, "LO", "Reconstruction Method", FUNCDCM_NONE ), |
2257 | | ENTRY( 0x0054, 0x1104, "LO", "Detector Lines of Response Used", FUNCDCM_NONE ), |
2258 | | ENTRY( 0x0054, 0x1105, "LO", "Scatter Correction Method", FUNCDCM_NONE ), |
2259 | | ENTRY( 0x0054, 0x1200, "DS", "Axial Acceptance", FUNCDCM_NONE ), |
2260 | | ENTRY( 0x0054, 0x1201, "IS", "Axial Mash", FUNCDCM_NONE ), |
2261 | | ENTRY( 0x0054, 0x1202, "IS", "Transverse Mash", FUNCDCM_NONE ), |
2262 | | ENTRY( 0x0054, 0x1203, "DS", "Detector Element Size", FUNCDCM_NONE ), |
2263 | | ENTRY( 0x0054, 0x1210, "DS", "Coincidence Window Width", FUNCDCM_NONE ), |
2264 | | ENTRY( 0x0054, 0x1220, "CS", "Secondary Counts Type", FUNCDCM_NONE ), |
2265 | | ENTRY( 0x0054, 0x1300, "DS", "Frame Reference Time", FUNCDCM_NONE ), |
2266 | | ENTRY( 0x0054, 0x1310, "IS", "Primary Prompts Counts Accumulated", FUNCDCM_NONE ), |
2267 | | ENTRY( 0x0054, 0x1311, "IS", "Secondary Counts Accumulated", FUNCDCM_NONE ), |
2268 | | ENTRY( 0x0054, 0x1320, "DS", "Slice Sensitivity Factor", FUNCDCM_NONE ), |
2269 | | ENTRY( 0x0054, 0x1321, "DS", "Decay Factor", FUNCDCM_NONE ), |
2270 | | ENTRY( 0x0054, 0x1322, "DS", "Dose Calibration Factor", FUNCDCM_NONE ), |
2271 | | ENTRY( 0x0054, 0x1323, "DS", "Scatter Fraction Factor", FUNCDCM_NONE ), |
2272 | | ENTRY( 0x0054, 0x1324, "DS", "Dead Time Factor", FUNCDCM_NONE ), |
2273 | | ENTRY( 0x0054, 0x1330, "US", "Image Index", FUNCDCM_NONE ), |
2274 | | ENTRY( 0x0054, 0x1400, "CS", "Counts Included", FUNCDCM_NONE ), |
2275 | | ENTRY( 0x0054, 0x1401, "CS", "Dead Time Correction Flag", FUNCDCM_NONE ), |
2276 | | ENTRY( 0x0055, 0x0046, "LT", "Current Ward", FUNCDCM_NONE ), |
2277 | | ENTRY( 0x0058, 0x0000, "SQ", "?", FUNCDCM_NONE ), |
2278 | | ENTRY( 0x0060, 0x3000, "SQ", "Histogram Sequence", FUNCDCM_NONE ), |
2279 | | ENTRY( 0x0060, 0x3002, "US", "Histogram Number of Bins", FUNCDCM_NONE ), |
2280 | | ENTRY( 0x0060, 0x3004, "xs", "Histogram First Bin Value", FUNCDCM_NONE ), |
2281 | | ENTRY( 0x0060, 0x3006, "xs", "Histogram Last Bin Value", FUNCDCM_NONE ), |
2282 | | ENTRY( 0x0060, 0x3008, "US", "Histogram Bin Width", FUNCDCM_NONE ), |
2283 | | ENTRY( 0x0060, 0x3010, "LO", "Histogram Explanation", FUNCDCM_NONE ), |
2284 | | ENTRY( 0x0060, 0x3020, "UL", "Histogram Data", FUNCDCM_NONE ), |
2285 | | ENTRY( 0x0070, 0x0001, "SQ", "Graphic Annotation Sequence", FUNCDCM_NONE ), |
2286 | | ENTRY( 0x0070, 0x0002, "CS", "Graphic Layer", FUNCDCM_NONE ), |
2287 | | ENTRY( 0x0070, 0x0003, "CS", "Bounding Box Annotation Units", FUNCDCM_NONE ), |
2288 | | ENTRY( 0x0070, 0x0004, "CS", "Anchor Point Annotation Units", FUNCDCM_NONE ), |
2289 | | ENTRY( 0x0070, 0x0005, "CS", "Graphic Annotation Units", FUNCDCM_NONE ), |
2290 | | ENTRY( 0x0070, 0x0006, "ST", "Unformatted Text Value", FUNCDCM_NONE ), |
2291 | | ENTRY( 0x0070, 0x0008, "SQ", "Text Object Sequence", FUNCDCM_NONE ), |
2292 | | ENTRY( 0x0070, 0x0009, "SQ", "Graphic Object Sequence", FUNCDCM_NONE ), |
2293 | | ENTRY( 0x0070, 0x0010, "FL", "Bounding Box TLHC", FUNCDCM_NONE ), |
2294 | | ENTRY( 0x0070, 0x0011, "FL", "Bounding Box BRHC", FUNCDCM_NONE ), |
2295 | | ENTRY( 0x0070, 0x0014, "FL", "Anchor Point", FUNCDCM_NONE ), |
2296 | | ENTRY( 0x0070, 0x0015, "CS", "Anchor Point Visibility", FUNCDCM_NONE ), |
2297 | | ENTRY( 0x0070, 0x0020, "US", "Graphic Dimensions", FUNCDCM_NONE ), |
2298 | | ENTRY( 0x0070, 0x0021, "US", "Number Of Graphic Points", FUNCDCM_NONE ), |
2299 | | ENTRY( 0x0070, 0x0022, "FL", "Graphic Data", FUNCDCM_NONE ), |
2300 | | ENTRY( 0x0070, 0x0023, "CS", "Graphic Type", FUNCDCM_NONE ), |
2301 | | ENTRY( 0x0070, 0x0024, "CS", "Graphic Filled", FUNCDCM_NONE ), |
2302 | | ENTRY( 0x0070, 0x0040, "IS", "Image Rotation", FUNCDCM_NONE ), |
2303 | | ENTRY( 0x0070, 0x0041, "CS", "Image Horizontal Flip", FUNCDCM_NONE ), |
2304 | | ENTRY( 0x0070, 0x0050, "US", "Displayed Area TLHC", FUNCDCM_NONE ), |
2305 | | ENTRY( 0x0070, 0x0051, "US", "Displayed Area BRHC", FUNCDCM_NONE ), |
2306 | | ENTRY( 0x0070, 0x0060, "SQ", "Graphic Layer Sequence", FUNCDCM_NONE ), |
2307 | | ENTRY( 0x0070, 0x0062, "IS", "Graphic Layer Order", FUNCDCM_NONE ), |
2308 | | ENTRY( 0x0070, 0x0066, "US", "Graphic Layer Recommended Display Value", FUNCDCM_NONE ), |
2309 | | ENTRY( 0x0070, 0x0068, "LO", "Graphic Layer Description", FUNCDCM_NONE ), |
2310 | | ENTRY( 0x0070, 0x0080, "CS", "Presentation Label", FUNCDCM_NONE ), |
2311 | | ENTRY( 0x0070, 0x0081, "LO", "Presentation Description", FUNCDCM_NONE ), |
2312 | | ENTRY( 0x0070, 0x0082, "DA", "Presentation Creation Date", FUNCDCM_NONE ), |
2313 | | ENTRY( 0x0070, 0x0083, "TM", "Presentation Creation Time", FUNCDCM_NONE ), |
2314 | | ENTRY( 0x0070, 0x0084, "PN", "Presentation Creator's Name", FUNCDCM_NONE ), |
2315 | | ENTRY( 0x0087, 0x0010, "CS", "Media Type", FUNCDCM_NONE ), |
2316 | | ENTRY( 0x0087, 0x0020, "CS", "Media Location", FUNCDCM_NONE ), |
2317 | | ENTRY( 0x0087, 0x0050, "IS", "Estimated Retrieve Time", FUNCDCM_NONE ), |
2318 | | ENTRY( 0x0088, 0x0000, "UL", "Storage Group Length", FUNCDCM_NONE ), |
2319 | | ENTRY( 0x0088, 0x0130, "SH", "Storage Media FileSet ID", FUNCDCM_NONE ), |
2320 | | ENTRY( 0x0088, 0x0140, "UI", "Storage Media FileSet UID", FUNCDCM_NONE ), |
2321 | | ENTRY( 0x0088, 0x0200, "SQ", "Icon Image Sequence", FUNCDCM_NONE ), |
2322 | | ENTRY( 0x0088, 0x0904, "LO", "Topic Title", FUNCDCM_NONE ), |
2323 | | ENTRY( 0x0088, 0x0906, "ST", "Topic Subject", FUNCDCM_NONE ), |
2324 | | ENTRY( 0x0088, 0x0910, "LO", "Topic Author", FUNCDCM_NONE ), |
2325 | | ENTRY( 0x0088, 0x0912, "LO", "Topic Key Words", FUNCDCM_NONE ), |
2326 | | ENTRY( 0x0095, 0x0001, "LT", "Examination Folder ID", FUNCDCM_NONE ), |
2327 | | ENTRY( 0x0095, 0x0004, "UL", "Folder Reported Status", FUNCDCM_NONE ), |
2328 | | ENTRY( 0x0095, 0x0005, "LT", "Folder Reporting Radiologist", FUNCDCM_NONE ), |
2329 | | ENTRY( 0x0095, 0x0007, "LT", "SIENET ISA PLA", FUNCDCM_NONE ), |
2330 | | ENTRY( 0x0099, 0x0002, "UL", "Data Object Attributes", FUNCDCM_NONE ), |
2331 | | ENTRY( 0x00e1, 0x0001, "US", "Data Dictionary Version", FUNCDCM_NONE ), |
2332 | | ENTRY( 0x00e1, 0x0014, "LT", "?", FUNCDCM_NONE ), |
2333 | | ENTRY( 0x00e1, 0x0022, "DS", "?", FUNCDCM_NONE ), |
2334 | | ENTRY( 0x00e1, 0x0023, "DS", "?", FUNCDCM_NONE ), |
2335 | | ENTRY( 0x00e1, 0x0024, "LT", "?", FUNCDCM_NONE ), |
2336 | | ENTRY( 0x00e1, 0x0025, "LT", "?", FUNCDCM_NONE ), |
2337 | | ENTRY( 0x00e1, 0x0040, "SH", "Offset From CT MR Images", FUNCDCM_NONE ), |
2338 | | ENTRY( 0x0193, 0x0002, "DS", "RIS Key", FUNCDCM_NONE ), |
2339 | | ENTRY( 0x0307, 0x0001, "UN", "RIS Worklist IMGEF", FUNCDCM_NONE ), |
2340 | | ENTRY( 0x0309, 0x0001, "UN", "RIS Report IMGEF", FUNCDCM_NONE ), |
2341 | | ENTRY( 0x0601, 0x0000, "SH", "Implementation Version", FUNCDCM_NONE ), |
2342 | | ENTRY( 0x0601, 0x0020, "DS", "Relative Table Position", FUNCDCM_NONE ), |
2343 | | ENTRY( 0x0601, 0x0021, "DS", "Relative Table Height", FUNCDCM_NONE ), |
2344 | | ENTRY( 0x0601, 0x0030, "SH", "Surview Direction", FUNCDCM_NONE ), |
2345 | | ENTRY( 0x0601, 0x0031, "DS", "Surview Length", FUNCDCM_NONE ), |
2346 | | ENTRY( 0x0601, 0x0050, "SH", "Image View Type", FUNCDCM_NONE ), |
2347 | | ENTRY( 0x0601, 0x0070, "DS", "Batch Number", FUNCDCM_NONE ), |
2348 | | ENTRY( 0x0601, 0x0071, "DS", "Batch Size", FUNCDCM_NONE ), |
2349 | | ENTRY( 0x0601, 0x0072, "DS", "Batch Slice Number", FUNCDCM_NONE ), |
2350 | | ENTRY( 0x1000, 0x0000, "xs", "?", FUNCDCM_NONE ), |
2351 | | ENTRY( 0x1000, 0x0001, "US", "Run Length Triplet", FUNCDCM_NONE ), |
2352 | | ENTRY( 0x1000, 0x0002, "US", "Huffman Table Size", FUNCDCM_NONE ), |
2353 | | ENTRY( 0x1000, 0x0003, "US", "Huffman Table Triplet", FUNCDCM_NONE ), |
2354 | | ENTRY( 0x1000, 0x0004, "US", "Shift Table Size", FUNCDCM_NONE ), |
2355 | | ENTRY( 0x1000, 0x0005, "US", "Shift Table Triplet", FUNCDCM_NONE ), |
2356 | | ENTRY( 0x1010, 0x0000, "xs", "?", FUNCDCM_NONE ), |
2357 | | ENTRY( 0x1369, 0x0000, "US", "?", FUNCDCM_NONE ), |
2358 | | ENTRY( 0x2000, 0x0000, "UL", "Film Session Group Length", FUNCDCM_NONE ), |
2359 | | ENTRY( 0x2000, 0x0010, "IS", "Number of Copies", FUNCDCM_NONE ), |
2360 | | ENTRY( 0x2000, 0x0020, "CS", "Print Priority", FUNCDCM_NONE ), |
2361 | | ENTRY( 0x2000, 0x0030, "CS", "Medium Type", FUNCDCM_NONE ), |
2362 | | ENTRY( 0x2000, 0x0040, "CS", "Film Destination", FUNCDCM_NONE ), |
2363 | | ENTRY( 0x2000, 0x0050, "LO", "Film Session Label", FUNCDCM_NONE ), |
2364 | | ENTRY( 0x2000, 0x0060, "IS", "Memory Allocation", FUNCDCM_NONE ), |
2365 | | ENTRY( 0x2000, 0x0500, "SQ", "Referenced Film Box Sequence", FUNCDCM_NONE ), |
2366 | | ENTRY( 0x2010, 0x0000, "UL", "Film Box Group Length", FUNCDCM_NONE ), |
2367 | | ENTRY( 0x2010, 0x0010, "ST", "Image Display Format", FUNCDCM_NONE ), |
2368 | | ENTRY( 0x2010, 0x0030, "CS", "Annotation Display Format ID", FUNCDCM_NONE ), |
2369 | | ENTRY( 0x2010, 0x0040, "CS", "Film Orientation", FUNCDCM_NONE ), |
2370 | | ENTRY( 0x2010, 0x0050, "CS", "Film Size ID", FUNCDCM_NONE ), |
2371 | | ENTRY( 0x2010, 0x0060, "CS", "Magnification Type", FUNCDCM_NONE ), |
2372 | | ENTRY( 0x2010, 0x0080, "CS", "Smoothing Type", FUNCDCM_NONE ), |
2373 | | ENTRY( 0x2010, 0x0100, "CS", "Border Density", FUNCDCM_NONE ), |
2374 | | ENTRY( 0x2010, 0x0110, "CS", "Empty Image Density", FUNCDCM_NONE ), |
2375 | | ENTRY( 0x2010, 0x0120, "US", "Min Density", FUNCDCM_NONE ), |
2376 | | ENTRY( 0x2010, 0x0130, "US", "Max Density", FUNCDCM_NONE ), |
2377 | | ENTRY( 0x2010, 0x0140, "CS", "Trim", FUNCDCM_NONE ), |
2378 | | ENTRY( 0x2010, 0x0150, "ST", "Configuration Information", FUNCDCM_NONE ), |
2379 | | ENTRY( 0x2010, 0x0500, "SQ", "Referenced Film Session Sequence", FUNCDCM_NONE ), |
2380 | | ENTRY( 0x2010, 0x0510, "SQ", "Referenced Image Box Sequence", FUNCDCM_NONE ), |
2381 | | ENTRY( 0x2010, 0x0520, "SQ", "Referenced Basic Annotation Box Sequence", FUNCDCM_NONE ), |
2382 | | ENTRY( 0x2020, 0x0000, "UL", "Image Box Group Length", FUNCDCM_NONE ), |
2383 | | ENTRY( 0x2020, 0x0010, "US", "Image Box Position", FUNCDCM_NONE ), |
2384 | | ENTRY( 0x2020, 0x0020, "CS", "Polarity", FUNCDCM_NONE ), |
2385 | | ENTRY( 0x2020, 0x0030, "DS", "Requested Image Size", FUNCDCM_NONE ), |
2386 | | ENTRY( 0x2020, 0x0110, "SQ", "Preformatted Grayscale Image Sequence", FUNCDCM_NONE ), |
2387 | | ENTRY( 0x2020, 0x0111, "SQ", "Preformatted Color Image Sequence", FUNCDCM_NONE ), |
2388 | | ENTRY( 0x2020, 0x0130, "SQ", "Referenced Image Overlay Box Sequence", FUNCDCM_NONE ), |
2389 | | ENTRY( 0x2020, 0x0140, "SQ", "Referenced VOI LUT Box Sequence", FUNCDCM_NONE ), |
2390 | | ENTRY( 0x2030, 0x0000, "UL", "Annotation Group Length", FUNCDCM_NONE ), |
2391 | | ENTRY( 0x2030, 0x0010, "US", "Annotation Position", FUNCDCM_NONE ), |
2392 | | ENTRY( 0x2030, 0x0020, "LO", "Text String", FUNCDCM_NONE ), |
2393 | | ENTRY( 0x2040, 0x0000, "UL", "Overlay Box Group Length", FUNCDCM_NONE ), |
2394 | | ENTRY( 0x2040, 0x0010, "SQ", "Referenced Overlay Plane Sequence", FUNCDCM_NONE ), |
2395 | | ENTRY( 0x2040, 0x0011, "US", "Referenced Overlay Plane Groups", FUNCDCM_NONE ), |
2396 | | ENTRY( 0x2040, 0x0060, "CS", "Overlay Magnification Type", FUNCDCM_NONE ), |
2397 | | ENTRY( 0x2040, 0x0070, "CS", "Overlay Smoothing Type", FUNCDCM_NONE ), |
2398 | | ENTRY( 0x2040, 0x0080, "CS", "Overlay Foreground Density", FUNCDCM_NONE ), |
2399 | | ENTRY( 0x2040, 0x0090, "CS", "Overlay Mode", FUNCDCM_NONE ), |
2400 | | ENTRY( 0x2040, 0x0100, "CS", "Threshold Density", FUNCDCM_NONE ), |
2401 | | ENTRY( 0x2040, 0x0500, "SQ", "Referenced Overlay Image Box Sequence", FUNCDCM_NONE ), |
2402 | | ENTRY( 0x2050, 0x0010, "SQ", "Presentation LUT Sequence", FUNCDCM_NONE ), |
2403 | | ENTRY( 0x2050, 0x0020, "CS", "Presentation LUT Shape", FUNCDCM_NONE ), |
2404 | | ENTRY( 0x2100, 0x0000, "UL", "Print Job Group Length", FUNCDCM_NONE ), |
2405 | | ENTRY( 0x2100, 0x0020, "CS", "Execution Status", FUNCDCM_NONE ), |
2406 | | ENTRY( 0x2100, 0x0030, "CS", "Execution Status Info", FUNCDCM_NONE ), |
2407 | | ENTRY( 0x2100, 0x0040, "DA", "Creation Date", FUNCDCM_NONE ), |
2408 | | ENTRY( 0x2100, 0x0050, "TM", "Creation Time", FUNCDCM_NONE ), |
2409 | | ENTRY( 0x2100, 0x0070, "AE", "Originator", FUNCDCM_NONE ), |
2410 | | ENTRY( 0x2100, 0x0500, "SQ", "Referenced Print Job Sequence", FUNCDCM_NONE ), |
2411 | | ENTRY( 0x2110, 0x0000, "UL", "Printer Group Length", FUNCDCM_NONE ), |
2412 | | ENTRY( 0x2110, 0x0010, "CS", "Printer Status", FUNCDCM_NONE ), |
2413 | | ENTRY( 0x2110, 0x0020, "CS", "Printer Status Info", FUNCDCM_NONE ), |
2414 | | ENTRY( 0x2110, 0x0030, "LO", "Printer Name", FUNCDCM_NONE ), |
2415 | | ENTRY( 0x2110, 0x0099, "SH", "Print Queue ID", FUNCDCM_NONE ), |
2416 | | ENTRY( 0x3002, 0x0002, "SH", "RT Image Label", FUNCDCM_NONE ), |
2417 | | ENTRY( 0x3002, 0x0003, "LO", "RT Image Name", FUNCDCM_NONE ), |
2418 | | ENTRY( 0x3002, 0x0004, "ST", "RT Image Description", FUNCDCM_NONE ), |
2419 | | ENTRY( 0x3002, 0x000a, "CS", "Reported Values Origin", FUNCDCM_NONE ), |
2420 | | ENTRY( 0x3002, 0x000c, "CS", "RT Image Plane", FUNCDCM_NONE ), |
2421 | | ENTRY( 0x3002, 0x000e, "DS", "X-Ray Image Receptor Angle", FUNCDCM_NONE ), |
2422 | | ENTRY( 0x3002, 0x0010, "DS", "RTImageOrientation", FUNCDCM_NONE ), |
2423 | | ENTRY( 0x3002, 0x0011, "DS", "Image Plane Pixel Spacing", FUNCDCM_NONE ), |
2424 | | ENTRY( 0x3002, 0x0012, "DS", "RT Image Position", FUNCDCM_NONE ), |
2425 | | ENTRY( 0x3002, 0x0020, "SH", "Radiation Machine Name", FUNCDCM_NONE ), |
2426 | | ENTRY( 0x3002, 0x0022, "DS", "Radiation Machine SAD", FUNCDCM_NONE ), |
2427 | | ENTRY( 0x3002, 0x0024, "DS", "Radiation Machine SSD", FUNCDCM_NONE ), |
2428 | | ENTRY( 0x3002, 0x0026, "DS", "RT Image SID", FUNCDCM_NONE ), |
2429 | | ENTRY( 0x3002, 0x0028, "DS", "Source to Reference Object Distance", FUNCDCM_NONE ), |
2430 | | ENTRY( 0x3002, 0x0029, "IS", "Fraction Number", FUNCDCM_NONE ), |
2431 | | ENTRY( 0x3002, 0x0030, "SQ", "Exposure Sequence", FUNCDCM_NONE ), |
2432 | | ENTRY( 0x3002, 0x0032, "DS", "Meterset Exposure", FUNCDCM_NONE ), |
2433 | | ENTRY( 0x3004, 0x0001, "CS", "DVH Type", FUNCDCM_NONE ), |
2434 | | ENTRY( 0x3004, 0x0002, "CS", "Dose Units", FUNCDCM_NONE ), |
2435 | | ENTRY( 0x3004, 0x0004, "CS", "Dose Type", FUNCDCM_NONE ), |
2436 | | ENTRY( 0x3004, 0x0006, "LO", "Dose Comment", FUNCDCM_NONE ), |
2437 | | ENTRY( 0x3004, 0x0008, "DS", "Normalization Point", FUNCDCM_NONE ), |
2438 | | ENTRY( 0x3004, 0x000a, "CS", "Dose Summation Type", FUNCDCM_NONE ), |
2439 | | ENTRY( 0x3004, 0x000c, "DS", "GridFrame Offset Vector", FUNCDCM_NONE ), |
2440 | | ENTRY( 0x3004, 0x000e, "DS", "Dose Grid Scaling", FUNCDCM_NONE ), |
2441 | | ENTRY( 0x3004, 0x0010, "SQ", "RT Dose ROI Sequence", FUNCDCM_NONE ), |
2442 | | ENTRY( 0x3004, 0x0012, "DS", "Dose Value", FUNCDCM_NONE ), |
2443 | | ENTRY( 0x3004, 0x0040, "DS", "DVH Normalization Point", FUNCDCM_NONE ), |
2444 | | ENTRY( 0x3004, 0x0042, "DS", "DVH Normalization Dose Value", FUNCDCM_NONE ), |
2445 | | ENTRY( 0x3004, 0x0050, "SQ", "DVH Sequence", FUNCDCM_NONE ), |
2446 | | ENTRY( 0x3004, 0x0052, "DS", "DVH Dose Scaling", FUNCDCM_NONE ), |
2447 | | ENTRY( 0x3004, 0x0054, "CS", "DVH Volume Units", FUNCDCM_NONE ), |
2448 | | ENTRY( 0x3004, 0x0056, "IS", "DVH Number of Bins", FUNCDCM_NONE ), |
2449 | | ENTRY( 0x3004, 0x0058, "DS", "DVH Data", FUNCDCM_NONE ), |
2450 | | ENTRY( 0x3004, 0x0060, "SQ", "DVH Referenced ROI Sequence", FUNCDCM_NONE ), |
2451 | | ENTRY( 0x3004, 0x0062, "CS", "DVH ROI Contribution Type", FUNCDCM_NONE ), |
2452 | | ENTRY( 0x3004, 0x0070, "DS", "DVH Minimum Dose", FUNCDCM_NONE ), |
2453 | | ENTRY( 0x3004, 0x0072, "DS", "DVH Maximum Dose", FUNCDCM_NONE ), |
2454 | | ENTRY( 0x3004, 0x0074, "DS", "DVH Mean Dose", FUNCDCM_NONE ), |
2455 | | ENTRY( 0x3006, 0x0002, "SH", "Structure Set Label", FUNCDCM_NONE ), |
2456 | | ENTRY( 0x3006, 0x0004, "LO", "Structure Set Name", FUNCDCM_NONE ), |
2457 | | ENTRY( 0x3006, 0x0006, "ST", "Structure Set Description", FUNCDCM_NONE ), |
2458 | | ENTRY( 0x3006, 0x0008, "DA", "Structure Set Date", FUNCDCM_NONE ), |
2459 | | ENTRY( 0x3006, 0x0009, "TM", "Structure Set Time", FUNCDCM_NONE ), |
2460 | | ENTRY( 0x3006, 0x0010, "SQ", "Referenced Frame of Reference Sequence", FUNCDCM_NONE ), |
2461 | | ENTRY( 0x3006, 0x0012, "SQ", "RT Referenced Study Sequence", FUNCDCM_NONE ), |
2462 | | ENTRY( 0x3006, 0x0014, "SQ", "RT Referenced Series Sequence", FUNCDCM_NONE ), |
2463 | | ENTRY( 0x3006, 0x0016, "SQ", "Contour Image Sequence", FUNCDCM_NONE ), |
2464 | | ENTRY( 0x3006, 0x0020, "SQ", "Structure Set ROI Sequence", FUNCDCM_NONE ), |
2465 | | ENTRY( 0x3006, 0x0022, "IS", "ROI Number", FUNCDCM_NONE ), |
2466 | | ENTRY( 0x3006, 0x0024, "UI", "Referenced Frame of Reference UID", FUNCDCM_NONE ), |
2467 | | ENTRY( 0x3006, 0x0026, "LO", "ROI Name", FUNCDCM_NONE ), |
2468 | | ENTRY( 0x3006, 0x0028, "ST", "ROI Description", FUNCDCM_NONE ), |
2469 | | ENTRY( 0x3006, 0x002a, "IS", "ROI Display Color", FUNCDCM_NONE ), |
2470 | | ENTRY( 0x3006, 0x002c, "DS", "ROI Volume", FUNCDCM_NONE ), |
2471 | | ENTRY( 0x3006, 0x0030, "SQ", "RT Related ROI Sequence", FUNCDCM_NONE ), |
2472 | | ENTRY( 0x3006, 0x0033, "CS", "RT ROI Relationship", FUNCDCM_NONE ), |
2473 | | ENTRY( 0x3006, 0x0036, "CS", "ROI Generation Algorithm", FUNCDCM_NONE ), |
2474 | | ENTRY( 0x3006, 0x0038, "LO", "ROI Generation Description", FUNCDCM_NONE ), |
2475 | | ENTRY( 0x3006, 0x0039, "SQ", "ROI Contour Sequence", FUNCDCM_NONE ), |
2476 | | ENTRY( 0x3006, 0x0040, "SQ", "Contour Sequence", FUNCDCM_NONE ), |
2477 | | ENTRY( 0x3006, 0x0042, "CS", "Contour Geometric Type", FUNCDCM_NONE ), |
2478 | | ENTRY( 0x3006, 0x0044, "DS", "Contour SlabT hickness", FUNCDCM_NONE ), |
2479 | | ENTRY( 0x3006, 0x0045, "DS", "Contour Offset Vector", FUNCDCM_NONE ), |
2480 | | ENTRY( 0x3006, 0x0046, "IS", "Number of Contour Points", FUNCDCM_NONE ), |
2481 | | ENTRY( 0x3006, 0x0050, "DS", "Contour Data", FUNCDCM_NONE ), |
2482 | | ENTRY( 0x3006, 0x0080, "SQ", "RT ROI Observations Sequence", FUNCDCM_NONE ), |
2483 | | ENTRY( 0x3006, 0x0082, "IS", "Observation Number", FUNCDCM_NONE ), |
2484 | | ENTRY( 0x3006, 0x0084, "IS", "Referenced ROI Number", FUNCDCM_NONE ), |
2485 | | ENTRY( 0x3006, 0x0085, "SH", "ROI Observation Label", FUNCDCM_NONE ), |
2486 | | ENTRY( 0x3006, 0x0086, "SQ", "RT ROI Identification Code Sequence", FUNCDCM_NONE ), |
2487 | | ENTRY( 0x3006, 0x0088, "ST", "ROI Observation Description", FUNCDCM_NONE ), |
2488 | | ENTRY( 0x3006, 0x00a0, "SQ", "Related RT ROI Observations Sequence", FUNCDCM_NONE ), |
2489 | | ENTRY( 0x3006, 0x00a4, "CS", "RT ROI Interpreted Type", FUNCDCM_NONE ), |
2490 | | ENTRY( 0x3006, 0x00a6, "PN", "ROI Interpreter", FUNCDCM_NONE ), |
2491 | | ENTRY( 0x3006, 0x00b0, "SQ", "ROI Physical Properties Sequence", FUNCDCM_NONE ), |
2492 | | ENTRY( 0x3006, 0x00b2, "CS", "ROI Physical Property", FUNCDCM_NONE ), |
2493 | | ENTRY( 0x3006, 0x00b4, "DS", "ROI Physical Property Value", FUNCDCM_NONE ), |
2494 | | ENTRY( 0x3006, 0x00c0, "SQ", "Frame of Reference Relationship Sequence", FUNCDCM_NONE ), |
2495 | | ENTRY( 0x3006, 0x00c2, "UI", "Related Frame of Reference UID", FUNCDCM_NONE ), |
2496 | | ENTRY( 0x3006, 0x00c4, "CS", "Frame of Reference Transformation Type", FUNCDCM_NONE ), |
2497 | | ENTRY( 0x3006, 0x00c6, "DS", "Frame of Reference Transformation Matrix", FUNCDCM_NONE ), |
2498 | | ENTRY( 0x3006, 0x00c8, "LO", "Frame of Reference Transformation Comment", FUNCDCM_NONE ), |
2499 | | ENTRY( 0x300a, 0x0002, "SH", "RT Plan Label", FUNCDCM_NONE ), |
2500 | | ENTRY( 0x300a, 0x0003, "LO", "RT Plan Name", FUNCDCM_NONE ), |
2501 | | ENTRY( 0x300a, 0x0004, "ST", "RT Plan Description", FUNCDCM_NONE ), |
2502 | | ENTRY( 0x300a, 0x0006, "DA", "RT Plan Date", FUNCDCM_NONE ), |
2503 | | ENTRY( 0x300a, 0x0007, "TM", "RT Plan Time", FUNCDCM_NONE ), |
2504 | | ENTRY( 0x300a, 0x0009, "LO", "Treatment Protocols", FUNCDCM_NONE ), |
2505 | | ENTRY( 0x300a, 0x000a, "CS", "Treatment Intent", FUNCDCM_NONE ), |
2506 | | ENTRY( 0x300a, 0x000b, "LO", "Treatment Sites", FUNCDCM_NONE ), |
2507 | | ENTRY( 0x300a, 0x000c, "CS", "RT Plan Geometry", FUNCDCM_NONE ), |
2508 | | ENTRY( 0x300a, 0x000e, "ST", "Prescription Description", FUNCDCM_NONE ), |
2509 | | ENTRY( 0x300a, 0x0010, "SQ", "Dose ReferenceSequence", FUNCDCM_NONE ), |
2510 | | ENTRY( 0x300a, 0x0012, "IS", "Dose ReferenceNumber", FUNCDCM_NONE ), |
2511 | | ENTRY( 0x300a, 0x0014, "CS", "Dose Reference Structure Type", FUNCDCM_NONE ), |
2512 | | ENTRY( 0x300a, 0x0016, "LO", "Dose ReferenceDescription", FUNCDCM_NONE ), |
2513 | | ENTRY( 0x300a, 0x0018, "DS", "Dose Reference Point Coordinates", FUNCDCM_NONE ), |
2514 | | ENTRY( 0x300a, 0x001a, "DS", "Nominal Prior Dose", FUNCDCM_NONE ), |
2515 | | ENTRY( 0x300a, 0x0020, "CS", "Dose Reference Type", FUNCDCM_NONE ), |
2516 | | ENTRY( 0x300a, 0x0021, "DS", "Constraint Weight", FUNCDCM_NONE ), |
2517 | | ENTRY( 0x300a, 0x0022, "DS", "Delivery Warning Dose", FUNCDCM_NONE ), |
2518 | | ENTRY( 0x300a, 0x0023, "DS", "Delivery Maximum Dose", FUNCDCM_NONE ), |
2519 | | ENTRY( 0x300a, 0x0025, "DS", "Target Minimum Dose", FUNCDCM_NONE ), |
2520 | | ENTRY( 0x300a, 0x0026, "DS", "Target Prescription Dose", FUNCDCM_NONE ), |
2521 | | ENTRY( 0x300a, 0x0027, "DS", "Target Maximum Dose", FUNCDCM_NONE ), |
2522 | | ENTRY( 0x300a, 0x0028, "DS", "Target Underdose Volume Fraction", FUNCDCM_NONE ), |
2523 | | ENTRY( 0x300a, 0x002a, "DS", "Organ at Risk Full-volume Dose", FUNCDCM_NONE ), |
2524 | | ENTRY( 0x300a, 0x002b, "DS", "Organ at Risk Limit Dose", FUNCDCM_NONE ), |
2525 | | ENTRY( 0x300a, 0x002c, "DS", "Organ at Risk Maximum Dose", FUNCDCM_NONE ), |
2526 | | ENTRY( 0x300a, 0x002d, "DS", "Organ at Risk Overdose Volume Fraction", FUNCDCM_NONE ), |
2527 | | ENTRY( 0x300a, 0x0040, "SQ", "Tolerance Table Sequence", FUNCDCM_NONE ), |
2528 | | ENTRY( 0x300a, 0x0042, "IS", "Tolerance Table Number", FUNCDCM_NONE ), |
2529 | | ENTRY( 0x300a, 0x0043, "SH", "Tolerance Table Label", FUNCDCM_NONE ), |
2530 | | ENTRY( 0x300a, 0x0044, "DS", "Gantry Angle Tolerance", FUNCDCM_NONE ), |
2531 | | ENTRY( 0x300a, 0x0046, "DS", "Beam Limiting Device Angle Tolerance", FUNCDCM_NONE ), |
2532 | | ENTRY( 0x300a, 0x0048, "SQ", "Beam Limiting Device Tolerance Sequence", FUNCDCM_NONE ), |
2533 | | ENTRY( 0x300a, 0x004a, "DS", "Beam Limiting Device Position Tolerance", FUNCDCM_NONE ), |
2534 | | ENTRY( 0x300a, 0x004c, "DS", "Patient Support Angle Tolerance", FUNCDCM_NONE ), |
2535 | | ENTRY( 0x300a, 0x004e, "DS", "Table Top Eccentric Angle Tolerance", FUNCDCM_NONE ), |
2536 | | ENTRY( 0x300a, 0x0051, "DS", "Table Top Vertical Position Tolerance", FUNCDCM_NONE ), |
2537 | | ENTRY( 0x300a, 0x0052, "DS", "Table Top Longitudinal Position Tolerance", FUNCDCM_NONE ), |
2538 | | ENTRY( 0x300a, 0x0053, "DS", "Table Top Lateral Position Tolerance", FUNCDCM_NONE ), |
2539 | | ENTRY( 0x300a, 0x0055, "CS", "RT Plan Relationship", FUNCDCM_NONE ), |
2540 | | ENTRY( 0x300a, 0x0070, "SQ", "Fraction Group Sequence", FUNCDCM_NONE ), |
2541 | | ENTRY( 0x300a, 0x0071, "IS", "Fraction Group Number", FUNCDCM_NONE ), |
2542 | | ENTRY( 0x300a, 0x0078, "IS", "Number of Fractions Planned", FUNCDCM_NONE ), |
2543 | | ENTRY( 0x300a, 0x0079, "IS", "Number of Fractions Per Day", FUNCDCM_NONE ), |
2544 | | ENTRY( 0x300a, 0x007a, "IS", "Repeat Fraction Cycle Length", FUNCDCM_NONE ), |
2545 | | ENTRY( 0x300a, 0x007b, "LT", "Fraction Pattern", FUNCDCM_NONE ), |
2546 | | ENTRY( 0x300a, 0x0080, "IS", "Number of Beams", FUNCDCM_NONE ), |
2547 | | ENTRY( 0x300a, 0x0082, "DS", "Beam Dose Specification Point", FUNCDCM_NONE ), |
2548 | | ENTRY( 0x300a, 0x0084, "DS", "Beam Dose", FUNCDCM_NONE ), |
2549 | | ENTRY( 0x300a, 0x0086, "DS", "Beam Meterset", FUNCDCM_NONE ), |
2550 | | ENTRY( 0x300a, 0x00a0, "IS", "Number of Brachy Application Setups", FUNCDCM_NONE ), |
2551 | | ENTRY( 0x300a, 0x00a2, "DS", "Brachy Application Setup Dose Specification Point", FUNCDCM_NONE ), |
2552 | | ENTRY( 0x300a, 0x00a4, "DS", "Brachy Application Setup Dose", FUNCDCM_NONE ), |
2553 | | ENTRY( 0x300a, 0x00b0, "SQ", "Beam Sequence", FUNCDCM_NONE ), |
2554 | | ENTRY( 0x300a, 0x00b2, "SH", "Treatment Machine Name ", FUNCDCM_NONE ), |
2555 | | ENTRY( 0x300a, 0x00b3, "CS", "Primary Dosimeter Unit", FUNCDCM_NONE ), |
2556 | | ENTRY( 0x300a, 0x00b4, "DS", "Source-Axis Distance", FUNCDCM_NONE ), |
2557 | | ENTRY( 0x300a, 0x00b6, "SQ", "Beam Limiting Device Sequence", FUNCDCM_NONE ), |
2558 | | ENTRY( 0x300a, 0x00b8, "CS", "RT Beam Limiting Device Type", FUNCDCM_NONE ), |
2559 | | ENTRY( 0x300a, 0x00ba, "DS", "Source to Beam Limiting Device Distance", FUNCDCM_NONE ), |
2560 | | ENTRY( 0x300a, 0x00bc, "IS", "Number of Leaf/Jaw Pairs", FUNCDCM_NONE ), |
2561 | | ENTRY( 0x300a, 0x00be, "DS", "Leaf Position Boundaries", FUNCDCM_NONE ), |
2562 | | ENTRY( 0x300a, 0x00c0, "IS", "Beam Number", FUNCDCM_NONE ), |
2563 | | ENTRY( 0x300a, 0x00c2, "LO", "Beam Name", FUNCDCM_NONE ), |
2564 | | ENTRY( 0x300a, 0x00c3, "ST", "Beam Description", FUNCDCM_NONE ), |
2565 | | ENTRY( 0x300a, 0x00c4, "CS", "Beam Type", FUNCDCM_NONE ), |
2566 | | ENTRY( 0x300a, 0x00c6, "CS", "Radiation Type", FUNCDCM_NONE ), |
2567 | | ENTRY( 0x300a, 0x00c8, "IS", "Reference Image Number", FUNCDCM_NONE ), |
2568 | | ENTRY( 0x300a, 0x00ca, "SQ", "Planned Verification Image Sequence", FUNCDCM_NONE ), |
2569 | | ENTRY( 0x300a, 0x00cc, "LO", "Imaging Device Specific Acquisition Parameters", FUNCDCM_NONE ), |
2570 | | ENTRY( 0x300a, 0x00ce, "CS", "Treatment Delivery Type", FUNCDCM_NONE ), |
2571 | | ENTRY( 0x300a, 0x00d0, "IS", "Number of Wedges", FUNCDCM_NONE ), |
2572 | | ENTRY( 0x300a, 0x00d1, "SQ", "Wedge Sequence", FUNCDCM_NONE ), |
2573 | | ENTRY( 0x300a, 0x00d2, "IS", "Wedge Number", FUNCDCM_NONE ), |
2574 | | ENTRY( 0x300a, 0x00d3, "CS", "Wedge Type", FUNCDCM_NONE ), |
2575 | | ENTRY( 0x300a, 0x00d4, "SH", "Wedge ID", FUNCDCM_NONE ), |
2576 | | ENTRY( 0x300a, 0x00d5, "IS", "Wedge Angle", FUNCDCM_NONE ), |
2577 | | ENTRY( 0x300a, 0x00d6, "DS", "Wedge Factor", FUNCDCM_NONE ), |
2578 | | ENTRY( 0x300a, 0x00d8, "DS", "Wedge Orientation", FUNCDCM_NONE ), |
2579 | | ENTRY( 0x300a, 0x00da, "DS", "Source to Wedge Tray Distance", FUNCDCM_NONE ), |
2580 | | ENTRY( 0x300a, 0x00e0, "IS", "Number of Compensators", FUNCDCM_NONE ), |
2581 | | ENTRY( 0x300a, 0x00e1, "SH", "Material ID", FUNCDCM_NONE ), |
2582 | | ENTRY( 0x300a, 0x00e2, "DS", "Total Compensator Tray Factor", FUNCDCM_NONE ), |
2583 | | ENTRY( 0x300a, 0x00e3, "SQ", "Compensator Sequence", FUNCDCM_NONE ), |
2584 | | ENTRY( 0x300a, 0x00e4, "IS", "Compensator Number", FUNCDCM_NONE ), |
2585 | | ENTRY( 0x300a, 0x00e5, "SH", "Compensator ID", FUNCDCM_NONE ), |
2586 | | ENTRY( 0x300a, 0x00e6, "DS", "Source to Compensator Tray Distance", FUNCDCM_NONE ), |
2587 | | ENTRY( 0x300a, 0x00e7, "IS", "Compensator Rows", FUNCDCM_NONE ), |
2588 | | ENTRY( 0x300a, 0x00e8, "IS", "Compensator Columns", FUNCDCM_NONE ), |
2589 | | ENTRY( 0x300a, 0x00e9, "DS", "Compensator Pixel Spacing", FUNCDCM_NONE ), |
2590 | | ENTRY( 0x300a, 0x00ea, "DS", "Compensator Position", FUNCDCM_NONE ), |
2591 | | ENTRY( 0x300a, 0x00eb, "DS", "Compensator Transmission Data", FUNCDCM_NONE ), |
2592 | | ENTRY( 0x300a, 0x00ec, "DS", "Compensator Thickness Data", FUNCDCM_NONE ), |
2593 | | ENTRY( 0x300a, 0x00ed, "IS", "Number of Boli", FUNCDCM_NONE ), |
2594 | | ENTRY( 0x300a, 0x00f0, "IS", "Number of Blocks", FUNCDCM_NONE ), |
2595 | | ENTRY( 0x300a, 0x00f2, "DS", "Total Block Tray Factor", FUNCDCM_NONE ), |
2596 | | ENTRY( 0x300a, 0x00f4, "SQ", "Block Sequence", FUNCDCM_NONE ), |
2597 | | ENTRY( 0x300a, 0x00f5, "SH", "Block Tray ID", FUNCDCM_NONE ), |
2598 | | ENTRY( 0x300a, 0x00f6, "DS", "Source to Block Tray Distance", FUNCDCM_NONE ), |
2599 | | ENTRY( 0x300a, 0x00f8, "CS", "Block Type", FUNCDCM_NONE ), |
2600 | | ENTRY( 0x300a, 0x00fa, "CS", "Block Divergence", FUNCDCM_NONE ), |
2601 | | ENTRY( 0x300a, 0x00fc, "IS", "Block Number", FUNCDCM_NONE ), |
2602 | | ENTRY( 0x300a, 0x00fe, "LO", "Block Name", FUNCDCM_NONE ), |
2603 | | ENTRY( 0x300a, 0x0100, "DS", "Block Thickness", FUNCDCM_NONE ), |
2604 | | ENTRY( 0x300a, 0x0102, "DS", "Block Transmission", FUNCDCM_NONE ), |
2605 | | ENTRY( 0x300a, 0x0104, "IS", "Block Number of Points", FUNCDCM_NONE ), |
2606 | | ENTRY( 0x300a, 0x0106, "DS", "Block Data", FUNCDCM_NONE ), |
2607 | | ENTRY( 0x300a, 0x0107, "SQ", "Applicator Sequence", FUNCDCM_NONE ), |
2608 | | ENTRY( 0x300a, 0x0108, "SH", "Applicator ID", FUNCDCM_NONE ), |
2609 | | ENTRY( 0x300a, 0x0109, "CS", "Applicator Type", FUNCDCM_NONE ), |
2610 | | ENTRY( 0x300a, 0x010a, "LO", "Applicator Description", FUNCDCM_NONE ), |
2611 | | ENTRY( 0x300a, 0x010c, "DS", "Cumulative Dose Reference Coefficient", FUNCDCM_NONE ), |
2612 | | ENTRY( 0x300a, 0x010e, "DS", "Final Cumulative Meterset Weight", FUNCDCM_NONE ), |
2613 | | ENTRY( 0x300a, 0x0110, "IS", "Number of Control Points", FUNCDCM_NONE ), |
2614 | | ENTRY( 0x300a, 0x0111, "SQ", "Control Point Sequence", FUNCDCM_NONE ), |
2615 | | ENTRY( 0x300a, 0x0112, "IS", "Control Point Index", FUNCDCM_NONE ), |
2616 | | ENTRY( 0x300a, 0x0114, "DS", "Nominal Beam Energy", FUNCDCM_NONE ), |
2617 | | ENTRY( 0x300a, 0x0115, "DS", "Dose Rate Set", FUNCDCM_NONE ), |
2618 | | ENTRY( 0x300a, 0x0116, "SQ", "Wedge Position Sequence", FUNCDCM_NONE ), |
2619 | | ENTRY( 0x300a, 0x0118, "CS", "Wedge Position", FUNCDCM_NONE ), |
2620 | | ENTRY( 0x300a, 0x011a, "SQ", "Beam Limiting Device Position Sequence", FUNCDCM_NONE ), |
2621 | | ENTRY( 0x300a, 0x011c, "DS", "Leaf Jaw Positions", FUNCDCM_NONE ), |
2622 | | ENTRY( 0x300a, 0x011e, "DS", "Gantry Angle", FUNCDCM_NONE ), |
2623 | | ENTRY( 0x300a, 0x011f, "CS", "Gantry Rotation Direction", FUNCDCM_NONE ), |
2624 | | ENTRY( 0x300a, 0x0120, "DS", "Beam Limiting Device Angle", FUNCDCM_NONE ), |
2625 | | ENTRY( 0x300a, 0x0121, "CS", "Beam Limiting Device Rotation Direction", FUNCDCM_NONE ), |
2626 | | ENTRY( 0x300a, 0x0122, "DS", "Patient Support Angle", FUNCDCM_NONE ), |
2627 | | ENTRY( 0x300a, 0x0123, "CS", "Patient Support Rotation Direction", FUNCDCM_NONE ), |
2628 | | ENTRY( 0x300a, 0x0124, "DS", "Table Top Eccentric Axis Distance", FUNCDCM_NONE ), |
2629 | | ENTRY( 0x300a, 0x0125, "DS", "Table Top Eccentric Angle", FUNCDCM_NONE ), |
2630 | | ENTRY( 0x300a, 0x0126, "CS", "Table Top Eccentric Rotation Direction", FUNCDCM_NONE ), |
2631 | | ENTRY( 0x300a, 0x0128, "DS", "Table Top Vertical Position", FUNCDCM_NONE ), |
2632 | | ENTRY( 0x300a, 0x0129, "DS", "Table Top Longitudinal Position", FUNCDCM_NONE ), |
2633 | | ENTRY( 0x300a, 0x012a, "DS", "Table Top Lateral Position", FUNCDCM_NONE ), |
2634 | | ENTRY( 0x300a, 0x012c, "DS", "Isocenter Position", FUNCDCM_NONE ), |
2635 | | ENTRY( 0x300a, 0x012e, "DS", "Surface Entry Point", FUNCDCM_NONE ), |
2636 | | ENTRY( 0x300a, 0x0130, "DS", "Source to Surface Distance", FUNCDCM_NONE ), |
2637 | | ENTRY( 0x300a, 0x0134, "DS", "Cumulative Meterset Weight", FUNCDCM_NONE ), |
2638 | | ENTRY( 0x300a, 0x0180, "SQ", "Patient Setup Sequence", FUNCDCM_NONE ), |
2639 | | ENTRY( 0x300a, 0x0182, "IS", "Patient Setup Number", FUNCDCM_NONE ), |
2640 | | ENTRY( 0x300a, 0x0184, "LO", "Patient Additional Position", FUNCDCM_NONE ), |
2641 | | ENTRY( 0x300a, 0x0190, "SQ", "Fixation Device Sequence", FUNCDCM_NONE ), |
2642 | | ENTRY( 0x300a, 0x0192, "CS", "Fixation Device Type", FUNCDCM_NONE ), |
2643 | | ENTRY( 0x300a, 0x0194, "SH", "Fixation Device Label", FUNCDCM_NONE ), |
2644 | | ENTRY( 0x300a, 0x0196, "ST", "Fixation Device Description", FUNCDCM_NONE ), |
2645 | | ENTRY( 0x300a, 0x0198, "SH", "Fixation Device Position", FUNCDCM_NONE ), |
2646 | | ENTRY( 0x300a, 0x01a0, "SQ", "Shielding Device Sequence", FUNCDCM_NONE ), |
2647 | | ENTRY( 0x300a, 0x01a2, "CS", "Shielding Device Type", FUNCDCM_NONE ), |
2648 | | ENTRY( 0x300a, 0x01a4, "SH", "Shielding Device Label", FUNCDCM_NONE ), |
2649 | | ENTRY( 0x300a, 0x01a6, "ST", "Shielding Device Description", FUNCDCM_NONE ), |
2650 | | ENTRY( 0x300a, 0x01a8, "SH", "Shielding Device Position", FUNCDCM_NONE ), |
2651 | | ENTRY( 0x300a, 0x01b0, "CS", "Setup Technique", FUNCDCM_NONE ), |
2652 | | ENTRY( 0x300a, 0x01b2, "ST", "Setup TechniqueDescription", FUNCDCM_NONE ), |
2653 | | ENTRY( 0x300a, 0x01b4, "SQ", "Setup Device Sequence", FUNCDCM_NONE ), |
2654 | | ENTRY( 0x300a, 0x01b6, "CS", "Setup Device Type", FUNCDCM_NONE ), |
2655 | | ENTRY( 0x300a, 0x01b8, "SH", "Setup Device Label", FUNCDCM_NONE ), |
2656 | | ENTRY( 0x300a, 0x01ba, "ST", "Setup Device Description", FUNCDCM_NONE ), |
2657 | | ENTRY( 0x300a, 0x01bc, "DS", "Setup Device Parameter", FUNCDCM_NONE ), |
2658 | | ENTRY( 0x300a, 0x01d0, "ST", "Setup ReferenceDescription", FUNCDCM_NONE ), |
2659 | | ENTRY( 0x300a, 0x01d2, "DS", "Table Top Vertical Setup Displacement", FUNCDCM_NONE ), |
2660 | | ENTRY( 0x300a, 0x01d4, "DS", "Table Top Longitudinal Setup Displacement", FUNCDCM_NONE ), |
2661 | | ENTRY( 0x300a, 0x01d6, "DS", "Table Top Lateral Setup Displacement", FUNCDCM_NONE ), |
2662 | | ENTRY( 0x300a, 0x0200, "CS", "Brachy Treatment Technique", FUNCDCM_NONE ), |
2663 | | ENTRY( 0x300a, 0x0202, "CS", "Brachy Treatment Type", FUNCDCM_NONE ), |
2664 | | ENTRY( 0x300a, 0x0206, "SQ", "Treatment Machine Sequence", FUNCDCM_NONE ), |
2665 | | ENTRY( 0x300a, 0x0210, "SQ", "Source Sequence", FUNCDCM_NONE ), |
2666 | | ENTRY( 0x300a, 0x0212, "IS", "Source Number", FUNCDCM_NONE ), |
2667 | | ENTRY( 0x300a, 0x0214, "CS", "Source Type", FUNCDCM_NONE ), |
2668 | | ENTRY( 0x300a, 0x0216, "LO", "Source Manufacturer", FUNCDCM_NONE ), |
2669 | | ENTRY( 0x300a, 0x0218, "DS", "Active Source Diameter", FUNCDCM_NONE ), |
2670 | | ENTRY( 0x300a, 0x021a, "DS", "Active Source Length", FUNCDCM_NONE ), |
2671 | | ENTRY( 0x300a, 0x0222, "DS", "Source Encapsulation Nominal Thickness", FUNCDCM_NONE ), |
2672 | | ENTRY( 0x300a, 0x0224, "DS", "Source Encapsulation Nominal Transmission", FUNCDCM_NONE ), |
2673 | | ENTRY( 0x300a, 0x0226, "LO", "Source IsotopeName", FUNCDCM_NONE ), |
2674 | | ENTRY( 0x300a, 0x0228, "DS", "Source Isotope Half Life", FUNCDCM_NONE ), |
2675 | | ENTRY( 0x300a, 0x022a, "DS", "Reference Air Kerma Rate", FUNCDCM_NONE ), |
2676 | | ENTRY( 0x300a, 0x022c, "DA", "Air Kerma Rate Reference Date", FUNCDCM_NONE ), |
2677 | | ENTRY( 0x300a, 0x022e, "TM", "Air Kerma Rate Reference Time", FUNCDCM_NONE ), |
2678 | | ENTRY( 0x300a, 0x0230, "SQ", "Application Setup Sequence", FUNCDCM_NONE ), |
2679 | | ENTRY( 0x300a, 0x0232, "CS", "Application Setup Type", FUNCDCM_NONE ), |
2680 | | ENTRY( 0x300a, 0x0234, "IS", "Application Setup Number", FUNCDCM_NONE ), |
2681 | | ENTRY( 0x300a, 0x0236, "LO", "Application Setup Name", FUNCDCM_NONE ), |
2682 | | ENTRY( 0x300a, 0x0238, "LO", "Application Setup Manufacturer", FUNCDCM_NONE ), |
2683 | | ENTRY( 0x300a, 0x0240, "IS", "Template Number", FUNCDCM_NONE ), |
2684 | | ENTRY( 0x300a, 0x0242, "SH", "Template Type", FUNCDCM_NONE ), |
2685 | | ENTRY( 0x300a, 0x0244, "LO", "Template Name", FUNCDCM_NONE ), |
2686 | | ENTRY( 0x300a, 0x0250, "DS", "Total Reference Air Kerma", FUNCDCM_NONE ), |
2687 | | ENTRY( 0x300a, 0x0260, "SQ", "Brachy Accessory Device Sequence", FUNCDCM_NONE ), |
2688 | | ENTRY( 0x300a, 0x0262, "IS", "Brachy Accessory Device Number", FUNCDCM_NONE ), |
2689 | | ENTRY( 0x300a, 0x0263, "SH", "Brachy Accessory Device ID", FUNCDCM_NONE ), |
2690 | | ENTRY( 0x300a, 0x0264, "CS", "Brachy Accessory Device Type", FUNCDCM_NONE ), |
2691 | | ENTRY( 0x300a, 0x0266, "LO", "Brachy Accessory Device Name", FUNCDCM_NONE ), |
2692 | | ENTRY( 0x300a, 0x026a, "DS", "Brachy Accessory Device Nominal Thickness", FUNCDCM_NONE ), |
2693 | | ENTRY( 0x300a, 0x026c, "DS", "Brachy Accessory Device Nominal Transmission", FUNCDCM_NONE ), |
2694 | | ENTRY( 0x300a, 0x0280, "SQ", "Channel Sequence", FUNCDCM_NONE ), |
2695 | | ENTRY( 0x300a, 0x0282, "IS", "Channel Number", FUNCDCM_NONE ), |
2696 | | ENTRY( 0x300a, 0x0284, "DS", "Channel Length", FUNCDCM_NONE ), |
2697 | | ENTRY( 0x300a, 0x0286, "DS", "Channel Total Time", FUNCDCM_NONE ), |
2698 | | ENTRY( 0x300a, 0x0288, "CS", "Source Movement Type", FUNCDCM_NONE ), |
2699 | | ENTRY( 0x300a, 0x028a, "IS", "Number of Pulses", FUNCDCM_NONE ), |
2700 | | ENTRY( 0x300a, 0x028c, "DS", "Pulse Repetition Interval", FUNCDCM_NONE ), |
2701 | | ENTRY( 0x300a, 0x0290, "IS", "Source Applicator Number", FUNCDCM_NONE ), |
2702 | | ENTRY( 0x300a, 0x0291, "SH", "Source Applicator ID", FUNCDCM_NONE ), |
2703 | | ENTRY( 0x300a, 0x0292, "CS", "Source Applicator Type", FUNCDCM_NONE ), |
2704 | | ENTRY( 0x300a, 0x0294, "LO", "Source Applicator Name", FUNCDCM_NONE ), |
2705 | | ENTRY( 0x300a, 0x0296, "DS", "Source Applicator Length", FUNCDCM_NONE ), |
2706 | | ENTRY( 0x300a, 0x0298, "LO", "Source Applicator Manufacturer", FUNCDCM_NONE ), |
2707 | | ENTRY( 0x300a, 0x029c, "DS", "Source Applicator Wall Nominal Thickness", FUNCDCM_NONE ), |
2708 | | ENTRY( 0x300a, 0x029e, "DS", "Source Applicator Wall Nominal Transmission", FUNCDCM_NONE ), |
2709 | | ENTRY( 0x300a, 0x02a0, "DS", "Source Applicator Step Size", FUNCDCM_NONE ), |
2710 | | ENTRY( 0x300a, 0x02a2, "IS", "Transfer Tube Number", FUNCDCM_NONE ), |
2711 | | ENTRY( 0x300a, 0x02a4, "DS", "Transfer Tube Length", FUNCDCM_NONE ), |
2712 | | ENTRY( 0x300a, 0x02b0, "SQ", "Channel Shield Sequence", FUNCDCM_NONE ), |
2713 | | ENTRY( 0x300a, 0x02b2, "IS", "Channel Shield Number", FUNCDCM_NONE ), |
2714 | | ENTRY( 0x300a, 0x02b3, "SH", "Channel Shield ID", FUNCDCM_NONE ), |
2715 | | ENTRY( 0x300a, 0x02b4, "LO", "Channel Shield Name", FUNCDCM_NONE ), |
2716 | | ENTRY( 0x300a, 0x02b8, "DS", "Channel Shield Nominal Thickness", FUNCDCM_NONE ), |
2717 | | ENTRY( 0x300a, 0x02ba, "DS", "Channel Shield Nominal Transmission", FUNCDCM_NONE ), |
2718 | | ENTRY( 0x300a, 0x02c8, "DS", "Final Cumulative Time Weight", FUNCDCM_NONE ), |
2719 | | ENTRY( 0x300a, 0x02d0, "SQ", "Brachy Control Point Sequence", FUNCDCM_NONE ), |
2720 | | ENTRY( 0x300a, 0x02d2, "DS", "Control Point Relative Position", FUNCDCM_NONE ), |
2721 | | ENTRY( 0x300a, 0x02d4, "DS", "Control Point 3D Position", FUNCDCM_NONE ), |
2722 | | ENTRY( 0x300a, 0x02d6, "DS", "Cumulative Time Weight", FUNCDCM_NONE ), |
2723 | | ENTRY( 0x300c, 0x0002, "SQ", "Referenced RT Plan Sequence", FUNCDCM_NONE ), |
2724 | | ENTRY( 0x300c, 0x0004, "SQ", "Referenced Beam Sequence", FUNCDCM_NONE ), |
2725 | | ENTRY( 0x300c, 0x0006, "IS", "Referenced Beam Number", FUNCDCM_NONE ), |
2726 | | ENTRY( 0x300c, 0x0007, "IS", "Referenced Reference Image Number", FUNCDCM_NONE ), |
2727 | | ENTRY( 0x300c, 0x0008, "DS", "Start Cumulative Meterset Weight", FUNCDCM_NONE ), |
2728 | | ENTRY( 0x300c, 0x0009, "DS", "End Cumulative Meterset Weight", FUNCDCM_NONE ), |
2729 | | ENTRY( 0x300c, 0x000a, "SQ", "Referenced Brachy Application Setup Sequence", FUNCDCM_NONE ), |
2730 | | ENTRY( 0x300c, 0x000c, "IS", "Referenced Brachy Application Setup Number", FUNCDCM_NONE ), |
2731 | | ENTRY( 0x300c, 0x000e, "IS", "Referenced Source Number", FUNCDCM_NONE ), |
2732 | | ENTRY( 0x300c, 0x0020, "SQ", "Referenced Fraction Group Sequence", FUNCDCM_NONE ), |
2733 | | ENTRY( 0x300c, 0x0022, "IS", "Referenced Fraction Group Number", FUNCDCM_NONE ), |
2734 | | ENTRY( 0x300c, 0x0040, "SQ", "Referenced Verification Image Sequence", FUNCDCM_NONE ), |
2735 | | ENTRY( 0x300c, 0x0042, "SQ", "Referenced Reference Image Sequence", FUNCDCM_NONE ), |
2736 | | ENTRY( 0x300c, 0x0050, "SQ", "Referenced Dose Reference Sequence", FUNCDCM_NONE ), |
2737 | | ENTRY( 0x300c, 0x0051, "IS", "Referenced Dose Reference Number", FUNCDCM_NONE ), |
2738 | | ENTRY( 0x300c, 0x0055, "SQ", "Brachy Referenced Dose Reference Sequence", FUNCDCM_NONE ), |
2739 | | ENTRY( 0x300c, 0x0060, "SQ", "Referenced Structure Set Sequence", FUNCDCM_NONE ), |
2740 | | ENTRY( 0x300c, 0x006a, "IS", "Referenced Patient Setup Number", FUNCDCM_NONE ), |
2741 | | ENTRY( 0x300c, 0x0080, "SQ", "Referenced Dose Sequence", FUNCDCM_NONE ), |
2742 | | ENTRY( 0x300c, 0x00a0, "IS", "Referenced Tolerance Table Number", FUNCDCM_NONE ), |
2743 | | ENTRY( 0x300c, 0x00b0, "SQ", "Referenced Bolus Sequence", FUNCDCM_NONE ), |
2744 | | ENTRY( 0x300c, 0x00c0, "IS", "Referenced Wedge Number", FUNCDCM_NONE ), |
2745 | | ENTRY( 0x300c, 0x00d0, "IS", "Referenced Compensato rNumber", FUNCDCM_NONE ), |
2746 | | ENTRY( 0x300c, 0x00e0, "IS", "Referenced Block Number", FUNCDCM_NONE ), |
2747 | | ENTRY( 0x300c, 0x00f0, "IS", "Referenced Control Point", FUNCDCM_NONE ), |
2748 | | ENTRY( 0x300e, 0x0002, "CS", "Approval Status", FUNCDCM_NONE ), |
2749 | | ENTRY( 0x300e, 0x0004, "DA", "Review Date", FUNCDCM_NONE ), |
2750 | | ENTRY( 0x300e, 0x0005, "TM", "Review Time", FUNCDCM_NONE ), |
2751 | | ENTRY( 0x300e, 0x0008, "PN", "Reviewer Name", FUNCDCM_NONE ), |
2752 | | ENTRY( 0x4000, 0x0000, "UL", "Text Group Length", FUNCDCM_NONE ), |
2753 | | ENTRY( 0x4000, 0x0010, "LT", "Text Arbitrary", FUNCDCM_NONE ), |
2754 | | ENTRY( 0x4000, 0x4000, "LT", "Text Comments", FUNCDCM_NONE ), |
2755 | | ENTRY( 0x4008, 0x0000, "UL", "Results Group Length", FUNCDCM_NONE ), |
2756 | | ENTRY( 0x4008, 0x0040, "SH", "Results ID", FUNCDCM_NONE ), |
2757 | | ENTRY( 0x4008, 0x0042, "LO", "Results ID Issuer", FUNCDCM_NONE ), |
2758 | | ENTRY( 0x4008, 0x0050, "SQ", "Referenced Interpretation Sequence", FUNCDCM_NONE ), |
2759 | | ENTRY( 0x4008, 0x00ff, "CS", "Report Production Status", FUNCDCM_NONE ), |
2760 | | ENTRY( 0x4008, 0x0100, "DA", "Interpretation Recorded Date", FUNCDCM_NONE ), |
2761 | | ENTRY( 0x4008, 0x0101, "TM", "Interpretation Recorded Time", FUNCDCM_NONE ), |
2762 | | ENTRY( 0x4008, 0x0102, "PN", "Interpretation Recorder", FUNCDCM_NONE ), |
2763 | | ENTRY( 0x4008, 0x0103, "LO", "Reference to Recorded Sound", FUNCDCM_NONE ), |
2764 | | ENTRY( 0x4008, 0x0108, "DA", "Interpretation Transcription Date", FUNCDCM_NONE ), |
2765 | | ENTRY( 0x4008, 0x0109, "TM", "Interpretation Transcription Time", FUNCDCM_NONE ), |
2766 | | ENTRY( 0x4008, 0x010a, "PN", "Interpretation Transcriber", FUNCDCM_NONE ), |
2767 | | ENTRY( 0x4008, 0x010b, "ST", "Interpretation Text", FUNCDCM_NONE ), |
2768 | | ENTRY( 0x4008, 0x010c, "PN", "Interpretation Author", FUNCDCM_NONE ), |
2769 | | ENTRY( 0x4008, 0x0111, "SQ", "Interpretation Approver Sequence", FUNCDCM_NONE ), |
2770 | | ENTRY( 0x4008, 0x0112, "DA", "Interpretation Approval Date", FUNCDCM_NONE ), |
2771 | | ENTRY( 0x4008, 0x0113, "TM", "Interpretation Approval Time", FUNCDCM_NONE ), |
2772 | | ENTRY( 0x4008, 0x0114, "PN", "Physician Approving Interpretation", FUNCDCM_NONE ), |
2773 | | ENTRY( 0x4008, 0x0115, "LT", "Interpretation Diagnosis Description", FUNCDCM_NONE ), |
2774 | | ENTRY( 0x4008, 0x0117, "SQ", "InterpretationDiagnosis Code Sequence", FUNCDCM_NONE ), |
2775 | | ENTRY( 0x4008, 0x0118, "SQ", "Results Distribution List Sequence", FUNCDCM_NONE ), |
2776 | | ENTRY( 0x4008, 0x0119, "PN", "Distribution Name", FUNCDCM_NONE ), |
2777 | | ENTRY( 0x4008, 0x011a, "LO", "Distribution Address", FUNCDCM_NONE ), |
2778 | | ENTRY( 0x4008, 0x0200, "SH", "Interpretation ID", FUNCDCM_NONE ), |
2779 | | ENTRY( 0x4008, 0x0202, "LO", "Interpretation ID Issuer", FUNCDCM_NONE ), |
2780 | | ENTRY( 0x4008, 0x0210, "CS", "Interpretation Type ID", FUNCDCM_NONE ), |
2781 | | ENTRY( 0x4008, 0x0212, "CS", "Interpretation Status ID", FUNCDCM_NONE ), |
2782 | | ENTRY( 0x4008, 0x0300, "ST", "Impressions", FUNCDCM_NONE ), |
2783 | | ENTRY( 0x4008, 0x4000, "ST", "Results Comments", FUNCDCM_NONE ), |
2784 | | ENTRY( 0x4009, 0x0001, "LT", "Report ID", FUNCDCM_NONE ), |
2785 | | ENTRY( 0x4009, 0x0020, "LT", "Report Status", FUNCDCM_NONE ), |
2786 | | ENTRY( 0x4009, 0x0030, "DA", "Report Creation Date", FUNCDCM_NONE ), |
2787 | | ENTRY( 0x4009, 0x0070, "LT", "Report Approving Physician", FUNCDCM_NONE ), |
2788 | | ENTRY( 0x4009, 0x00e0, "LT", "Report Text", FUNCDCM_NONE ), |
2789 | | ENTRY( 0x4009, 0x00e1, "LT", "Report Author", FUNCDCM_NONE ), |
2790 | | ENTRY( 0x4009, 0x00e3, "LT", "Reporting Radiologist", FUNCDCM_NONE ), |
2791 | | ENTRY( 0x5000, 0x0000, "UL", "Curve Group Length", FUNCDCM_NONE ), |
2792 | | ENTRY( 0x5000, 0x0005, "US", "Curve Dimensions", FUNCDCM_NONE ), |
2793 | | ENTRY( 0x5000, 0x0010, "US", "Number of Points", FUNCDCM_NONE ), |
2794 | | ENTRY( 0x5000, 0x0020, "CS", "Type of Data", FUNCDCM_NONE ), |
2795 | | ENTRY( 0x5000, 0x0022, "LO", "Curve Description", FUNCDCM_NONE ), |
2796 | | ENTRY( 0x5000, 0x0030, "SH", "Axis Units", FUNCDCM_NONE ), |
2797 | | ENTRY( 0x5000, 0x0040, "SH", "Axis Labels", FUNCDCM_NONE ), |
2798 | | ENTRY( 0x5000, 0x0103, "US", "Data Value Representation", FUNCDCM_NONE ), |
2799 | | ENTRY( 0x5000, 0x0104, "US", "Minimum Coordinate Value", FUNCDCM_NONE ), |
2800 | | ENTRY( 0x5000, 0x0105, "US", "Maximum Coordinate Value", FUNCDCM_NONE ), |
2801 | | ENTRY( 0x5000, 0x0106, "SH", "Curve Range", FUNCDCM_NONE ), |
2802 | | ENTRY( 0x5000, 0x0110, "US", "Curve Data Descriptor", FUNCDCM_NONE ), |
2803 | | ENTRY( 0x5000, 0x0112, "US", "Coordinate Start Value", FUNCDCM_NONE ), |
2804 | | ENTRY( 0x5000, 0x0114, "US", "Coordinate Step Value", FUNCDCM_NONE ), |
2805 | | ENTRY( 0x5000, 0x1001, "CS", "Curve Activation Layer", FUNCDCM_NONE ), |
2806 | | ENTRY( 0x5000, 0x2000, "US", "Audio Type", FUNCDCM_NONE ), |
2807 | | ENTRY( 0x5000, 0x2002, "US", "Audio Sample Format", FUNCDCM_NONE ), |
2808 | | ENTRY( 0x5000, 0x2004, "US", "Number of Channels", FUNCDCM_NONE ), |
2809 | | ENTRY( 0x5000, 0x2006, "UL", "Number of Samples", FUNCDCM_NONE ), |
2810 | | ENTRY( 0x5000, 0x2008, "UL", "Sample Rate", FUNCDCM_NONE ), |
2811 | | ENTRY( 0x5000, 0x200a, "UL", "Total Time", FUNCDCM_NONE ), |
2812 | | ENTRY( 0x5000, 0x200c, "xs", "Audio Sample Data", FUNCDCM_NONE ), |
2813 | | ENTRY( 0x5000, 0x200e, "LT", "Audio Comments", FUNCDCM_NONE ), |
2814 | | ENTRY( 0x5000, 0x2500, "LO", "Curve Label", FUNCDCM_NONE ), |
2815 | | ENTRY( 0x5000, 0x2600, "SQ", "CurveReferenced Overlay Sequence", FUNCDCM_NONE ), |
2816 | | ENTRY( 0x5000, 0x2610, "US", "CurveReferenced Overlay Group", FUNCDCM_NONE ), |
2817 | | ENTRY( 0x5000, 0x3000, "OW", "Curve Data", FUNCDCM_NONE ), |
2818 | | ENTRY( 0x6000, 0x0000, "UL", "Overlay Group Length", FUNCDCM_NONE ), |
2819 | | ENTRY( 0x6000, 0x0001, "US", "Gray Palette Color Lookup Table Descriptor", FUNCDCM_NONE ), |
2820 | | ENTRY( 0x6000, 0x0002, "US", "Gray Palette Color Lookup Table Data", FUNCDCM_NONE ), |
2821 | | ENTRY( 0x6000, 0x0010, "US", "Overlay Rows", FUNCDCM_NONE ), |
2822 | | ENTRY( 0x6000, 0x0011, "US", "Overlay Columns", FUNCDCM_NONE ), |
2823 | | ENTRY( 0x6000, 0x0012, "US", "Overlay Planes", FUNCDCM_NONE ), |
2824 | | ENTRY( 0x6000, 0x0015, "IS", "Number of Frames in Overlay", FUNCDCM_NONE ), |
2825 | | ENTRY( 0x6000, 0x0022, "LO", "Overlay Description", FUNCDCM_NONE ), |
2826 | | ENTRY( 0x6000, 0x0040, "CS", "Overlay Type", FUNCDCM_NONE ), |
2827 | | ENTRY( 0x6000, 0x0045, "CS", "Overlay Subtype", FUNCDCM_NONE ), |
2828 | | ENTRY( 0x6000, 0x0050, "SS", "Overlay Origin", FUNCDCM_NONE ), |
2829 | | ENTRY( 0x6000, 0x0051, "US", "Image Frame Origin", FUNCDCM_NONE ), |
2830 | | ENTRY( 0x6000, 0x0052, "US", "Plane Origin", FUNCDCM_NONE ), |
2831 | | ENTRY( 0x6000, 0x0060, "LO", "Overlay Compression Code", FUNCDCM_NONE ), |
2832 | | ENTRY( 0x6000, 0x0061, "SH", "Overlay Compression Originator", FUNCDCM_NONE ), |
2833 | | ENTRY( 0x6000, 0x0062, "SH", "Overlay Compression Label", FUNCDCM_NONE ), |
2834 | | ENTRY( 0x6000, 0x0063, "SH", "Overlay Compression Description", FUNCDCM_NONE ), |
2835 | | ENTRY( 0x6000, 0x0066, "AT", "Overlay Compression Step Pointers", FUNCDCM_NONE ), |
2836 | | ENTRY( 0x6000, 0x0068, "US", "Overlay Repeat Interval", FUNCDCM_NONE ), |
2837 | | ENTRY( 0x6000, 0x0069, "US", "Overlay Bits Grouped", FUNCDCM_NONE ), |
2838 | | ENTRY( 0x6000, 0x0100, "US", "Overlay Bits Allocated", FUNCDCM_NONE ), |
2839 | | ENTRY( 0x6000, 0x0102, "US", "Overlay Bit Position", FUNCDCM_NONE ), |
2840 | | ENTRY( 0x6000, 0x0110, "LO", "Overlay Format", FUNCDCM_NONE ), |
2841 | | ENTRY( 0x6000, 0x0200, "xs", "Overlay Location", FUNCDCM_NONE ), |
2842 | | ENTRY( 0x6000, 0x0800, "LO", "Overlay Code Label", FUNCDCM_NONE ), |
2843 | | ENTRY( 0x6000, 0x0802, "US", "Overlay Number of Tables", FUNCDCM_NONE ), |
2844 | | ENTRY( 0x6000, 0x0803, "AT", "Overlay Code Table Location", FUNCDCM_NONE ), |
2845 | | ENTRY( 0x6000, 0x0804, "US", "Overlay Bits For Code Word", FUNCDCM_NONE ), |
2846 | | ENTRY( 0x6000, 0x1001, "CS", "Overlay Activation Layer", FUNCDCM_NONE ), |
2847 | | ENTRY( 0x6000, 0x1100, "US", "Overlay Descriptor - Gray", FUNCDCM_NONE ), |
2848 | | ENTRY( 0x6000, 0x1101, "US", "Overlay Descriptor - Red", FUNCDCM_NONE ), |
2849 | | ENTRY( 0x6000, 0x1102, "US", "Overlay Descriptor - Green", FUNCDCM_NONE ), |
2850 | | ENTRY( 0x6000, 0x1103, "US", "Overlay Descriptor - Blue", FUNCDCM_NONE ), |
2851 | | ENTRY( 0x6000, 0x1200, "US", "Overlays - Gray", FUNCDCM_NONE ), |
2852 | | ENTRY( 0x6000, 0x1201, "US", "Overlays - Red", FUNCDCM_NONE ), |
2853 | | ENTRY( 0x6000, 0x1202, "US", "Overlays - Green", FUNCDCM_NONE ), |
2854 | | ENTRY( 0x6000, 0x1203, "US", "Overlays - Blue", FUNCDCM_NONE ), |
2855 | | ENTRY( 0x6000, 0x1301, "IS", "ROI Area", FUNCDCM_NONE ), |
2856 | | ENTRY( 0x6000, 0x1302, "DS", "ROI Mean", FUNCDCM_NONE ), |
2857 | | ENTRY( 0x6000, 0x1303, "DS", "ROI Standard Deviation", FUNCDCM_NONE ), |
2858 | | ENTRY( 0x6000, 0x1500, "LO", "Overlay Label", FUNCDCM_NONE ), |
2859 | | ENTRY( 0x6000, 0x3000, "OW", "Overlay Data", FUNCDCM_NONE ), |
2860 | | ENTRY( 0x6000, 0x4000, "LT", "Overlay Comments", FUNCDCM_NONE ), |
2861 | | ENTRY( 0x6001, 0x0000, "UN", "?", FUNCDCM_NONE ), |
2862 | | ENTRY( 0x6001, 0x0010, "LO", "?", FUNCDCM_NONE ), |
2863 | | ENTRY( 0x6001, 0x1010, "xs", "?", FUNCDCM_NONE ), |
2864 | | ENTRY( 0x6001, 0x1030, "xs", "?", FUNCDCM_NONE ), |
2865 | | ENTRY( 0x6021, 0x0000, "xs", "?", FUNCDCM_NONE ), |
2866 | | ENTRY( 0x6021, 0x0010, "xs", "?", FUNCDCM_NONE ), |
2867 | | ENTRY( 0x7001, 0x0010, "LT", "Dummy", FUNCDCM_NONE ), |
2868 | | ENTRY( 0x7003, 0x0010, "LT", "Info", FUNCDCM_NONE ), |
2869 | | ENTRY( 0x7005, 0x0010, "LT", "Dummy", FUNCDCM_NONE ), |
2870 | | ENTRY( 0x7000, 0x0004, "ST", "TextAnnotation", FUNCDCM_NONE ), |
2871 | | ENTRY( 0x7000, 0x0005, "IS", "Box", FUNCDCM_NONE ), |
2872 | | ENTRY( 0x7000, 0x0007, "IS", "ArrowEnd", FUNCDCM_NONE ), |
2873 | | ENTRY( 0x7fe0, 0x0000, "UL", "Pixel Data Group Length", FUNCDCM_NONE ), |
2874 | | ENTRY( 0x7fe0, 0x0010, "xs", "Pixel Data", FUNCDCM_NONE ), |
2875 | | ENTRY( 0x7fe0, 0x0020, "OW", "Coefficients SDVN", FUNCDCM_NONE ), |
2876 | | ENTRY( 0x7fe0, 0x0030, "OW", "Coefficients SDHN", FUNCDCM_NONE ), |
2877 | | ENTRY( 0x7fe0, 0x0040, "OW", "Coefficients SDDN", FUNCDCM_NONE ), |
2878 | | ENTRY( 0x7fe1, 0x0010, "xs", "Pixel Data", FUNCDCM_NONE ), |
2879 | | ENTRY( 0x7f00, 0x0000, "UL", "Variable Pixel Data Group Length", FUNCDCM_NONE ), |
2880 | | ENTRY( 0x7f00, 0x0010, "xs", "Variable Pixel Data", FUNCDCM_NONE ), |
2881 | | ENTRY( 0x7f00, 0x0011, "US", "Variable Next Data Group", FUNCDCM_NONE ), |
2882 | | ENTRY( 0x7f00, 0x0020, "OW", "Variable Coefficients SDVN", FUNCDCM_NONE ), |
2883 | | ENTRY( 0x7f00, 0x0030, "OW", "Variable Coefficients SDHN", FUNCDCM_NONE ), |
2884 | | ENTRY( 0x7f00, 0x0040, "OW", "Variable Coefficients SDDN", FUNCDCM_NONE ), |
2885 | | ENTRY( 0x7fe1, 0x0000, "OB", "Binary Data", FUNCDCM_NONE ), |
2886 | | ENTRY( 0x7fe3, 0x0000, "LT", "Image Graphics Format Code", FUNCDCM_NONE ), |
2887 | | ENTRY( 0x7fe3, 0x0010, "OB", "Image Graphics", FUNCDCM_NONE ), |
2888 | | ENTRY( 0x7fe3, 0x0020, "OB", "Image Graphics Dummy", FUNCDCM_NONE ), |
2889 | | ENTRY( 0x7ff1, 0x0001, "US", "?", FUNCDCM_NONE ), |
2890 | | ENTRY( 0x7ff1, 0x0002, "US", "?", FUNCDCM_NONE ), |
2891 | | ENTRY( 0x7ff1, 0x0003, "xs", "?", FUNCDCM_NONE ), |
2892 | | ENTRY( 0x7ff1, 0x0004, "IS", "?", FUNCDCM_NONE ), |
2893 | | ENTRY( 0x7ff1, 0x0005, "US", "?", FUNCDCM_NONE ), |
2894 | | ENTRY( 0x7ff1, 0x0007, "US", "?", FUNCDCM_NONE ), |
2895 | | ENTRY( 0x7ff1, 0x0008, "US", "?", FUNCDCM_NONE ), |
2896 | | ENTRY( 0x7ff1, 0x0009, "US", "?", FUNCDCM_NONE ), |
2897 | | ENTRY( 0x7ff1, 0x000a, "LT", "?", FUNCDCM_NONE ), |
2898 | | ENTRY( 0x7ff1, 0x000b, "US", "?", FUNCDCM_NONE ), |
2899 | | ENTRY( 0x7ff1, 0x000c, "US", "?", FUNCDCM_NONE ), |
2900 | | ENTRY( 0x7ff1, 0x000d, "US", "?", FUNCDCM_NONE ), |
2901 | | ENTRY( 0x7ff1, 0x0010, "US", "?", FUNCDCM_NONE ), |
2902 | | ENTRY( 0xfffc, 0xfffc, "OB", "Data Set Trailing Padding", FUNCDCM_NONE ), |
2903 | | ENTRY( 0xfffe, 0xe000, "!!", "Item", FUNCDCM_NONE ), |
2904 | | ENTRY( 0xfffe, 0xe00d, "!!", "Item Delimitation Item", FUNCDCM_NONE ), |
2905 | | ENTRY( 0xfffe, 0xe0dd, "!!", "Sequence Delimitation Item", FUNCDCM_NONE ), |
2906 | | ENTRY( 0xffff, 0xffff, "xs", "", FUNCDCM_NONE ) |
2907 | | }; |
2908 | | |
2909 | | #if DESCRIPION_STR |
2910 | | static const char dicom_descriptions[] = |
2911 | | "Group Length\0" /* 0, 0x0000, 0x0000 */ |
2912 | | "Command Length to End\0" /* 1, 0x0000, 0x0001 */ |
2913 | | "Affected SOP Class UID\0" /* 2, 0x0000, 0x0002 */ |
2914 | | "Requested SOP Class UID\0" /* 3, 0x0000, 0x0003 */ |
2915 | | "Command Recognition Code\0" /* 4, 0x0000, 0x0010 */ |
2916 | | "Command Field\0" /* 5, 0x0000, 0x0100 */ |
2917 | | "Message ID\0" /* 6, 0x0000, 0x0110 */ |
2918 | | "Message ID Being Responded To\0" /* 7, 0x0000, 0x0120 */ |
2919 | | "Initiator\0" /* 8, 0x0000, 0x0200 */ |
2920 | | "Receiver\0" /* 9, 0x0000, 0x0300 */ |
2921 | | "Find Location\0" /* 10, 0x0000, 0x0400 */ |
2922 | | "Move Destination\0" /* 11, 0x0000, 0x0600 */ |
2923 | | "Priority\0" /* 12, 0x0000, 0x0700 */ |
2924 | | "Data Set Type\0" /* 13, 0x0000, 0x0800 */ |
2925 | | "Number of Matches\0" /* 14, 0x0000, 0x0850 */ |
2926 | | "Response Sequence Number\0" /* 15, 0x0000, 0x0860 */ |
2927 | | "Status\0" /* 16, 0x0000, 0x0900 */ |
2928 | | "Offending Element\0" /* 17, 0x0000, 0x0901 */ |
2929 | | "Exception Comment\0" /* 18, 0x0000, 0x0902 */ |
2930 | | "Exception ID\0" /* 19, 0x0000, 0x0903 */ |
2931 | | "Affected SOP Instance UID\0" /* 20, 0x0000, 0x1000 */ |
2932 | | "Requested SOP Instance UID\0" /* 21, 0x0000, 0x1001 */ |
2933 | | "Event Type ID\0" /* 22, 0x0000, 0x1002 */ |
2934 | | "Attribute Identifier List\0" /* 23, 0x0000, 0x1005 */ |
2935 | | "Action Type ID\0" /* 24, 0x0000, 0x1008 */ |
2936 | | "Number of Remaining Suboperations\0" /* 25, 0x0000, 0x1020 */ |
2937 | | "Number of Completed Suboperations\0" /* 26, 0x0000, 0x1021 */ |
2938 | | "Number of Failed Suboperations\0" /* 27, 0x0000, 0x1022 */ |
2939 | | "Number of Warning Suboperations\0" /* 28, 0x0000, 0x1023 */ |
2940 | | "Move Originator Application Entity Title\0" /* 29, 0x0000, 0x1030 */ |
2941 | | "Move Originator Message ID\0" /* 30, 0x0000, 0x1031 */ |
2942 | | "Dialog Receiver\0" /* 31, 0x0000, 0x4000 */ |
2943 | | "Terminal Type\0" /* 32, 0x0000, 0x4010 */ |
2944 | | "Message Set ID\0" /* 33, 0x0000, 0x5010 */ |
2945 | | "End Message Set\0" /* 34, 0x0000, 0x5020 */ |
2946 | | "Display Format\0" /* 35, 0x0000, 0x5110 */ |
2947 | | "Page Position ID\0" /* 36, 0x0000, 0x5120 */ |
2948 | | "Text Format ID\0" /* 37, 0x0000, 0x5130 */ |
2949 | | "Normal Reverse\0" /* 38, 0x0000, 0x5140 */ |
2950 | | "Add Gray Scale\0" /* 39, 0x0000, 0x5150 */ |
2951 | | "Borders\0" /* 40, 0x0000, 0x5160 */ |
2952 | | "Copies\0" /* 41, 0x0000, 0x5170 */ |
2953 | | "OldMagnificationType\0" /* 42, 0x0000, 0x5180 */ |
2954 | | "Erase\0" /* 43, 0x0000, 0x5190 */ |
2955 | | "Print\0" /* 44, 0x0000, 0x51a0 */ |
2956 | | "Overlays\0" /* 45, 0x0000, 0x51b0 */ |
2957 | | "Meta Element Group Length\0" /* 46, 0x0002, 0x0000 */ |
2958 | | "File Meta Information Version\0" /* 47, 0x0002, 0x0001 */ |
2959 | | "Media Storage SOP Class UID\0" /* 48, 0x0002, 0x0002 */ |
2960 | | "Media Storage SOP Instance UID\0" /* 49, 0x0002, 0x0003 */ |
2961 | | "Transfer Syntax UID\0" /* 50, 0x0002, 0x0010 */ |
2962 | | "Implementation Class UID\0" /* 51, 0x0002, 0x0012 */ |
2963 | | "Implementation Version Name\0" /* 52, 0x0002, 0x0013 */ |
2964 | | "Source Application Entity Title\0" /* 53, 0x0002, 0x0016 */ |
2965 | | "Private Information Creator UID\0" /* 54, 0x0002, 0x0100 */ |
2966 | | "Private Information\0" /* 55, 0x0002, 0x0102 */ |
2967 | | "?\0" /* 56, 0x0003, 0x0000 */ |
2968 | | "ISI Command Field\0" /* 57, 0x0003, 0x0008 */ |
2969 | | "Attach ID Application Code\0" /* 58, 0x0003, 0x0011 */ |
2970 | | "Attach ID Message Count\0" /* 59, 0x0003, 0x0012 */ |
2971 | | "Attach ID Date\0" /* 60, 0x0003, 0x0013 */ |
2972 | | "Attach ID Time\0" /* 61, 0x0003, 0x0014 */ |
2973 | | "Message Type\0" /* 62, 0x0003, 0x0020 */ |
2974 | | "Max Waiting Date\0" /* 63, 0x0003, 0x0030 */ |
2975 | | "Max Waiting Time\0" /* 64, 0x0003, 0x0031 */ |
2976 | | "File Set Group Length\0" /* 65, 0x0004, 0x0000 */ |
2977 | | "File Set ID\0" /* 66, 0x0004, 0x1130 */ |
2978 | | "File Set Descriptor File ID\0" /* 67, 0x0004, 0x1141 */ |
2979 | | "File Set Descriptor File Specific Character Set\0" /* 68, 0x0004, 0x1142 */ |
2980 | | "Root Directory Entity First Directory Record Offset\0" /* 69, 0x0004, 0x1200 */ |
2981 | | "Root Directory Entity Last Directory Record Offset\0" /* 70, 0x0004, 0x1202 */ |
2982 | | "File Set Consistency Flag\0" /* 71, 0x0004, 0x1212 */ |
2983 | | "Directory Record Sequence\0" /* 72, 0x0004, 0x1220 */ |
2984 | | "Next Directory Record Offset\0" /* 73, 0x0004, 0x1400 */ |
2985 | | "Record In Use Flag\0" /* 74, 0x0004, 0x1410 */ |
2986 | | "Referenced Lower Level Directory Entity Offset\0" /* 75, 0x0004, 0x1420 */ |
2987 | | "Directory Record Type\0" /* 76, 0x0004, 0x1430 */ |
2988 | | "Private Record UID\0" /* 77, 0x0004, 0x1432 */ |
2989 | | "Referenced File ID\0" /* 78, 0x0004, 0x1500 */ |
2990 | | "MRDR Directory Record Offset\0" /* 79, 0x0004, 0x1504 */ |
2991 | | "Referenced SOP Class UID In File\0" /* 80, 0x0004, 0x1510 */ |
2992 | | "Referenced SOP Instance UID In File\0" /* 81, 0x0004, 0x1511 */ |
2993 | | "Referenced Transfer Syntax UID In File\0" /* 82, 0x0004, 0x1512 */ |
2994 | | "Number of References\0" /* 83, 0x0004, 0x1600 */ |
2995 | | "?\0" /* 84, 0x0005, 0x0000 */ |
2996 | | "?\0" /* 85, 0x0006, 0x0000 */ |
2997 | | "Identifying Group Length\0" /* 86, 0x0008, 0x0000 */ |
2998 | | "Length to End\0" /* 87, 0x0008, 0x0001 */ |
2999 | | "Specific Character Set\0" /* 88, 0x0008, 0x0005 */ |
3000 | | "Image Type\0" /* 89, 0x0008, 0x0008 */ |
3001 | | "Recognition Code\0" /* 90, 0x0008, 0x0010 */ |
3002 | | "Instance Creation Date\0" /* 91, 0x0008, 0x0012 */ |
3003 | | "Instance Creation Time\0" /* 92, 0x0008, 0x0013 */ |
3004 | | "Instance Creator UID\0" /* 93, 0x0008, 0x0014 */ |
3005 | | "SOP Class UID\0" /* 94, 0x0008, 0x0016 */ |
3006 | | "SOP Instance UID\0" /* 95, 0x0008, 0x0018 */ |
3007 | | "Study Date\0" /* 96, 0x0008, 0x0020 */ |
3008 | | "Series Date\0" /* 97, 0x0008, 0x0021 */ |
3009 | | "Acquisition Date\0" /* 98, 0x0008, 0x0022 */ |
3010 | | "Image Date\0" /* 99, 0x0008, 0x0023 */ |
3011 | | "Overlay Date\0" /* 100, 0x0008, 0x0024 */ |
3012 | | "Curve Date\0" /* 101, 0x0008, 0x0025 */ |
3013 | | "Study Time\0" /* 102, 0x0008, 0x0030 */ |
3014 | | "Series Time\0" /* 103, 0x0008, 0x0031 */ |
3015 | | "Acquisition Time\0" /* 104, 0x0008, 0x0032 */ |
3016 | | "Image Time\0" /* 105, 0x0008, 0x0033 */ |
3017 | | "Overlay Time\0" /* 106, 0x0008, 0x0034 */ |
3018 | | "Curve Time\0" /* 107, 0x0008, 0x0035 */ |
3019 | | "Old Data Set Type\0" /* 108, 0x0008, 0x0040 */ |
3020 | | "Old Data Set Subtype\0" /* 109, 0x0008, 0x0041 */ |
3021 | | "Nuclear Medicine Series Type\0" /* 110, 0x0008, 0x0042 */ |
3022 | | "Accession Number\0" /* 111, 0x0008, 0x0050 */ |
3023 | | "Query/Retrieve Level\0" /* 112, 0x0008, 0x0052 */ |
3024 | | "Retrieve AE Title\0" /* 113, 0x0008, 0x0054 */ |
3025 | | "Failed SOP Instance UID List\0" /* 114, 0x0008, 0x0058 */ |
3026 | | "Modality\0" /* 115, 0x0008, 0x0060 */ |
3027 | | "Modality Subtype\0" /* 116, 0x0008, 0x0062 */ |
3028 | | "Conversion Type\0" /* 117, 0x0008, 0x0064 */ |
3029 | | "Presentation Intent Type\0" /* 118, 0x0008, 0x0068 */ |
3030 | | "Manufacturer\0" /* 119, 0x0008, 0x0070 */ |
3031 | | "Institution Name\0" /* 120, 0x0008, 0x0080 */ |
3032 | | "Institution Address\0" /* 121, 0x0008, 0x0081 */ |
3033 | | "Institution Code Sequence\0" /* 122, 0x0008, 0x0082 */ |
3034 | | "Referring Physician's Name\0" /* 123, 0x0008, 0x0090 */ |
3035 | | "Referring Physician's Address\0" /* 124, 0x0008, 0x0092 */ |
3036 | | "Referring Physician's Telephone Numbers\0" /* 125, 0x0008, 0x0094 */ |
3037 | | "Code Value\0" /* 126, 0x0008, 0x0100 */ |
3038 | | "Coding Scheme Designator\0" /* 127, 0x0008, 0x0102 */ |
3039 | | "Coding Scheme Version\0" /* 128, 0x0008, 0x0103 */ |
3040 | | "Code Meaning\0" /* 129, 0x0008, 0x0104 */ |
3041 | | "Mapping Resource\0" /* 130, 0x0008, 0x0105 */ |
3042 | | "Context Group Version\0" /* 131, 0x0008, 0x0106 */ |
3043 | | "Code Set Extension Flag\0" /* 132, 0x0008, 0x010b */ |
3044 | | "Private Coding Scheme Creator UID\0" /* 133, 0x0008, 0x010c */ |
3045 | | "Code Set Extension Creator UID\0" /* 134, 0x0008, 0x010d */ |
3046 | | "Context Identifier\0" /* 135, 0x0008, 0x010f */ |
3047 | | "Network ID\0" /* 136, 0x0008, 0x1000 */ |
3048 | | "Station Name\0" /* 137, 0x0008, 0x1010 */ |
3049 | | "Study Description\0" /* 138, 0x0008, 0x1030 */ |
3050 | | "Procedure Code Sequence\0" /* 139, 0x0008, 0x1032 */ |
3051 | | "Series Description\0" /* 140, 0x0008, 0x103e */ |
3052 | | "Institutional Department Name\0" /* 141, 0x0008, 0x1040 */ |
3053 | | "Physician of Record\0" /* 142, 0x0008, 0x1048 */ |
3054 | | "Performing Physician's Name\0" /* 143, 0x0008, 0x1050 */ |
3055 | | "Name of Physician(s) Reading Study\0" /* 144, 0x0008, 0x1060 */ |
3056 | | "Operator's Name\0" /* 145, 0x0008, 0x1070 */ |
3057 | | "Admitting Diagnosis Description\0" /* 146, 0x0008, 0x1080 */ |
3058 | | "Admitting Diagnosis Code Sequence\0" /* 147, 0x0008, 0x1084 */ |
3059 | | "Manufacturer's Model Name\0" /* 148, 0x0008, 0x1090 */ |
3060 | | "Referenced Results Sequence\0" /* 149, 0x0008, 0x1100 */ |
3061 | | "Referenced Study Sequence\0" /* 150, 0x0008, 0x1110 */ |
3062 | | "Referenced Study Component Sequence\0" /* 151, 0x0008, 0x1111 */ |
3063 | | "Referenced Series Sequence\0" /* 152, 0x0008, 0x1115 */ |
3064 | | "Referenced Patient Sequence\0" /* 153, 0x0008, 0x1120 */ |
3065 | | "Referenced Visit Sequence\0" /* 154, 0x0008, 0x1125 */ |
3066 | | "Referenced Overlay Sequence\0" /* 155, 0x0008, 0x1130 */ |
3067 | | "Referenced Image Sequence\0" /* 156, 0x0008, 0x1140 */ |
3068 | | "Referenced Curve Sequence\0" /* 157, 0x0008, 0x1145 */ |
3069 | | "Referenced Previous Waveform\0" /* 158, 0x0008, 0x1148 */ |
3070 | | "Referenced Simultaneous Waveforms\0" /* 159, 0x0008, 0x114a */ |
3071 | | "Referenced Subsequent Waveform\0" /* 160, 0x0008, 0x114c */ |
3072 | | "Referenced SOP Class UID\0" /* 161, 0x0008, 0x1150 */ |
3073 | | "Referenced SOP Instance UID\0" /* 162, 0x0008, 0x1155 */ |
3074 | | "Referenced Frame Number\0" /* 163, 0x0008, 0x1160 */ |
3075 | | "Transaction UID\0" /* 164, 0x0008, 0x1195 */ |
3076 | | "Failure Reason\0" /* 165, 0x0008, 0x1197 */ |
3077 | | "Failed SOP Sequence\0" /* 166, 0x0008, 0x1198 */ |
3078 | | "Referenced SOP Sequence\0" /* 167, 0x0008, 0x1199 */ |
3079 | | "Old Lossy Image Compression\0" /* 168, 0x0008, 0x2110 */ |
3080 | | "Derivation Description\0" /* 169, 0x0008, 0x2111 */ |
3081 | | "Source Image Sequence\0" /* 170, 0x0008, 0x2112 */ |
3082 | | "Stage Name\0" /* 171, 0x0008, 0x2120 */ |
3083 | | "Stage Number\0" /* 172, 0x0008, 0x2122 */ |
3084 | | "Number of Stages\0" /* 173, 0x0008, 0x2124 */ |
3085 | | "View Number\0" /* 174, 0x0008, 0x2128 */ |
3086 | | "Number of Event Timers\0" /* 175, 0x0008, 0x2129 */ |
3087 | | "Number of Views in Stage\0" /* 176, 0x0008, 0x212a */ |
3088 | | "Event Elapsed Time(s)\0" /* 177, 0x0008, 0x2130 */ |
3089 | | "Event Timer Name(s)\0" /* 178, 0x0008, 0x2132 */ |
3090 | | "Start Trim\0" /* 179, 0x0008, 0x2142 */ |
3091 | | "Stop Trim\0" /* 180, 0x0008, 0x2143 */ |
3092 | | "Recommended Display Frame Rate\0" /* 181, 0x0008, 0x2144 */ |
3093 | | "Transducer Position\0" /* 182, 0x0008, 0x2200 */ |
3094 | | "Transducer Orientation\0" /* 183, 0x0008, 0x2204 */ |
3095 | | "Anatomic Structure\0" /* 184, 0x0008, 0x2208 */ |
3096 | | "Anatomic Region Sequence\0" /* 185, 0x0008, 0x2218 */ |
3097 | | "Anatomic Region Modifier Sequence\0" /* 186, 0x0008, 0x2220 */ |
3098 | | "Primary Anatomic Structure Sequence\0" /* 187, 0x0008, 0x2228 */ |
3099 | | "Primary Anatomic Structure Modifier Sequence\0" /* 188, 0x0008, 0x2230 */ |
3100 | | "Transducer Position Sequence\0" /* 189, 0x0008, 0x2240 */ |
3101 | | "Transducer Position Modifier Sequence\0" /* 190, 0x0008, 0x2242 */ |
3102 | | "Transducer Orientation Sequence\0" /* 191, 0x0008, 0x2244 */ |
3103 | | "Transducer Orientation Modifier Sequence\0" /* 192, 0x0008, 0x2246 */ |
3104 | | "Anatomic Structure Space Or Region Code Sequence\0" /* 193, 0x0008, 0x2251 */ |
3105 | | "Anatomic Portal Of Entrance Code Sequence\0" /* 194, 0x0008, 0x2253 */ |
3106 | | "Anatomic Approach Direction Code Sequence\0" /* 195, 0x0008, 0x2255 */ |
3107 | | "Anatomic Perspective Description\0" /* 196, 0x0008, 0x2256 */ |
3108 | | "Anatomic Perspective Code Sequence\0" /* 197, 0x0008, 0x2257 */ |
3109 | | "Anatomic Location Of Examining Instrument Description\0" /* 198, 0x0008, 0x2258 */ |
3110 | | "Anatomic Location Of Examining Instrument Code Sequence\0" /* 199, 0x0008, 0x2259 */ |
3111 | | "Anatomic Structure Space Or Region Modifier Code Sequence\0" /* 200, 0x0008, 0x225a */ |
3112 | | "OnAxis Background Anatomic Structure Code Sequence\0" /* 201, 0x0008, 0x225c */ |
3113 | | "Identifying Comments\0" /* 202, 0x0008, 0x4000 */ |
3114 | | "?\0" /* 203, 0x0009, 0x0000 */ |
3115 | | "?\0" /* 204, 0x0009, 0x0001 */ |
3116 | | "?\0" /* 205, 0x0009, 0x0002 */ |
3117 | | "?\0" /* 206, 0x0009, 0x0003 */ |
3118 | | "?\0" /* 207, 0x0009, 0x0004 */ |
3119 | | "?\0" /* 208, 0x0009, 0x0005 */ |
3120 | | "?\0" /* 209, 0x0009, 0x0006 */ |
3121 | | "?\0" /* 210, 0x0009, 0x0007 */ |
3122 | | "?\0" /* 211, 0x0009, 0x0008 */ |
3123 | | "?\0" /* 212, 0x0009, 0x0009 */ |
3124 | | "?\0" /* 213, 0x0009, 0x000a */ |
3125 | | "?\0" /* 214, 0x0009, 0x000b */ |
3126 | | "?\0" /* 215, 0x0009, 0x000c */ |
3127 | | "?\0" /* 216, 0x0009, 0x000d */ |
3128 | | "?\0" /* 217, 0x0009, 0x000e */ |
3129 | | "?\0" /* 218, 0x0009, 0x000f */ |
3130 | | "?\0" /* 219, 0x0009, 0x0010 */ |
3131 | | "?\0" /* 220, 0x0009, 0x0011 */ |
3132 | | "?\0" /* 221, 0x0009, 0x0012 */ |
3133 | | "?\0" /* 222, 0x0009, 0x0013 */ |
3134 | | "?\0" /* 223, 0x0009, 0x0014 */ |
3135 | | "?\0" /* 224, 0x0009, 0x0015 */ |
3136 | | "?\0" /* 225, 0x0009, 0x0016 */ |
3137 | | "?\0" /* 226, 0x0009, 0x0017 */ |
3138 | | "Data Set Identifier\0" /* 227, 0x0009, 0x0018 */ |
3139 | | "?\0" /* 228, 0x0009, 0x001a */ |
3140 | | "?\0" /* 229, 0x0009, 0x001e */ |
3141 | | "?\0" /* 230, 0x0009, 0x0020 */ |
3142 | | "?\0" /* 231, 0x0009, 0x0021 */ |
3143 | | "User Orientation\0" /* 232, 0x0009, 0x0022 */ |
3144 | | "Initiation Type\0" /* 233, 0x0009, 0x0023 */ |
3145 | | "?\0" /* 234, 0x0009, 0x0024 */ |
3146 | | "?\0" /* 235, 0x0009, 0x0025 */ |
3147 | | "?\0" /* 236, 0x0009, 0x0026 */ |
3148 | | "?\0" /* 237, 0x0009, 0x0027 */ |
3149 | | "?\0" /* 238, 0x0009, 0x0029 */ |
3150 | | "?\0" /* 239, 0x0009, 0x002a */ |
3151 | | "Series Comments\0" /* 240, 0x0009, 0x002c */ |
3152 | | "Track Beat Average\0" /* 241, 0x0009, 0x002d */ |
3153 | | "Distance Prescribed\0" /* 242, 0x0009, 0x002e */ |
3154 | | "?\0" /* 243, 0x0009, 0x002f */ |
3155 | | "?\0" /* 244, 0x0009, 0x0030 */ |
3156 | | "?\0" /* 245, 0x0009, 0x0031 */ |
3157 | | "?\0" /* 246, 0x0009, 0x0032 */ |
3158 | | "?\0" /* 247, 0x0009, 0x0034 */ |
3159 | | "Gantry Locus Type\0" /* 248, 0x0009, 0x0035 */ |
3160 | | "Starting Heart Rate\0" /* 249, 0x0009, 0x0037 */ |
3161 | | "?\0" /* 250, 0x0009, 0x0038 */ |
3162 | | "RR Window Offset\0" /* 251, 0x0009, 0x0039 */ |
3163 | | "Percent Cycle Imaged\0" /* 252, 0x0009, 0x003a */ |
3164 | | "?\0" /* 253, 0x0009, 0x003e */ |
3165 | | "?\0" /* 254, 0x0009, 0x003f */ |
3166 | | "?\0" /* 255, 0x0009, 0x0040 */ |
3167 | | "?\0" /* 256, 0x0009, 0x0041 */ |
3168 | | "?\0" /* 257, 0x0009, 0x0042 */ |
3169 | | "?\0" /* 258, 0x0009, 0x0043 */ |
3170 | | "?\0" /* 259, 0x0009, 0x0050 */ |
3171 | | "?\0" /* 260, 0x0009, 0x0051 */ |
3172 | | "?\0" /* 261, 0x0009, 0x0060 */ |
3173 | | "Series Unique Identifier\0" /* 262, 0x0009, 0x0061 */ |
3174 | | "?\0" /* 263, 0x0009, 0x0070 */ |
3175 | | "?\0" /* 264, 0x0009, 0x0080 */ |
3176 | | "?\0" /* 265, 0x0009, 0x0091 */ |
3177 | | "?\0" /* 266, 0x0009, 0x00e2 */ |
3178 | | "Equipment UID\0" /* 267, 0x0009, 0x00e3 */ |
3179 | | "Genesis Version Now\0" /* 268, 0x0009, 0x00e6 */ |
3180 | | "Exam Record Checksum\0" /* 269, 0x0009, 0x00e7 */ |
3181 | | "?\0" /* 270, 0x0009, 0x00e8 */ |
3182 | | "Actual Series Data Time Stamp\0" /* 271, 0x0009, 0x00e9 */ |
3183 | | "?\0" /* 272, 0x0009, 0x00f2 */ |
3184 | | "?\0" /* 273, 0x0009, 0x00f3 */ |
3185 | | "?\0" /* 274, 0x0009, 0x00f4 */ |
3186 | | "?\0" /* 275, 0x0009, 0x00f5 */ |
3187 | | "PDM Data Object Type Extension\0" /* 276, 0x0009, 0x00f6 */ |
3188 | | "?\0" /* 277, 0x0009, 0x00f8 */ |
3189 | | "?\0" /* 278, 0x0009, 0x00fb */ |
3190 | | "?\0" /* 279, 0x0009, 0x1002 */ |
3191 | | "?\0" /* 280, 0x0009, 0x1003 */ |
3192 | | "?\0" /* 281, 0x0009, 0x1010 */ |
3193 | | "Patient Group Length\0" /* 282, 0x0010, 0x0000 */ |
3194 | | "Patient's Name\0" /* 283, 0x0010, 0x0010 */ |
3195 | | "Patient's ID\0" /* 284, 0x0010, 0x0020 */ |
3196 | | "Issuer of Patient's ID\0" /* 285, 0x0010, 0x0021 */ |
3197 | | "Patient's Birth Date\0" /* 286, 0x0010, 0x0030 */ |
3198 | | "Patient's Birth Time\0" /* 287, 0x0010, 0x0032 */ |
3199 | | "Patient's Sex\0" /* 288, 0x0010, 0x0040 */ |
3200 | | "Patient's Insurance Plan Code Sequence\0" /* 289, 0x0010, 0x0050 */ |
3201 | | "Other Patient's ID's\0" /* 290, 0x0010, 0x1000 */ |
3202 | | "Other Patient's Names\0" /* 291, 0x0010, 0x1001 */ |
3203 | | "Patient's Birth Name\0" /* 292, 0x0010, 0x1005 */ |
3204 | | "Patient's Age\0" /* 293, 0x0010, 0x1010 */ |
3205 | | "Patient's Size\0" /* 294, 0x0010, 0x1020 */ |
3206 | | "Patient's Weight\0" /* 295, 0x0010, 0x1030 */ |
3207 | | "Patient's Address\0" /* 296, 0x0010, 0x1040 */ |
3208 | | "Insurance Plan Identification\0" /* 297, 0x0010, 0x1050 */ |
3209 | | "Patient's Mother's Birth Name\0" /* 298, 0x0010, 0x1060 */ |
3210 | | "Military Rank\0" /* 299, 0x0010, 0x1080 */ |
3211 | | "Branch of Service\0" /* 300, 0x0010, 0x1081 */ |
3212 | | "Medical Record Locator\0" /* 301, 0x0010, 0x1090 */ |
3213 | | "Medical Alerts\0" /* 302, 0x0010, 0x2000 */ |
3214 | | "Contrast Allergies\0" /* 303, 0x0010, 0x2110 */ |
3215 | | "Country of Residence\0" /* 304, 0x0010, 0x2150 */ |
3216 | | "Region of Residence\0" /* 305, 0x0010, 0x2152 */ |
3217 | | "Patients Telephone Numbers\0" /* 306, 0x0010, 0x2154 */ |
3218 | | "Ethnic Group\0" /* 307, 0x0010, 0x2160 */ |
3219 | | "Occupation\0" /* 308, 0x0010, 0x2180 */ |
3220 | | "Smoking Status\0" /* 309, 0x0010, 0x21a0 */ |
3221 | | "Additional Patient History\0" /* 310, 0x0010, 0x21b0 */ |
3222 | | "Pregnancy Status\0" /* 311, 0x0010, 0x21c0 */ |
3223 | | "Last Menstrual Date\0" /* 312, 0x0010, 0x21d0 */ |
3224 | | "Patients Religious Preference\0" /* 313, 0x0010, 0x21f0 */ |
3225 | | "Patient Comments\0" /* 314, 0x0010, 0x4000 */ |
3226 | | "?\0" /* 315, 0x0011, 0x0001 */ |
3227 | | "?\0" /* 316, 0x0011, 0x0002 */ |
3228 | | "Patient UID\0" /* 317, 0x0011, 0x0003 */ |
3229 | | "Patient ID\0" /* 318, 0x0011, 0x0004 */ |
3230 | | "?\0" /* 319, 0x0011, 0x000a */ |
3231 | | "Effective Series Duration\0" /* 320, 0x0011, 0x000b */ |
3232 | | "Num Beats\0" /* 321, 0x0011, 0x000c */ |
3233 | | "Radio Nuclide Name\0" /* 322, 0x0011, 0x000d */ |
3234 | | "?\0" /* 323, 0x0011, 0x0010 */ |
3235 | | "?\0" /* 324, 0x0011, 0x0011 */ |
3236 | | "Dataset Name\0" /* 325, 0x0011, 0x0012 */ |
3237 | | "Dataset Type\0" /* 326, 0x0011, 0x0013 */ |
3238 | | "?\0" /* 327, 0x0011, 0x0015 */ |
3239 | | "Energy Number\0" /* 328, 0x0011, 0x0016 */ |
3240 | | "RR Interval Window Number\0" /* 329, 0x0011, 0x0017 */ |
3241 | | "MG Bin Number\0" /* 330, 0x0011, 0x0018 */ |
3242 | | "Radius Of Rotation\0" /* 331, 0x0011, 0x0019 */ |
3243 | | "Detector Count Zone\0" /* 332, 0x0011, 0x001a */ |
3244 | | "Num Energy Windows\0" /* 333, 0x0011, 0x001b */ |
3245 | | "Energy Offset\0" /* 334, 0x0011, 0x001c */ |
3246 | | "Energy Range\0" /* 335, 0x0011, 0x001d */ |
3247 | | "Image Orientation\0" /* 336, 0x0011, 0x001f */ |
3248 | | "?\0" /* 337, 0x0011, 0x0020 */ |
3249 | | "?\0" /* 338, 0x0011, 0x0021 */ |
3250 | | "?\0" /* 339, 0x0011, 0x0022 */ |
3251 | | "?\0" /* 340, 0x0011, 0x0023 */ |
3252 | | "FOV Mask Y Cutoff Angle\0" /* 341, 0x0011, 0x0024 */ |
3253 | | "?\0" /* 342, 0x0011, 0x0025 */ |
3254 | | "Table Orientation\0" /* 343, 0x0011, 0x0026 */ |
3255 | | "ROI Top Left\0" /* 344, 0x0011, 0x0027 */ |
3256 | | "ROI Bottom Right\0" /* 345, 0x0011, 0x0028 */ |
3257 | | "?\0" /* 346, 0x0011, 0x0030 */ |
3258 | | "?\0" /* 347, 0x0011, 0x0031 */ |
3259 | | "?\0" /* 348, 0x0011, 0x0032 */ |
3260 | | "Energy Correct Name\0" /* 349, 0x0011, 0x0033 */ |
3261 | | "Spatial Correct Name\0" /* 350, 0x0011, 0x0034 */ |
3262 | | "?\0" /* 351, 0x0011, 0x0035 */ |
3263 | | "Uniformity Correct Name\0" /* 352, 0x0011, 0x0036 */ |
3264 | | "Acquisition Specific Correct Name\0" /* 353, 0x0011, 0x0037 */ |
3265 | | "Byte Order\0" /* 354, 0x0011, 0x0038 */ |
3266 | | "Picture Format\0" /* 355, 0x0011, 0x003a */ |
3267 | | "Pixel Scale\0" /* 356, 0x0011, 0x003b */ |
3268 | | "Pixel Offset\0" /* 357, 0x0011, 0x003c */ |
3269 | | "FOV Shape\0" /* 358, 0x0011, 0x003e */ |
3270 | | "Dataset Flags\0" /* 359, 0x0011, 0x003f */ |
3271 | | "?\0" /* 360, 0x0011, 0x0040 */ |
3272 | | "Medical Alerts\0" /* 361, 0x0011, 0x0041 */ |
3273 | | "Contrast Allergies\0" /* 362, 0x0011, 0x0042 */ |
3274 | | "Threshold Center\0" /* 363, 0x0011, 0x0044 */ |
3275 | | "Threshold Width\0" /* 364, 0x0011, 0x0045 */ |
3276 | | "Interpolation Type\0" /* 365, 0x0011, 0x0046 */ |
3277 | | "Period\0" /* 366, 0x0011, 0x0055 */ |
3278 | | "ElapsedTime\0" /* 367, 0x0011, 0x0056 */ |
3279 | | "Patient Registration Date\0" /* 368, 0x0011, 0x00a1 */ |
3280 | | "Patient Registration Time\0" /* 369, 0x0011, 0x00a2 */ |
3281 | | "Patient Last Name\0" /* 370, 0x0011, 0x00b0 */ |
3282 | | "Patient First Name\0" /* 371, 0x0011, 0x00b2 */ |
3283 | | "Patient Hospital Status\0" /* 372, 0x0011, 0x00b4 */ |
3284 | | "Current Location Time\0" /* 373, 0x0011, 0x00bc */ |
3285 | | "Patient Insurance Status\0" /* 374, 0x0011, 0x00c0 */ |
3286 | | "Patient Billing Type\0" /* 375, 0x0011, 0x00d0 */ |
3287 | | "Patient Billing Address\0" /* 376, 0x0011, 0x00d2 */ |
3288 | | "Modifying Physician\0" /* 377, 0x0013, 0x0000 */ |
3289 | | "?\0" /* 378, 0x0013, 0x0010 */ |
3290 | | "?\0" /* 379, 0x0013, 0x0011 */ |
3291 | | "?\0" /* 380, 0x0013, 0x0012 */ |
3292 | | "AutoTrack Peak\0" /* 381, 0x0013, 0x0016 */ |
3293 | | "AutoTrack Width\0" /* 382, 0x0013, 0x0017 */ |
3294 | | "Transmission Scan Time\0" /* 383, 0x0013, 0x0018 */ |
3295 | | "Transmission Mask Width\0" /* 384, 0x0013, 0x0019 */ |
3296 | | "Copper Attenuator Thickness\0" /* 385, 0x0013, 0x001a */ |
3297 | | "?\0" /* 386, 0x0013, 0x001c */ |
3298 | | "?\0" /* 387, 0x0013, 0x001d */ |
3299 | | "Tomo View Offset\0" /* 388, 0x0013, 0x001e */ |
3300 | | "Patient Name\0" /* 389, 0x0013, 0x0020 */ |
3301 | | "Patient Id\0" /* 390, 0x0013, 0x0022 */ |
3302 | | "Study Comments\0" /* 391, 0x0013, 0x0026 */ |
3303 | | "Patient Birthdate\0" /* 392, 0x0013, 0x0030 */ |
3304 | | "Patient Weight\0" /* 393, 0x0013, 0x0031 */ |
3305 | | "Patients Maiden Name\0" /* 394, 0x0013, 0x0032 */ |
3306 | | "Referring Physician\0" /* 395, 0x0013, 0x0033 */ |
3307 | | "Admitting Diagnosis\0" /* 396, 0x0013, 0x0034 */ |
3308 | | "Patient Sex\0" /* 397, 0x0013, 0x0035 */ |
3309 | | "Procedure Description\0" /* 398, 0x0013, 0x0040 */ |
3310 | | "Patient Rest Direction\0" /* 399, 0x0013, 0x0042 */ |
3311 | | "Patient Position\0" /* 400, 0x0013, 0x0044 */ |
3312 | | "View Direction\0" /* 401, 0x0013, 0x0046 */ |
3313 | | "Stenosis Calibration Ratio\0" /* 402, 0x0015, 0x0001 */ |
3314 | | "Stenosis Magnification\0" /* 403, 0x0015, 0x0002 */ |
3315 | | "Cardiac Calibration Ratio\0" /* 404, 0x0015, 0x0003 */ |
3316 | | "Acquisition Group Length\0" /* 405, 0x0018, 0x0000 */ |
3317 | | "Contrast/Bolus Agent\0" /* 406, 0x0018, 0x0010 */ |
3318 | | "Contrast/Bolus Agent Sequence\0" /* 407, 0x0018, 0x0012 */ |
3319 | | "Contrast/Bolus Administration Route Sequence\0" /* 408, 0x0018, 0x0014 */ |
3320 | | "Body Part Examined\0" /* 409, 0x0018, 0x0015 */ |
3321 | | "Scanning Sequence\0" /* 410, 0x0018, 0x0020 */ |
3322 | | "Sequence Variant\0" /* 411, 0x0018, 0x0021 */ |
3323 | | "Scan Options\0" /* 412, 0x0018, 0x0022 */ |
3324 | | "MR Acquisition Type\0" /* 413, 0x0018, 0x0023 */ |
3325 | | "Sequence Name\0" /* 414, 0x0018, 0x0024 */ |
3326 | | "Angio Flag\0" /* 415, 0x0018, 0x0025 */ |
3327 | | "Intervention Drug Information Sequence\0" /* 416, 0x0018, 0x0026 */ |
3328 | | "Intervention Drug Stop Time\0" /* 417, 0x0018, 0x0027 */ |
3329 | | "Intervention Drug Dose\0" /* 418, 0x0018, 0x0028 */ |
3330 | | "Intervention Drug Code Sequence\0" /* 419, 0x0018, 0x0029 */ |
3331 | | "Additional Drug Sequence\0" /* 420, 0x0018, 0x002a */ |
3332 | | "Radionuclide\0" /* 421, 0x0018, 0x0030 */ |
3333 | | "Radiopharmaceutical\0" /* 422, 0x0018, 0x0031 */ |
3334 | | "Energy Window Centerline\0" /* 423, 0x0018, 0x0032 */ |
3335 | | "Energy Window Total Width\0" /* 424, 0x0018, 0x0033 */ |
3336 | | "Intervention Drug Name\0" /* 425, 0x0018, 0x0034 */ |
3337 | | "Intervention Drug Start Time\0" /* 426, 0x0018, 0x0035 */ |
3338 | | "Intervention Therapy Sequence\0" /* 427, 0x0018, 0x0036 */ |
3339 | | "Therapy Type\0" /* 428, 0x0018, 0x0037 */ |
3340 | | "Intervention Status\0" /* 429, 0x0018, 0x0038 */ |
3341 | | "Therapy Description\0" /* 430, 0x0018, 0x0039 */ |
3342 | | "Cine Rate\0" /* 431, 0x0018, 0x0040 */ |
3343 | | "Slice Thickness\0" /* 432, 0x0018, 0x0050 */ |
3344 | | "KVP\0" /* 433, 0x0018, 0x0060 */ |
3345 | | "Counts Accumulated\0" /* 434, 0x0018, 0x0070 */ |
3346 | | "Acquisition Termination Condition\0" /* 435, 0x0018, 0x0071 */ |
3347 | | "Effective Series Duration\0" /* 436, 0x0018, 0x0072 */ |
3348 | | "Acquisition Start Condition\0" /* 437, 0x0018, 0x0073 */ |
3349 | | "Acquisition Start Condition Data\0" /* 438, 0x0018, 0x0074 */ |
3350 | | "Acquisition Termination Condition Data\0" /* 439, 0x0018, 0x0075 */ |
3351 | | "Repetition Time\0" /* 440, 0x0018, 0x0080 */ |
3352 | | "Echo Time\0" /* 441, 0x0018, 0x0081 */ |
3353 | | "Inversion Time\0" /* 442, 0x0018, 0x0082 */ |
3354 | | "Number of Averages\0" /* 443, 0x0018, 0x0083 */ |
3355 | | "Imaging Frequency\0" /* 444, 0x0018, 0x0084 */ |
3356 | | "Imaged Nucleus\0" /* 445, 0x0018, 0x0085 */ |
3357 | | "Echo Number(s)\0" /* 446, 0x0018, 0x0086 */ |
3358 | | "Magnetic Field Strength\0" /* 447, 0x0018, 0x0087 */ |
3359 | | "Spacing Between Slices\0" /* 448, 0x0018, 0x0088 */ |
3360 | | "Number of Phase Encoding Steps\0" /* 449, 0x0018, 0x0089 */ |
3361 | | "Data Collection Diameter\0" /* 450, 0x0018, 0x0090 */ |
3362 | | "Echo Train Length\0" /* 451, 0x0018, 0x0091 */ |
3363 | | "Percent Sampling\0" /* 452, 0x0018, 0x0093 */ |
3364 | | "Percent Phase Field of View\0" /* 453, 0x0018, 0x0094 */ |
3365 | | "Pixel Bandwidth\0" /* 454, 0x0018, 0x0095 */ |
3366 | | "Device Serial Number\0" /* 455, 0x0018, 0x1000 */ |
3367 | | "Plate ID\0" /* 456, 0x0018, 0x1004 */ |
3368 | | "Secondary Capture Device ID\0" /* 457, 0x0018, 0x1010 */ |
3369 | | "Date of Secondary Capture\0" /* 458, 0x0018, 0x1012 */ |
3370 | | "Time of Secondary Capture\0" /* 459, 0x0018, 0x1014 */ |
3371 | | "Secondary Capture Device Manufacturer\0" /* 460, 0x0018, 0x1016 */ |
3372 | | "Secondary Capture Device Manufacturer Model Name\0" /* 461, 0x0018, 0x1018 */ |
3373 | | "Secondary Capture Device Software Version(s)\0" /* 462, 0x0018, 0x1019 */ |
3374 | | "Software Version(s)\0" /* 463, 0x0018, 0x1020 */ |
3375 | | "Video Image Format Acquired\0" /* 464, 0x0018, 0x1022 */ |
3376 | | "Digital Image Format Acquired\0" /* 465, 0x0018, 0x1023 */ |
3377 | | "Protocol Name\0" /* 466, 0x0018, 0x1030 */ |
3378 | | "Contrast/Bolus Route\0" /* 467, 0x0018, 0x1040 */ |
3379 | | "Contrast/Bolus Volume\0" /* 468, 0x0018, 0x1041 */ |
3380 | | "Contrast/Bolus Start Time\0" /* 469, 0x0018, 0x1042 */ |
3381 | | "Contrast/Bolus Stop Time\0" /* 470, 0x0018, 0x1043 */ |
3382 | | "Contrast/Bolus Total Dose\0" /* 471, 0x0018, 0x1044 */ |
3383 | | "Syringe Counts\0" /* 472, 0x0018, 0x1045 */ |
3384 | | "Contrast Flow Rate\0" /* 473, 0x0018, 0x1046 */ |
3385 | | "Contrast Flow Duration\0" /* 474, 0x0018, 0x1047 */ |
3386 | | "Contrast/Bolus Ingredient\0" /* 475, 0x0018, 0x1048 */ |
3387 | | "Contrast/Bolus Ingredient Concentration\0" /* 476, 0x0018, 0x1049 */ |
3388 | | "Spatial Resolution\0" /* 477, 0x0018, 0x1050 */ |
3389 | | "Trigger Time\0" /* 478, 0x0018, 0x1060 */ |
3390 | | "Trigger Source or Type\0" /* 479, 0x0018, 0x1061 */ |
3391 | | "Nominal Interval\0" /* 480, 0x0018, 0x1062 */ |
3392 | | "Frame Time\0" /* 481, 0x0018, 0x1063 */ |
3393 | | "Framing Type\0" /* 482, 0x0018, 0x1064 */ |
3394 | | "Frame Time Vector\0" /* 483, 0x0018, 0x1065 */ |
3395 | | "Frame Delay\0" /* 484, 0x0018, 0x1066 */ |
3396 | | "Image Trigger Delay\0" /* 485, 0x0018, 0x1067 */ |
3397 | | "Group Time Offset\0" /* 486, 0x0018, 0x1068 */ |
3398 | | "Trigger Time Offset\0" /* 487, 0x0018, 0x1069 */ |
3399 | | "Synchronization Trigger\0" /* 488, 0x0018, 0x106a */ |
3400 | | "Synchronization Frame of Reference\0" /* 489, 0x0018, 0x106b */ |
3401 | | "Trigger Sample Position\0" /* 490, 0x0018, 0x106e */ |
3402 | | "Radiopharmaceutical Route\0" /* 491, 0x0018, 0x1070 */ |
3403 | | "Radiopharmaceutical Volume\0" /* 492, 0x0018, 0x1071 */ |
3404 | | "Radiopharmaceutical Start Time\0" /* 493, 0x0018, 0x1072 */ |
3405 | | "Radiopharmaceutical Stop Time\0" /* 494, 0x0018, 0x1073 */ |
3406 | | "Radionuclide Total Dose\0" /* 495, 0x0018, 0x1074 */ |
3407 | | "Radionuclide Half Life\0" /* 496, 0x0018, 0x1075 */ |
3408 | | "Radionuclide Positron Fraction\0" /* 497, 0x0018, 0x1076 */ |
3409 | | "Radiopharmaceutical Specific Activity\0" /* 498, 0x0018, 0x1077 */ |
3410 | | "Beat Rejection Flag\0" /* 499, 0x0018, 0x1080 */ |
3411 | | "Low R-R Value\0" /* 500, 0x0018, 0x1081 */ |
3412 | | "High R-R Value\0" /* 501, 0x0018, 0x1082 */ |
3413 | | "Intervals Acquired\0" /* 502, 0x0018, 0x1083 */ |
3414 | | "Intervals Rejected\0" /* 503, 0x0018, 0x1084 */ |
3415 | | "PVC Rejection\0" /* 504, 0x0018, 0x1085 */ |
3416 | | "Skip Beats\0" /* 505, 0x0018, 0x1086 */ |
3417 | | "Heart Rate\0" /* 506, 0x0018, 0x1088 */ |
3418 | | "Cardiac Number of Images\0" /* 507, 0x0018, 0x1090 */ |
3419 | | "Trigger Window\0" /* 508, 0x0018, 0x1094 */ |
3420 | | "Reconstruction Diameter\0" /* 509, 0x0018, 0x1100 */ |
3421 | | "Distance Source to Detector\0" /* 510, 0x0018, 0x1110 */ |
3422 | | "Distance Source to Patient\0" /* 511, 0x0018, 0x1111 */ |
3423 | | "Estimated Radiographic Magnification Factor\0" /* 512, 0x0018, 0x1114 */ |
3424 | | "Gantry/Detector Tilt\0" /* 513, 0x0018, 0x1120 */ |
3425 | | "Gantry/Detector Slew\0" /* 514, 0x0018, 0x1121 */ |
3426 | | "Table Height\0" /* 515, 0x0018, 0x1130 */ |
3427 | | "Table Traverse\0" /* 516, 0x0018, 0x1131 */ |
3428 | | "Table Motion\0" /* 517, 0x0018, 0x1134 */ |
3429 | | "Table Vertical Increment\0" /* 518, 0x0018, 0x1135 */ |
3430 | | "Table Lateral Increment\0" /* 519, 0x0018, 0x1136 */ |
3431 | | "Table Longitudinal Increment\0" /* 520, 0x0018, 0x1137 */ |
3432 | | "Table Angle\0" /* 521, 0x0018, 0x1138 */ |
3433 | | "Table Type\0" /* 522, 0x0018, 0x113a */ |
3434 | | "Rotation Direction\0" /* 523, 0x0018, 0x1140 */ |
3435 | | "Angular Position\0" /* 524, 0x0018, 0x1141 */ |
3436 | | "Radial Position\0" /* 525, 0x0018, 0x1142 */ |
3437 | | "Scan Arc\0" /* 526, 0x0018, 0x1143 */ |
3438 | | "Angular Step\0" /* 527, 0x0018, 0x1144 */ |
3439 | | "Center of Rotation Offset\0" /* 528, 0x0018, 0x1145 */ |
3440 | | "Rotation Offset\0" /* 529, 0x0018, 0x1146 */ |
3441 | | "Field of View Shape\0" /* 530, 0x0018, 0x1147 */ |
3442 | | "Field of View Dimension(s)\0" /* 531, 0x0018, 0x1149 */ |
3443 | | "Exposure Time\0" /* 532, 0x0018, 0x1150 */ |
3444 | | "X-ray Tube Current\0" /* 533, 0x0018, 0x1151 */ |
3445 | | "Exposure\0" /* 534, 0x0018, 0x1152 */ |
3446 | | "Exposure in uAs\0" /* 535, 0x0018, 0x1153 */ |
3447 | | "AveragePulseWidth\0" /* 536, 0x0018, 0x1154 */ |
3448 | | "RadiationSetting\0" /* 537, 0x0018, 0x1155 */ |
3449 | | "Rectification Type\0" /* 538, 0x0018, 0x1156 */ |
3450 | | "RadiationMode\0" /* 539, 0x0018, 0x115a */ |
3451 | | "ImageAreaDoseProduct\0" /* 540, 0x0018, 0x115e */ |
3452 | | "Filter Type\0" /* 541, 0x0018, 0x1160 */ |
3453 | | "TypeOfFilters\0" /* 542, 0x0018, 0x1161 */ |
3454 | | "IntensifierSize\0" /* 543, 0x0018, 0x1162 */ |
3455 | | "ImagerPixelSpacing\0" /* 544, 0x0018, 0x1164 */ |
3456 | | "Grid\0" /* 545, 0x0018, 0x1166 */ |
3457 | | "Generator Power\0" /* 546, 0x0018, 0x1170 */ |
3458 | | "Collimator/Grid Name\0" /* 547, 0x0018, 0x1180 */ |
3459 | | "Collimator Type\0" /* 548, 0x0018, 0x1181 */ |
3460 | | "Focal Distance\0" /* 549, 0x0018, 0x1182 */ |
3461 | | "X Focus Center\0" /* 550, 0x0018, 0x1183 */ |
3462 | | "Y Focus Center\0" /* 551, 0x0018, 0x1184 */ |
3463 | | "Focal Spot(s)\0" /* 552, 0x0018, 0x1190 */ |
3464 | | "Anode Target Material\0" /* 553, 0x0018, 0x1191 */ |
3465 | | "Body Part Thickness\0" /* 554, 0x0018, 0x11a0 */ |
3466 | | "Compression Force\0" /* 555, 0x0018, 0x11a2 */ |
3467 | | "Date of Last Calibration\0" /* 556, 0x0018, 0x1200 */ |
3468 | | "Time of Last Calibration\0" /* 557, 0x0018, 0x1201 */ |
3469 | | "Convolution Kernel\0" /* 558, 0x0018, 0x1210 */ |
3470 | | "Upper/Lower Pixel Values\0" /* 559, 0x0018, 0x1240 */ |
3471 | | "Actual Frame Duration\0" /* 560, 0x0018, 0x1242 */ |
3472 | | "Count Rate\0" /* 561, 0x0018, 0x1243 */ |
3473 | | "Preferred Playback Sequencing\0" /* 562, 0x0018, 0x1244 */ |
3474 | | "Receiving Coil\0" /* 563, 0x0018, 0x1250 */ |
3475 | | "Transmitting Coil\0" /* 564, 0x0018, 0x1251 */ |
3476 | | "Plate Type\0" /* 565, 0x0018, 0x1260 */ |
3477 | | "Phosphor Type\0" /* 566, 0x0018, 0x1261 */ |
3478 | | "Scan Velocity\0" /* 567, 0x0018, 0x1300 */ |
3479 | | "Whole Body Technique\0" /* 568, 0x0018, 0x1301 */ |
3480 | | "Scan Length\0" /* 569, 0x0018, 0x1302 */ |
3481 | | "Acquisition Matrix\0" /* 570, 0x0018, 0x1310 */ |
3482 | | "Phase Encoding Direction\0" /* 571, 0x0018, 0x1312 */ |
3483 | | "Flip Angle\0" /* 572, 0x0018, 0x1314 */ |
3484 | | "Variable Flip Angle Flag\0" /* 573, 0x0018, 0x1315 */ |
3485 | | "SAR\0" /* 574, 0x0018, 0x1316 */ |
3486 | | "dB/dt\0" /* 575, 0x0018, 0x1318 */ |
3487 | | "Acquisition Device Processing Description\0" /* 576, 0x0018, 0x1400 */ |
3488 | | "Acquisition Device Processing Code\0" /* 577, 0x0018, 0x1401 */ |
3489 | | "Cassette Orientation\0" /* 578, 0x0018, 0x1402 */ |
3490 | | "Cassette Size\0" /* 579, 0x0018, 0x1403 */ |
3491 | | "Exposures on Plate\0" /* 580, 0x0018, 0x1404 */ |
3492 | | "Relative X-ray Exposure\0" /* 581, 0x0018, 0x1405 */ |
3493 | | "Column Angulation\0" /* 582, 0x0018, 0x1450 */ |
3494 | | "Tomo Layer Height\0" /* 583, 0x0018, 0x1460 */ |
3495 | | "Tomo Angle\0" /* 584, 0x0018, 0x1470 */ |
3496 | | "Tomo Time\0" /* 585, 0x0018, 0x1480 */ |
3497 | | "Tomo Type\0" /* 586, 0x0018, 0x1490 */ |
3498 | | "Tomo Class\0" /* 587, 0x0018, 0x1491 */ |
3499 | | "Number of Tomosynthesis Source Images\0" /* 588, 0x0018, 0x1495 */ |
3500 | | "PositionerMotion\0" /* 589, 0x0018, 0x1500 */ |
3501 | | "Positioner Type\0" /* 590, 0x0018, 0x1508 */ |
3502 | | "PositionerPrimaryAngle\0" /* 591, 0x0018, 0x1510 */ |
3503 | | "PositionerSecondaryAngle\0" /* 592, 0x0018, 0x1511 */ |
3504 | | "PositionerPrimaryAngleIncrement\0" /* 593, 0x0018, 0x1520 */ |
3505 | | "PositionerSecondaryAngleIncrement\0" /* 594, 0x0018, 0x1521 */ |
3506 | | "DetectorPrimaryAngle\0" /* 595, 0x0018, 0x1530 */ |
3507 | | "DetectorSecondaryAngle\0" /* 596, 0x0018, 0x1531 */ |
3508 | | "Shutter Shape\0" /* 597, 0x0018, 0x1600 */ |
3509 | | "Shutter Left Vertical Edge\0" /* 598, 0x0018, 0x1602 */ |
3510 | | "Shutter Right Vertical Edge\0" /* 599, 0x0018, 0x1604 */ |
3511 | | "Shutter Upper Horizontal Edge\0" /* 600, 0x0018, 0x1606 */ |
3512 | | "Shutter Lower Horizonta lEdge\0" /* 601, 0x0018, 0x1608 */ |
3513 | | "Center of Circular Shutter\0" /* 602, 0x0018, 0x1610 */ |
3514 | | "Radius of Circular Shutter\0" /* 603, 0x0018, 0x1612 */ |
3515 | | "Vertices of Polygonal Shutter\0" /* 604, 0x0018, 0x1620 */ |
3516 | | "Shutter Presentation Value\0" /* 605, 0x0018, 0x1622 */ |
3517 | | "Shutter Overlay Group\0" /* 606, 0x0018, 0x1623 */ |
3518 | | "Collimator Shape\0" /* 607, 0x0018, 0x1700 */ |
3519 | | "Collimator Left Vertical Edge\0" /* 608, 0x0018, 0x1702 */ |
3520 | | "Collimator Right Vertical Edge\0" /* 609, 0x0018, 0x1704 */ |
3521 | | "Collimator Upper Horizontal Edge\0" /* 610, 0x0018, 0x1706 */ |
3522 | | "Collimator Lower Horizontal Edge\0" /* 611, 0x0018, 0x1708 */ |
3523 | | "Center of Circular Collimator\0" /* 612, 0x0018, 0x1710 */ |
3524 | | "Radius of Circular Collimator\0" /* 613, 0x0018, 0x1712 */ |
3525 | | "Vertices of Polygonal Collimator\0" /* 614, 0x0018, 0x1720 */ |
3526 | | "Acquisition Time Synchronized\0" /* 615, 0x0018, 0x1800 */ |
3527 | | "Time Source\0" /* 616, 0x0018, 0x1801 */ |
3528 | | "Time Distribution Protocol\0" /* 617, 0x0018, 0x1802 */ |
3529 | | "Acquisition Comments\0" /* 618, 0x0018, 0x4000 */ |
3530 | | "Output Power\0" /* 619, 0x0018, 0x5000 */ |
3531 | | "Transducer Data\0" /* 620, 0x0018, 0x5010 */ |
3532 | | "Focus Depth\0" /* 621, 0x0018, 0x5012 */ |
3533 | | "Processing Function\0" /* 622, 0x0018, 0x5020 */ |
3534 | | "Postprocessing Function\0" /* 623, 0x0018, 0x5021 */ |
3535 | | "Mechanical Index\0" /* 624, 0x0018, 0x5022 */ |
3536 | | "Thermal Index\0" /* 625, 0x0018, 0x5024 */ |
3537 | | "Cranial Thermal Index\0" /* 626, 0x0018, 0x5026 */ |
3538 | | "Soft Tissue Thermal Index\0" /* 627, 0x0018, 0x5027 */ |
3539 | | "Soft Tissue-Focus Thermal Index\0" /* 628, 0x0018, 0x5028 */ |
3540 | | "Soft Tissue-Surface Thermal Index\0" /* 629, 0x0018, 0x5029 */ |
3541 | | "Dynamic Range\0" /* 630, 0x0018, 0x5030 */ |
3542 | | "Total Gain\0" /* 631, 0x0018, 0x5040 */ |
3543 | | "Depth of Scan Field\0" /* 632, 0x0018, 0x5050 */ |
3544 | | "Patient Position\0" /* 633, 0x0018, 0x5100 */ |
3545 | | "View Position\0" /* 634, 0x0018, 0x5101 */ |
3546 | | "Projection Eponymous Name Code Sequence\0" /* 635, 0x0018, 0x5104 */ |
3547 | | "Image Transformation Matrix\0" /* 636, 0x0018, 0x5210 */ |
3548 | | "Image Translation Vector\0" /* 637, 0x0018, 0x5212 */ |
3549 | | "Sensitivity\0" /* 638, 0x0018, 0x6000 */ |
3550 | | "Sequence of Ultrasound Regions\0" /* 639, 0x0018, 0x6011 */ |
3551 | | "Region Spatial Format\0" /* 640, 0x0018, 0x6012 */ |
3552 | | "Region Data Type\0" /* 641, 0x0018, 0x6014 */ |
3553 | | "Region Flags\0" /* 642, 0x0018, 0x6016 */ |
3554 | | "Region Location Min X0\0" /* 643, 0x0018, 0x6018 */ |
3555 | | "Region Location Min Y0\0" /* 644, 0x0018, 0x601a */ |
3556 | | "Region Location Max X1\0" /* 645, 0x0018, 0x601c */ |
3557 | | "Region Location Max Y1\0" /* 646, 0x0018, 0x601e */ |
3558 | | "Reference Pixel X0\0" /* 647, 0x0018, 0x6020 */ |
3559 | | "Reference Pixel Y0\0" /* 648, 0x0018, 0x6022 */ |
3560 | | "Physical Units X Direction\0" /* 649, 0x0018, 0x6024 */ |
3561 | | "Physical Units Y Direction\0" /* 650, 0x0018, 0x6026 */ |
3562 | | "Reference Pixel Physical Value X\0" /* 651, 0x0018, 0x6028 */ |
3563 | | "Reference Pixel Physical Value Y\0" /* 652, 0x0018, 0x602a */ |
3564 | | "Physical Delta X\0" /* 653, 0x0018, 0x602c */ |
3565 | | "Physical Delta Y\0" /* 654, 0x0018, 0x602e */ |
3566 | | "Transducer Frequency\0" /* 655, 0x0018, 0x6030 */ |
3567 | | "Transducer Type\0" /* 656, 0x0018, 0x6031 */ |
3568 | | "Pulse Repetition Frequency\0" /* 657, 0x0018, 0x6032 */ |
3569 | | "Doppler Correction Angle\0" /* 658, 0x0018, 0x6034 */ |
3570 | | "Steering Angle\0" /* 659, 0x0018, 0x6036 */ |
3571 | | "Doppler Sample Volume X Position\0" /* 660, 0x0018, 0x6038 */ |
3572 | | "Doppler Sample Volume Y Position\0" /* 661, 0x0018, 0x603a */ |
3573 | | "TM-Line Position X0\0" /* 662, 0x0018, 0x603c */ |
3574 | | "TM-Line Position Y0\0" /* 663, 0x0018, 0x603e */ |
3575 | | "TM-Line Position X1\0" /* 664, 0x0018, 0x6040 */ |
3576 | | "TM-Line Position Y1\0" /* 665, 0x0018, 0x6042 */ |
3577 | | "Pixel Component Organization\0" /* 666, 0x0018, 0x6044 */ |
3578 | | "Pixel Component Mask\0" /* 667, 0x0018, 0x6046 */ |
3579 | | "Pixel Component Range Start\0" /* 668, 0x0018, 0x6048 */ |
3580 | | "Pixel Component Range Stop\0" /* 669, 0x0018, 0x604a */ |
3581 | | "Pixel Component Physical Units\0" /* 670, 0x0018, 0x604c */ |
3582 | | "Pixel Component Data Type\0" /* 671, 0x0018, 0x604e */ |
3583 | | "Number of Table Break Points\0" /* 672, 0x0018, 0x6050 */ |
3584 | | "Table of X Break Points\0" /* 673, 0x0018, 0x6052 */ |
3585 | | "Table of Y Break Points\0" /* 674, 0x0018, 0x6054 */ |
3586 | | "Number of Table Entries\0" /* 675, 0x0018, 0x6056 */ |
3587 | | "Table of Pixel Values\0" /* 676, 0x0018, 0x6058 */ |
3588 | | "Table of Parameter Values\0" /* 677, 0x0018, 0x605a */ |
3589 | | "Detector Conditions Nominal Flag\0" /* 678, 0x0018, 0x7000 */ |
3590 | | "Detector Temperature\0" /* 679, 0x0018, 0x7001 */ |
3591 | | "Detector Type\0" /* 680, 0x0018, 0x7004 */ |
3592 | | "Detector Configuration\0" /* 681, 0x0018, 0x7005 */ |
3593 | | "Detector Description\0" /* 682, 0x0018, 0x7006 */ |
3594 | | "Detector Mode\0" /* 683, 0x0018, 0x7008 */ |
3595 | | "Detector ID\0" /* 684, 0x0018, 0x700a */ |
3596 | | "Date of Last Detector Calibration \0" /* 685, 0x0018, 0x700c */ |
3597 | | "Time of Last Detector Calibration\0" /* 686, 0x0018, 0x700e */ |
3598 | | "Exposures on Detector Since Last Calibration\0" /* 687, 0x0018, 0x7010 */ |
3599 | | "Exposures on Detector Since Manufactured\0" /* 688, 0x0018, 0x7011 */ |
3600 | | "Detector Time Since Last Exposure\0" /* 689, 0x0018, 0x7012 */ |
3601 | | "Detector Active Time\0" /* 690, 0x0018, 0x7014 */ |
3602 | | "Detector Activation Offset From Exposure\0" /* 691, 0x0018, 0x7016 */ |
3603 | | "Detector Binning\0" /* 692, 0x0018, 0x701a */ |
3604 | | "Detector Element Physical Size\0" /* 693, 0x0018, 0x7020 */ |
3605 | | "Detector Element Spacing\0" /* 694, 0x0018, 0x7022 */ |
3606 | | "Detector Active Shape\0" /* 695, 0x0018, 0x7024 */ |
3607 | | "Detector Active Dimensions\0" /* 696, 0x0018, 0x7026 */ |
3608 | | "Detector Active Origin\0" /* 697, 0x0018, 0x7028 */ |
3609 | | "Field of View Origin\0" /* 698, 0x0018, 0x7030 */ |
3610 | | "Field of View Rotation\0" /* 699, 0x0018, 0x7032 */ |
3611 | | "Field of View Horizontal Flip\0" /* 700, 0x0018, 0x7034 */ |
3612 | | "Grid Absorbing Material\0" /* 701, 0x0018, 0x7040 */ |
3613 | | "Grid Spacing Material\0" /* 702, 0x0018, 0x7041 */ |
3614 | | "Grid Thickness\0" /* 703, 0x0018, 0x7042 */ |
3615 | | "Grid Pitch\0" /* 704, 0x0018, 0x7044 */ |
3616 | | "Grid Aspect Ratio\0" /* 705, 0x0018, 0x7046 */ |
3617 | | "Grid Period\0" /* 706, 0x0018, 0x7048 */ |
3618 | | "Grid Focal Distance\0" /* 707, 0x0018, 0x704c */ |
3619 | | "Filter Material\0" /* 708, 0x0018, 0x7050 */ |
3620 | | "Filter Thickness Minimum\0" /* 709, 0x0018, 0x7052 */ |
3621 | | "Filter Thickness Maximum\0" /* 710, 0x0018, 0x7054 */ |
3622 | | "Exposure Control Mode\0" /* 711, 0x0018, 0x7060 */ |
3623 | | "Exposure Control Mode Description\0" /* 712, 0x0018, 0x7062 */ |
3624 | | "Exposure Status\0" /* 713, 0x0018, 0x7064 */ |
3625 | | "Phototimer Setting\0" /* 714, 0x0018, 0x7065 */ |
3626 | | "?\0" /* 715, 0x0019, 0x0000 */ |
3627 | | "?\0" /* 716, 0x0019, 0x0001 */ |
3628 | | "?\0" /* 717, 0x0019, 0x0002 */ |
3629 | | "?\0" /* 718, 0x0019, 0x0003 */ |
3630 | | "?\0" /* 719, 0x0019, 0x0004 */ |
3631 | | "?\0" /* 720, 0x0019, 0x0005 */ |
3632 | | "?\0" /* 721, 0x0019, 0x0006 */ |
3633 | | "?\0" /* 722, 0x0019, 0x0007 */ |
3634 | | "?\0" /* 723, 0x0019, 0x0008 */ |
3635 | | "?\0" /* 724, 0x0019, 0x0009 */ |
3636 | | "?\0" /* 725, 0x0019, 0x000a */ |
3637 | | "?\0" /* 726, 0x0019, 0x000b */ |
3638 | | "?\0" /* 727, 0x0019, 0x000c */ |
3639 | | "Time\0" /* 728, 0x0019, 0x000d */ |
3640 | | "?\0" /* 729, 0x0019, 0x000e */ |
3641 | | "Horizontal Frame Of Reference\0" /* 730, 0x0019, 0x000f */ |
3642 | | "?\0" /* 731, 0x0019, 0x0010 */ |
3643 | | "?\0" /* 732, 0x0019, 0x0011 */ |
3644 | | "?\0" /* 733, 0x0019, 0x0012 */ |
3645 | | "?\0" /* 734, 0x0019, 0x0013 */ |
3646 | | "?\0" /* 735, 0x0019, 0x0014 */ |
3647 | | "?\0" /* 736, 0x0019, 0x0015 */ |
3648 | | "?\0" /* 737, 0x0019, 0x0016 */ |
3649 | | "?\0" /* 738, 0x0019, 0x0017 */ |
3650 | | "?\0" /* 739, 0x0019, 0x0018 */ |
3651 | | "?\0" /* 740, 0x0019, 0x0019 */ |
3652 | | "?\0" /* 741, 0x0019, 0x001a */ |
3653 | | "?\0" /* 742, 0x0019, 0x001b */ |
3654 | | "Dose\0" /* 743, 0x0019, 0x001c */ |
3655 | | "Side Mark\0" /* 744, 0x0019, 0x001d */ |
3656 | | "?\0" /* 745, 0x0019, 0x001e */ |
3657 | | "Exposure Duration\0" /* 746, 0x0019, 0x001f */ |
3658 | | "?\0" /* 747, 0x0019, 0x0020 */ |
3659 | | "?\0" /* 748, 0x0019, 0x0021 */ |
3660 | | "?\0" /* 749, 0x0019, 0x0022 */ |
3661 | | "?\0" /* 750, 0x0019, 0x0023 */ |
3662 | | "?\0" /* 751, 0x0019, 0x0024 */ |
3663 | | "?\0" /* 752, 0x0019, 0x0025 */ |
3664 | | "?\0" /* 753, 0x0019, 0x0026 */ |
3665 | | "?\0" /* 754, 0x0019, 0x0027 */ |
3666 | | "?\0" /* 755, 0x0019, 0x0028 */ |
3667 | | "?\0" /* 756, 0x0019, 0x0029 */ |
3668 | | "?\0" /* 757, 0x0019, 0x002a */ |
3669 | | "Xray Off Position\0" /* 758, 0x0019, 0x002b */ |
3670 | | "?\0" /* 759, 0x0019, 0x002c */ |
3671 | | "?\0" /* 760, 0x0019, 0x002d */ |
3672 | | "?\0" /* 761, 0x0019, 0x002e */ |
3673 | | "Trigger Frequency\0" /* 762, 0x0019, 0x002f */ |
3674 | | "?\0" /* 763, 0x0019, 0x0030 */ |
3675 | | "?\0" /* 764, 0x0019, 0x0031 */ |
3676 | | "?\0" /* 765, 0x0019, 0x0032 */ |
3677 | | "ECG 2 Offset 2\0" /* 766, 0x0019, 0x0033 */ |
3678 | | "?\0" /* 767, 0x0019, 0x0034 */ |
3679 | | "?\0" /* 768, 0x0019, 0x0036 */ |
3680 | | "?\0" /* 769, 0x0019, 0x0038 */ |
3681 | | "?\0" /* 770, 0x0019, 0x0039 */ |
3682 | | "?\0" /* 771, 0x0019, 0x003a */ |
3683 | | "?\0" /* 772, 0x0019, 0x003b */ |
3684 | | "?\0" /* 773, 0x0019, 0x003c */ |
3685 | | "?\0" /* 774, 0x0019, 0x003e */ |
3686 | | "?\0" /* 775, 0x0019, 0x003f */ |
3687 | | "?\0" /* 776, 0x0019, 0x0040 */ |
3688 | | "?\0" /* 777, 0x0019, 0x0041 */ |
3689 | | "?\0" /* 778, 0x0019, 0x0042 */ |
3690 | | "?\0" /* 779, 0x0019, 0x0043 */ |
3691 | | "?\0" /* 780, 0x0019, 0x0044 */ |
3692 | | "?\0" /* 781, 0x0019, 0x0045 */ |
3693 | | "?\0" /* 782, 0x0019, 0x0046 */ |
3694 | | "?\0" /* 783, 0x0019, 0x0047 */ |
3695 | | "?\0" /* 784, 0x0019, 0x0048 */ |
3696 | | "?\0" /* 785, 0x0019, 0x0049 */ |
3697 | | "?\0" /* 786, 0x0019, 0x004a */ |
3698 | | "Data Size For Scan Data\0" /* 787, 0x0019, 0x004b */ |
3699 | | "?\0" /* 788, 0x0019, 0x004c */ |
3700 | | "?\0" /* 789, 0x0019, 0x004e */ |
3701 | | "?\0" /* 790, 0x0019, 0x0050 */ |
3702 | | "?\0" /* 791, 0x0019, 0x0051 */ |
3703 | | "?\0" /* 792, 0x0019, 0x0052 */ |
3704 | | "Barcode\0" /* 793, 0x0019, 0x0053 */ |
3705 | | "?\0" /* 794, 0x0019, 0x0054 */ |
3706 | | "Receiver Reference Gain\0" /* 795, 0x0019, 0x0055 */ |
3707 | | "?\0" /* 796, 0x0019, 0x0056 */ |
3708 | | "CT Water Number\0" /* 797, 0x0019, 0x0057 */ |
3709 | | "?\0" /* 798, 0x0019, 0x0058 */ |
3710 | | "?\0" /* 799, 0x0019, 0x005a */ |
3711 | | "?\0" /* 800, 0x0019, 0x005c */ |
3712 | | "?\0" /* 801, 0x0019, 0x005d */ |
3713 | | "?\0" /* 802, 0x0019, 0x005e */ |
3714 | | "Increment Between Channels\0" /* 803, 0x0019, 0x005f */ |
3715 | | "?\0" /* 804, 0x0019, 0x0060 */ |
3716 | | "?\0" /* 805, 0x0019, 0x0061 */ |
3717 | | "?\0" /* 806, 0x0019, 0x0062 */ |
3718 | | "?\0" /* 807, 0x0019, 0x0063 */ |
3719 | | "?\0" /* 808, 0x0019, 0x0064 */ |
3720 | | "?\0" /* 809, 0x0019, 0x0065 */ |
3721 | | "?\0" /* 810, 0x0019, 0x0066 */ |
3722 | | "?\0" /* 811, 0x0019, 0x0067 */ |
3723 | | "?\0" /* 812, 0x0019, 0x0068 */ |
3724 | | "Convolution Mode\0" /* 813, 0x0019, 0x0069 */ |
3725 | | "?\0" /* 814, 0x0019, 0x006a */ |
3726 | | "Field Of View In Detector Cells\0" /* 815, 0x0019, 0x006b */ |
3727 | | "?\0" /* 816, 0x0019, 0x006c */ |
3728 | | "?\0" /* 817, 0x0019, 0x006e */ |
3729 | | "?\0" /* 818, 0x0019, 0x0070 */ |
3730 | | "?\0" /* 819, 0x0019, 0x0071 */ |
3731 | | "?\0" /* 820, 0x0019, 0x0072 */ |
3732 | | "?\0" /* 821, 0x0019, 0x0073 */ |
3733 | | "?\0" /* 822, 0x0019, 0x0074 */ |
3734 | | "?\0" /* 823, 0x0019, 0x0075 */ |
3735 | | "?\0" /* 824, 0x0019, 0x0076 */ |
3736 | | "?\0" /* 825, 0x0019, 0x0077 */ |
3737 | | "?\0" /* 826, 0x0019, 0x0078 */ |
3738 | | "?\0" /* 827, 0x0019, 0x007a */ |
3739 | | "?\0" /* 828, 0x0019, 0x007c */ |
3740 | | "Second Echo\0" /* 829, 0x0019, 0x007d */ |
3741 | | "?\0" /* 830, 0x0019, 0x007e */ |
3742 | | "Table Delta\0" /* 831, 0x0019, 0x007f */ |
3743 | | "?\0" /* 832, 0x0019, 0x0080 */ |
3744 | | "?\0" /* 833, 0x0019, 0x0081 */ |
3745 | | "?\0" /* 834, 0x0019, 0x0082 */ |
3746 | | "?\0" /* 835, 0x0019, 0x0083 */ |
3747 | | "?\0" /* 836, 0x0019, 0x0084 */ |
3748 | | "?\0" /* 837, 0x0019, 0x0085 */ |
3749 | | "?\0" /* 838, 0x0019, 0x0086 */ |
3750 | | "?\0" /* 839, 0x0019, 0x0087 */ |
3751 | | "?\0" /* 840, 0x0019, 0x0088 */ |
3752 | | "?\0" /* 841, 0x0019, 0x008a */ |
3753 | | "Actual Receive Gain Digital\0" /* 842, 0x0019, 0x008b */ |
3754 | | "?\0" /* 843, 0x0019, 0x008c */ |
3755 | | "Delay After Trigger\0" /* 844, 0x0019, 0x008d */ |
3756 | | "?\0" /* 845, 0x0019, 0x008e */ |
3757 | | "Swap Phase Frequency\0" /* 846, 0x0019, 0x008f */ |
3758 | | "?\0" /* 847, 0x0019, 0x0090 */ |
3759 | | "?\0" /* 848, 0x0019, 0x0091 */ |
3760 | | "?\0" /* 849, 0x0019, 0x0092 */ |
3761 | | "?\0" /* 850, 0x0019, 0x0093 */ |
3762 | | "?\0" /* 851, 0x0019, 0x0094 */ |
3763 | | "Analog Receiver Gain\0" /* 852, 0x0019, 0x0095 */ |
3764 | | "?\0" /* 853, 0x0019, 0x0096 */ |
3765 | | "?\0" /* 854, 0x0019, 0x0097 */ |
3766 | | "?\0" /* 855, 0x0019, 0x0098 */ |
3767 | | "?\0" /* 856, 0x0019, 0x0099 */ |
3768 | | "?\0" /* 857, 0x0019, 0x009a */ |
3769 | | "Pulse Sequence Mode\0" /* 858, 0x0019, 0x009b */ |
3770 | | "?\0" /* 859, 0x0019, 0x009c */ |
3771 | | "Pulse Sequence Date\0" /* 860, 0x0019, 0x009d */ |
3772 | | "?\0" /* 861, 0x0019, 0x009e */ |
3773 | | "?\0" /* 862, 0x0019, 0x009f */ |
3774 | | "?\0" /* 863, 0x0019, 0x00a0 */ |
3775 | | "?\0" /* 864, 0x0019, 0x00a1 */ |
3776 | | "?\0" /* 865, 0x0019, 0x00a2 */ |
3777 | | "?\0" /* 866, 0x0019, 0x00a3 */ |
3778 | | "?\0" /* 867, 0x0019, 0x00a4 */ |
3779 | | "?\0" /* 868, 0x0019, 0x00a5 */ |
3780 | | "?\0" /* 869, 0x0019, 0x00a6 */ |
3781 | | "?\0" /* 870, 0x0019, 0x00a7 */ |
3782 | | "?\0" /* 871, 0x0019, 0x00a8 */ |
3783 | | "?\0" /* 872, 0x0019, 0x00a9 */ |
3784 | | "?\0" /* 873, 0x0019, 0x00aa */ |
3785 | | "?\0" /* 874, 0x0019, 0x00ab */ |
3786 | | "?\0" /* 875, 0x0019, 0x00ac */ |
3787 | | "?\0" /* 876, 0x0019, 0x00ad */ |
3788 | | "?\0" /* 877, 0x0019, 0x00ae */ |
3789 | | "?\0" /* 878, 0x0019, 0x00af */ |
3790 | | "?\0" /* 879, 0x0019, 0x00b0 */ |
3791 | | "?\0" /* 880, 0x0019, 0x00b1 */ |
3792 | | "?\0" /* 881, 0x0019, 0x00b2 */ |
3793 | | "?\0" /* 882, 0x0019, 0x00b3 */ |
3794 | | "?\0" /* 883, 0x0019, 0x00b4 */ |
3795 | | "?\0" /* 884, 0x0019, 0x00b5 */ |
3796 | | "User Data\0" /* 885, 0x0019, 0x00b6 */ |
3797 | | "User Data\0" /* 886, 0x0019, 0x00b7 */ |
3798 | | "User Data\0" /* 887, 0x0019, 0x00b8 */ |
3799 | | "User Data\0" /* 888, 0x0019, 0x00b9 */ |
3800 | | "User Data\0" /* 889, 0x0019, 0x00ba */ |
3801 | | "User Data\0" /* 890, 0x0019, 0x00bb */ |
3802 | | "User Data\0" /* 891, 0x0019, 0x00bc */ |
3803 | | "User Data\0" /* 892, 0x0019, 0x00bd */ |
3804 | | "Projection Angle\0" /* 893, 0x0019, 0x00be */ |
3805 | | "?\0" /* 894, 0x0019, 0x00c0 */ |
3806 | | "?\0" /* 895, 0x0019, 0x00c1 */ |
3807 | | "?\0" /* 896, 0x0019, 0x00c2 */ |
3808 | | "?\0" /* 897, 0x0019, 0x00c3 */ |
3809 | | "?\0" /* 898, 0x0019, 0x00c4 */ |
3810 | | "?\0" /* 899, 0x0019, 0x00c5 */ |
3811 | | "SAT Location H\0" /* 900, 0x0019, 0x00c6 */ |
3812 | | "SAT Location F\0" /* 901, 0x0019, 0x00c7 */ |
3813 | | "SAT Thickness R L\0" /* 902, 0x0019, 0x00c8 */ |
3814 | | "SAT Thickness A P\0" /* 903, 0x0019, 0x00c9 */ |
3815 | | "SAT Thickness H F\0" /* 904, 0x0019, 0x00ca */ |
3816 | | "?\0" /* 905, 0x0019, 0x00cb */ |
3817 | | "?\0" /* 906, 0x0019, 0x00cc */ |
3818 | | "Thickness Disclaimer\0" /* 907, 0x0019, 0x00cd */ |
3819 | | "Prescan Type\0" /* 908, 0x0019, 0x00ce */ |
3820 | | "Prescan Status\0" /* 909, 0x0019, 0x00cf */ |
3821 | | "Raw Data Type\0" /* 910, 0x0019, 0x00d0 */ |
3822 | | "Flow Sensitivity\0" /* 911, 0x0019, 0x00d1 */ |
3823 | | "?\0" /* 912, 0x0019, 0x00d2 */ |
3824 | | "?\0" /* 913, 0x0019, 0x00d3 */ |
3825 | | "?\0" /* 914, 0x0019, 0x00d4 */ |
3826 | | "?\0" /* 915, 0x0019, 0x00d5 */ |
3827 | | "?\0" /* 916, 0x0019, 0x00d6 */ |
3828 | | "?\0" /* 917, 0x0019, 0x00d7 */ |
3829 | | "?\0" /* 918, 0x0019, 0x00d8 */ |
3830 | | "?\0" /* 919, 0x0019, 0x00d9 */ |
3831 | | "?\0" /* 920, 0x0019, 0x00da */ |
3832 | | "Back Projector Coefficient\0" /* 921, 0x0019, 0x00db */ |
3833 | | "Primary Speed Correction Used\0" /* 922, 0x0019, 0x00dc */ |
3834 | | "Overrange Correction Used\0" /* 923, 0x0019, 0x00dd */ |
3835 | | "Dynamic Z Alpha Value\0" /* 924, 0x0019, 0x00de */ |
3836 | | "User Data\0" /* 925, 0x0019, 0x00df */ |
3837 | | "User Data\0" /* 926, 0x0019, 0x00e0 */ |
3838 | | "?\0" /* 927, 0x0019, 0x00e1 */ |
3839 | | "?\0" /* 928, 0x0019, 0x00e2 */ |
3840 | | "?\0" /* 929, 0x0019, 0x00e3 */ |
3841 | | "?\0" /* 930, 0x0019, 0x00e4 */ |
3842 | | "?\0" /* 931, 0x0019, 0x00e5 */ |
3843 | | "?\0" /* 932, 0x0019, 0x00e6 */ |
3844 | | "?\0" /* 933, 0x0019, 0x00e8 */ |
3845 | | "?\0" /* 934, 0x0019, 0x00e9 */ |
3846 | | "?\0" /* 935, 0x0019, 0x00eb */ |
3847 | | "?\0" /* 936, 0x0019, 0x00ec */ |
3848 | | "?\0" /* 937, 0x0019, 0x00f0 */ |
3849 | | "?\0" /* 938, 0x0019, 0x00f1 */ |
3850 | | "?\0" /* 939, 0x0019, 0x00f2 */ |
3851 | | "?\0" /* 940, 0x0019, 0x00f3 */ |
3852 | | "?\0" /* 941, 0x0019, 0x00f4 */ |
3853 | | "Transmission Gain\0" /* 942, 0x0019, 0x00f9 */ |
3854 | | "?\0" /* 943, 0x0019, 0x1015 */ |
3855 | | "Relationship Group Length\0" /* 944, 0x0020, 0x0000 */ |
3856 | | "Study Instance UID\0" /* 945, 0x0020, 0x000d */ |
3857 | | "Series Instance UID\0" /* 946, 0x0020, 0x000e */ |
3858 | | "Study ID\0" /* 947, 0x0020, 0x0010 */ |
3859 | | "Series Number\0" /* 948, 0x0020, 0x0011 */ |
3860 | | "Acquisition Number\0" /* 949, 0x0020, 0x0012 */ |
3861 | | "Instance (formerly Image) Number\0" /* 950, 0x0020, 0x0013 */ |
3862 | | "Isotope Number\0" /* 951, 0x0020, 0x0014 */ |
3863 | | "Phase Number\0" /* 952, 0x0020, 0x0015 */ |
3864 | | "Interval Number\0" /* 953, 0x0020, 0x0016 */ |
3865 | | "Time Slot Number\0" /* 954, 0x0020, 0x0017 */ |
3866 | | "Angle Number\0" /* 955, 0x0020, 0x0018 */ |
3867 | | "Patient Orientation\0" /* 956, 0x0020, 0x0020 */ |
3868 | | "Overlay Number\0" /* 957, 0x0020, 0x0022 */ |
3869 | | "Curve Number\0" /* 958, 0x0020, 0x0024 */ |
3870 | | "LUT Number\0" /* 959, 0x0020, 0x0026 */ |
3871 | | "Image Position\0" /* 960, 0x0020, 0x0030 */ |
3872 | | "Image Position (Patient)\0" /* 961, 0x0020, 0x0032 */ |
3873 | | "Image Orientation\0" /* 962, 0x0020, 0x0035 */ |
3874 | | "Image Orientation (Patient)\0" /* 963, 0x0020, 0x0037 */ |
3875 | | "Location\0" /* 964, 0x0020, 0x0050 */ |
3876 | | "Frame of Reference UID\0" /* 965, 0x0020, 0x0052 */ |
3877 | | "Laterality\0" /* 966, 0x0020, 0x0060 */ |
3878 | | "Image Laterality\0" /* 967, 0x0020, 0x0062 */ |
3879 | | "Image Geometry Type\0" /* 968, 0x0020, 0x0070 */ |
3880 | | "Masking Image\0" /* 969, 0x0020, 0x0080 */ |
3881 | | "Temporal Position Identifier\0" /* 970, 0x0020, 0x0100 */ |
3882 | | "Number of Temporal Positions\0" /* 971, 0x0020, 0x0105 */ |
3883 | | "Temporal Resolution\0" /* 972, 0x0020, 0x0110 */ |
3884 | | "Series in Study\0" /* 973, 0x0020, 0x1000 */ |
3885 | | "Acquisitions in Series\0" /* 974, 0x0020, 0x1001 */ |
3886 | | "Images in Acquisition\0" /* 975, 0x0020, 0x1002 */ |
3887 | | "Images in Series\0" /* 976, 0x0020, 0x1003 */ |
3888 | | "Acquisitions in Study\0" /* 977, 0x0020, 0x1004 */ |
3889 | | "Images in Study\0" /* 978, 0x0020, 0x1005 */ |
3890 | | "Reference\0" /* 979, 0x0020, 0x1020 */ |
3891 | | "Position Reference Indicator\0" /* 980, 0x0020, 0x1040 */ |
3892 | | "Slice Location\0" /* 981, 0x0020, 0x1041 */ |
3893 | | "Other Study Numbers\0" /* 982, 0x0020, 0x1070 */ |
3894 | | "Number of Patient Related Studies\0" /* 983, 0x0020, 0x1200 */ |
3895 | | "Number of Patient Related Series\0" /* 984, 0x0020, 0x1202 */ |
3896 | | "Number of Patient Related Images\0" /* 985, 0x0020, 0x1204 */ |
3897 | | "Number of Study Related Series\0" /* 986, 0x0020, 0x1206 */ |
3898 | | "Number of Study Related Series\0" /* 987, 0x0020, 0x1208 */ |
3899 | | "Source Image IDs\0" /* 988, 0x0020, 0x3100 */ |
3900 | | "Modifying Device ID\0" /* 989, 0x0020, 0x3401 */ |
3901 | | "Modified Image ID\0" /* 990, 0x0020, 0x3402 */ |
3902 | | "Modified Image Date\0" /* 991, 0x0020, 0x3403 */ |
3903 | | "Modifying Device Manufacturer\0" /* 992, 0x0020, 0x3404 */ |
3904 | | "Modified Image Time\0" /* 993, 0x0020, 0x3405 */ |
3905 | | "Modified Image Description\0" /* 994, 0x0020, 0x3406 */ |
3906 | | "Image Comments\0" /* 995, 0x0020, 0x4000 */ |
3907 | | "Original Image Identification\0" /* 996, 0x0020, 0x5000 */ |
3908 | | "Original Image Identification Nomenclature\0" /* 997, 0x0020, 0x5002 */ |
3909 | | "?\0" /* 998, 0x0021, 0x0000 */ |
3910 | | "?\0" /* 999, 0x0021, 0x0001 */ |
3911 | | "?\0" /* 1000, 0x0021, 0x0002 */ |
3912 | | "?\0" /* 1001, 0x0021, 0x0003 */ |
3913 | | "VOI Position\0" /* 1002, 0x0021, 0x0004 */ |
3914 | | "?\0" /* 1003, 0x0021, 0x0005 */ |
3915 | | "CSI Matrix Size Original\0" /* 1004, 0x0021, 0x0006 */ |
3916 | | "?\0" /* 1005, 0x0021, 0x0007 */ |
3917 | | "Spatial Grid Shift\0" /* 1006, 0x0021, 0x0008 */ |
3918 | | "Signal Limits Minimum\0" /* 1007, 0x0021, 0x0009 */ |
3919 | | "?\0" /* 1008, 0x0021, 0x0010 */ |
3920 | | "?\0" /* 1009, 0x0021, 0x0011 */ |
3921 | | "?\0" /* 1010, 0x0021, 0x0012 */ |
3922 | | "?\0" /* 1011, 0x0021, 0x0013 */ |
3923 | | "?\0" /* 1012, 0x0021, 0x0014 */ |
3924 | | "?\0" /* 1013, 0x0021, 0x0015 */ |
3925 | | "?\0" /* 1014, 0x0021, 0x0016 */ |
3926 | | "EPI Operation Mode Flag\0" /* 1015, 0x0021, 0x0017 */ |
3927 | | "?\0" /* 1016, 0x0021, 0x0018 */ |
3928 | | "?\0" /* 1017, 0x0021, 0x0019 */ |
3929 | | "?\0" /* 1018, 0x0021, 0x0020 */ |
3930 | | "?\0" /* 1019, 0x0021, 0x0021 */ |
3931 | | "?\0" /* 1020, 0x0021, 0x0022 */ |
3932 | | "?\0" /* 1021, 0x0021, 0x0024 */ |
3933 | | "?\0" /* 1022, 0x0021, 0x0025 */ |
3934 | | "Image Pixel Offset\0" /* 1023, 0x0021, 0x0026 */ |
3935 | | "?\0" /* 1024, 0x0021, 0x0030 */ |
3936 | | "?\0" /* 1025, 0x0021, 0x0031 */ |
3937 | | "?\0" /* 1026, 0x0021, 0x0032 */ |
3938 | | "?\0" /* 1027, 0x0021, 0x0034 */ |
3939 | | "Series From Which Prescribed\0" /* 1028, 0x0021, 0x0035 */ |
3940 | | "?\0" /* 1029, 0x0021, 0x0036 */ |
3941 | | "Screen Format\0" /* 1030, 0x0021, 0x0037 */ |
3942 | | "Slab Thickness\0" /* 1031, 0x0021, 0x0039 */ |
3943 | | "?\0" /* 1032, 0x0021, 0x0040 */ |
3944 | | "?\0" /* 1033, 0x0021, 0x0041 */ |
3945 | | "?\0" /* 1034, 0x0021, 0x0042 */ |
3946 | | "?\0" /* 1035, 0x0021, 0x0043 */ |
3947 | | "?\0" /* 1036, 0x0021, 0x0044 */ |
3948 | | "?\0" /* 1037, 0x0021, 0x0045 */ |
3949 | | "?\0" /* 1038, 0x0021, 0x0046 */ |
3950 | | "?\0" /* 1039, 0x0021, 0x0047 */ |
3951 | | "?\0" /* 1040, 0x0021, 0x0048 */ |
3952 | | "?\0" /* 1041, 0x0021, 0x0049 */ |
3953 | | "?\0" /* 1042, 0x0021, 0x004a */ |
3954 | | "?\0" /* 1043, 0x0021, 0x004e */ |
3955 | | "?\0" /* 1044, 0x0021, 0x004f */ |
3956 | | "?\0" /* 1045, 0x0021, 0x0050 */ |
3957 | | "?\0" /* 1046, 0x0021, 0x0051 */ |
3958 | | "?\0" /* 1047, 0x0021, 0x0052 */ |
3959 | | "?\0" /* 1048, 0x0021, 0x0053 */ |
3960 | | "?\0" /* 1049, 0x0021, 0x0054 */ |
3961 | | "?\0" /* 1050, 0x0021, 0x0055 */ |
3962 | | "?\0" /* 1051, 0x0021, 0x0056 */ |
3963 | | "?\0" /* 1052, 0x0021, 0x0057 */ |
3964 | | "?\0" /* 1053, 0x0021, 0x0058 */ |
3965 | | "?\0" /* 1054, 0x0021, 0x0059 */ |
3966 | | "Integer Slop\0" /* 1055, 0x0021, 0x005a */ |
3967 | | "Float Slop\0" /* 1056, 0x0021, 0x005b */ |
3968 | | "Float Slop\0" /* 1057, 0x0021, 0x005c */ |
3969 | | "Float Slop\0" /* 1058, 0x0021, 0x005d */ |
3970 | | "Float Slop\0" /* 1059, 0x0021, 0x005e */ |
3971 | | "Float Slop\0" /* 1060, 0x0021, 0x005f */ |
3972 | | "?\0" /* 1061, 0x0021, 0x0060 */ |
3973 | | "Image Normal\0" /* 1062, 0x0021, 0x0061 */ |
3974 | | "Reference Type Code\0" /* 1063, 0x0021, 0x0062 */ |
3975 | | "Image Distance\0" /* 1064, 0x0021, 0x0063 */ |
3976 | | "Image Positioning History Mask\0" /* 1065, 0x0021, 0x0065 */ |
3977 | | "Image Row\0" /* 1066, 0x0021, 0x006a */ |
3978 | | "Image Column\0" /* 1067, 0x0021, 0x006b */ |
3979 | | "?\0" /* 1068, 0x0021, 0x0070 */ |
3980 | | "?\0" /* 1069, 0x0021, 0x0071 */ |
3981 | | "?\0" /* 1070, 0x0021, 0x0072 */ |
3982 | | "Second Repetition Time\0" /* 1071, 0x0021, 0x0073 */ |
3983 | | "Light Brightness\0" /* 1072, 0x0021, 0x0075 */ |
3984 | | "Light Contrast\0" /* 1073, 0x0021, 0x0076 */ |
3985 | | "Overlay Threshold\0" /* 1074, 0x0021, 0x007a */ |
3986 | | "Surface Threshold\0" /* 1075, 0x0021, 0x007b */ |
3987 | | "Grey Scale Threshold\0" /* 1076, 0x0021, 0x007c */ |
3988 | | "?\0" /* 1077, 0x0021, 0x0080 */ |
3989 | | "Auto Window Level Alpha\0" /* 1078, 0x0021, 0x0081 */ |
3990 | | "?\0" /* 1079, 0x0021, 0x0082 */ |
3991 | | "Auto Window Level Window\0" /* 1080, 0x0021, 0x0083 */ |
3992 | | "Auto Window Level Level\0" /* 1081, 0x0021, 0x0084 */ |
3993 | | "?\0" /* 1082, 0x0021, 0x0090 */ |
3994 | | "?\0" /* 1083, 0x0021, 0x0091 */ |
3995 | | "?\0" /* 1084, 0x0021, 0x0092 */ |
3996 | | "?\0" /* 1085, 0x0021, 0x0093 */ |
3997 | | "EPI Change Value of X Component\0" /* 1086, 0x0021, 0x0094 */ |
3998 | | "EPI Change Value of Y Component\0" /* 1087, 0x0021, 0x0095 */ |
3999 | | "EPI Change Value of Z Component\0" /* 1088, 0x0021, 0x0096 */ |
4000 | | "?\0" /* 1089, 0x0021, 0x00a0 */ |
4001 | | "?\0" /* 1090, 0x0021, 0x00a1 */ |
4002 | | "?\0" /* 1091, 0x0021, 0x00a2 */ |
4003 | | "?\0" /* 1092, 0x0021, 0x00a3 */ |
4004 | | "?\0" /* 1093, 0x0021, 0x00a4 */ |
4005 | | "?\0" /* 1094, 0x0021, 0x00a7 */ |
4006 | | "?\0" /* 1095, 0x0021, 0x00b0 */ |
4007 | | "?\0" /* 1096, 0x0021, 0x00c0 */ |
4008 | | "?\0" /* 1097, 0x0023, 0x0000 */ |
4009 | | "Number Of Series In Study\0" /* 1098, 0x0023, 0x0001 */ |
4010 | | "Number Of Unarchived Series\0" /* 1099, 0x0023, 0x0002 */ |
4011 | | "?\0" /* 1100, 0x0023, 0x0010 */ |
4012 | | "?\0" /* 1101, 0x0023, 0x0020 */ |
4013 | | "?\0" /* 1102, 0x0023, 0x0030 */ |
4014 | | "?\0" /* 1103, 0x0023, 0x0040 */ |
4015 | | "?\0" /* 1104, 0x0023, 0x0050 */ |
4016 | | "?\0" /* 1105, 0x0023, 0x0060 */ |
4017 | | "?\0" /* 1106, 0x0023, 0x0070 */ |
4018 | | "Number Of Updates To Info\0" /* 1107, 0x0023, 0x0074 */ |
4019 | | "Indicates If Study Has Complete Info\0" /* 1108, 0x0023, 0x007d */ |
4020 | | "?\0" /* 1109, 0x0023, 0x0080 */ |
4021 | | "?\0" /* 1110, 0x0023, 0x0090 */ |
4022 | | "?\0" /* 1111, 0x0023, 0x00ff */ |
4023 | | "Group Length\0" /* 1112, 0x0025, 0x0000 */ |
4024 | | "Last Pulse Sequence Used\0" /* 1113, 0x0025, 0x0006 */ |
4025 | | "Images In Series\0" /* 1114, 0x0025, 0x0007 */ |
4026 | | "Landmark Counter\0" /* 1115, 0x0025, 0x0010 */ |
4027 | | "Number Of Acquisitions\0" /* 1116, 0x0025, 0x0011 */ |
4028 | | "Indicates Number Of Updates To Info\0" /* 1117, 0x0025, 0x0014 */ |
4029 | | "Series Complete Flag\0" /* 1118, 0x0025, 0x0017 */ |
4030 | | "Number Of Images Archived\0" /* 1119, 0x0025, 0x0018 */ |
4031 | | "Last Image Number Used\0" /* 1120, 0x0025, 0x0019 */ |
4032 | | "Primary Receiver Suite And Host\0" /* 1121, 0x0025, 0x001a */ |
4033 | | "?\0" /* 1122, 0x0027, 0x0000 */ |
4034 | | "Image Archive Flag\0" /* 1123, 0x0027, 0x0006 */ |
4035 | | "Scout Type\0" /* 1124, 0x0027, 0x0010 */ |
4036 | | "?\0" /* 1125, 0x0027, 0x0011 */ |
4037 | | "?\0" /* 1126, 0x0027, 0x0012 */ |
4038 | | "?\0" /* 1127, 0x0027, 0x0013 */ |
4039 | | "?\0" /* 1128, 0x0027, 0x0014 */ |
4040 | | "?\0" /* 1129, 0x0027, 0x0015 */ |
4041 | | "?\0" /* 1130, 0x0027, 0x0016 */ |
4042 | | "Vma Mamp\0" /* 1131, 0x0027, 0x001c */ |
4043 | | "Vma Phase\0" /* 1132, 0x0027, 0x001d */ |
4044 | | "Vma Mod\0" /* 1133, 0x0027, 0x001e */ |
4045 | | "Vma Clip\0" /* 1134, 0x0027, 0x001f */ |
4046 | | "Smart Scan On Off Flag\0" /* 1135, 0x0027, 0x0020 */ |
4047 | | "Foreign Image Revision\0" /* 1136, 0x0027, 0x0030 */ |
4048 | | "Imaging Mode\0" /* 1137, 0x0027, 0x0031 */ |
4049 | | "Pulse Sequence\0" /* 1138, 0x0027, 0x0032 */ |
4050 | | "Imaging Options\0" /* 1139, 0x0027, 0x0033 */ |
4051 | | "Plane Type\0" /* 1140, 0x0027, 0x0035 */ |
4052 | | "Oblique Plane\0" /* 1141, 0x0027, 0x0036 */ |
4053 | | "RAS Letter Of Image Location\0" /* 1142, 0x0027, 0x0040 */ |
4054 | | "Image Location\0" /* 1143, 0x0027, 0x0041 */ |
4055 | | "Center R Coord Of Plane Image\0" /* 1144, 0x0027, 0x0042 */ |
4056 | | "Center A Coord Of Plane Image\0" /* 1145, 0x0027, 0x0043 */ |
4057 | | "Center S Coord Of Plane Image\0" /* 1146, 0x0027, 0x0044 */ |
4058 | | "Normal R Coord\0" /* 1147, 0x0027, 0x0045 */ |
4059 | | "Normal A Coord\0" /* 1148, 0x0027, 0x0046 */ |
4060 | | "Normal S Coord\0" /* 1149, 0x0027, 0x0047 */ |
4061 | | "R Coord Of Top Right Corner\0" /* 1150, 0x0027, 0x0048 */ |
4062 | | "A Coord Of Top Right Corner\0" /* 1151, 0x0027, 0x0049 */ |
4063 | | "S Coord Of Top Right Corner\0" /* 1152, 0x0027, 0x004a */ |
4064 | | "R Coord Of Bottom Right Corner\0" /* 1153, 0x0027, 0x004b */ |
4065 | | "A Coord Of Bottom Right Corner\0" /* 1154, 0x0027, 0x004c */ |
4066 | | "S Coord Of Bottom Right Corner\0" /* 1155, 0x0027, 0x004d */ |
4067 | | "Table Start Location\0" /* 1156, 0x0027, 0x0050 */ |
4068 | | "Table End Location\0" /* 1157, 0x0027, 0x0051 */ |
4069 | | "RAS Letter For Side Of Image\0" /* 1158, 0x0027, 0x0052 */ |
4070 | | "RAS Letter For Anterior Posterior\0" /* 1159, 0x0027, 0x0053 */ |
4071 | | "RAS Letter For Scout Start Loc\0" /* 1160, 0x0027, 0x0054 */ |
4072 | | "RAS Letter For Scout End Loc\0" /* 1161, 0x0027, 0x0055 */ |
4073 | | "Image Dimension X\0" /* 1162, 0x0027, 0x0060 */ |
4074 | | "Image Dimension Y\0" /* 1163, 0x0027, 0x0061 */ |
4075 | | "Number Of Excitations\0" /* 1164, 0x0027, 0x0062 */ |
4076 | | "Image Presentation Group Length\0" /* 1165, 0x0028, 0x0000 */ |
4077 | | "Samples per Pixel\0" /* 1166, 0x0028, 0x0002 */ |
4078 | | "Photometric Interpretation\0" /* 1167, 0x0028, 0x0004 */ |
4079 | | "Image Dimensions\0" /* 1168, 0x0028, 0x0005 */ |
4080 | | "Planar Configuration\0" /* 1169, 0x0028, 0x0006 */ |
4081 | | "Number of Frames\0" /* 1170, 0x0028, 0x0008 */ |
4082 | | "Frame Increment Pointer\0" /* 1171, 0x0028, 0x0009 */ |
4083 | | "Rows\0" /* 1172, 0x0028, 0x0010 */ |
4084 | | "Columns\0" /* 1173, 0x0028, 0x0011 */ |
4085 | | "Planes\0" /* 1174, 0x0028, 0x0012 */ |
4086 | | "Ultrasound Color Data Present\0" /* 1175, 0x0028, 0x0014 */ |
4087 | | "Pixel Spacing\0" /* 1176, 0x0028, 0x0030 */ |
4088 | | "Zoom Factor\0" /* 1177, 0x0028, 0x0031 */ |
4089 | | "Zoom Center\0" /* 1178, 0x0028, 0x0032 */ |
4090 | | "Pixel Aspect Ratio\0" /* 1179, 0x0028, 0x0034 */ |
4091 | | "Image Format\0" /* 1180, 0x0028, 0x0040 */ |
4092 | | "Manipulated Image\0" /* 1181, 0x0028, 0x0050 */ |
4093 | | "Corrected Image\0" /* 1182, 0x0028, 0x0051 */ |
4094 | | "Compression Recognition Code\0" /* 1183, 0x0028, 0x005f */ |
4095 | | "Compression Code\0" /* 1184, 0x0028, 0x0060 */ |
4096 | | "Compression Originator\0" /* 1185, 0x0028, 0x0061 */ |
4097 | | "Compression Label\0" /* 1186, 0x0028, 0x0062 */ |
4098 | | "Compression Description\0" /* 1187, 0x0028, 0x0063 */ |
4099 | | "Compression Sequence\0" /* 1188, 0x0028, 0x0065 */ |
4100 | | "Compression Step Pointers\0" /* 1189, 0x0028, 0x0066 */ |
4101 | | "Repeat Interval\0" /* 1190, 0x0028, 0x0068 */ |
4102 | | "Bits Grouped\0" /* 1191, 0x0028, 0x0069 */ |
4103 | | "Perimeter Table\0" /* 1192, 0x0028, 0x0070 */ |
4104 | | "Perimeter Value\0" /* 1193, 0x0028, 0x0071 */ |
4105 | | "Predictor Rows\0" /* 1194, 0x0028, 0x0080 */ |
4106 | | "Predictor Columns\0" /* 1195, 0x0028, 0x0081 */ |
4107 | | "Predictor Constants\0" /* 1196, 0x0028, 0x0082 */ |
4108 | | "Blocked Pixels\0" /* 1197, 0x0028, 0x0090 */ |
4109 | | "Block Rows\0" /* 1198, 0x0028, 0x0091 */ |
4110 | | "Block Columns\0" /* 1199, 0x0028, 0x0092 */ |
4111 | | "Row Overlap\0" /* 1200, 0x0028, 0x0093 */ |
4112 | | "Column Overlap\0" /* 1201, 0x0028, 0x0094 */ |
4113 | | "Bits Allocated\0" /* 1202, 0x0028, 0x0100 */ |
4114 | | "Bits Stored\0" /* 1203, 0x0028, 0x0101 */ |
4115 | | "High Bit\0" /* 1204, 0x0028, 0x0102 */ |
4116 | | "Pixel Representation\0" /* 1205, 0x0028, 0x0103 */ |
4117 | | "Smallest Valid Pixel Value\0" /* 1206, 0x0028, 0x0104 */ |
4118 | | "Largest Valid Pixel Value\0" /* 1207, 0x0028, 0x0105 */ |
4119 | | "Smallest Image Pixel Value\0" /* 1208, 0x0028, 0x0106 */ |
4120 | | "Largest Image Pixel Value\0" /* 1209, 0x0028, 0x0107 */ |
4121 | | "Smallest Pixel Value in Series\0" /* 1210, 0x0028, 0x0108 */ |
4122 | | "Largest Pixel Value in Series\0" /* 1211, 0x0028, 0x0109 */ |
4123 | | "Smallest Pixel Value in Plane\0" /* 1212, 0x0028, 0x0110 */ |
4124 | | "Largest Pixel Value in Plane\0" /* 1213, 0x0028, 0x0111 */ |
4125 | | "Pixel Padding Value\0" /* 1214, 0x0028, 0x0120 */ |
4126 | | "Pixel Padding Range Limit\0" /* 1215, 0x0028, 0x0121 */ |
4127 | | "Image Location\0" /* 1216, 0x0028, 0x0200 */ |
4128 | | "Quality Control Image\0" /* 1217, 0x0028, 0x0300 */ |
4129 | | "Burned In Annotation\0" /* 1218, 0x0028, 0x0301 */ |
4130 | | "?\0" /* 1219, 0x0028, 0x0400 */ |
4131 | | "?\0" /* 1220, 0x0028, 0x0401 */ |
4132 | | "?\0" /* 1221, 0x0028, 0x0402 */ |
4133 | | "?\0" /* 1222, 0x0028, 0x0403 */ |
4134 | | "Details of Coefficients\0" /* 1223, 0x0028, 0x0404 */ |
4135 | | "DCT Label\0" /* 1224, 0x0028, 0x0700 */ |
4136 | | "Data Block Description\0" /* 1225, 0x0028, 0x0701 */ |
4137 | | "Data Block\0" /* 1226, 0x0028, 0x0702 */ |
4138 | | "Normalization Factor Format\0" /* 1227, 0x0028, 0x0710 */ |
4139 | | "Zonal Map Number Format\0" /* 1228, 0x0028, 0x0720 */ |
4140 | | "Zonal Map Location\0" /* 1229, 0x0028, 0x0721 */ |
4141 | | "Zonal Map Format\0" /* 1230, 0x0028, 0x0722 */ |
4142 | | "Adaptive Map Format\0" /* 1231, 0x0028, 0x0730 */ |
4143 | | "Code Number Format\0" /* 1232, 0x0028, 0x0740 */ |
4144 | | "Code Label\0" /* 1233, 0x0028, 0x0800 */ |
4145 | | "Number of Tables\0" /* 1234, 0x0028, 0x0802 */ |
4146 | | "Code Table Location\0" /* 1235, 0x0028, 0x0803 */ |
4147 | | "Bits For Code Word\0" /* 1236, 0x0028, 0x0804 */ |
4148 | | "Image Data Location\0" /* 1237, 0x0028, 0x0808 */ |
4149 | | "Pixel Intensity Relationship\0" /* 1238, 0x0028, 0x1040 */ |
4150 | | "Pixel Intensity Relationship Sign\0" /* 1239, 0x0028, 0x1041 */ |
4151 | | "Window Center\0" /* 1240, 0x0028, 0x1050 */ |
4152 | | "Window Width\0" /* 1241, 0x0028, 0x1051 */ |
4153 | | "Rescale Intercept\0" /* 1242, 0x0028, 0x1052 */ |
4154 | | "Rescale Slope\0" /* 1243, 0x0028, 0x1053 */ |
4155 | | "Rescale Type\0" /* 1244, 0x0028, 0x1054 */ |
4156 | | "Window Center & Width Explanation\0" /* 1245, 0x0028, 0x1055 */ |
4157 | | "Gray Scale\0" /* 1246, 0x0028, 0x1080 */ |
4158 | | "Recommended Viewing Mode\0" /* 1247, 0x0028, 0x1090 */ |
4159 | | "Gray Lookup Table Descriptor\0" /* 1248, 0x0028, 0x1100 */ |
4160 | | "Red Palette Color Lookup Table Descriptor\0" /* 1249, 0x0028, 0x1101 */ |
4161 | | "Green Palette Color Lookup Table Descriptor\0" /* 1250, 0x0028, 0x1102 */ |
4162 | | "Blue Palette Color Lookup Table Descriptor\0" /* 1251, 0x0028, 0x1103 */ |
4163 | | "Large Red Palette Color Lookup Table Descriptor\0" /* 1252, 0x0028, 0x1111 */ |
4164 | | "Large Green Palette Color Lookup Table Descriptor\0" /* 1253, 0x0028, 0x1112 */ |
4165 | | "Large Blue Palette Color Lookup Table Descriptor\0" /* 1254, 0x0028, 0x1113 */ |
4166 | | "Palette Color Lookup Table UID\0" /* 1255, 0x0028, 0x1199 */ |
4167 | | "Gray Lookup Table Data\0" /* 1256, 0x0028, 0x1200 */ |
4168 | | "Red Palette Color Lookup Table Data\0" /* 1257, 0x0028, 0x1201 */ |
4169 | | "Green Palette Color Lookup Table Data\0" /* 1258, 0x0028, 0x1202 */ |
4170 | | "Blue Palette Color Lookup Table Data\0" /* 1259, 0x0028, 0x1203 */ |
4171 | | "Large Red Palette Color Lookup Table Data\0" /* 1260, 0x0028, 0x1211 */ |
4172 | | "Large Green Palette Color Lookup Table Data\0" /* 1261, 0x0028, 0x1212 */ |
4173 | | "Large Blue Palette Color Lookup Table Data\0" /* 1262, 0x0028, 0x1213 */ |
4174 | | "Large Palette Color Lookup Table UID\0" /* 1263, 0x0028, 0x1214 */ |
4175 | | "Segmented Red Palette Color Lookup Table Data\0" /* 1264, 0x0028, 0x1221 */ |
4176 | | "Segmented Green Palette Color Lookup Table Data\0" /* 1265, 0x0028, 0x1222 */ |
4177 | | "Segmented Blue Palette Color Lookup Table Data\0" /* 1266, 0x0028, 0x1223 */ |
4178 | | "Implant Present\0" /* 1267, 0x0028, 0x1300 */ |
4179 | | "Lossy Image Compression\0" /* 1268, 0x0028, 0x2110 */ |
4180 | | "Lossy Image Compression Ratio\0" /* 1269, 0x0028, 0x2112 */ |
4181 | | "Modality LUT Sequence\0" /* 1270, 0x0028, 0x3000 */ |
4182 | | "LUT Descriptor\0" /* 1271, 0x0028, 0x3002 */ |
4183 | | "LUT Explanation\0" /* 1272, 0x0028, 0x3003 */ |
4184 | | "Modality LUT Type\0" /* 1273, 0x0028, 0x3004 */ |
4185 | | "LUT Data\0" /* 1274, 0x0028, 0x3006 */ |
4186 | | "VOI LUT Sequence\0" /* 1275, 0x0028, 0x3010 */ |
4187 | | "Image Presentation Comments\0" /* 1276, 0x0028, 0x4000 */ |
4188 | | "Biplane Acquisition Sequence\0" /* 1277, 0x0028, 0x5000 */ |
4189 | | "Representative Frame Number\0" /* 1278, 0x0028, 0x6010 */ |
4190 | | "Frame Numbers of Interest\0" /* 1279, 0x0028, 0x6020 */ |
4191 | | "Frame of Interest Description\0" /* 1280, 0x0028, 0x6022 */ |
4192 | | "Mask Pointer\0" /* 1281, 0x0028, 0x6030 */ |
4193 | | "R Wave Pointer\0" /* 1282, 0x0028, 0x6040 */ |
4194 | | "Mask Subtraction Sequence\0" /* 1283, 0x0028, 0x6100 */ |
4195 | | "Mask Operation\0" /* 1284, 0x0028, 0x6101 */ |
4196 | | "Applicable Frame Range\0" /* 1285, 0x0028, 0x6102 */ |
4197 | | "Mask Frame Numbers\0" /* 1286, 0x0028, 0x6110 */ |
4198 | | "Contrast Frame Averaging\0" /* 1287, 0x0028, 0x6112 */ |
4199 | | "Mask Sub-Pixel Shift\0" /* 1288, 0x0028, 0x6114 */ |
4200 | | "TID Offset\0" /* 1289, 0x0028, 0x6120 */ |
4201 | | "Mask Operation Explanation\0" /* 1290, 0x0028, 0x6190 */ |
4202 | | "?\0" /* 1291, 0x0029, 0x0000 */ |
4203 | | "?\0" /* 1292, 0x0029, 0x0001 */ |
4204 | | "?\0" /* 1293, 0x0029, 0x0002 */ |
4205 | | "?\0" /* 1294, 0x0029, 0x0003 */ |
4206 | | "?\0" /* 1295, 0x0029, 0x0004 */ |
4207 | | "?\0" /* 1296, 0x0029, 0x0005 */ |
4208 | | "?\0" /* 1297, 0x0029, 0x0006 */ |
4209 | | "Lower Range Of Pixels\0" /* 1298, 0x0029, 0x0007 */ |
4210 | | "Lower Range Of Pixels\0" /* 1299, 0x0029, 0x0008 */ |
4211 | | "Lower Range Of Pixels\0" /* 1300, 0x0029, 0x0009 */ |
4212 | | "Lower Range Of Pixels\0" /* 1301, 0x0029, 0x000a */ |
4213 | | "?\0" /* 1302, 0x0029, 0x000c */ |
4214 | | "Zoom Enable Status\0" /* 1303, 0x0029, 0x000e */ |
4215 | | "Zoom Select Status\0" /* 1304, 0x0029, 0x000f */ |
4216 | | "?\0" /* 1305, 0x0029, 0x0010 */ |
4217 | | "?\0" /* 1306, 0x0029, 0x0011 */ |
4218 | | "?\0" /* 1307, 0x0029, 0x0013 */ |
4219 | | "?\0" /* 1308, 0x0029, 0x0015 */ |
4220 | | "Lower Range Of Pixels\0" /* 1309, 0x0029, 0x0016 */ |
4221 | | "Lower Range Of Pixels\0" /* 1310, 0x0029, 0x0017 */ |
4222 | | "Upper Range Of Pixels\0" /* 1311, 0x0029, 0x0018 */ |
4223 | | "Length Of Total Info In Bytes\0" /* 1312, 0x0029, 0x001a */ |
4224 | | "?\0" /* 1313, 0x0029, 0x001e */ |
4225 | | "?\0" /* 1314, 0x0029, 0x001f */ |
4226 | | "?\0" /* 1315, 0x0029, 0x0020 */ |
4227 | | "Pixel Quality Value\0" /* 1316, 0x0029, 0x0022 */ |
4228 | | "Processed Pixel Data Quality\0" /* 1317, 0x0029, 0x0025 */ |
4229 | | "Version Of Info Structure\0" /* 1318, 0x0029, 0x0026 */ |
4230 | | "?\0" /* 1319, 0x0029, 0x0030 */ |
4231 | | "?\0" /* 1320, 0x0029, 0x0031 */ |
4232 | | "?\0" /* 1321, 0x0029, 0x0032 */ |
4233 | | "?\0" /* 1322, 0x0029, 0x0033 */ |
4234 | | "?\0" /* 1323, 0x0029, 0x0034 */ |
4235 | | "Advantage Comp Underflow\0" /* 1324, 0x0029, 0x0035 */ |
4236 | | "?\0" /* 1325, 0x0029, 0x0038 */ |
4237 | | "?\0" /* 1326, 0x0029, 0x0040 */ |
4238 | | "Magnifying Glass Rectangle\0" /* 1327, 0x0029, 0x0041 */ |
4239 | | "Magnifying Glass Factor\0" /* 1328, 0x0029, 0x0043 */ |
4240 | | "Magnifying Glass Function\0" /* 1329, 0x0029, 0x0044 */ |
4241 | | "Magnifying Glass Enable Status\0" /* 1330, 0x0029, 0x004e */ |
4242 | | "Magnifying Glass Select Status\0" /* 1331, 0x0029, 0x004f */ |
4243 | | "?\0" /* 1332, 0x0029, 0x0050 */ |
4244 | | "Exposure Code\0" /* 1333, 0x0029, 0x0051 */ |
4245 | | "Sort Code\0" /* 1334, 0x0029, 0x0052 */ |
4246 | | "?\0" /* 1335, 0x0029, 0x0053 */ |
4247 | | "?\0" /* 1336, 0x0029, 0x0060 */ |
4248 | | "?\0" /* 1337, 0x0029, 0x0061 */ |
4249 | | "?\0" /* 1338, 0x0029, 0x0067 */ |
4250 | | "?\0" /* 1339, 0x0029, 0x0070 */ |
4251 | | "?\0" /* 1340, 0x0029, 0x0071 */ |
4252 | | "?\0" /* 1341, 0x0029, 0x0072 */ |
4253 | | "Window Select Status\0" /* 1342, 0x0029, 0x0077 */ |
4254 | | "ECG Display Printing ID\0" /* 1343, 0x0029, 0x0078 */ |
4255 | | "ECG Display Printing\0" /* 1344, 0x0029, 0x0079 */ |
4256 | | "ECG Display Printing Enable Status\0" /* 1345, 0x0029, 0x007e */ |
4257 | | "ECG Display Printing Select Status\0" /* 1346, 0x0029, 0x007f */ |
4258 | | "?\0" /* 1347, 0x0029, 0x0080 */ |
4259 | | "?\0" /* 1348, 0x0029, 0x0081 */ |
4260 | | "View Zoom\0" /* 1349, 0x0029, 0x0082 */ |
4261 | | "View Transform\0" /* 1350, 0x0029, 0x0083 */ |
4262 | | "Physiological Display Enable Status\0" /* 1351, 0x0029, 0x008e */ |
4263 | | "Physiological Display Select Status\0" /* 1352, 0x0029, 0x008f */ |
4264 | | "?\0" /* 1353, 0x0029, 0x0090 */ |
4265 | | "Shutter Type\0" /* 1354, 0x0029, 0x0099 */ |
4266 | | "Rows of Rectangular Shutter\0" /* 1355, 0x0029, 0x00a0 */ |
4267 | | "Columns of Rectangular Shutter\0" /* 1356, 0x0029, 0x00a1 */ |
4268 | | "Origin of Rectangular Shutter\0" /* 1357, 0x0029, 0x00a2 */ |
4269 | | "Radius of Circular Shutter\0" /* 1358, 0x0029, 0x00b0 */ |
4270 | | "Origin of Circular Shutter\0" /* 1359, 0x0029, 0x00b2 */ |
4271 | | "Functional Shutter ID\0" /* 1360, 0x0029, 0x00c0 */ |
4272 | | "?\0" /* 1361, 0x0029, 0x00c1 */ |
4273 | | "Scan Resolution\0" /* 1362, 0x0029, 0x00c3 */ |
4274 | | "Field of View\0" /* 1363, 0x0029, 0x00c4 */ |
4275 | | "Field Of Shutter Rectangle\0" /* 1364, 0x0029, 0x00c5 */ |
4276 | | "Shutter Enable Status\0" /* 1365, 0x0029, 0x00ce */ |
4277 | | "Shutter Select Status\0" /* 1366, 0x0029, 0x00cf */ |
4278 | | "?\0" /* 1367, 0x0029, 0x00d0 */ |
4279 | | "?\0" /* 1368, 0x0029, 0x00d1 */ |
4280 | | "Slice Thickness\0" /* 1369, 0x0029, 0x00d5 */ |
4281 | | "Request UID\0" /* 1370, 0x0031, 0x0010 */ |
4282 | | "Examination Reason\0" /* 1371, 0x0031, 0x0012 */ |
4283 | | "Requested Date\0" /* 1372, 0x0031, 0x0030 */ |
4284 | | "Worklist Request Start Time\0" /* 1373, 0x0031, 0x0032 */ |
4285 | | "Worklist Request End Time\0" /* 1374, 0x0031, 0x0033 */ |
4286 | | "Requesting Physician\0" /* 1375, 0x0031, 0x0045 */ |
4287 | | "Requested Time\0" /* 1376, 0x0031, 0x004a */ |
4288 | | "Requested Physician\0" /* 1377, 0x0031, 0x0050 */ |
4289 | | "Requested Location\0" /* 1378, 0x0031, 0x0080 */ |
4290 | | "Study Group Length\0" /* 1379, 0x0032, 0x0000 */ |
4291 | | "Study Status ID\0" /* 1380, 0x0032, 0x000a */ |
4292 | | "Study Priority ID\0" /* 1381, 0x0032, 0x000c */ |
4293 | | "Study ID Issuer\0" /* 1382, 0x0032, 0x0012 */ |
4294 | | "Study Verified Date\0" /* 1383, 0x0032, 0x0032 */ |
4295 | | "Study Verified Time\0" /* 1384, 0x0032, 0x0033 */ |
4296 | | "Study Read Date\0" /* 1385, 0x0032, 0x0034 */ |
4297 | | "Study Read Time\0" /* 1386, 0x0032, 0x0035 */ |
4298 | | "Scheduled Study Start Date\0" /* 1387, 0x0032, 0x1000 */ |
4299 | | "Scheduled Study Start Time\0" /* 1388, 0x0032, 0x1001 */ |
4300 | | "Scheduled Study Stop Date\0" /* 1389, 0x0032, 0x1010 */ |
4301 | | "Scheduled Study Stop Time\0" /* 1390, 0x0032, 0x1011 */ |
4302 | | "Scheduled Study Location\0" /* 1391, 0x0032, 0x1020 */ |
4303 | | "Scheduled Study Location AE Title(s)\0" /* 1392, 0x0032, 0x1021 */ |
4304 | | "Reason for Study\0" /* 1393, 0x0032, 0x1030 */ |
4305 | | "Requesting Physician\0" /* 1394, 0x0032, 0x1032 */ |
4306 | | "Requesting Service\0" /* 1395, 0x0032, 0x1033 */ |
4307 | | "Study Arrival Date\0" /* 1396, 0x0032, 0x1040 */ |
4308 | | "Study Arrival Time\0" /* 1397, 0x0032, 0x1041 */ |
4309 | | "Study Completion Date\0" /* 1398, 0x0032, 0x1050 */ |
4310 | | "Study Completion Time\0" /* 1399, 0x0032, 0x1051 */ |
4311 | | "Study Component Status ID\0" /* 1400, 0x0032, 0x1055 */ |
4312 | | "Requested Procedure Description\0" /* 1401, 0x0032, 0x1060 */ |
4313 | | "Requested Procedure Code Sequence\0" /* 1402, 0x0032, 0x1064 */ |
4314 | | "Requested Contrast Agent\0" /* 1403, 0x0032, 0x1070 */ |
4315 | | "Study Comments\0" /* 1404, 0x0032, 0x4000 */ |
4316 | | "?\0" /* 1405, 0x0033, 0x0001 */ |
4317 | | "?\0" /* 1406, 0x0033, 0x0002 */ |
4318 | | "?\0" /* 1407, 0x0033, 0x0005 */ |
4319 | | "?\0" /* 1408, 0x0033, 0x0006 */ |
4320 | | "Patient Study UID\0" /* 1409, 0x0033, 0x0010 */ |
4321 | | "ReferringDepartment\0" /* 1410, 0x0037, 0x0010 */ |
4322 | | "ScreenNumber\0" /* 1411, 0x0037, 0x0020 */ |
4323 | | "LeftOrientation\0" /* 1412, 0x0037, 0x0040 */ |
4324 | | "RightOrientation\0" /* 1413, 0x0037, 0x0042 */ |
4325 | | "Inversion\0" /* 1414, 0x0037, 0x0050 */ |
4326 | | "DSA\0" /* 1415, 0x0037, 0x0060 */ |
4327 | | "Visit Group Length\0" /* 1416, 0x0038, 0x0000 */ |
4328 | | "Referenced Patient Alias Sequence\0" /* 1417, 0x0038, 0x0004 */ |
4329 | | "Visit Status ID\0" /* 1418, 0x0038, 0x0008 */ |
4330 | | "Admission ID\0" /* 1419, 0x0038, 0x0010 */ |
4331 | | "Issuer of Admission ID\0" /* 1420, 0x0038, 0x0011 */ |
4332 | | "Route of Admissions\0" /* 1421, 0x0038, 0x0016 */ |
4333 | | "Scheduled Admission Date\0" /* 1422, 0x0038, 0x001a */ |
4334 | | "Scheduled Admission Time\0" /* 1423, 0x0038, 0x001b */ |
4335 | | "Scheduled Discharge Date\0" /* 1424, 0x0038, 0x001c */ |
4336 | | "Scheduled Discharge Time\0" /* 1425, 0x0038, 0x001d */ |
4337 | | "Scheduled Patient Institution Residence\0" /* 1426, 0x0038, 0x001e */ |
4338 | | "Admitting Date\0" /* 1427, 0x0038, 0x0020 */ |
4339 | | "Admitting Time\0" /* 1428, 0x0038, 0x0021 */ |
4340 | | "Discharge Date\0" /* 1429, 0x0038, 0x0030 */ |
4341 | | "Discharge Time\0" /* 1430, 0x0038, 0x0032 */ |
4342 | | "Discharge Diagnosis Description\0" /* 1431, 0x0038, 0x0040 */ |
4343 | | "Discharge Diagnosis Code Sequence\0" /* 1432, 0x0038, 0x0044 */ |
4344 | | "Special Needs\0" /* 1433, 0x0038, 0x0050 */ |
4345 | | "Current Patient Location\0" /* 1434, 0x0038, 0x0300 */ |
4346 | | "Patient's Institution Residence\0" /* 1435, 0x0038, 0x0400 */ |
4347 | | "Patient State\0" /* 1436, 0x0038, 0x0500 */ |
4348 | | "Visit Comments\0" /* 1437, 0x0038, 0x4000 */ |
4349 | | "Private Entity Number\0" /* 1438, 0x0039, 0x0080 */ |
4350 | | "Private Entity Date\0" /* 1439, 0x0039, 0x0085 */ |
4351 | | "Private Entity Time\0" /* 1440, 0x0039, 0x0090 */ |
4352 | | "Private Entity Launch Command\0" /* 1441, 0x0039, 0x0095 */ |
4353 | | "Private Entity Type\0" /* 1442, 0x0039, 0x00aa */ |
4354 | | "Waveform Sequence\0" /* 1443, 0x003a, 0x0002 */ |
4355 | | "Waveform Number of Channels\0" /* 1444, 0x003a, 0x0005 */ |
4356 | | "Waveform Number of Samples\0" /* 1445, 0x003a, 0x0010 */ |
4357 | | "Sampling Frequency\0" /* 1446, 0x003a, 0x001a */ |
4358 | | "Group Label\0" /* 1447, 0x003a, 0x0020 */ |
4359 | | "Waveform Sample Value Representation\0" /* 1448, 0x003a, 0x0103 */ |
4360 | | "Waveform Padding Value\0" /* 1449, 0x003a, 0x0122 */ |
4361 | | "Channel Definition\0" /* 1450, 0x003a, 0x0200 */ |
4362 | | "Waveform Channel Number\0" /* 1451, 0x003a, 0x0202 */ |
4363 | | "Channel Label\0" /* 1452, 0x003a, 0x0203 */ |
4364 | | "Channel Status\0" /* 1453, 0x003a, 0x0205 */ |
4365 | | "Channel Source\0" /* 1454, 0x003a, 0x0208 */ |
4366 | | "Channel Source Modifiers\0" /* 1455, 0x003a, 0x0209 */ |
4367 | | "Differential Channel Source\0" /* 1456, 0x003a, 0x020a */ |
4368 | | "Differential Channel Source Modifiers\0" /* 1457, 0x003a, 0x020b */ |
4369 | | "Channel Sensitivity\0" /* 1458, 0x003a, 0x0210 */ |
4370 | | "Channel Sensitivity Units\0" /* 1459, 0x003a, 0x0211 */ |
4371 | | "Channel Sensitivity Correction Factor\0" /* 1460, 0x003a, 0x0212 */ |
4372 | | "Channel Baseline\0" /* 1461, 0x003a, 0x0213 */ |
4373 | | "Channel Time Skew\0" /* 1462, 0x003a, 0x0214 */ |
4374 | | "Channel Sample Skew\0" /* 1463, 0x003a, 0x0215 */ |
4375 | | "Channel Minimum Value\0" /* 1464, 0x003a, 0x0216 */ |
4376 | | "Channel Maximum Value\0" /* 1465, 0x003a, 0x0217 */ |
4377 | | "Channel Offset\0" /* 1466, 0x003a, 0x0218 */ |
4378 | | "Bits Per Sample\0" /* 1467, 0x003a, 0x021a */ |
4379 | | "Filter Low Frequency\0" /* 1468, 0x003a, 0x0220 */ |
4380 | | "Filter High Frequency\0" /* 1469, 0x003a, 0x0221 */ |
4381 | | "Notch Filter Frequency\0" /* 1470, 0x003a, 0x0222 */ |
4382 | | "Notch Filter Bandwidth\0" /* 1471, 0x003a, 0x0223 */ |
4383 | | "Waveform Data\0" /* 1472, 0x003a, 0x1000 */ |
4384 | | "Scheduled Station AE Title\0" /* 1473, 0x0040, 0x0001 */ |
4385 | | "Scheduled Procedure Step Start Date\0" /* 1474, 0x0040, 0x0002 */ |
4386 | | "Scheduled Procedure Step Start Time\0" /* 1475, 0x0040, 0x0003 */ |
4387 | | "Scheduled Procedure Step End Date\0" /* 1476, 0x0040, 0x0004 */ |
4388 | | "Scheduled Procedure Step End Time\0" /* 1477, 0x0040, 0x0005 */ |
4389 | | "Scheduled Performing Physician Name\0" /* 1478, 0x0040, 0x0006 */ |
4390 | | "Scheduled Procedure Step Description\0" /* 1479, 0x0040, 0x0007 */ |
4391 | | "Scheduled Action Item Code Sequence\0" /* 1480, 0x0040, 0x0008 */ |
4392 | | "Scheduled Procedure Step ID\0" /* 1481, 0x0040, 0x0009 */ |
4393 | | "Scheduled Station Name\0" /* 1482, 0x0040, 0x0010 */ |
4394 | | "Scheduled Procedure Step Location\0" /* 1483, 0x0040, 0x0011 */ |
4395 | | "Pre-Medication\0" /* 1484, 0x0040, 0x0012 */ |
4396 | | "Scheduled Procedure Step Status\0" /* 1485, 0x0040, 0x0020 */ |
4397 | | "Scheduled Procedure Step Sequence\0" /* 1486, 0x0040, 0x0100 */ |
4398 | | "Entrance Dose\0" /* 1487, 0x0040, 0x0302 */ |
4399 | | "Exposed Area\0" /* 1488, 0x0040, 0x0303 */ |
4400 | | "Distance Source to Entrance\0" /* 1489, 0x0040, 0x0306 */ |
4401 | | "Distance Source to Support\0" /* 1490, 0x0040, 0x0307 */ |
4402 | | "Comments On Radiation Dose\0" /* 1491, 0x0040, 0x0310 */ |
4403 | | "X-Ray Output\0" /* 1492, 0x0040, 0x0312 */ |
4404 | | "Half Value Layer\0" /* 1493, 0x0040, 0x0314 */ |
4405 | | "Organ Dose\0" /* 1494, 0x0040, 0x0316 */ |
4406 | | "Organ Exposed\0" /* 1495, 0x0040, 0x0318 */ |
4407 | | "Comments On Scheduled Procedure Step\0" /* 1496, 0x0040, 0x0400 */ |
4408 | | "Specimen Accession Number\0" /* 1497, 0x0040, 0x050a */ |
4409 | | "Specimen Sequence\0" /* 1498, 0x0040, 0x0550 */ |
4410 | | "Specimen Identifier\0" /* 1499, 0x0040, 0x0551 */ |
4411 | | "Specimen Description Sequence\0" /* 1500, 0x0040, 0x0552 */ |
4412 | | "Specimen Description\0" /* 1501, 0x0040, 0x0553 */ |
4413 | | "Acquisition Context Sequence\0" /* 1502, 0x0040, 0x0555 */ |
4414 | | "Acquisition Context Description\0" /* 1503, 0x0040, 0x0556 */ |
4415 | | "Specimen Type Code Sequence\0" /* 1504, 0x0040, 0x059a */ |
4416 | | "Slide Identifier\0" /* 1505, 0x0040, 0x06fa */ |
4417 | | "Image Center Point Coordinates Sequence\0" /* 1506, 0x0040, 0x071a */ |
4418 | | "X Offset In Slide Coordinate System\0" /* 1507, 0x0040, 0x072a */ |
4419 | | "Y Offset In Slide Coordinate System\0" /* 1508, 0x0040, 0x073a */ |
4420 | | "Z Offset In Slide Coordinate System\0" /* 1509, 0x0040, 0x074a */ |
4421 | | "Pixel Spacing Sequence\0" /* 1510, 0x0040, 0x08d8 */ |
4422 | | "Coordinate System Axis Code Sequence\0" /* 1511, 0x0040, 0x08da */ |
4423 | | "Measurement Units Code Sequence\0" /* 1512, 0x0040, 0x08ea */ |
4424 | | "Vital Stain Code Sequence\0" /* 1513, 0x0040, 0x09f8 */ |
4425 | | "Requested Procedure ID\0" /* 1514, 0x0040, 0x1001 */ |
4426 | | "Reason For Requested Procedure\0" /* 1515, 0x0040, 0x1002 */ |
4427 | | "Requested Procedure Priority\0" /* 1516, 0x0040, 0x1003 */ |
4428 | | "Patient Transport Arrangements\0" /* 1517, 0x0040, 0x1004 */ |
4429 | | "Requested Procedure Location\0" /* 1518, 0x0040, 0x1005 */ |
4430 | | "Placer Order Number of Procedure\0" /* 1519, 0x0040, 0x1006 */ |
4431 | | "Filler Order Number of Procedure\0" /* 1520, 0x0040, 0x1007 */ |
4432 | | "Confidentiality Code\0" /* 1521, 0x0040, 0x1008 */ |
4433 | | "Reporting Priority\0" /* 1522, 0x0040, 0x1009 */ |
4434 | | "Names of Intended Recipients of Results\0" /* 1523, 0x0040, 0x1010 */ |
4435 | | "Requested Procedure Comments\0" /* 1524, 0x0040, 0x1400 */ |
4436 | | "Reason For Imaging Service Request\0" /* 1525, 0x0040, 0x2001 */ |
4437 | | "Issue Date of Imaging Service Request\0" /* 1526, 0x0040, 0x2004 */ |
4438 | | "Issue Time of Imaging Service Request\0" /* 1527, 0x0040, 0x2005 */ |
4439 | | "Placer Order Number of Imaging Service Request\0" /* 1528, 0x0040, 0x2006 */ |
4440 | | "Filler Order Number of Imaging Service Request\0" /* 1529, 0x0040, 0x2007 */ |
4441 | | "Order Entered By\0" /* 1530, 0x0040, 0x2008 */ |
4442 | | "Order Enterer Location\0" /* 1531, 0x0040, 0x2009 */ |
4443 | | "Order Callback Phone Number\0" /* 1532, 0x0040, 0x2010 */ |
4444 | | "Imaging Service Request Comments\0" /* 1533, 0x0040, 0x2400 */ |
4445 | | "Confidentiality Constraint On Patient Data\0" /* 1534, 0x0040, 0x3001 */ |
4446 | | "Findings Flag\0" /* 1535, 0x0040, 0xa007 */ |
4447 | | "Findings Sequence\0" /* 1536, 0x0040, 0xa020 */ |
4448 | | "Findings Group UID\0" /* 1537, 0x0040, 0xa021 */ |
4449 | | "Referenced Findings Group UID\0" /* 1538, 0x0040, 0xa022 */ |
4450 | | "Findings Group Recording Date\0" /* 1539, 0x0040, 0xa023 */ |
4451 | | "Findings Group Recording Time\0" /* 1540, 0x0040, 0xa024 */ |
4452 | | "Findings Source Category Code Sequence\0" /* 1541, 0x0040, 0xa026 */ |
4453 | | "Documenting Organization\0" /* 1542, 0x0040, 0xa027 */ |
4454 | | "Documenting Organization Identifier Code Sequence\0" /* 1543, 0x0040, 0xa028 */ |
4455 | | "History Reliability Qualifier Description\0" /* 1544, 0x0040, 0xa032 */ |
4456 | | "Concept Name Code Sequence\0" /* 1545, 0x0040, 0xa043 */ |
4457 | | "Measurement Precision Description\0" /* 1546, 0x0040, 0xa047 */ |
4458 | | "Urgency or Priority Alerts\0" /* 1547, 0x0040, 0xa057 */ |
4459 | | "Sequencing Indicator\0" /* 1548, 0x0040, 0xa060 */ |
4460 | | "Document Identifier Code Sequence\0" /* 1549, 0x0040, 0xa066 */ |
4461 | | "Document Author\0" /* 1550, 0x0040, 0xa067 */ |
4462 | | "Document Author Identifier Code Sequence\0" /* 1551, 0x0040, 0xa068 */ |
4463 | | "Identifier Code Sequence\0" /* 1552, 0x0040, 0xa070 */ |
4464 | | "Object String Identifier\0" /* 1553, 0x0040, 0xa073 */ |
4465 | | "Object Binary Identifier\0" /* 1554, 0x0040, 0xa074 */ |
4466 | | "Documenting Observer\0" /* 1555, 0x0040, 0xa075 */ |
4467 | | "Documenting Observer Identifier Code Sequence\0" /* 1556, 0x0040, 0xa076 */ |
4468 | | "Observation Subject Identifier Code Sequence\0" /* 1557, 0x0040, 0xa078 */ |
4469 | | "Person Identifier Code Sequence\0" /* 1558, 0x0040, 0xa080 */ |
4470 | | "Procedure Identifier Code Sequence\0" /* 1559, 0x0040, 0xa085 */ |
4471 | | "Object Directory String Identifier\0" /* 1560, 0x0040, 0xa088 */ |
4472 | | "Object Directory Binary Identifier\0" /* 1561, 0x0040, 0xa089 */ |
4473 | | "History Reliability Qualifier\0" /* 1562, 0x0040, 0xa090 */ |
4474 | | "Referenced Type of Data\0" /* 1563, 0x0040, 0xa0a0 */ |
4475 | | "Referenced Waveform Channels\0" /* 1564, 0x0040, 0xa0b0 */ |
4476 | | "Date of Document or Verbal Transaction\0" /* 1565, 0x0040, 0xa110 */ |
4477 | | "Time of Document Creation or Verbal Transaction\0" /* 1566, 0x0040, 0xa112 */ |
4478 | | "Date\0" /* 1567, 0x0040, 0xa121 */ |
4479 | | "Time\0" /* 1568, 0x0040, 0xa122 */ |
4480 | | "Person Name\0" /* 1569, 0x0040, 0xa123 */ |
4481 | | "Referenced Person Sequence\0" /* 1570, 0x0040, 0xa124 */ |
4482 | | "Report Status ID\0" /* 1571, 0x0040, 0xa125 */ |
4483 | | "Temporal Range Type\0" /* 1572, 0x0040, 0xa130 */ |
4484 | | "Referenced Sample Offsets\0" /* 1573, 0x0040, 0xa132 */ |
4485 | | "Referenced Frame Numbers\0" /* 1574, 0x0040, 0xa136 */ |
4486 | | "Referenced Time Offsets\0" /* 1575, 0x0040, 0xa138 */ |
4487 | | "Referenced Datetime\0" /* 1576, 0x0040, 0xa13a */ |
4488 | | "Text Value\0" /* 1577, 0x0040, 0xa160 */ |
4489 | | "Observation Category Code Sequence\0" /* 1578, 0x0040, 0xa167 */ |
4490 | | "Concept Code Sequence\0" /* 1579, 0x0040, 0xa168 */ |
4491 | | "Bibliographic Citation\0" /* 1580, 0x0040, 0xa16a */ |
4492 | | "Observation Class\0" /* 1581, 0x0040, 0xa170 */ |
4493 | | "Observation UID\0" /* 1582, 0x0040, 0xa171 */ |
4494 | | "Referenced Observation UID\0" /* 1583, 0x0040, 0xa172 */ |
4495 | | "Referenced Observation Class\0" /* 1584, 0x0040, 0xa173 */ |
4496 | | "Referenced Object Observation Class\0" /* 1585, 0x0040, 0xa174 */ |
4497 | | "Annotation Group Number\0" /* 1586, 0x0040, 0xa180 */ |
4498 | | "Observation Date\0" /* 1587, 0x0040, 0xa192 */ |
4499 | | "Observation Time\0" /* 1588, 0x0040, 0xa193 */ |
4500 | | "Measurement Automation\0" /* 1589, 0x0040, 0xa194 */ |
4501 | | "Concept Name Code Sequence Modifier\0" /* 1590, 0x0040, 0xa195 */ |
4502 | | "Identification Description\0" /* 1591, 0x0040, 0xa224 */ |
4503 | | "Coordinates Set Geometric Type\0" /* 1592, 0x0040, 0xa290 */ |
4504 | | "Algorithm Code Sequence\0" /* 1593, 0x0040, 0xa296 */ |
4505 | | "Algorithm Description\0" /* 1594, 0x0040, 0xa297 */ |
4506 | | "Pixel Coordinates Set\0" /* 1595, 0x0040, 0xa29a */ |
4507 | | "Measured Value Sequence\0" /* 1596, 0x0040, 0xa300 */ |
4508 | | "Current Observer\0" /* 1597, 0x0040, 0xa307 */ |
4509 | | "Numeric Value\0" /* 1598, 0x0040, 0xa30a */ |
4510 | | "Referenced Accession Sequence\0" /* 1599, 0x0040, 0xa313 */ |
4511 | | "Report Status Comment\0" /* 1600, 0x0040, 0xa33a */ |
4512 | | "Procedure Context Sequence\0" /* 1601, 0x0040, 0xa340 */ |
4513 | | "Verbal Source\0" /* 1602, 0x0040, 0xa352 */ |
4514 | | "Address\0" /* 1603, 0x0040, 0xa353 */ |
4515 | | "Telephone Number\0" /* 1604, 0x0040, 0xa354 */ |
4516 | | "Verbal Source Identifier Code Sequence\0" /* 1605, 0x0040, 0xa358 */ |
4517 | | "Report Detail Sequence\0" /* 1606, 0x0040, 0xa380 */ |
4518 | | "Observation Subject UID\0" /* 1607, 0x0040, 0xa402 */ |
4519 | | "Observation Subject Class\0" /* 1608, 0x0040, 0xa403 */ |
4520 | | "Observation Subject Type Code Sequence\0" /* 1609, 0x0040, 0xa404 */ |
4521 | | "Observation Subject Context Flag\0" /* 1610, 0x0040, 0xa600 */ |
4522 | | "Observer Context Flag\0" /* 1611, 0x0040, 0xa601 */ |
4523 | | "Procedure Context Flag\0" /* 1612, 0x0040, 0xa603 */ |
4524 | | "Observations Sequence\0" /* 1613, 0x0040, 0xa730 */ |
4525 | | "Relationship Sequence\0" /* 1614, 0x0040, 0xa731 */ |
4526 | | "Relationship Type Code Sequence\0" /* 1615, 0x0040, 0xa732 */ |
4527 | | "Language Code Sequence\0" /* 1616, 0x0040, 0xa744 */ |
4528 | | "Uniform Resource Locator\0" /* 1617, 0x0040, 0xa992 */ |
4529 | | "Annotation Sequence\0" /* 1618, 0x0040, 0xb020 */ |
4530 | | "Relationship Type Code Sequence Modifier\0" /* 1619, 0x0040, 0xdb73 */ |
4531 | | "Papyrus Comments\0" /* 1620, 0x0041, 0x0000 */ |
4532 | | "?\0" /* 1621, 0x0041, 0x0010 */ |
4533 | | "?\0" /* 1622, 0x0041, 0x0011 */ |
4534 | | "Pixel Offset\0" /* 1623, 0x0041, 0x0012 */ |
4535 | | "Image Identifier Sequence\0" /* 1624, 0x0041, 0x0013 */ |
4536 | | "External File Reference Sequence\0" /* 1625, 0x0041, 0x0014 */ |
4537 | | "Number of Images\0" /* 1626, 0x0041, 0x0015 */ |
4538 | | "?\0" /* 1627, 0x0041, 0x0020 */ |
4539 | | "Referenced SOP Class UID\0" /* 1628, 0x0041, 0x0021 */ |
4540 | | "Referenced SOP Instance UID\0" /* 1629, 0x0041, 0x0022 */ |
4541 | | "?\0" /* 1630, 0x0041, 0x0030 */ |
4542 | | "?\0" /* 1631, 0x0041, 0x0031 */ |
4543 | | "?\0" /* 1632, 0x0041, 0x0032 */ |
4544 | | "Modified Date\0" /* 1633, 0x0041, 0x0034 */ |
4545 | | "Modified Time\0" /* 1634, 0x0041, 0x0036 */ |
4546 | | "Owner Name\0" /* 1635, 0x0041, 0x0040 */ |
4547 | | "Referenced Image SOP Class UID\0" /* 1636, 0x0041, 0x0041 */ |
4548 | | "Referenced Image SOP Instance UID\0" /* 1637, 0x0041, 0x0042 */ |
4549 | | "?\0" /* 1638, 0x0041, 0x0050 */ |
4550 | | "Number of Images\0" /* 1639, 0x0041, 0x0060 */ |
4551 | | "Number of Other\0" /* 1640, 0x0041, 0x0062 */ |
4552 | | "External Folder Element DSID\0" /* 1641, 0x0041, 0x00a0 */ |
4553 | | "External Folder Element Data Set Type\0" /* 1642, 0x0041, 0x00a1 */ |
4554 | | "External Folder Element File Location\0" /* 1643, 0x0041, 0x00a2 */ |
4555 | | "External Folder Element Length\0" /* 1644, 0x0041, 0x00a3 */ |
4556 | | "Internal Folder Element DSID\0" /* 1645, 0x0041, 0x00b0 */ |
4557 | | "Internal Folder Element Data Set Type\0" /* 1646, 0x0041, 0x00b1 */ |
4558 | | "Internal Offset To Data Set\0" /* 1647, 0x0041, 0x00b2 */ |
4559 | | "Internal Offset To Image\0" /* 1648, 0x0041, 0x00b3 */ |
4560 | | "Bitmap Of Prescan Options\0" /* 1649, 0x0043, 0x0001 */ |
4561 | | "Gradient Offset In X\0" /* 1650, 0x0043, 0x0002 */ |
4562 | | "Gradient Offset In Y\0" /* 1651, 0x0043, 0x0003 */ |
4563 | | "Gradient Offset In Z\0" /* 1652, 0x0043, 0x0004 */ |
4564 | | "Image Is Original Or Unoriginal\0" /* 1653, 0x0043, 0x0005 */ |
4565 | | "Number Of EPI Shots\0" /* 1654, 0x0043, 0x0006 */ |
4566 | | "Views Per Segment\0" /* 1655, 0x0043, 0x0007 */ |
4567 | | "Respiratory Rate In BPM\0" /* 1656, 0x0043, 0x0008 */ |
4568 | | "Respiratory Trigger Point\0" /* 1657, 0x0043, 0x0009 */ |
4569 | | "Type Of Receiver Used\0" /* 1658, 0x0043, 0x000a */ |
4570 | | "Peak Rate Of Change Of Gradient Field\0" /* 1659, 0x0043, 0x000b */ |
4571 | | "Limits In Units Of Percent\0" /* 1660, 0x0043, 0x000c */ |
4572 | | "PSD Estimated Limit\0" /* 1661, 0x0043, 0x000d */ |
4573 | | "PSD Estimated Limit In Tesla Per Second\0" /* 1662, 0x0043, 0x000e */ |
4574 | | "SAR Avg Head\0" /* 1663, 0x0043, 0x000f */ |
4575 | | "Window Value\0" /* 1664, 0x0043, 0x0010 */ |
4576 | | "Total Input Views\0" /* 1665, 0x0043, 0x0011 */ |
4577 | | "Xray Chain\0" /* 1666, 0x0043, 0x0012 */ |
4578 | | "Recon Kernel Parameters\0" /* 1667, 0x0043, 0x0013 */ |
4579 | | "Calibration Parameters\0" /* 1668, 0x0043, 0x0014 */ |
4580 | | "Total Output Views\0" /* 1669, 0x0043, 0x0015 */ |
4581 | | "Number Of Overranges\0" /* 1670, 0x0043, 0x0016 */ |
4582 | | "IBH Image Scale Factors\0" /* 1671, 0x0043, 0x0017 */ |
4583 | | "BBH Coefficients\0" /* 1672, 0x0043, 0x0018 */ |
4584 | | "Number Of BBH Chains To Blend\0" /* 1673, 0x0043, 0x0019 */ |
4585 | | "Starting Channel Number\0" /* 1674, 0x0043, 0x001a */ |
4586 | | "PPScan Parameters\0" /* 1675, 0x0043, 0x001b */ |
4587 | | "GE Image Integrity\0" /* 1676, 0x0043, 0x001c */ |
4588 | | "Level Value\0" /* 1677, 0x0043, 0x001d */ |
4589 | | "?\0" /* 1678, 0x0043, 0x001e */ |
4590 | | "Max Overranges In A View\0" /* 1679, 0x0043, 0x001f */ |
4591 | | "Avg Overranges All Views\0" /* 1680, 0x0043, 0x0020 */ |
4592 | | "Corrected Afterglow Terms\0" /* 1681, 0x0043, 0x0021 */ |
4593 | | "Reference Channels\0" /* 1682, 0x0043, 0x0025 */ |
4594 | | "No Views Ref Channels Blocked\0" /* 1683, 0x0043, 0x0026 */ |
4595 | | "?\0" /* 1684, 0x0043, 0x0027 */ |
4596 | | "Unique Image Identifier\0" /* 1685, 0x0043, 0x0028 */ |
4597 | | "Histogram Tables\0" /* 1686, 0x0043, 0x0029 */ |
4598 | | "User Defined Data\0" /* 1687, 0x0043, 0x002a */ |
4599 | | "Private Scan Options\0" /* 1688, 0x0043, 0x002b */ |
4600 | | "Effective Echo Spacing\0" /* 1689, 0x0043, 0x002c */ |
4601 | | "String Slop Field 1\0" /* 1690, 0x0043, 0x002d */ |
4602 | | "String Slop Field 2\0" /* 1691, 0x0043, 0x002e */ |
4603 | | "Raw Data Type\0" /* 1692, 0x0043, 0x002f */ |
4604 | | "Raw Data Type\0" /* 1693, 0x0043, 0x0030 */ |
4605 | | "RA Coord Of Target Recon Centre\0" /* 1694, 0x0043, 0x0031 */ |
4606 | | "Raw Data Type\0" /* 1695, 0x0043, 0x0032 */ |
4607 | | "Neg Scan Spacing\0" /* 1696, 0x0043, 0x0033 */ |
4608 | | "Offset Frequency\0" /* 1697, 0x0043, 0x0034 */ |
4609 | | "User Usage Tag\0" /* 1698, 0x0043, 0x0035 */ |
4610 | | "User Fill Map MSW\0" /* 1699, 0x0043, 0x0036 */ |
4611 | | "User Fill Map LSW\0" /* 1700, 0x0043, 0x0037 */ |
4612 | | "User 25 To User 48\0" /* 1701, 0x0043, 0x0038 */ |
4613 | | "Slop Integer 6 To Slop Integer 9\0" /* 1702, 0x0043, 0x0039 */ |
4614 | | "Trigger On Position\0" /* 1703, 0x0043, 0x0040 */ |
4615 | | "Degree Of Rotation\0" /* 1704, 0x0043, 0x0041 */ |
4616 | | "DAS Trigger Source\0" /* 1705, 0x0043, 0x0042 */ |
4617 | | "DAS Fpa Gain\0" /* 1706, 0x0043, 0x0043 */ |
4618 | | "DAS Output Source\0" /* 1707, 0x0043, 0x0044 */ |
4619 | | "DAS Ad Input\0" /* 1708, 0x0043, 0x0045 */ |
4620 | | "DAS Cal Mode\0" /* 1709, 0x0043, 0x0046 */ |
4621 | | "DAS Cal Frequency\0" /* 1710, 0x0043, 0x0047 */ |
4622 | | "DAS Reg Xm\0" /* 1711, 0x0043, 0x0048 */ |
4623 | | "DAS Auto Zero\0" /* 1712, 0x0043, 0x0049 */ |
4624 | | "Starting Channel Of View\0" /* 1713, 0x0043, 0x004a */ |
4625 | | "DAS Xm Pattern\0" /* 1714, 0x0043, 0x004b */ |
4626 | | "TGGC Trigger Mode\0" /* 1715, 0x0043, 0x004c */ |
4627 | | "Start Scan To Xray On Delay\0" /* 1716, 0x0043, 0x004d */ |
4628 | | "Duration Of Xray On\0" /* 1717, 0x0043, 0x004e */ |
4629 | | "?\0" /* 1718, 0x0044, 0x0000 */ |
4630 | | "AES\0" /* 1719, 0x0045, 0x0004 */ |
4631 | | "Angulation\0" /* 1720, 0x0045, 0x0006 */ |
4632 | | "Real Magnification Factor\0" /* 1721, 0x0045, 0x0009 */ |
4633 | | "Senograph Type\0" /* 1722, 0x0045, 0x000b */ |
4634 | | "Integration Time\0" /* 1723, 0x0045, 0x000c */ |
4635 | | "ROI Origin X and Y\0" /* 1724, 0x0045, 0x000d */ |
4636 | | "Receptor Size cm X and Y\0" /* 1725, 0x0045, 0x0011 */ |
4637 | | "Receptor Size Pixels X and Y\0" /* 1726, 0x0045, 0x0012 */ |
4638 | | "Screen\0" /* 1727, 0x0045, 0x0013 */ |
4639 | | "Pixel Pitch Microns\0" /* 1728, 0x0045, 0x0014 */ |
4640 | | "Pixel Depth Bits\0" /* 1729, 0x0045, 0x0015 */ |
4641 | | "Binning Factor X and Y\0" /* 1730, 0x0045, 0x0016 */ |
4642 | | "Clinical View\0" /* 1731, 0x0045, 0x001b */ |
4643 | | "Mean Of Raw Gray Levels\0" /* 1732, 0x0045, 0x001d */ |
4644 | | "Mean Of Offset Gray Levels\0" /* 1733, 0x0045, 0x001e */ |
4645 | | "Mean Of Corrected Gray Levels\0" /* 1734, 0x0045, 0x001f */ |
4646 | | "Mean Of Region Gray Levels\0" /* 1735, 0x0045, 0x0020 */ |
4647 | | "Mean Of Log Region Gray Levels\0" /* 1736, 0x0045, 0x0021 */ |
4648 | | "Standard Deviation Of Raw Gray Levels\0" /* 1737, 0x0045, 0x0022 */ |
4649 | | "Standard Deviation Of Corrected Gray Levels\0" /* 1738, 0x0045, 0x0023 */ |
4650 | | "Standard Deviation Of Region Gray Levels\0" /* 1739, 0x0045, 0x0024 */ |
4651 | | "Standard Deviation Of Log Region Gray Levels\0" /* 1740, 0x0045, 0x0025 */ |
4652 | | "MAO Buffer\0" /* 1741, 0x0045, 0x0026 */ |
4653 | | "Set Number\0" /* 1742, 0x0045, 0x0027 */ |
4654 | | "WindowingType (LINEAR or GAMMA)\0" /* 1743, 0x0045, 0x0028 */ |
4655 | | "WindowingParameters\0" /* 1744, 0x0045, 0x0029 */ |
4656 | | "Crosshair Cursor X Coordinates\0" /* 1745, 0x0045, 0x002a */ |
4657 | | "Crosshair Cursor Y Coordinates\0" /* 1746, 0x0045, 0x002b */ |
4658 | | "Vignette Rows\0" /* 1747, 0x0045, 0x0039 */ |
4659 | | "Vignette Columns\0" /* 1748, 0x0045, 0x003a */ |
4660 | | "Vignette Bits Allocated\0" /* 1749, 0x0045, 0x003b */ |
4661 | | "Vignette Bits Stored\0" /* 1750, 0x0045, 0x003c */ |
4662 | | "Vignette High Bit\0" /* 1751, 0x0045, 0x003d */ |
4663 | | "Vignette Pixel Representation\0" /* 1752, 0x0045, 0x003e */ |
4664 | | "Vignette Pixel Data\0" /* 1753, 0x0045, 0x003f */ |
4665 | | "Reconstruction Parameters Sequence\0" /* 1754, 0x0047, 0x0001 */ |
4666 | | "Volume Voxel Count\0" /* 1755, 0x0047, 0x0050 */ |
4667 | | "Volume Segment Count\0" /* 1756, 0x0047, 0x0051 */ |
4668 | | "Volume Slice Size\0" /* 1757, 0x0047, 0x0053 */ |
4669 | | "Volume Slice Count\0" /* 1758, 0x0047, 0x0054 */ |
4670 | | "Volume Threshold Value\0" /* 1759, 0x0047, 0x0055 */ |
4671 | | "Volume Voxel Ratio\0" /* 1760, 0x0047, 0x0057 */ |
4672 | | "Volume Voxel Size\0" /* 1761, 0x0047, 0x0058 */ |
4673 | | "Volume Z Position Size\0" /* 1762, 0x0047, 0x0059 */ |
4674 | | "Volume Base Line\0" /* 1763, 0x0047, 0x0060 */ |
4675 | | "Volume Center Point\0" /* 1764, 0x0047, 0x0061 */ |
4676 | | "Volume Skew Base\0" /* 1765, 0x0047, 0x0063 */ |
4677 | | "Volume Registration Transform Rotation Matrix\0" /* 1766, 0x0047, 0x0064 */ |
4678 | | "Volume Registration Transform Translation Vector\0" /* 1767, 0x0047, 0x0065 */ |
4679 | | "KVP List\0" /* 1768, 0x0047, 0x0070 */ |
4680 | | "XRay Tube Current List\0" /* 1769, 0x0047, 0x0071 */ |
4681 | | "Exposure List\0" /* 1770, 0x0047, 0x0072 */ |
4682 | | "Acquisition DLX Identifier\0" /* 1771, 0x0047, 0x0080 */ |
4683 | | "Acquisition DLX 2D Series Sequence\0" /* 1772, 0x0047, 0x0085 */ |
4684 | | "Contrast Agent Volume List\0" /* 1773, 0x0047, 0x0089 */ |
4685 | | "Number Of Injections\0" /* 1774, 0x0047, 0x008a */ |
4686 | | "Frame Count\0" /* 1775, 0x0047, 0x008b */ |
4687 | | "Used Frames\0" /* 1776, 0x0047, 0x0096 */ |
4688 | | "XA 3D Reconstruction Algorithm Name\0" /* 1777, 0x0047, 0x0091 */ |
4689 | | "XA 3D Reconstruction Algorithm Version\0" /* 1778, 0x0047, 0x0092 */ |
4690 | | "DLX Calibration Date\0" /* 1779, 0x0047, 0x0093 */ |
4691 | | "DLX Calibration Time\0" /* 1780, 0x0047, 0x0094 */ |
4692 | | "DLX Calibration Status\0" /* 1781, 0x0047, 0x0095 */ |
4693 | | "Transform Count\0" /* 1782, 0x0047, 0x0098 */ |
4694 | | "Transform Sequence\0" /* 1783, 0x0047, 0x0099 */ |
4695 | | "Transform Rotation Matrix\0" /* 1784, 0x0047, 0x009a */ |
4696 | | "Transform Translation Vector\0" /* 1785, 0x0047, 0x009b */ |
4697 | | "Transform Label\0" /* 1786, 0x0047, 0x009c */ |
4698 | | "Wireframe Count\0" /* 1787, 0x0047, 0x00b1 */ |
4699 | | "Location System\0" /* 1788, 0x0047, 0x00b2 */ |
4700 | | "Wireframe List\0" /* 1789, 0x0047, 0x00b0 */ |
4701 | | "Wireframe Name\0" /* 1790, 0x0047, 0x00b5 */ |
4702 | | "Wireframe Group Name\0" /* 1791, 0x0047, 0x00b6 */ |
4703 | | "Wireframe Color\0" /* 1792, 0x0047, 0x00b7 */ |
4704 | | "Wireframe Attributes\0" /* 1793, 0x0047, 0x00b8 */ |
4705 | | "Wireframe Point Count\0" /* 1794, 0x0047, 0x00b9 */ |
4706 | | "Wireframe Timestamp\0" /* 1795, 0x0047, 0x00ba */ |
4707 | | "Wireframe Point List\0" /* 1796, 0x0047, 0x00bb */ |
4708 | | "Wireframe Points Coordinates\0" /* 1797, 0x0047, 0x00bc */ |
4709 | | "Volume Upper Left High Corner RAS\0" /* 1798, 0x0047, 0x00c0 */ |
4710 | | "Volume Slice To RAS Rotation Matrix\0" /* 1799, 0x0047, 0x00c1 */ |
4711 | | "Volume Upper Left High Corner TLOC\0" /* 1800, 0x0047, 0x00c2 */ |
4712 | | "Volume Segment List\0" /* 1801, 0x0047, 0x00d1 */ |
4713 | | "Volume Gradient List\0" /* 1802, 0x0047, 0x00d2 */ |
4714 | | "Volume Density List\0" /* 1803, 0x0047, 0x00d3 */ |
4715 | | "Volume Z Position List\0" /* 1804, 0x0047, 0x00d4 */ |
4716 | | "Volume Original Index List\0" /* 1805, 0x0047, 0x00d5 */ |
4717 | | "Calibration Group Length\0" /* 1806, 0x0050, 0x0000 */ |
4718 | | "Calibration Object\0" /* 1807, 0x0050, 0x0004 */ |
4719 | | "DeviceSequence\0" /* 1808, 0x0050, 0x0010 */ |
4720 | | "DeviceLength\0" /* 1809, 0x0050, 0x0014 */ |
4721 | | "DeviceDiameter\0" /* 1810, 0x0050, 0x0016 */ |
4722 | | "DeviceDiameterUnits\0" /* 1811, 0x0050, 0x0017 */ |
4723 | | "DeviceVolume\0" /* 1812, 0x0050, 0x0018 */ |
4724 | | "InterMarkerDistance\0" /* 1813, 0x0050, 0x0019 */ |
4725 | | "DeviceDescription\0" /* 1814, 0x0050, 0x0020 */ |
4726 | | "CodedInterventionDeviceSequence\0" /* 1815, 0x0050, 0x0030 */ |
4727 | | "Image Text\0" /* 1816, 0x0051, 0x0010 */ |
4728 | | "Nuclear Acquisition Group Length\0" /* 1817, 0x0054, 0x0000 */ |
4729 | | "Energy Window Vector\0" /* 1818, 0x0054, 0x0010 */ |
4730 | | "Number of Energy Windows\0" /* 1819, 0x0054, 0x0011 */ |
4731 | | "Energy Window Information Sequence\0" /* 1820, 0x0054, 0x0012 */ |
4732 | | "Energy Window Range Sequence\0" /* 1821, 0x0054, 0x0013 */ |
4733 | | "Energy Window Lower Limit\0" /* 1822, 0x0054, 0x0014 */ |
4734 | | "Energy Window Upper Limit\0" /* 1823, 0x0054, 0x0015 */ |
4735 | | "Radiopharmaceutical Information Sequence\0" /* 1824, 0x0054, 0x0016 */ |
4736 | | "Residual Syringe Counts\0" /* 1825, 0x0054, 0x0017 */ |
4737 | | "Energy Window Name\0" /* 1826, 0x0054, 0x0018 */ |
4738 | | "Detector Vector\0" /* 1827, 0x0054, 0x0020 */ |
4739 | | "Number of Detectors\0" /* 1828, 0x0054, 0x0021 */ |
4740 | | "Detector Information Sequence\0" /* 1829, 0x0054, 0x0022 */ |
4741 | | "Phase Vector\0" /* 1830, 0x0054, 0x0030 */ |
4742 | | "Number of Phases\0" /* 1831, 0x0054, 0x0031 */ |
4743 | | "Phase Information Sequence\0" /* 1832, 0x0054, 0x0032 */ |
4744 | | "Number of Frames In Phase\0" /* 1833, 0x0054, 0x0033 */ |
4745 | | "Phase Delay\0" /* 1834, 0x0054, 0x0036 */ |
4746 | | "Pause Between Frames\0" /* 1835, 0x0054, 0x0038 */ |
4747 | | "Rotation Vector\0" /* 1836, 0x0054, 0x0050 */ |
4748 | | "Number of Rotations\0" /* 1837, 0x0054, 0x0051 */ |
4749 | | "Rotation Information Sequence\0" /* 1838, 0x0054, 0x0052 */ |
4750 | | "Number of Frames In Rotation\0" /* 1839, 0x0054, 0x0053 */ |
4751 | | "R-R Interval Vector\0" /* 1840, 0x0054, 0x0060 */ |
4752 | | "Number of R-R Intervals\0" /* 1841, 0x0054, 0x0061 */ |
4753 | | "Gated Information Sequence\0" /* 1842, 0x0054, 0x0062 */ |
4754 | | "Data Information Sequence\0" /* 1843, 0x0054, 0x0063 */ |
4755 | | "Time Slot Vector\0" /* 1844, 0x0054, 0x0070 */ |
4756 | | "Number of Time Slots\0" /* 1845, 0x0054, 0x0071 */ |
4757 | | "Time Slot Information Sequence\0" /* 1846, 0x0054, 0x0072 */ |
4758 | | "Time Slot Time\0" /* 1847, 0x0054, 0x0073 */ |
4759 | | "Slice Vector\0" /* 1848, 0x0054, 0x0080 */ |
4760 | | "Number of Slices\0" /* 1849, 0x0054, 0x0081 */ |
4761 | | "Angular View Vector\0" /* 1850, 0x0054, 0x0090 */ |
4762 | | "Time Slice Vector\0" /* 1851, 0x0054, 0x0100 */ |
4763 | | "Number Of Time Slices\0" /* 1852, 0x0054, 0x0101 */ |
4764 | | "Start Angle\0" /* 1853, 0x0054, 0x0200 */ |
4765 | | "Type of Detector Motion\0" /* 1854, 0x0054, 0x0202 */ |
4766 | | "Trigger Vector\0" /* 1855, 0x0054, 0x0210 */ |
4767 | | "Number of Triggers in Phase\0" /* 1856, 0x0054, 0x0211 */ |
4768 | | "View Code Sequence\0" /* 1857, 0x0054, 0x0220 */ |
4769 | | "View Modifier Code Sequence\0" /* 1858, 0x0054, 0x0222 */ |
4770 | | "Radionuclide Code Sequence\0" /* 1859, 0x0054, 0x0300 */ |
4771 | | "Radiopharmaceutical Route Code Sequence\0" /* 1860, 0x0054, 0x0302 */ |
4772 | | "Radiopharmaceutical Code Sequence\0" /* 1861, 0x0054, 0x0304 */ |
4773 | | "Calibration Data Sequence\0" /* 1862, 0x0054, 0x0306 */ |
4774 | | "Energy Window Number\0" /* 1863, 0x0054, 0x0308 */ |
4775 | | "Image ID\0" /* 1864, 0x0054, 0x0400 */ |
4776 | | "Patient Orientation Code Sequence\0" /* 1865, 0x0054, 0x0410 */ |
4777 | | "Patient Orientation Modifier Code Sequence\0" /* 1866, 0x0054, 0x0412 */ |
4778 | | "Patient Gantry Relationship Code Sequence\0" /* 1867, 0x0054, 0x0414 */ |
4779 | | "Positron Emission Tomography Series Type\0" /* 1868, 0x0054, 0x1000 */ |
4780 | | "Positron Emission Tomography Units\0" /* 1869, 0x0054, 0x1001 */ |
4781 | | "Counts Source\0" /* 1870, 0x0054, 0x1002 */ |
4782 | | "Reprojection Method\0" /* 1871, 0x0054, 0x1004 */ |
4783 | | "Randoms Correction Method\0" /* 1872, 0x0054, 0x1100 */ |
4784 | | "Attenuation Correction Method\0" /* 1873, 0x0054, 0x1101 */ |
4785 | | "Decay Correction\0" /* 1874, 0x0054, 0x1102 */ |
4786 | | "Reconstruction Method\0" /* 1875, 0x0054, 0x1103 */ |
4787 | | "Detector Lines of Response Used\0" /* 1876, 0x0054, 0x1104 */ |
4788 | | "Scatter Correction Method\0" /* 1877, 0x0054, 0x1105 */ |
4789 | | "Axial Acceptance\0" /* 1878, 0x0054, 0x1200 */ |
4790 | | "Axial Mash\0" /* 1879, 0x0054, 0x1201 */ |
4791 | | "Transverse Mash\0" /* 1880, 0x0054, 0x1202 */ |
4792 | | "Detector Element Size\0" /* 1881, 0x0054, 0x1203 */ |
4793 | | "Coincidence Window Width\0" /* 1882, 0x0054, 0x1210 */ |
4794 | | "Secondary Counts Type\0" /* 1883, 0x0054, 0x1220 */ |
4795 | | "Frame Reference Time\0" /* 1884, 0x0054, 0x1300 */ |
4796 | | "Primary Prompts Counts Accumulated\0" /* 1885, 0x0054, 0x1310 */ |
4797 | | "Secondary Counts Accumulated\0" /* 1886, 0x0054, 0x1311 */ |
4798 | | "Slice Sensitivity Factor\0" /* 1887, 0x0054, 0x1320 */ |
4799 | | "Decay Factor\0" /* 1888, 0x0054, 0x1321 */ |
4800 | | "Dose Calibration Factor\0" /* 1889, 0x0054, 0x1322 */ |
4801 | | "Scatter Fraction Factor\0" /* 1890, 0x0054, 0x1323 */ |
4802 | | "Dead Time Factor\0" /* 1891, 0x0054, 0x1324 */ |
4803 | | "Image Index\0" /* 1892, 0x0054, 0x1330 */ |
4804 | | "Counts Included\0" /* 1893, 0x0054, 0x1400 */ |
4805 | | "Dead Time Correction Flag\0" /* 1894, 0x0054, 0x1401 */ |
4806 | | "Current Ward\0" /* 1895, 0x0055, 0x0046 */ |
4807 | | "?\0" /* 1896, 0x0058, 0x0000 */ |
4808 | | "Histogram Sequence\0" /* 1897, 0x0060, 0x3000 */ |
4809 | | "Histogram Number of Bins\0" /* 1898, 0x0060, 0x3002 */ |
4810 | | "Histogram First Bin Value\0" /* 1899, 0x0060, 0x3004 */ |
4811 | | "Histogram Last Bin Value\0" /* 1900, 0x0060, 0x3006 */ |
4812 | | "Histogram Bin Width\0" /* 1901, 0x0060, 0x3008 */ |
4813 | | "Histogram Explanation\0" /* 1902, 0x0060, 0x3010 */ |
4814 | | "Histogram Data\0" /* 1903, 0x0060, 0x3020 */ |
4815 | | "Graphic Annotation Sequence\0" /* 1904, 0x0070, 0x0001 */ |
4816 | | "Graphic Layer\0" /* 1905, 0x0070, 0x0002 */ |
4817 | | "Bounding Box Annotation Units\0" /* 1906, 0x0070, 0x0003 */ |
4818 | | "Anchor Point Annotation Units\0" /* 1907, 0x0070, 0x0004 */ |
4819 | | "Graphic Annotation Units\0" /* 1908, 0x0070, 0x0005 */ |
4820 | | "Unformatted Text Value\0" /* 1909, 0x0070, 0x0006 */ |
4821 | | "Text Object Sequence\0" /* 1910, 0x0070, 0x0008 */ |
4822 | | "Graphic Object Sequence\0" /* 1911, 0x0070, 0x0009 */ |
4823 | | "Bounding Box TLHC\0" /* 1912, 0x0070, 0x0010 */ |
4824 | | "Bounding Box BRHC\0" /* 1913, 0x0070, 0x0011 */ |
4825 | | "Anchor Point\0" /* 1914, 0x0070, 0x0014 */ |
4826 | | "Anchor Point Visibility\0" /* 1915, 0x0070, 0x0015 */ |
4827 | | "Graphic Dimensions\0" /* 1916, 0x0070, 0x0020 */ |
4828 | | "Number Of Graphic Points\0" /* 1917, 0x0070, 0x0021 */ |
4829 | | "Graphic Data\0" /* 1918, 0x0070, 0x0022 */ |
4830 | | "Graphic Type\0" /* 1919, 0x0070, 0x0023 */ |
4831 | | "Graphic Filled\0" /* 1920, 0x0070, 0x0024 */ |
4832 | | "Image Rotation\0" /* 1921, 0x0070, 0x0040 */ |
4833 | | "Image Horizontal Flip\0" /* 1922, 0x0070, 0x0041 */ |
4834 | | "Displayed Area TLHC\0" /* 1923, 0x0070, 0x0050 */ |
4835 | | "Displayed Area BRHC\0" /* 1924, 0x0070, 0x0051 */ |
4836 | | "Graphic Layer Sequence\0" /* 1925, 0x0070, 0x0060 */ |
4837 | | "Graphic Layer Order\0" /* 1926, 0x0070, 0x0062 */ |
4838 | | "Graphic Layer Recommended Display Value\0" /* 1927, 0x0070, 0x0066 */ |
4839 | | "Graphic Layer Description\0" /* 1928, 0x0070, 0x0068 */ |
4840 | | "Presentation Label\0" /* 1929, 0x0070, 0x0080 */ |
4841 | | "Presentation Description\0" /* 1930, 0x0070, 0x0081 */ |
4842 | | "Presentation Creation Date\0" /* 1931, 0x0070, 0x0082 */ |
4843 | | "Presentation Creation Time\0" /* 1932, 0x0070, 0x0083 */ |
4844 | | "Presentation Creator's Name\0" /* 1933, 0x0070, 0x0084 */ |
4845 | | "Media Type\0" /* 1934, 0x0087, 0x0010 */ |
4846 | | "Media Location\0" /* 1935, 0x0087, 0x0020 */ |
4847 | | "Estimated Retrieve Time\0" /* 1936, 0x0087, 0x0050 */ |
4848 | | "Storage Group Length\0" /* 1937, 0x0088, 0x0000 */ |
4849 | | "Storage Media FileSet ID\0" /* 1938, 0x0088, 0x0130 */ |
4850 | | "Storage Media FileSet UID\0" /* 1939, 0x0088, 0x0140 */ |
4851 | | "Icon Image Sequence\0" /* 1940, 0x0088, 0x0200 */ |
4852 | | "Topic Title\0" /* 1941, 0x0088, 0x0904 */ |
4853 | | "Topic Subject\0" /* 1942, 0x0088, 0x0906 */ |
4854 | | "Topic Author\0" /* 1943, 0x0088, 0x0910 */ |
4855 | | "Topic Key Words\0" /* 1944, 0x0088, 0x0912 */ |
4856 | | "Examination Folder ID\0" /* 1945, 0x0095, 0x0001 */ |
4857 | | "Folder Reported Status\0" /* 1946, 0x0095, 0x0004 */ |
4858 | | "Folder Reporting Radiologist\0" /* 1947, 0x0095, 0x0005 */ |
4859 | | "SIENET ISA PLA\0" /* 1948, 0x0095, 0x0007 */ |
4860 | | "Data Object Attributes\0" /* 1949, 0x0099, 0x0002 */ |
4861 | | "Data Dictionary Version\0" /* 1950, 0x00e1, 0x0001 */ |
4862 | | "?\0" /* 1951, 0x00e1, 0x0014 */ |
4863 | | "?\0" /* 1952, 0x00e1, 0x0022 */ |
4864 | | "?\0" /* 1953, 0x00e1, 0x0023 */ |
4865 | | "?\0" /* 1954, 0x00e1, 0x0024 */ |
4866 | | "?\0" /* 1955, 0x00e1, 0x0025 */ |
4867 | | "Offset From CT MR Images\0" /* 1956, 0x00e1, 0x0040 */ |
4868 | | "RIS Key\0" /* 1957, 0x0193, 0x0002 */ |
4869 | | "RIS Worklist IMGEF\0" /* 1958, 0x0307, 0x0001 */ |
4870 | | "RIS Report IMGEF\0" /* 1959, 0x0309, 0x0001 */ |
4871 | | "Implementation Version\0" /* 1960, 0x0601, 0x0000 */ |
4872 | | "Relative Table Position\0" /* 1961, 0x0601, 0x0020 */ |
4873 | | "Relative Table Height\0" /* 1962, 0x0601, 0x0021 */ |
4874 | | "Surview Direction\0" /* 1963, 0x0601, 0x0030 */ |
4875 | | "Surview Length\0" /* 1964, 0x0601, 0x0031 */ |
4876 | | "Image View Type\0" /* 1965, 0x0601, 0x0050 */ |
4877 | | "Batch Number\0" /* 1966, 0x0601, 0x0070 */ |
4878 | | "Batch Size\0" /* 1967, 0x0601, 0x0071 */ |
4879 | | "Batch Slice Number\0" /* 1968, 0x0601, 0x0072 */ |
4880 | | "?\0" /* 1969, 0x1000, 0x0000 */ |
4881 | | "Run Length Triplet\0" /* 1970, 0x1000, 0x0001 */ |
4882 | | "Huffman Table Size\0" /* 1971, 0x1000, 0x0002 */ |
4883 | | "Huffman Table Triplet\0" /* 1972, 0x1000, 0x0003 */ |
4884 | | "Shift Table Size\0" /* 1973, 0x1000, 0x0004 */ |
4885 | | "Shift Table Triplet\0" /* 1974, 0x1000, 0x0005 */ |
4886 | | "?\0" /* 1975, 0x1010, 0x0000 */ |
4887 | | "?\0" /* 1976, 0x1369, 0x0000 */ |
4888 | | "Film Session Group Length\0" /* 1977, 0x2000, 0x0000 */ |
4889 | | "Number of Copies\0" /* 1978, 0x2000, 0x0010 */ |
4890 | | "Print Priority\0" /* 1979, 0x2000, 0x0020 */ |
4891 | | "Medium Type\0" /* 1980, 0x2000, 0x0030 */ |
4892 | | "Film Destination\0" /* 1981, 0x2000, 0x0040 */ |
4893 | | "Film Session Label\0" /* 1982, 0x2000, 0x0050 */ |
4894 | | "Memory Allocation\0" /* 1983, 0x2000, 0x0060 */ |
4895 | | "Referenced Film Box Sequence\0" /* 1984, 0x2000, 0x0500 */ |
4896 | | "Film Box Group Length\0" /* 1985, 0x2010, 0x0000 */ |
4897 | | "Image Display Format\0" /* 1986, 0x2010, 0x0010 */ |
4898 | | "Annotation Display Format ID\0" /* 1987, 0x2010, 0x0030 */ |
4899 | | "Film Orientation\0" /* 1988, 0x2010, 0x0040 */ |
4900 | | "Film Size ID\0" /* 1989, 0x2010, 0x0050 */ |
4901 | | "Magnification Type\0" /* 1990, 0x2010, 0x0060 */ |
4902 | | "Smoothing Type\0" /* 1991, 0x2010, 0x0080 */ |
4903 | | "Border Density\0" /* 1992, 0x2010, 0x0100 */ |
4904 | | "Empty Image Density\0" /* 1993, 0x2010, 0x0110 */ |
4905 | | "Min Density\0" /* 1994, 0x2010, 0x0120 */ |
4906 | | "Max Density\0" /* 1995, 0x2010, 0x0130 */ |
4907 | | "Trim\0" /* 1996, 0x2010, 0x0140 */ |
4908 | | "Configuration Information\0" /* 1997, 0x2010, 0x0150 */ |
4909 | | "Referenced Film Session Sequence\0" /* 1998, 0x2010, 0x0500 */ |
4910 | | "Referenced Image Box Sequence\0" /* 1999, 0x2010, 0x0510 */ |
4911 | | "Referenced Basic Annotation Box Sequence\0" /* 2000, 0x2010, 0x0520 */ |
4912 | | "Image Box Group Length\0" /* 2001, 0x2020, 0x0000 */ |
4913 | | "Image Box Position\0" /* 2002, 0x2020, 0x0010 */ |
4914 | | "Polarity\0" /* 2003, 0x2020, 0x0020 */ |
4915 | | "Requested Image Size\0" /* 2004, 0x2020, 0x0030 */ |
4916 | | "Preformatted Grayscale Image Sequence\0" /* 2005, 0x2020, 0x0110 */ |
4917 | | "Preformatted Color Image Sequence\0" /* 2006, 0x2020, 0x0111 */ |
4918 | | "Referenced Image Overlay Box Sequence\0" /* 2007, 0x2020, 0x0130 */ |
4919 | | "Referenced VOI LUT Box Sequence\0" /* 2008, 0x2020, 0x0140 */ |
4920 | | "Annotation Group Length\0" /* 2009, 0x2030, 0x0000 */ |
4921 | | "Annotation Position\0" /* 2010, 0x2030, 0x0010 */ |
4922 | | "Text String\0" /* 2011, 0x2030, 0x0020 */ |
4923 | | "Overlay Box Group Length\0" /* 2012, 0x2040, 0x0000 */ |
4924 | | "Referenced Overlay Plane Sequence\0" /* 2013, 0x2040, 0x0010 */ |
4925 | | "Referenced Overlay Plane Groups\0" /* 2014, 0x2040, 0x0011 */ |
4926 | | "Overlay Magnification Type\0" /* 2015, 0x2040, 0x0060 */ |
4927 | | "Overlay Smoothing Type\0" /* 2016, 0x2040, 0x0070 */ |
4928 | | "Overlay Foreground Density\0" /* 2017, 0x2040, 0x0080 */ |
4929 | | "Overlay Mode\0" /* 2018, 0x2040, 0x0090 */ |
4930 | | "Threshold Density\0" /* 2019, 0x2040, 0x0100 */ |
4931 | | "Referenced Overlay Image Box Sequence\0" /* 2020, 0x2040, 0x0500 */ |
4932 | | "Presentation LUT Sequence\0" /* 2021, 0x2050, 0x0010 */ |
4933 | | "Presentation LUT Shape\0" /* 2022, 0x2050, 0x0020 */ |
4934 | | "Print Job Group Length\0" /* 2023, 0x2100, 0x0000 */ |
4935 | | "Execution Status\0" /* 2024, 0x2100, 0x0020 */ |
4936 | | "Execution Status Info\0" /* 2025, 0x2100, 0x0030 */ |
4937 | | "Creation Date\0" /* 2026, 0x2100, 0x0040 */ |
4938 | | "Creation Time\0" /* 2027, 0x2100, 0x0050 */ |
4939 | | "Originator\0" /* 2028, 0x2100, 0x0070 */ |
4940 | | "Referenced Print Job Sequence\0" /* 2029, 0x2100, 0x0500 */ |
4941 | | "Printer Group Length\0" /* 2030, 0x2110, 0x0000 */ |
4942 | | "Printer Status\0" /* 2031, 0x2110, 0x0010 */ |
4943 | | "Printer Status Info\0" /* 2032, 0x2110, 0x0020 */ |
4944 | | "Printer Name\0" /* 2033, 0x2110, 0x0030 */ |
4945 | | "Print Queue ID\0" /* 2034, 0x2110, 0x0099 */ |
4946 | | "RT Image Label\0" /* 2035, 0x3002, 0x0002 */ |
4947 | | "RT Image Name\0" /* 2036, 0x3002, 0x0003 */ |
4948 | | "RT Image Description\0" /* 2037, 0x3002, 0x0004 */ |
4949 | | "Reported Values Origin\0" /* 2038, 0x3002, 0x000a */ |
4950 | | "RT Image Plane\0" /* 2039, 0x3002, 0x000c */ |
4951 | | "X-Ray Image Receptor Angle\0" /* 2040, 0x3002, 0x000e */ |
4952 | | "RTImageOrientation\0" /* 2041, 0x3002, 0x0010 */ |
4953 | | "Image Plane Pixel Spacing\0" /* 2042, 0x3002, 0x0011 */ |
4954 | | "RT Image Position\0" /* 2043, 0x3002, 0x0012 */ |
4955 | | "Radiation Machine Name\0" /* 2044, 0x3002, 0x0020 */ |
4956 | | "Radiation Machine SAD\0" /* 2045, 0x3002, 0x0022 */ |
4957 | | "Radiation Machine SSD\0" /* 2046, 0x3002, 0x0024 */ |
4958 | | "RT Image SID\0" /* 2047, 0x3002, 0x0026 */ |
4959 | | "Source to Reference Object Distance\0" /* 2048, 0x3002, 0x0028 */ |
4960 | | "Fraction Number\0" /* 2049, 0x3002, 0x0029 */ |
4961 | | "Exposure Sequence\0" /* 2050, 0x3002, 0x0030 */ |
4962 | | "Meterset Exposure\0" /* 2051, 0x3002, 0x0032 */ |
4963 | | "DVH Type\0" /* 2052, 0x3004, 0x0001 */ |
4964 | | "Dose Units\0" /* 2053, 0x3004, 0x0002 */ |
4965 | | "Dose Type\0" /* 2054, 0x3004, 0x0004 */ |
4966 | | "Dose Comment\0" /* 2055, 0x3004, 0x0006 */ |
4967 | | "Normalization Point\0" /* 2056, 0x3004, 0x0008 */ |
4968 | | "Dose Summation Type\0" /* 2057, 0x3004, 0x000a */ |
4969 | | "GridFrame Offset Vector\0" /* 2058, 0x3004, 0x000c */ |
4970 | | "Dose Grid Scaling\0" /* 2059, 0x3004, 0x000e */ |
4971 | | "RT Dose ROI Sequence\0" /* 2060, 0x3004, 0x0010 */ |
4972 | | "Dose Value\0" /* 2061, 0x3004, 0x0012 */ |
4973 | | "DVH Normalization Point\0" /* 2062, 0x3004, 0x0040 */ |
4974 | | "DVH Normalization Dose Value\0" /* 2063, 0x3004, 0x0042 */ |
4975 | | "DVH Sequence\0" /* 2064, 0x3004, 0x0050 */ |
4976 | | "DVH Dose Scaling\0" /* 2065, 0x3004, 0x0052 */ |
4977 | | "DVH Volume Units\0" /* 2066, 0x3004, 0x0054 */ |
4978 | | "DVH Number of Bins\0" /* 2067, 0x3004, 0x0056 */ |
4979 | | "DVH Data\0" /* 2068, 0x3004, 0x0058 */ |
4980 | | "DVH Referenced ROI Sequence\0" /* 2069, 0x3004, 0x0060 */ |
4981 | | "DVH ROI Contribution Type\0" /* 2070, 0x3004, 0x0062 */ |
4982 | | "DVH Minimum Dose\0" /* 2071, 0x3004, 0x0070 */ |
4983 | | "DVH Maximum Dose\0" /* 2072, 0x3004, 0x0072 */ |
4984 | | "DVH Mean Dose\0" /* 2073, 0x3004, 0x0074 */ |
4985 | | "Structure Set Label\0" /* 2074, 0x3006, 0x0002 */ |
4986 | | "Structure Set Name\0" /* 2075, 0x3006, 0x0004 */ |
4987 | | "Structure Set Description\0" /* 2076, 0x3006, 0x0006 */ |
4988 | | "Structure Set Date\0" /* 2077, 0x3006, 0x0008 */ |
4989 | | "Structure Set Time\0" /* 2078, 0x3006, 0x0009 */ |
4990 | | "Referenced Frame of Reference Sequence\0" /* 2079, 0x3006, 0x0010 */ |
4991 | | "RT Referenced Study Sequence\0" /* 2080, 0x3006, 0x0012 */ |
4992 | | "RT Referenced Series Sequence\0" /* 2081, 0x3006, 0x0014 */ |
4993 | | "Contour Image Sequence\0" /* 2082, 0x3006, 0x0016 */ |
4994 | | "Structure Set ROI Sequence\0" /* 2083, 0x3006, 0x0020 */ |
4995 | | "ROI Number\0" /* 2084, 0x3006, 0x0022 */ |
4996 | | "Referenced Frame of Reference UID\0" /* 2085, 0x3006, 0x0024 */ |
4997 | | "ROI Name\0" /* 2086, 0x3006, 0x0026 */ |
4998 | | "ROI Description\0" /* 2087, 0x3006, 0x0028 */ |
4999 | | "ROI Display Color\0" /* 2088, 0x3006, 0x002a */ |
5000 | | "ROI Volume\0" /* 2089, 0x3006, 0x002c */ |
5001 | | "RT Related ROI Sequence\0" /* 2090, 0x3006, 0x0030 */ |
5002 | | "RT ROI Relationship\0" /* 2091, 0x3006, 0x0033 */ |
5003 | | "ROI Generation Algorithm\0" /* 2092, 0x3006, 0x0036 */ |
5004 | | "ROI Generation Description\0" /* 2093, 0x3006, 0x0038 */ |
5005 | | "ROI Contour Sequence\0" /* 2094, 0x3006, 0x0039 */ |
5006 | | "Contour Sequence\0" /* 2095, 0x3006, 0x0040 */ |
5007 | | "Contour Geometric Type\0" /* 2096, 0x3006, 0x0042 */ |
5008 | | "Contour SlabT hickness\0" /* 2097, 0x3006, 0x0044 */ |
5009 | | "Contour Offset Vector\0" /* 2098, 0x3006, 0x0045 */ |
5010 | | "Number of Contour Points\0" /* 2099, 0x3006, 0x0046 */ |
5011 | | "Contour Data\0" /* 2100, 0x3006, 0x0050 */ |
5012 | | "RT ROI Observations Sequence\0" /* 2101, 0x3006, 0x0080 */ |
5013 | | "Observation Number\0" /* 2102, 0x3006, 0x0082 */ |
5014 | | "Referenced ROI Number\0" /* 2103, 0x3006, 0x0084 */ |
5015 | | "ROI Observation Label\0" /* 2104, 0x3006, 0x0085 */ |
5016 | | "RT ROI Identification Code Sequence\0" /* 2105, 0x3006, 0x0086 */ |
5017 | | "ROI Observation Description\0" /* 2106, 0x3006, 0x0088 */ |
5018 | | "Related RT ROI Observations Sequence\0" /* 2107, 0x3006, 0x00a0 */ |
5019 | | "RT ROI Interpreted Type\0" /* 2108, 0x3006, 0x00a4 */ |
5020 | | "ROI Interpreter\0" /* 2109, 0x3006, 0x00a6 */ |
5021 | | "ROI Physical Properties Sequence\0" /* 2110, 0x3006, 0x00b0 */ |
5022 | | "ROI Physical Property\0" /* 2111, 0x3006, 0x00b2 */ |
5023 | | "ROI Physical Property Value\0" /* 2112, 0x3006, 0x00b4 */ |
5024 | | "Frame of Reference Relationship Sequence\0" /* 2113, 0x3006, 0x00c0 */ |
5025 | | "Related Frame of Reference UID\0" /* 2114, 0x3006, 0x00c2 */ |
5026 | | "Frame of Reference Transformation Type\0" /* 2115, 0x3006, 0x00c4 */ |
5027 | | "Frame of Reference Transformation Matrix\0" /* 2116, 0x3006, 0x00c6 */ |
5028 | | "Frame of Reference Transformation Comment\0" /* 2117, 0x3006, 0x00c8 */ |
5029 | | "RT Plan Label\0" /* 2118, 0x300a, 0x0002 */ |
5030 | | "RT Plan Name\0" /* 2119, 0x300a, 0x0003 */ |
5031 | | "RT Plan Description\0" /* 2120, 0x300a, 0x0004 */ |
5032 | | "RT Plan Date\0" /* 2121, 0x300a, 0x0006 */ |
5033 | | "RT Plan Time\0" /* 2122, 0x300a, 0x0007 */ |
5034 | | "Treatment Protocols\0" /* 2123, 0x300a, 0x0009 */ |
5035 | | "Treatment Intent\0" /* 2124, 0x300a, 0x000a */ |
5036 | | "Treatment Sites\0" /* 2125, 0x300a, 0x000b */ |
5037 | | "RT Plan Geometry\0" /* 2126, 0x300a, 0x000c */ |
5038 | | "Prescription Description\0" /* 2127, 0x300a, 0x000e */ |
5039 | | "Dose ReferenceSequence\0" /* 2128, 0x300a, 0x0010 */ |
5040 | | "Dose ReferenceNumber\0" /* 2129, 0x300a, 0x0012 */ |
5041 | | "Dose Reference Structure Type\0" /* 2130, 0x300a, 0x0014 */ |
5042 | | "Dose ReferenceDescription\0" /* 2131, 0x300a, 0x0016 */ |
5043 | | "Dose Reference Point Coordinates\0" /* 2132, 0x300a, 0x0018 */ |
5044 | | "Nominal Prior Dose\0" /* 2133, 0x300a, 0x001a */ |
5045 | | "Dose Reference Type\0" /* 2134, 0x300a, 0x0020 */ |
5046 | | "Constraint Weight\0" /* 2135, 0x300a, 0x0021 */ |
5047 | | "Delivery Warning Dose\0" /* 2136, 0x300a, 0x0022 */ |
5048 | | "Delivery Maximum Dose\0" /* 2137, 0x300a, 0x0023 */ |
5049 | | "Target Minimum Dose\0" /* 2138, 0x300a, 0x0025 */ |
5050 | | "Target Prescription Dose\0" /* 2139, 0x300a, 0x0026 */ |
5051 | | "Target Maximum Dose\0" /* 2140, 0x300a, 0x0027 */ |
5052 | | "Target Underdose Volume Fraction\0" /* 2141, 0x300a, 0x0028 */ |
5053 | | "Organ at Risk Full-volume Dose\0" /* 2142, 0x300a, 0x002a */ |
5054 | | "Organ at Risk Limit Dose\0" /* 2143, 0x300a, 0x002b */ |
5055 | | "Organ at Risk Maximum Dose\0" /* 2144, 0x300a, 0x002c */ |
5056 | | "Organ at Risk Overdose Volume Fraction\0" /* 2145, 0x300a, 0x002d */ |
5057 | | "Tolerance Table Sequence\0" /* 2146, 0x300a, 0x0040 */ |
5058 | | "Tolerance Table Number\0" /* 2147, 0x300a, 0x0042 */ |
5059 | | "Tolerance Table Label\0" /* 2148, 0x300a, 0x0043 */ |
5060 | | "Gantry Angle Tolerance\0" /* 2149, 0x300a, 0x0044 */ |
5061 | | "Beam Limiting Device Angle Tolerance\0" /* 2150, 0x300a, 0x0046 */ |
5062 | | "Beam Limiting Device Tolerance Sequence\0" /* 2151, 0x300a, 0x0048 */ |
5063 | | "Beam Limiting Device Position Tolerance\0" /* 2152, 0x300a, 0x004a */ |
5064 | | "Patient Support Angle Tolerance\0" /* 2153, 0x300a, 0x004c */ |
5065 | | "Table Top Eccentric Angle Tolerance\0" /* 2154, 0x300a, 0x004e */ |
5066 | | "Table Top Vertical Position Tolerance\0" /* 2155, 0x300a, 0x0051 */ |
5067 | | "Table Top Longitudinal Position Tolerance\0" /* 2156, 0x300a, 0x0052 */ |
5068 | | "Table Top Lateral Position Tolerance\0" /* 2157, 0x300a, 0x0053 */ |
5069 | | "RT Plan Relationship\0" /* 2158, 0x300a, 0x0055 */ |
5070 | | "Fraction Group Sequence\0" /* 2159, 0x300a, 0x0070 */ |
5071 | | "Fraction Group Number\0" /* 2160, 0x300a, 0x0071 */ |
5072 | | "Number of Fractions Planned\0" /* 2161, 0x300a, 0x0078 */ |
5073 | | "Number of Fractions Per Day\0" /* 2162, 0x300a, 0x0079 */ |
5074 | | "Repeat Fraction Cycle Length\0" /* 2163, 0x300a, 0x007a */ |
5075 | | "Fraction Pattern\0" /* 2164, 0x300a, 0x007b */ |
5076 | | "Number of Beams\0" /* 2165, 0x300a, 0x0080 */ |
5077 | | "Beam Dose Specification Point\0" /* 2166, 0x300a, 0x0082 */ |
5078 | | "Beam Dose\0" /* 2167, 0x300a, 0x0084 */ |
5079 | | "Beam Meterset\0" /* 2168, 0x300a, 0x0086 */ |
5080 | | "Number of Brachy Application Setups\0" /* 2169, 0x300a, 0x00a0 */ |
5081 | | "Brachy Application Setup Dose Specification Point\0" /* 2170, 0x300a, 0x00a2 */ |
5082 | | "Brachy Application Setup Dose\0" /* 2171, 0x300a, 0x00a4 */ |
5083 | | "Beam Sequence\0" /* 2172, 0x300a, 0x00b0 */ |
5084 | | "Treatment Machine Name \0" /* 2173, 0x300a, 0x00b2 */ |
5085 | | "Primary Dosimeter Unit\0" /* 2174, 0x300a, 0x00b3 */ |
5086 | | "Source-Axis Distance\0" /* 2175, 0x300a, 0x00b4 */ |
5087 | | "Beam Limiting Device Sequence\0" /* 2176, 0x300a, 0x00b6 */ |
5088 | | "RT Beam Limiting Device Type\0" /* 2177, 0x300a, 0x00b8 */ |
5089 | | "Source to Beam Limiting Device Distance\0" /* 2178, 0x300a, 0x00ba */ |
5090 | | "Number of Leaf/Jaw Pairs\0" /* 2179, 0x300a, 0x00bc */ |
5091 | | "Leaf Position Boundaries\0" /* 2180, 0x300a, 0x00be */ |
5092 | | "Beam Number\0" /* 2181, 0x300a, 0x00c0 */ |
5093 | | "Beam Name\0" /* 2182, 0x300a, 0x00c2 */ |
5094 | | "Beam Description\0" /* 2183, 0x300a, 0x00c3 */ |
5095 | | "Beam Type\0" /* 2184, 0x300a, 0x00c4 */ |
5096 | | "Radiation Type\0" /* 2185, 0x300a, 0x00c6 */ |
5097 | | "Reference Image Number\0" /* 2186, 0x300a, 0x00c8 */ |
5098 | | "Planned Verification Image Sequence\0" /* 2187, 0x300a, 0x00ca */ |
5099 | | "Imaging Device Specific Acquisition Parameters\0" /* 2188, 0x300a, 0x00cc */ |
5100 | | "Treatment Delivery Type\0" /* 2189, 0x300a, 0x00ce */ |
5101 | | "Number of Wedges\0" /* 2190, 0x300a, 0x00d0 */ |
5102 | | "Wedge Sequence\0" /* 2191, 0x300a, 0x00d1 */ |
5103 | | "Wedge Number\0" /* 2192, 0x300a, 0x00d2 */ |
5104 | | "Wedge Type\0" /* 2193, 0x300a, 0x00d3 */ |
5105 | | "Wedge ID\0" /* 2194, 0x300a, 0x00d4 */ |
5106 | | "Wedge Angle\0" /* 2195, 0x300a, 0x00d5 */ |
5107 | | "Wedge Factor\0" /* 2196, 0x300a, 0x00d6 */ |
5108 | | "Wedge Orientation\0" /* 2197, 0x300a, 0x00d8 */ |
5109 | | "Source to Wedge Tray Distance\0" /* 2198, 0x300a, 0x00da */ |
5110 | | "Number of Compensators\0" /* 2199, 0x300a, 0x00e0 */ |
5111 | | "Material ID\0" /* 2200, 0x300a, 0x00e1 */ |
5112 | | "Total Compensator Tray Factor\0" /* 2201, 0x300a, 0x00e2 */ |
5113 | | "Compensator Sequence\0" /* 2202, 0x300a, 0x00e3 */ |
5114 | | "Compensator Number\0" /* 2203, 0x300a, 0x00e4 */ |
5115 | | "Compensator ID\0" /* 2204, 0x300a, 0x00e5 */ |
5116 | | "Source to Compensator Tray Distance\0" /* 2205, 0x300a, 0x00e6 */ |
5117 | | "Compensator Rows\0" /* 2206, 0x300a, 0x00e7 */ |
5118 | | "Compensator Columns\0" /* 2207, 0x300a, 0x00e8 */ |
5119 | | "Compensator Pixel Spacing\0" /* 2208, 0x300a, 0x00e9 */ |
5120 | | "Compensator Position\0" /* 2209, 0x300a, 0x00ea */ |
5121 | | "Compensator Transmission Data\0" /* 2210, 0x300a, 0x00eb */ |
5122 | | "Compensator Thickness Data\0" /* 2211, 0x300a, 0x00ec */ |
5123 | | "Number of Boli\0" /* 2212, 0x300a, 0x00ed */ |
5124 | | "Number of Blocks\0" /* 2213, 0x300a, 0x00f0 */ |
5125 | | "Total Block Tray Factor\0" /* 2214, 0x300a, 0x00f2 */ |
5126 | | "Block Sequence\0" /* 2215, 0x300a, 0x00f4 */ |
5127 | | "Block Tray ID\0" /* 2216, 0x300a, 0x00f5 */ |
5128 | | "Source to Block Tray Distance\0" /* 2217, 0x300a, 0x00f6 */ |
5129 | | "Block Type\0" /* 2218, 0x300a, 0x00f8 */ |
5130 | | "Block Divergence\0" /* 2219, 0x300a, 0x00fa */ |
5131 | | "Block Number\0" /* 2220, 0x300a, 0x00fc */ |
5132 | | "Block Name\0" /* 2221, 0x300a, 0x00fe */ |
5133 | | "Block Thickness\0" /* 2222, 0x300a, 0x0100 */ |
5134 | | "Block Transmission\0" /* 2223, 0x300a, 0x0102 */ |
5135 | | "Block Number of Points\0" /* 2224, 0x300a, 0x0104 */ |
5136 | | "Block Data\0" /* 2225, 0x300a, 0x0106 */ |
5137 | | "Applicator Sequence\0" /* 2226, 0x300a, 0x0107 */ |
5138 | | "Applicator ID\0" /* 2227, 0x300a, 0x0108 */ |
5139 | | "Applicator Type\0" /* 2228, 0x300a, 0x0109 */ |
5140 | | "Applicator Description\0" /* 2229, 0x300a, 0x010a */ |
5141 | | "Cumulative Dose Reference Coefficient\0" /* 2230, 0x300a, 0x010c */ |
5142 | | "Final Cumulative Meterset Weight\0" /* 2231, 0x300a, 0x010e */ |
5143 | | "Number of Control Points\0" /* 2232, 0x300a, 0x0110 */ |
5144 | | "Control Point Sequence\0" /* 2233, 0x300a, 0x0111 */ |
5145 | | "Control Point Index\0" /* 2234, 0x300a, 0x0112 */ |
5146 | | "Nominal Beam Energy\0" /* 2235, 0x300a, 0x0114 */ |
5147 | | "Dose Rate Set\0" /* 2236, 0x300a, 0x0115 */ |
5148 | | "Wedge Position Sequence\0" /* 2237, 0x300a, 0x0116 */ |
5149 | | "Wedge Position\0" /* 2238, 0x300a, 0x0118 */ |
5150 | | "Beam Limiting Device Position Sequence\0" /* 2239, 0x300a, 0x011a */ |
5151 | | "Leaf Jaw Positions\0" /* 2240, 0x300a, 0x011c */ |
5152 | | "Gantry Angle\0" /* 2241, 0x300a, 0x011e */ |
5153 | | "Gantry Rotation Direction\0" /* 2242, 0x300a, 0x011f */ |
5154 | | "Beam Limiting Device Angle\0" /* 2243, 0x300a, 0x0120 */ |
5155 | | "Beam Limiting Device Rotation Direction\0" /* 2244, 0x300a, 0x0121 */ |
5156 | | "Patient Support Angle\0" /* 2245, 0x300a, 0x0122 */ |
5157 | | "Patient Support Rotation Direction\0" /* 2246, 0x300a, 0x0123 */ |
5158 | | "Table Top Eccentric Axis Distance\0" /* 2247, 0x300a, 0x0124 */ |
5159 | | "Table Top Eccentric Angle\0" /* 2248, 0x300a, 0x0125 */ |
5160 | | "Table Top Eccentric Rotation Direction\0" /* 2249, 0x300a, 0x0126 */ |
5161 | | "Table Top Vertical Position\0" /* 2250, 0x300a, 0x0128 */ |
5162 | | "Table Top Longitudinal Position\0" /* 2251, 0x300a, 0x0129 */ |
5163 | | "Table Top Lateral Position\0" /* 2252, 0x300a, 0x012a */ |
5164 | | "Isocenter Position\0" /* 2253, 0x300a, 0x012c */ |
5165 | | "Surface Entry Point\0" /* 2254, 0x300a, 0x012e */ |
5166 | | "Source to Surface Distance\0" /* 2255, 0x300a, 0x0130 */ |
5167 | | "Cumulative Meterset Weight\0" /* 2256, 0x300a, 0x0134 */ |
5168 | | "Patient Setup Sequence\0" /* 2257, 0x300a, 0x0180 */ |
5169 | | "Patient Setup Number\0" /* 2258, 0x300a, 0x0182 */ |
5170 | | "Patient Additional Position\0" /* 2259, 0x300a, 0x0184 */ |
5171 | | "Fixation Device Sequence\0" /* 2260, 0x300a, 0x0190 */ |
5172 | | "Fixation Device Type\0" /* 2261, 0x300a, 0x0192 */ |
5173 | | "Fixation Device Label\0" /* 2262, 0x300a, 0x0194 */ |
5174 | | "Fixation Device Description\0" /* 2263, 0x300a, 0x0196 */ |
5175 | | "Fixation Device Position\0" /* 2264, 0x300a, 0x0198 */ |
5176 | | "Shielding Device Sequence\0" /* 2265, 0x300a, 0x01a0 */ |
5177 | | "Shielding Device Type\0" /* 2266, 0x300a, 0x01a2 */ |
5178 | | "Shielding Device Label\0" /* 2267, 0x300a, 0x01a4 */ |
5179 | | "Shielding Device Description\0" /* 2268, 0x300a, 0x01a6 */ |
5180 | | "Shielding Device Position\0" /* 2269, 0x300a, 0x01a8 */ |
5181 | | "Setup Technique\0" /* 2270, 0x300a, 0x01b0 */ |
5182 | | "Setup TechniqueDescription\0" /* 2271, 0x300a, 0x01b2 */ |
5183 | | "Setup Device Sequence\0" /* 2272, 0x300a, 0x01b4 */ |
5184 | | "Setup Device Type\0" /* 2273, 0x300a, 0x01b6 */ |
5185 | | "Setup Device Label\0" /* 2274, 0x300a, 0x01b8 */ |
5186 | | "Setup Device Description\0" /* 2275, 0x300a, 0x01ba */ |
5187 | | "Setup Device Parameter\0" /* 2276, 0x300a, 0x01bc */ |
5188 | | "Setup ReferenceDescription\0" /* 2277, 0x300a, 0x01d0 */ |
5189 | | "Table Top Vertical Setup Displacement\0" /* 2278, 0x300a, 0x01d2 */ |
5190 | | "Table Top Longitudinal Setup Displacement\0" /* 2279, 0x300a, 0x01d4 */ |
5191 | | "Table Top Lateral Setup Displacement\0" /* 2280, 0x300a, 0x01d6 */ |
5192 | | "Brachy Treatment Technique\0" /* 2281, 0x300a, 0x0200 */ |
5193 | | "Brachy Treatment Type\0" /* 2282, 0x300a, 0x0202 */ |
5194 | | "Treatment Machine Sequence\0" /* 2283, 0x300a, 0x0206 */ |
5195 | | "Source Sequence\0" /* 2284, 0x300a, 0x0210 */ |
5196 | | "Source Number\0" /* 2285, 0x300a, 0x0212 */ |
5197 | | "Source Type\0" /* 2286, 0x300a, 0x0214 */ |
5198 | | "Source Manufacturer\0" /* 2287, 0x300a, 0x0216 */ |
5199 | | "Active Source Diameter\0" /* 2288, 0x300a, 0x0218 */ |
5200 | | "Active Source Length\0" /* 2289, 0x300a, 0x021a */ |
5201 | | "Source Encapsulation Nominal Thickness\0" /* 2290, 0x300a, 0x0222 */ |
5202 | | "Source Encapsulation Nominal Transmission\0" /* 2291, 0x300a, 0x0224 */ |
5203 | | "Source IsotopeName\0" /* 2292, 0x300a, 0x0226 */ |
5204 | | "Source Isotope Half Life\0" /* 2293, 0x300a, 0x0228 */ |
5205 | | "Reference Air Kerma Rate\0" /* 2294, 0x300a, 0x022a */ |
5206 | | "Air Kerma Rate Reference Date\0" /* 2295, 0x300a, 0x022c */ |
5207 | | "Air Kerma Rate Reference Time\0" /* 2296, 0x300a, 0x022e */ |
5208 | | "Application Setup Sequence\0" /* 2297, 0x300a, 0x0230 */ |
5209 | | "Application Setup Type\0" /* 2298, 0x300a, 0x0232 */ |
5210 | | "Application Setup Number\0" /* 2299, 0x300a, 0x0234 */ |
5211 | | "Application Setup Name\0" /* 2300, 0x300a, 0x0236 */ |
5212 | | "Application Setup Manufacturer\0" /* 2301, 0x300a, 0x0238 */ |
5213 | | "Template Number\0" /* 2302, 0x300a, 0x0240 */ |
5214 | | "Template Type\0" /* 2303, 0x300a, 0x0242 */ |
5215 | | "Template Name\0" /* 2304, 0x300a, 0x0244 */ |
5216 | | "Total Reference Air Kerma\0" /* 2305, 0x300a, 0x0250 */ |
5217 | | "Brachy Accessory Device Sequence\0" /* 2306, 0x300a, 0x0260 */ |
5218 | | "Brachy Accessory Device Number\0" /* 2307, 0x300a, 0x0262 */ |
5219 | | "Brachy Accessory Device ID\0" /* 2308, 0x300a, 0x0263 */ |
5220 | | "Brachy Accessory Device Type\0" /* 2309, 0x300a, 0x0264 */ |
5221 | | "Brachy Accessory Device Name\0" /* 2310, 0x300a, 0x0266 */ |
5222 | | "Brachy Accessory Device Nominal Thickness\0" /* 2311, 0x300a, 0x026a */ |
5223 | | "Brachy Accessory Device Nominal Transmission\0" /* 2312, 0x300a, 0x026c */ |
5224 | | "Channel Sequence\0" /* 2313, 0x300a, 0x0280 */ |
5225 | | "Channel Number\0" /* 2314, 0x300a, 0x0282 */ |
5226 | | "Channel Length\0" /* 2315, 0x300a, 0x0284 */ |
5227 | | "Channel Total Time\0" /* 2316, 0x300a, 0x0286 */ |
5228 | | "Source Movement Type\0" /* 2317, 0x300a, 0x0288 */ |
5229 | | "Number of Pulses\0" /* 2318, 0x300a, 0x028a */ |
5230 | | "Pulse Repetition Interval\0" /* 2319, 0x300a, 0x028c */ |
5231 | | "Source Applicator Number\0" /* 2320, 0x300a, 0x0290 */ |
5232 | | "Source Applicator ID\0" /* 2321, 0x300a, 0x0291 */ |
5233 | | "Source Applicator Type\0" /* 2322, 0x300a, 0x0292 */ |
5234 | | "Source Applicator Name\0" /* 2323, 0x300a, 0x0294 */ |
5235 | | "Source Applicator Length\0" /* 2324, 0x300a, 0x0296 */ |
5236 | | "Source Applicator Manufacturer\0" /* 2325, 0x300a, 0x0298 */ |
5237 | | "Source Applicator Wall Nominal Thickness\0" /* 2326, 0x300a, 0x029c */ |
5238 | | "Source Applicator Wall Nominal Transmission\0" /* 2327, 0x300a, 0x029e */ |
5239 | | "Source Applicator Step Size\0" /* 2328, 0x300a, 0x02a0 */ |
5240 | | "Transfer Tube Number\0" /* 2329, 0x300a, 0x02a2 */ |
5241 | | "Transfer Tube Length\0" /* 2330, 0x300a, 0x02a4 */ |
5242 | | "Channel Shield Sequence\0" /* 2331, 0x300a, 0x02b0 */ |
5243 | | "Channel Shield Number\0" /* 2332, 0x300a, 0x02b2 */ |
5244 | | "Channel Shield ID\0" /* 2333, 0x300a, 0x02b3 */ |
5245 | | "Channel Shield Name\0" /* 2334, 0x300a, 0x02b4 */ |
5246 | | "Channel Shield Nominal Thickness\0" /* 2335, 0x300a, 0x02b8 */ |
5247 | | "Channel Shield Nominal Transmission\0" /* 2336, 0x300a, 0x02ba */ |
5248 | | "Final Cumulative Time Weight\0" /* 2337, 0x300a, 0x02c8 */ |
5249 | | "Brachy Control Point Sequence\0" /* 2338, 0x300a, 0x02d0 */ |
5250 | | "Control Point Relative Position\0" /* 2339, 0x300a, 0x02d2 */ |
5251 | | "Control Point 3D Position\0" /* 2340, 0x300a, 0x02d4 */ |
5252 | | "Cumulative Time Weight\0" /* 2341, 0x300a, 0x02d6 */ |
5253 | | "Referenced RT Plan Sequence\0" /* 2342, 0x300c, 0x0002 */ |
5254 | | "Referenced Beam Sequence\0" /* 2343, 0x300c, 0x0004 */ |
5255 | | "Referenced Beam Number\0" /* 2344, 0x300c, 0x0006 */ |
5256 | | "Referenced Reference Image Number\0" /* 2345, 0x300c, 0x0007 */ |
5257 | | "Start Cumulative Meterset Weight\0" /* 2346, 0x300c, 0x0008 */ |
5258 | | "End Cumulative Meterset Weight\0" /* 2347, 0x300c, 0x0009 */ |
5259 | | "Referenced Brachy Application Setup Sequence\0" /* 2348, 0x300c, 0x000a */ |
5260 | | "Referenced Brachy Application Setup Number\0" /* 2349, 0x300c, 0x000c */ |
5261 | | "Referenced Source Number\0" /* 2350, 0x300c, 0x000e */ |
5262 | | "Referenced Fraction Group Sequence\0" /* 2351, 0x300c, 0x0020 */ |
5263 | | "Referenced Fraction Group Number\0" /* 2352, 0x300c, 0x0022 */ |
5264 | | "Referenced Verification Image Sequence\0" /* 2353, 0x300c, 0x0040 */ |
5265 | | "Referenced Reference Image Sequence\0" /* 2354, 0x300c, 0x0042 */ |
5266 | | "Referenced Dose Reference Sequence\0" /* 2355, 0x300c, 0x0050 */ |
5267 | | "Referenced Dose Reference Number\0" /* 2356, 0x300c, 0x0051 */ |
5268 | | "Brachy Referenced Dose Reference Sequence\0" /* 2357, 0x300c, 0x0055 */ |
5269 | | "Referenced Structure Set Sequence\0" /* 2358, 0x300c, 0x0060 */ |
5270 | | "Referenced Patient Setup Number\0" /* 2359, 0x300c, 0x006a */ |
5271 | | "Referenced Dose Sequence\0" /* 2360, 0x300c, 0x0080 */ |
5272 | | "Referenced Tolerance Table Number\0" /* 2361, 0x300c, 0x00a0 */ |
5273 | | "Referenced Bolus Sequence\0" /* 2362, 0x300c, 0x00b0 */ |
5274 | | "Referenced Wedge Number\0" /* 2363, 0x300c, 0x00c0 */ |
5275 | | "Referenced Compensato rNumber\0" /* 2364, 0x300c, 0x00d0 */ |
5276 | | "Referenced Block Number\0" /* 2365, 0x300c, 0x00e0 */ |
5277 | | "Referenced Control Point\0" /* 2366, 0x300c, 0x00f0 */ |
5278 | | "Approval Status\0" /* 2367, 0x300e, 0x0002 */ |
5279 | | "Review Date\0" /* 2368, 0x300e, 0x0004 */ |
5280 | | "Review Time\0" /* 2369, 0x300e, 0x0005 */ |
5281 | | "Reviewer Name\0" /* 2370, 0x300e, 0x0008 */ |
5282 | | "Text Group Length\0" /* 2371, 0x4000, 0x0000 */ |
5283 | | "Text Arbitrary\0" /* 2372, 0x4000, 0x0010 */ |
5284 | | "Text Comments\0" /* 2373, 0x4000, 0x4000 */ |
5285 | | "Results Group Length\0" /* 2374, 0x4008, 0x0000 */ |
5286 | | "Results ID\0" /* 2375, 0x4008, 0x0040 */ |
5287 | | "Results ID Issuer\0" /* 2376, 0x4008, 0x0042 */ |
5288 | | "Referenced Interpretation Sequence\0" /* 2377, 0x4008, 0x0050 */ |
5289 | | "Report Production Status\0" /* 2378, 0x4008, 0x00ff */ |
5290 | | "Interpretation Recorded Date\0" /* 2379, 0x4008, 0x0100 */ |
5291 | | "Interpretation Recorded Time\0" /* 2380, 0x4008, 0x0101 */ |
5292 | | "Interpretation Recorder\0" /* 2381, 0x4008, 0x0102 */ |
5293 | | "Reference to Recorded Sound\0" /* 2382, 0x4008, 0x0103 */ |
5294 | | "Interpretation Transcription Date\0" /* 2383, 0x4008, 0x0108 */ |
5295 | | "Interpretation Transcription Time\0" /* 2384, 0x4008, 0x0109 */ |
5296 | | "Interpretation Transcriber\0" /* 2385, 0x4008, 0x010a */ |
5297 | | "Interpretation Text\0" /* 2386, 0x4008, 0x010b */ |
5298 | | "Interpretation Author\0" /* 2387, 0x4008, 0x010c */ |
5299 | | "Interpretation Approver Sequence\0" /* 2388, 0x4008, 0x0111 */ |
5300 | | "Interpretation Approval Date\0" /* 2389, 0x4008, 0x0112 */ |
5301 | | "Interpretation Approval Time\0" /* 2390, 0x4008, 0x0113 */ |
5302 | | "Physician Approving Interpretation\0" /* 2391, 0x4008, 0x0114 */ |
5303 | | "Interpretation Diagnosis Description\0" /* 2392, 0x4008, 0x0115 */ |
5304 | | "InterpretationDiagnosis Code Sequence\0" /* 2393, 0x4008, 0x0117 */ |
5305 | | "Results Distribution List Sequence\0" /* 2394, 0x4008, 0x0118 */ |
5306 | | "Distribution Name\0" /* 2395, 0x4008, 0x0119 */ |
5307 | | "Distribution Address\0" /* 2396, 0x4008, 0x011a */ |
5308 | | "Interpretation ID\0" /* 2397, 0x4008, 0x0200 */ |
5309 | | "Interpretation ID Issuer\0" /* 2398, 0x4008, 0x0202 */ |
5310 | | "Interpretation Type ID\0" /* 2399, 0x4008, 0x0210 */ |
5311 | | "Interpretation Status ID\0" /* 2400, 0x4008, 0x0212 */ |
5312 | | "Impressions\0" /* 2401, 0x4008, 0x0300 */ |
5313 | | "Results Comments\0" /* 2402, 0x4008, 0x4000 */ |
5314 | | "Report ID\0" /* 2403, 0x4009, 0x0001 */ |
5315 | | "Report Status\0" /* 2404, 0x4009, 0x0020 */ |
5316 | | "Report Creation Date\0" /* 2405, 0x4009, 0x0030 */ |
5317 | | "Report Approving Physician\0" /* 2406, 0x4009, 0x0070 */ |
5318 | | "Report Text\0" /* 2407, 0x4009, 0x00e0 */ |
5319 | | "Report Author\0" /* 2408, 0x4009, 0x00e1 */ |
5320 | | "Reporting Radiologist\0" /* 2409, 0x4009, 0x00e3 */ |
5321 | | "Curve Group Length\0" /* 2410, 0x5000, 0x0000 */ |
5322 | | "Curve Dimensions\0" /* 2411, 0x5000, 0x0005 */ |
5323 | | "Number of Points\0" /* 2412, 0x5000, 0x0010 */ |
5324 | | "Type of Data\0" /* 2413, 0x5000, 0x0020 */ |
5325 | | "Curve Description\0" /* 2414, 0x5000, 0x0022 */ |
5326 | | "Axis Units\0" /* 2415, 0x5000, 0x0030 */ |
5327 | | "Axis Labels\0" /* 2416, 0x5000, 0x0040 */ |
5328 | | "Data Value Representation\0" /* 2417, 0x5000, 0x0103 */ |
5329 | | "Minimum Coordinate Value\0" /* 2418, 0x5000, 0x0104 */ |
5330 | | "Maximum Coordinate Value\0" /* 2419, 0x5000, 0x0105 */ |
5331 | | "Curve Range\0" /* 2420, 0x5000, 0x0106 */ |
5332 | | "Curve Data Descriptor\0" /* 2421, 0x5000, 0x0110 */ |
5333 | | "Coordinate Start Value\0" /* 2422, 0x5000, 0x0112 */ |
5334 | | "Coordinate Step Value\0" /* 2423, 0x5000, 0x0114 */ |
5335 | | "Curve Activation Layer\0" /* 2424, 0x5000, 0x1001 */ |
5336 | | "Audio Type\0" /* 2425, 0x5000, 0x2000 */ |
5337 | | "Audio Sample Format\0" /* 2426, 0x5000, 0x2002 */ |
5338 | | "Number of Channels\0" /* 2427, 0x5000, 0x2004 */ |
5339 | | "Number of Samples\0" /* 2428, 0x5000, 0x2006 */ |
5340 | | "Sample Rate\0" /* 2429, 0x5000, 0x2008 */ |
5341 | | "Total Time\0" /* 2430, 0x5000, 0x200a */ |
5342 | | "Audio Sample Data\0" /* 2431, 0x5000, 0x200c */ |
5343 | | "Audio Comments\0" /* 2432, 0x5000, 0x200e */ |
5344 | | "Curve Label\0" /* 2433, 0x5000, 0x2500 */ |
5345 | | "CurveReferenced Overlay Sequence\0" /* 2434, 0x5000, 0x2600 */ |
5346 | | "CurveReferenced Overlay Group\0" /* 2435, 0x5000, 0x2610 */ |
5347 | | "Curve Data\0" /* 2436, 0x5000, 0x3000 */ |
5348 | | "Overlay Group Length\0" /* 2437, 0x6000, 0x0000 */ |
5349 | | "Gray Palette Color Lookup Table Descriptor\0" /* 2438, 0x6000, 0x0001 */ |
5350 | | "Gray Palette Color Lookup Table Data\0" /* 2439, 0x6000, 0x0002 */ |
5351 | | "Overlay Rows\0" /* 2440, 0x6000, 0x0010 */ |
5352 | | "Overlay Columns\0" /* 2441, 0x6000, 0x0011 */ |
5353 | | "Overlay Planes\0" /* 2442, 0x6000, 0x0012 */ |
5354 | | "Number of Frames in Overlay\0" /* 2443, 0x6000, 0x0015 */ |
5355 | | "Overlay Description\0" /* 2444, 0x6000, 0x0022 */ |
5356 | | "Overlay Type\0" /* 2445, 0x6000, 0x0040 */ |
5357 | | "Overlay Subtype\0" /* 2446, 0x6000, 0x0045 */ |
5358 | | "Overlay Origin\0" /* 2447, 0x6000, 0x0050 */ |
5359 | | "Image Frame Origin\0" /* 2448, 0x6000, 0x0051 */ |
5360 | | "Plane Origin\0" /* 2449, 0x6000, 0x0052 */ |
5361 | | "Overlay Compression Code\0" /* 2450, 0x6000, 0x0060 */ |
5362 | | "Overlay Compression Originator\0" /* 2451, 0x6000, 0x0061 */ |
5363 | | "Overlay Compression Label\0" /* 2452, 0x6000, 0x0062 */ |
5364 | | "Overlay Compression Description\0" /* 2453, 0x6000, 0x0063 */ |
5365 | | "Overlay Compression Step Pointers\0" /* 2454, 0x6000, 0x0066 */ |
5366 | | "Overlay Repeat Interval\0" /* 2455, 0x6000, 0x0068 */ |
5367 | | "Overlay Bits Grouped\0" /* 2456, 0x6000, 0x0069 */ |
5368 | | "Overlay Bits Allocated\0" /* 2457, 0x6000, 0x0100 */ |
5369 | | "Overlay Bit Position\0" /* 2458, 0x6000, 0x0102 */ |
5370 | | "Overlay Format\0" /* 2459, 0x6000, 0x0110 */ |
5371 | | "Overlay Location\0" /* 2460, 0x6000, 0x0200 */ |
5372 | | "Overlay Code Label\0" /* 2461, 0x6000, 0x0800 */ |
5373 | | "Overlay Number of Tables\0" /* 2462, 0x6000, 0x0802 */ |
5374 | | "Overlay Code Table Location\0" /* 2463, 0x6000, 0x0803 */ |
5375 | | "Overlay Bits For Code Word\0" /* 2464, 0x6000, 0x0804 */ |
5376 | | "Overlay Activation Layer\0" /* 2465, 0x6000, 0x1001 */ |
5377 | | "Overlay Descriptor - Gray\0" /* 2466, 0x6000, 0x1100 */ |
5378 | | "Overlay Descriptor - Red\0" /* 2467, 0x6000, 0x1101 */ |
5379 | | "Overlay Descriptor - Green\0" /* 2468, 0x6000, 0x1102 */ |
5380 | | "Overlay Descriptor - Blue\0" /* 2469, 0x6000, 0x1103 */ |
5381 | | "Overlays - Gray\0" /* 2470, 0x6000, 0x1200 */ |
5382 | | "Overlays - Red\0" /* 2471, 0x6000, 0x1201 */ |
5383 | | "Overlays - Green\0" /* 2472, 0x6000, 0x1202 */ |
5384 | | "Overlays - Blue\0" /* 2473, 0x6000, 0x1203 */ |
5385 | | "ROI Area\0" /* 2474, 0x6000, 0x1301 */ |
5386 | | "ROI Mean\0" /* 2475, 0x6000, 0x1302 */ |
5387 | | "ROI Standard Deviation\0" /* 2476, 0x6000, 0x1303 */ |
5388 | | "Overlay Label\0" /* 2477, 0x6000, 0x1500 */ |
5389 | | "Overlay Data\0" /* 2478, 0x6000, 0x3000 */ |
5390 | | "Overlay Comments\0" /* 2479, 0x6000, 0x4000 */ |
5391 | | "?\0" /* 2480, 0x6001, 0x0000 */ |
5392 | | "?\0" /* 2481, 0x6001, 0x0010 */ |
5393 | | "?\0" /* 2482, 0x6001, 0x1010 */ |
5394 | | "?\0" /* 2483, 0x6001, 0x1030 */ |
5395 | | "?\0" /* 2484, 0x6021, 0x0000 */ |
5396 | | "?\0" /* 2485, 0x6021, 0x0010 */ |
5397 | | "Dummy\0" /* 2486, 0x7001, 0x0010 */ |
5398 | | "Info\0" /* 2487, 0x7003, 0x0010 */ |
5399 | | "Dummy\0" /* 2488, 0x7005, 0x0010 */ |
5400 | | "TextAnnotation\0" /* 2489, 0x7000, 0x0004 */ |
5401 | | "Box\0" /* 2490, 0x7000, 0x0005 */ |
5402 | | "ArrowEnd\0" /* 2491, 0x7000, 0x0007 */ |
5403 | | "Pixel Data Group Length\0" /* 2492, 0x7fe0, 0x0000 */ |
5404 | | "Pixel Data\0" /* 2493, 0x7fe0, 0x0010 */ |
5405 | | "Coefficients SDVN\0" /* 2494, 0x7fe0, 0x0020 */ |
5406 | | "Coefficients SDHN\0" /* 2495, 0x7fe0, 0x0030 */ |
5407 | | "Coefficients SDDN\0" /* 2496, 0x7fe0, 0x0040 */ |
5408 | | "Pixel Data\0" /* 2497, 0x7fe1, 0x0010 */ |
5409 | | "Variable Pixel Data Group Length\0" /* 2498, 0x7f00, 0x0000 */ |
5410 | | "Variable Pixel Data\0" /* 2499, 0x7f00, 0x0010 */ |
5411 | | "Variable Next Data Group\0" /* 2500, 0x7f00, 0x0011 */ |
5412 | | "Variable Coefficients SDVN\0" /* 2501, 0x7f00, 0x0020 */ |
5413 | | "Variable Coefficients SDHN\0" /* 2502, 0x7f00, 0x0030 */ |
5414 | | "Variable Coefficients SDDN\0" /* 2503, 0x7f00, 0x0040 */ |
5415 | | "Binary Data\0" /* 2504, 0x7fe1, 0x0000 */ |
5416 | | "Image Graphics Format Code\0" /* 2505, 0x7fe3, 0x0000 */ |
5417 | | "Image Graphics\0" /* 2506, 0x7fe3, 0x0010 */ |
5418 | | "Image Graphics Dummy\0" /* 2507, 0x7fe3, 0x0020 */ |
5419 | | "?\0" /* 2508, 0x7ff1, 0x0001 */ |
5420 | | "?\0" /* 2509, 0x7ff1, 0x0002 */ |
5421 | | "?\0" /* 2510, 0x7ff1, 0x0003 */ |
5422 | | "?\0" /* 2511, 0x7ff1, 0x0004 */ |
5423 | | "?\0" /* 2512, 0x7ff1, 0x0005 */ |
5424 | | "?\0" /* 2513, 0x7ff1, 0x0007 */ |
5425 | | "?\0" /* 2514, 0x7ff1, 0x0008 */ |
5426 | | "?\0" /* 2515, 0x7ff1, 0x0009 */ |
5427 | | "?\0" /* 2516, 0x7ff1, 0x000a */ |
5428 | | "?\0" /* 2517, 0x7ff1, 0x000b */ |
5429 | | "?\0" /* 2518, 0x7ff1, 0x000c */ |
5430 | | "?\0" /* 2519, 0x7ff1, 0x000d */ |
5431 | | "?\0" /* 2520, 0x7ff1, 0x0010 */ |
5432 | | "Data Set Trailing Padding\0" /* 2521, 0xfffc, 0xfffc */ |
5433 | | "Item\0" /* 2522, 0xfffe, 0xe000 */ |
5434 | | "Item Delimitation Item\0" /* 2523, 0xfffe, 0xe00d */ |
5435 | | "Sequence Delimitation Item\0" /* 2524, 0xfffe, 0xe0dd */ |
5436 | | "\0"; /* 2525, 0xffff, 0xffff */ |
5437 | | #endif /* DESCRIPION_STR */ |
5438 | | |
5439 | | static const char *DCM_Get_Description(const unsigned int index) |
5440 | 0 | { |
5441 | 0 | #if DESCRIPION_STR |
5442 | 0 | size_t count; |
5443 | 0 | const char *p = dicom_descriptions; |
5444 | 0 | for (count = 0; |
5445 | 0 | (count < index) && (p < dicom_descriptions+sizeof(dicom_descriptions)-1); |
5446 | 0 | p++) |
5447 | 0 | { |
5448 | 0 | if (*p == '\0') |
5449 | 0 | count++; |
5450 | 0 | } |
5451 | 0 | return p; |
5452 | | #else |
5453 | | return dicom_info[index].description; |
5454 | | #endif |
5455 | 0 | } |
5456 | | /* |
5457 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
5458 | | % % |
5459 | | % % |
5460 | | % % |
5461 | | % I s D C M % |
5462 | | % % |
5463 | | % % |
5464 | | % % |
5465 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
5466 | | % |
5467 | | % Method IsDCM returns True if the image format type, identified by the |
5468 | | % magick string, is DCM. |
5469 | | % |
5470 | | % The format of the ReadDCMImage method is: |
5471 | | % |
5472 | | % unsigned int IsDCM(const unsigned char *magick,const size_t length) |
5473 | | % |
5474 | | % A description of each parameter follows: |
5475 | | % |
5476 | | % o status: Method IsDCM returns True if the image format type is DCM. |
5477 | | % |
5478 | | % o magick: This string is generally the first few bytes of an image file |
5479 | | % or blob. |
5480 | | % |
5481 | | % o length: Specifies the length of the magick string. |
5482 | | % |
5483 | | % |
5484 | | */ |
5485 | | static MagickPassFail IsDCM(const unsigned char *magick,const size_t length) |
5486 | 0 | { |
5487 | 0 | if (length < 132) |
5488 | 0 | return(False); |
5489 | 0 | if (LocaleNCompare((char *) (magick+128),"DICM",4) == 0) |
5490 | 0 | return(True); |
5491 | 0 | return(False); |
5492 | 0 | } |
5493 | | |
5494 | | static MagickPassFail DCM_InitDCM(DicomStream *dcm,int verbose) |
5495 | 23.9k | { |
5496 | 23.9k | (void) memset(dcm,0,sizeof(*dcm)); |
5497 | 23.9k | dcm->columns=0; |
5498 | 23.9k | dcm->rows=0; |
5499 | 23.9k | dcm->samples_per_pixel=1; |
5500 | 23.9k | dcm->bits_allocated=8; |
5501 | 23.9k | dcm->significant_bits=0; |
5502 | 23.9k | dcm->high_bit=0; |
5503 | 23.9k | dcm->bytes_per_pixel=1; |
5504 | 23.9k | dcm->max_value_in=255; |
5505 | 23.9k | dcm->max_value_out=255; |
5506 | 23.9k | dcm->pixel_representation=0; |
5507 | 23.9k | dcm->transfer_syntax=DCM_TS_IMPL_LITTLE; |
5508 | 23.9k | dcm->interlace=0; |
5509 | 23.9k | dcm->msb_state=DCM_MSB_LITTLE; |
5510 | 23.9k | dcm->phot_interp=DCM_PI_MONOCHROME2; |
5511 | 23.9k | dcm->window_center=0; |
5512 | 23.9k | dcm->window_width=0; |
5513 | 23.9k | dcm->rescale_intercept=0; |
5514 | 23.9k | dcm->rescale_slope=1; |
5515 | 23.9k | dcm->number_scenes=1; |
5516 | 23.9k | dcm->data=NULL; |
5517 | 23.9k | dcm->upper_lim=0; |
5518 | 23.9k | dcm->lower_lim=0; |
5519 | 23.9k | dcm->rescale_map=NULL; |
5520 | 23.9k | dcm->rescale_type=DCM_RT_HOUNSFIELD; |
5521 | 23.9k | dcm->rescaling=DCM_RS_NONE; |
5522 | 23.9k | dcm->offset_ct=0; |
5523 | 23.9k | dcm->offset_arr=NULL; |
5524 | 23.9k | dcm->frag_bytes=0; |
5525 | 23.9k | dcm->rle_rep_ct=0; |
5526 | | #if defined(USE_GRAYMAP) |
5527 | | dcm->graymap=(unsigned short *) NULL; |
5528 | | #endif |
5529 | 23.9k | dcm->funcReadShort=ReadBlobLSBShort; |
5530 | 23.9k | dcm->funcReadLong=ReadBlobLSBLong; |
5531 | 23.9k | dcm->explicit_file=False; |
5532 | 23.9k | dcm->verbose=verbose; |
5533 | | |
5534 | 23.9k | return MagickPass; |
5535 | 23.9k | } |
5536 | | |
5537 | | static void DCM_DestroyDCM(DicomStream *dcm) |
5538 | 23.9k | { |
5539 | 23.9k | MagickFreeResourceLimitedMemory(magick_uint32_t *,dcm->offset_arr); |
5540 | 23.9k | MagickFreeResourceLimitedMemory(unsigned char *,dcm->data); |
5541 | | #if defined(USE_GRAYMAP) |
5542 | | MagickFreeResourceLimitedMemory(unsigned short *,dcm->graymap); |
5543 | | #endif |
5544 | 23.9k | MagickFreeResourceLimitedMemory(Quantum *,dcm->rescale_map); |
5545 | 23.9k | } |
5546 | | |
5547 | | /* |
5548 | | Parse functions for DICOM elements |
5549 | | */ |
5550 | | static MagickPassFail funcDCM_TransferSyntax(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5551 | 11.7k | { |
5552 | 11.7k | char |
5553 | 11.7k | *p; |
5554 | | |
5555 | 11.7k | int |
5556 | 11.7k | type, |
5557 | 11.7k | subtype; |
5558 | | |
5559 | 11.7k | if (dcm->data == (unsigned char *) NULL) |
5560 | 586 | { |
5561 | 586 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5562 | 586 | return MagickFail; |
5563 | 586 | } |
5564 | | |
5565 | 11.1k | p=(char *) dcm->data; |
5566 | 11.1k | if (strncmp(p,"1.2.840.10008.1.2",17) == 0) |
5567 | 8.96k | { |
5568 | 8.96k | if (*(p+17) == 0) |
5569 | 34 | { |
5570 | 34 | dcm->transfer_syntax = DCM_TS_IMPL_LITTLE; |
5571 | 34 | return MagickPass; |
5572 | 34 | } |
5573 | 8.93k | type=0; |
5574 | 8.93k | subtype=0; |
5575 | | /* Subtype is not always provided, but insist on type */ |
5576 | 8.93k | if (sscanf(p+17,".%d.%d",&type,&subtype) < 1) |
5577 | 6 | { |
5578 | 6 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5579 | 6 | return MagickFail; |
5580 | 6 | } |
5581 | 8.92k | switch (type) |
5582 | 8.92k | { |
5583 | 73 | case 1: |
5584 | 73 | dcm->transfer_syntax = DCM_TS_EXPL_LITTLE; |
5585 | 73 | break; |
5586 | 269 | case 2: |
5587 | 269 | dcm->transfer_syntax = DCM_TS_EXPL_BIG; |
5588 | 269 | dcm->msb_state=DCM_MSB_BIG_PENDING; |
5589 | 269 | break; |
5590 | 6.66k | case 4: |
5591 | 6.66k | if ((subtype >= 80) && (subtype <= 81)) |
5592 | 66 | dcm->transfer_syntax = DCM_TS_JPEG_LS; |
5593 | 6.59k | else |
5594 | 6.59k | if ((subtype >= 90) && (subtype <= 93)) |
5595 | 1.08k | dcm->transfer_syntax = DCM_TS_JPEG_2000; |
5596 | 5.51k | else |
5597 | 5.51k | dcm->transfer_syntax = DCM_TS_JPEG; |
5598 | 6.66k | break; |
5599 | 1.72k | case 5: |
5600 | 1.72k | dcm->transfer_syntax = DCM_TS_RLE; |
5601 | 1.72k | break; |
5602 | 8.92k | } |
5603 | 8.92k | } |
5604 | 11.1k | return MagickPass; |
5605 | 11.1k | } |
5606 | | |
5607 | | static MagickPassFail funcDCM_StudyDate(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5608 | 237 | { |
5609 | 237 | ARG_NOT_USED(exception); |
5610 | | |
5611 | 237 | (void) SetImageAttribute(image,"StudyDate",(char *) dcm->data); |
5612 | 237 | return MagickPass; |
5613 | 237 | } |
5614 | | |
5615 | | static MagickPassFail funcDCM_PatientName(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5616 | 993 | { |
5617 | 993 | ARG_NOT_USED(exception); |
5618 | | |
5619 | 993 | (void) SetImageAttribute(image,"PatientName",(char *) dcm->data); |
5620 | 993 | return MagickPass; |
5621 | 993 | } |
5622 | | |
5623 | | static MagickPassFail funcDCM_TriggerTime(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5624 | 210 | { |
5625 | 210 | ARG_NOT_USED(exception); |
5626 | | |
5627 | 210 | (void) SetImageAttribute(image,"TriggerTime",(char *) dcm->data); |
5628 | 210 | return MagickPass; |
5629 | 210 | } |
5630 | | |
5631 | | static MagickPassFail funcDCM_FieldOfView(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5632 | 202 | { |
5633 | 202 | ARG_NOT_USED(exception); |
5634 | | |
5635 | 202 | (void) SetImageAttribute(image,"FieldOfView",(char *) dcm->data); |
5636 | 202 | return MagickPass; |
5637 | 202 | } |
5638 | | |
5639 | | static MagickPassFail funcDCM_SeriesNumber(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5640 | 497 | { |
5641 | 497 | ARG_NOT_USED(exception); |
5642 | 497 | (void) SetImageAttribute(image,"SeriesNumber",(char *) dcm->data); |
5643 | 497 | return MagickPass; |
5644 | 497 | } |
5645 | | |
5646 | | static MagickPassFail funcDCM_ImagePosition(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5647 | 5.99k | { |
5648 | 5.99k | ARG_NOT_USED(exception); |
5649 | 5.99k | (void) SetImageAttribute(image,"ImagePosition",(char *) dcm->data); |
5650 | 5.99k | return MagickPass; |
5651 | 5.99k | } |
5652 | | |
5653 | | static MagickPassFail funcDCM_ImageOrientation(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5654 | 335 | { |
5655 | 335 | ARG_NOT_USED(exception); |
5656 | 335 | (void) SetImageAttribute(image,"ImageOrientation",(char *) dcm->data); |
5657 | 335 | return MagickPass; |
5658 | 335 | } |
5659 | | |
5660 | | static MagickPassFail funcDCM_SliceLocation(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5661 | 77 | { |
5662 | 77 | ARG_NOT_USED(exception); |
5663 | 77 | (void) SetImageAttribute(image,"SliceLocation",(char *) dcm->data); |
5664 | 77 | return MagickPass; |
5665 | 77 | } |
5666 | | |
5667 | | static MagickPassFail funcDCM_SamplesPerPixel(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5668 | 1.32k | { |
5669 | 1.32k | ARG_NOT_USED(image); |
5670 | 1.32k | ARG_NOT_USED(exception); |
5671 | 1.32k | dcm->samples_per_pixel=dcm->datum; |
5672 | 1.32k | return MagickPass; |
5673 | 1.32k | } |
5674 | | |
5675 | | static MagickPassFail funcDCM_PhotometricInterpretation(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5676 | 1.93k | { |
5677 | 1.93k | char photometric[MaxTextExtent]; |
5678 | 1.93k | unsigned int i; |
5679 | | |
5680 | 1.93k | ARG_NOT_USED(image); |
5681 | 1.93k | ARG_NOT_USED(exception); |
5682 | | |
5683 | 1.93k | if (dcm->data == (unsigned char *) NULL) |
5684 | 4 | { |
5685 | 4 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5686 | 4 | return MagickFail; |
5687 | 4 | } |
5688 | | |
5689 | 1.93k | (void) memset(photometric,0,sizeof(photometric)); |
5690 | 227k | for (i=0; i < Min(dcm->length, MaxTextExtent-1); i++) |
5691 | 225k | photometric[i]=dcm->data[i]; |
5692 | 1.93k | photometric[i]='\0'; |
5693 | | |
5694 | 1.93k | if (strncmp(photometric,"MONOCHROME1",11) == 0) |
5695 | 85 | dcm->phot_interp = DCM_PI_MONOCHROME1; |
5696 | 1.84k | else |
5697 | 1.84k | if (strncmp(photometric,"MONOCHROME2",11) == 0) |
5698 | 351 | dcm->phot_interp = DCM_PI_MONOCHROME2; |
5699 | 1.49k | else |
5700 | 1.49k | if (strncmp(photometric,"PALETTE COLOR",13) == 0) |
5701 | 654 | dcm->phot_interp = DCM_PI_PALETTE_COLOR; |
5702 | 840 | else |
5703 | 840 | if (strncmp(photometric,"RGB",3) == 0) |
5704 | 74 | dcm->phot_interp = DCM_PI_RGB; |
5705 | 766 | else |
5706 | 766 | dcm->phot_interp = DCM_PI_OTHER; |
5707 | 1.93k | return MagickPass; |
5708 | 1.93k | } |
5709 | | |
5710 | | static MagickPassFail funcDCM_PlanarConfiguration(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5711 | 860 | { |
5712 | 860 | ARG_NOT_USED(image); |
5713 | 860 | ARG_NOT_USED(exception); |
5714 | | |
5715 | 860 | dcm->interlace=dcm->datum; |
5716 | 860 | return MagickPass; |
5717 | 860 | } |
5718 | | |
5719 | | static MagickPassFail funcDCM_NumberOfFrames(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5720 | 6.57k | { |
5721 | 6.57k | if (dcm->data == (unsigned char *) NULL) |
5722 | 1 | { |
5723 | 1 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5724 | 1 | return MagickFail; |
5725 | 1 | } |
5726 | | |
5727 | 6.56k | dcm->number_scenes=MagickAtoI((char *) dcm->data); |
5728 | 6.56k | return MagickPass; |
5729 | 6.57k | } |
5730 | | |
5731 | | static MagickPassFail funcDCM_Rows(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5732 | 8.76k | { |
5733 | 8.76k | ARG_NOT_USED(image); |
5734 | 8.76k | ARG_NOT_USED(exception); |
5735 | | |
5736 | 8.76k | dcm->rows=dcm->datum; |
5737 | 8.76k | return MagickPass; |
5738 | 8.76k | } |
5739 | | |
5740 | | static MagickPassFail funcDCM_Columns(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5741 | 8.61k | { |
5742 | 8.61k | ARG_NOT_USED(image); |
5743 | 8.61k | ARG_NOT_USED(exception); |
5744 | | |
5745 | 8.61k | dcm->columns=dcm->datum; |
5746 | 8.61k | return MagickPass; |
5747 | 8.61k | } |
5748 | | |
5749 | | static MagickPassFail funcDCM_BitsAllocated(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5750 | 2.28k | { |
5751 | 2.28k | ARG_NOT_USED(image); |
5752 | 2.28k | ARG_NOT_USED(exception); |
5753 | | |
5754 | 2.28k | dcm->bits_allocated=dcm->datum; |
5755 | 2.28k | dcm->bytes_per_pixel=1; |
5756 | 2.28k | if (dcm->datum > 8) |
5757 | 1.02k | dcm->bytes_per_pixel=2; |
5758 | 2.28k | return MagickPass; |
5759 | 2.28k | } |
5760 | | |
5761 | | static MagickPassFail funcDCM_BitsStored(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5762 | 786 | { |
5763 | 786 | ARG_NOT_USED(exception); |
5764 | | |
5765 | 786 | dcm->significant_bits=dcm->datum; |
5766 | 786 | dcm->bytes_per_pixel=1; |
5767 | 786 | if ((dcm->significant_bits == 0U) || (dcm->significant_bits > 16U)) |
5768 | 18 | { |
5769 | 18 | if (image->logging) |
5770 | 18 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
5771 | 18 | "DICOM significant_bits = %u (supported range is 1-16)", |
5772 | 18 | dcm->significant_bits); |
5773 | 18 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5774 | 18 | return MagickFail; |
5775 | 18 | } |
5776 | 768 | if (dcm->significant_bits > 8) |
5777 | 425 | dcm->bytes_per_pixel=2; |
5778 | 768 | dcm->max_value_in=MaxValueGivenBits(dcm->significant_bits); |
5779 | 768 | if (image->logging) |
5780 | 768 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
5781 | 768 | "Set max_value_in to %u due to %u significant bits", |
5782 | 768 | dcm->max_value_in, dcm->significant_bits); |
5783 | 768 | dcm->max_value_out=dcm->max_value_in; |
5784 | 768 | image->depth=Min(dcm->significant_bits,QuantumDepth); |
5785 | 768 | return MagickPass; |
5786 | 786 | } |
5787 | | |
5788 | | static MagickPassFail funcDCM_HighBit(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5789 | 412 | { |
5790 | 412 | ARG_NOT_USED(image); |
5791 | 412 | ARG_NOT_USED(exception); |
5792 | | |
5793 | 412 | dcm->high_bit=dcm->datum; |
5794 | 412 | return MagickPass; |
5795 | 412 | } |
5796 | | |
5797 | | static MagickPassFail funcDCM_PixelRepresentation(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5798 | 575 | { |
5799 | 575 | ARG_NOT_USED(image); |
5800 | 575 | ARG_NOT_USED(exception); |
5801 | | |
5802 | 575 | dcm->pixel_representation=dcm->datum; |
5803 | 575 | return MagickPass; |
5804 | 575 | } |
5805 | | |
5806 | | static MagickPassFail funcDCM_WindowCenter(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5807 | 492 | { |
5808 | 492 | char |
5809 | 492 | *p; |
5810 | | |
5811 | 492 | if (dcm->data == (unsigned char *) NULL) |
5812 | 1 | { |
5813 | 1 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5814 | 1 | return MagickFail; |
5815 | 1 | } |
5816 | | |
5817 | 491 | p = strrchr((char *) dcm->data,'\\'); |
5818 | 491 | if (p) |
5819 | 203 | p++; |
5820 | 288 | else |
5821 | 288 | p=(char *) dcm->data; |
5822 | 491 | dcm->window_center=MagickAtoF(p); |
5823 | 491 | return MagickPass; |
5824 | 492 | } |
5825 | | |
5826 | | static MagickPassFail funcDCM_WindowWidth(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5827 | 551 | { |
5828 | 551 | char |
5829 | 551 | *p; |
5830 | | |
5831 | 551 | if (dcm->data == (unsigned char *) NULL) |
5832 | 2 | { |
5833 | 2 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5834 | 2 | return MagickFail; |
5835 | 2 | } |
5836 | | |
5837 | 549 | p = strrchr((char *) dcm->data,'\\'); |
5838 | 549 | if (p) |
5839 | 466 | p++; |
5840 | 83 | else |
5841 | 83 | p=(char *) dcm->data; |
5842 | 549 | dcm->window_width=MagickAtoF(p); |
5843 | 549 | return MagickPass; |
5844 | 551 | } |
5845 | | |
5846 | | static MagickPassFail funcDCM_RescaleIntercept(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5847 | 479 | { |
5848 | 479 | char |
5849 | 479 | *p; |
5850 | | |
5851 | 479 | if (dcm->data == (unsigned char *) NULL) |
5852 | 1 | { |
5853 | 1 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5854 | 1 | return MagickFail; |
5855 | 1 | } |
5856 | | |
5857 | 478 | p = strrchr((char *) dcm->data,'\\'); |
5858 | 478 | if (p) |
5859 | 283 | p++; |
5860 | 195 | else |
5861 | 195 | p=(char *) dcm->data; |
5862 | 478 | dcm->rescale_intercept=MagickAtoF(p); |
5863 | 478 | return MagickPass; |
5864 | 479 | } |
5865 | | |
5866 | | static MagickPassFail funcDCM_RescaleSlope(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5867 | 590 | { |
5868 | 590 | char |
5869 | 590 | *p; |
5870 | | |
5871 | 590 | if (dcm->data == (unsigned char *) NULL) |
5872 | 1 | { |
5873 | 1 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5874 | 1 | return MagickFail; |
5875 | 1 | } |
5876 | | |
5877 | 589 | p = strrchr((char *) dcm->data,'\\'); |
5878 | 589 | if (p) |
5879 | 324 | p++; |
5880 | 265 | else |
5881 | 265 | p=(char *) dcm->data; |
5882 | 589 | dcm->rescale_slope=MagickAtoF(p); |
5883 | 589 | return MagickPass; |
5884 | 590 | } |
5885 | | |
5886 | | static MagickPassFail funcDCM_RescaleType(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5887 | 1.96k | { |
5888 | | |
5889 | 1.96k | if (dcm->data == (unsigned char *) NULL) |
5890 | 1 | { |
5891 | 1 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5892 | 1 | return MagickFail; |
5893 | 1 | } |
5894 | | |
5895 | 1.96k | if (strncmp((char *) dcm->data,"OF",2) == 0) |
5896 | 699 | dcm->rescale_type=DCM_RT_OPTICAL_DENSITY; |
5897 | 1.26k | else if (strncmp((char *) dcm->data,"HU",2) == 0) |
5898 | 68 | dcm->rescale_type=DCM_RT_HOUNSFIELD; |
5899 | 1.19k | else if (strncmp((char *) dcm->data,"US",2) == 0) |
5900 | 794 | dcm->rescale_type=DCM_RT_UNSPECIFIED; |
5901 | 402 | else |
5902 | 402 | dcm->rescale_type=DCM_RT_UNKNOWN; |
5903 | 1.96k | return MagickPass; |
5904 | 1.96k | } |
5905 | | |
5906 | | static MagickPassFail funcDCM_PaletteDescriptor(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5907 | 201 | { |
5908 | | /* |
5909 | | Palette descriptor tables |
5910 | | element = 1101/2/3 = for red/green/blue palette |
5911 | | val 0 = # of entries in LUT (0 for 65535) |
5912 | | val 1 = min pix value in palette (ie pix <= val1 -> palette[0]) |
5913 | | val 2 = # bits in LUT (8 or 16) |
5914 | | NB Required by specification to be the same for each color |
5915 | | |
5916 | | #1 - check the same each time |
5917 | | #2 - use scale_remap to map vals <= (val1) to first entry |
5918 | | and vals >= (val1 + palette size) to last entry |
5919 | | #3 - if (val2) == 8, use UINT8 values instead of UINT16 |
5920 | | #4 - Check for UINT8 values packed into low bits of UINT16 |
5921 | | entries as per spec |
5922 | | */ |
5923 | 201 | ARG_NOT_USED(image); |
5924 | 201 | ARG_NOT_USED(dcm); |
5925 | 201 | ARG_NOT_USED(exception); |
5926 | | |
5927 | 201 | return MagickPass; |
5928 | 201 | } |
5929 | | |
5930 | | static MagickPassFail funcDCM_LUT(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5931 | 399 | { |
5932 | | #if defined(USE_GRAYMAP) |
5933 | | /* |
5934 | | 1200 = grey, LUT data 3006 = LUT data |
5935 | | */ |
5936 | | unsigned long |
5937 | | colors; |
5938 | | |
5939 | | register unsigned long |
5940 | | i; |
5941 | | |
5942 | | if (dcm->data == (unsigned char *) NULL) |
5943 | | { |
5944 | | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5945 | | return MagickFail; |
5946 | | } |
5947 | | |
5948 | | colors=dcm->length/dcm->bytes_per_pixel; |
5949 | | dcm->datum=(long) colors; |
5950 | | dcm->graymap=MagickAllocateResourceLimitedArray(unsigned short *,colors,sizeof(unsigned short)); |
5951 | | if (dcm->graymap == (unsigned short *) NULL) |
5952 | | { |
5953 | | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
5954 | | return MagickFail; |
5955 | | } |
5956 | | for (i=0; i < (long) colors; i++) |
5957 | | if (dcm->bytes_per_pixel == 1) |
5958 | | dcm->graymap[i]=dcm->data[i]; |
5959 | | else |
5960 | | dcm->graymap[i]=(unsigned short) ((short *) dcm->data)[i]; |
5961 | | #else |
5962 | 399 | ARG_NOT_USED(image); |
5963 | 399 | ARG_NOT_USED(dcm); |
5964 | 399 | ARG_NOT_USED(exception); |
5965 | 399 | #endif |
5966 | 399 | return MagickPass; |
5967 | 399 | } |
5968 | | |
5969 | | static MagickPassFail funcDCM_Palette(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
5970 | 6.71k | { |
5971 | 6.71k | register long |
5972 | 6.71k | i; |
5973 | | |
5974 | 6.71k | unsigned char |
5975 | 6.71k | *p; |
5976 | | |
5977 | 6.71k | unsigned short |
5978 | 6.71k | index; |
5979 | | |
5980 | 6.71k | if (dcm->data == (unsigned char *) NULL) |
5981 | 15 | { |
5982 | 15 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
5983 | 15 | return MagickFail; |
5984 | 15 | } |
5985 | | |
5986 | 6.70k | if (image->logging) |
5987 | 6.70k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
5988 | 6.70k | "Palette with %" MAGICK_SIZE_T_F "u entries...", |
5989 | 6.70k | (MAGICK_SIZE_T) dcm->length); |
5990 | | /* |
5991 | | Initialize colormap (entries are always 16 bit) |
5992 | | 1201/2/3 = red/green/blue palette |
5993 | | */ |
5994 | 6.70k | if (image->colormap == (PixelPacket *) NULL) |
5995 | 3.14k | { |
5996 | | /* |
5997 | | Allocate color map first time in |
5998 | | */ |
5999 | 3.14k | if (!AllocateImageColormap(image,(unsigned long) dcm->length)) |
6000 | 1 | { |
6001 | 1 | ThrowException(exception,ResourceLimitError,UnableToCreateColormap,image->filename); |
6002 | 1 | return MagickFail; |
6003 | 1 | } |
6004 | 3.14k | } |
6005 | | |
6006 | | /* |
6007 | | Check that palette size matches previous one(s) |
6008 | | */ |
6009 | 6.70k | if (dcm->length != image->colors) |
6010 | 1.63k | { |
6011 | 1.63k | ThrowException(exception,ResourceLimitError,UnableToCreateColormap,image->filename); |
6012 | 1.63k | return MagickFail; |
6013 | 1.63k | } |
6014 | | |
6015 | 5.07k | p=dcm->data; |
6016 | 68.0k | for (i=0; i < (long) image->colors; i++) |
6017 | 62.9k | { |
6018 | 62.9k | if (dcm->msb_state == DCM_MSB_BIG) |
6019 | 972 | index=((unsigned short) *p << 8) | (unsigned short) *(p+1); |
6020 | 61.9k | else |
6021 | 61.9k | index=(unsigned short) *p | ((unsigned short) *(p+1) << 8); |
6022 | 62.9k | if (dcm->element == 0x1201) |
6023 | 536 | image->colormap[i].red=ScaleShortToQuantum(index); |
6024 | 62.4k | else if (dcm->element == 0x1202) |
6025 | 57.8k | image->colormap[i].green=ScaleShortToQuantum(index); |
6026 | 4.56k | else |
6027 | 4.56k | image->colormap[i].blue=ScaleShortToQuantum(index); |
6028 | 62.9k | p+=2; |
6029 | 62.9k | } |
6030 | 5.07k | return MagickPass; |
6031 | 6.70k | } |
6032 | | |
6033 | | static magick_uint8_t DCM_RLE_ReadByte(Image *image, DicomStream *dcm) |
6034 | 168k | { |
6035 | 168k | if (dcm->rle_rep_ct == 0) |
6036 | 31.7k | { |
6037 | 31.7k | int |
6038 | 31.7k | rep_ct, |
6039 | 31.7k | rep_char; |
6040 | | |
6041 | | /* We need to read the next command pair */ |
6042 | 31.7k | if (dcm->frag_bytes <= 2) |
6043 | 4.82k | dcm->frag_bytes = 0; |
6044 | 26.9k | else |
6045 | 26.9k | dcm->frag_bytes -= 2; |
6046 | | |
6047 | 31.7k | rep_ct=ReadBlobByte(image); |
6048 | 31.7k | rep_char=ReadBlobByte(image); |
6049 | 31.7k | if (rep_ct == 128) |
6050 | 4.17k | { |
6051 | | /* Illegal value */ |
6052 | 4.17k | return 0; |
6053 | 4.17k | } |
6054 | 27.5k | else |
6055 | 27.5k | if (rep_ct < 128) |
6056 | 21.7k | { |
6057 | | /* (rep_ct+1) literal bytes */ |
6058 | 21.7k | dcm->rle_rep_ct=rep_ct; |
6059 | 21.7k | dcm->rle_rep_char=-1; |
6060 | 21.7k | return (magick_uint8_t)rep_char; |
6061 | 21.7k | } |
6062 | 5.84k | else |
6063 | 5.84k | { |
6064 | | /* (257-rep_ct) repeated bytes */ |
6065 | 5.84k | dcm->rle_rep_ct=256-rep_ct; |
6066 | 5.84k | dcm->rle_rep_char=rep_char; |
6067 | 5.84k | return (magick_uint8_t)rep_char; |
6068 | 5.84k | } |
6069 | 31.7k | } |
6070 | | |
6071 | 136k | dcm->rle_rep_ct--; |
6072 | 136k | if (dcm->rle_rep_char >= 0) |
6073 | 123k | return dcm->rle_rep_char; |
6074 | | |
6075 | 13.0k | if (dcm->frag_bytes > 0) |
6076 | 8.58k | dcm->frag_bytes--; |
6077 | 13.0k | return ReadBlobByte(image); |
6078 | 136k | } |
6079 | | |
6080 | | static magick_uint16_t DCM_RLE_ReadShort(Image *image, DicomStream *dcm) |
6081 | 20.9k | { |
6082 | 20.9k | return (((magick_uint16_t) DCM_RLE_ReadByte(image,dcm) << 4) | |
6083 | 20.9k | (magick_uint16_t) DCM_RLE_ReadByte(image,dcm)); |
6084 | 20.9k | } |
6085 | | |
6086 | | static MagickPassFail DCM_ReadElement(Image *image, DicomStream *dcm,ExceptionInfo *exception) |
6087 | 1.68M | { |
6088 | 1.68M | unsigned int |
6089 | 1.68M | use_explicit; |
6090 | | |
6091 | 1.68M | char |
6092 | 1.68M | explicit_vr[MaxTextExtent], |
6093 | 1.68M | implicit_vr[MaxTextExtent]; |
6094 | | |
6095 | 1.68M | register long |
6096 | 1.68M | i; |
6097 | | |
6098 | | /* |
6099 | | Read group and element IDs |
6100 | | */ |
6101 | 1.68M | image->offset=(long) TellBlob(image); |
6102 | 1.68M | dcm->group=dcm->funcReadShort(image); |
6103 | 1.68M | if ((dcm->msb_state == DCM_MSB_BIG_PENDING) && (dcm->group != 2)) |
6104 | 262 | { |
6105 | 262 | dcm->group = (dcm->group << 8) | (dcm->group >> 8); |
6106 | 262 | dcm->funcReadShort=ReadBlobMSBShort; |
6107 | 262 | dcm->funcReadLong=ReadBlobMSBLong; |
6108 | 262 | dcm->msb_state=DCM_MSB_BIG; |
6109 | 262 | } |
6110 | 1.68M | dcm->element=dcm->funcReadShort(image); |
6111 | 1.68M | dcm->data=(unsigned char *) NULL; |
6112 | 1.68M | dcm->quantum=0; |
6113 | 1.68M | if (EOFBlob(image)) |
6114 | 665 | { |
6115 | 665 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6116 | 665 | return MagickFail; |
6117 | 665 | } |
6118 | | /* |
6119 | | Find corresponding VR for this group and element. |
6120 | | */ |
6121 | 215M | for (i=0; dicom_info[i].group < 0xffffU; i++) |
6122 | 215M | if ((dcm->group == dicom_info[i].group) && |
6123 | 4.05M | (dcm->element == dicom_info[i].element)) |
6124 | 1.63M | break; |
6125 | 1.68M | dcm->index=i; |
6126 | | |
6127 | | /* |
6128 | | Check for "explicitness", but meta-file headers always explicit. |
6129 | | */ |
6130 | 1.68M | if (ReadBlob(image,2,(char *) explicit_vr) != 2) |
6131 | 466 | { |
6132 | 466 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6133 | 466 | return MagickFail; |
6134 | 466 | } |
6135 | 1.68M | explicit_vr[2]='\0'; |
6136 | 1.68M | (void) strlcpy(implicit_vr,dicom_info[dcm->index].vr,MaxTextExtent); |
6137 | | |
6138 | 1.68M | #if defined(NEW_IMPLICIT_LOGIC) |
6139 | 1.68M | use_explicit=False; |
6140 | 1.68M | if (isupper((int) *explicit_vr) && isupper((int) *(explicit_vr+1))) |
6141 | 5.71k | { |
6142 | | /* Explicit VR looks to be valid */ |
6143 | 5.71k | if (strcmp(explicit_vr,implicit_vr) == 0) |
6144 | 704 | { |
6145 | | /* Explicit VR matches implicit VR so assume that it is explicit */ |
6146 | 704 | use_explicit=True; |
6147 | 704 | } |
6148 | 5.01k | else if ((dcm->group & 1) || strcmp(implicit_vr,"xs") == 0) |
6149 | 4.60k | { |
6150 | | /* |
6151 | | We *must* use explicit type under two conditions |
6152 | | 1) group is odd and therefore private |
6153 | | 2) element vr is set as "xs" ie is not of a fixed type |
6154 | | */ |
6155 | 4.60k | use_explicit=True; |
6156 | 4.60k | strlcpy(implicit_vr,explicit_vr,sizeof(implicit_vr)); |
6157 | 4.60k | } |
6158 | 5.71k | } |
6159 | 1.68M | if ((!use_explicit) || (strcmp(implicit_vr,"!!") == 0)) |
6160 | 1.67M | { |
6161 | | /* Use implicit logic */ |
6162 | 1.67M | (void) SeekBlob(image,(ExtendedSignedIntegralType) -2,SEEK_CUR); |
6163 | 1.67M | dcm->quantum=4; |
6164 | 1.67M | } |
6165 | 5.30k | else |
6166 | 5.30k | { |
6167 | | /* Use explicit logic */ |
6168 | 5.30k | dcm->quantum=2; |
6169 | 5.30k | if ((strcmp(explicit_vr,"OB") == 0) || |
6170 | 5.22k | (strcmp(explicit_vr,"OW") == 0) || |
6171 | 5.13k | (strcmp(explicit_vr,"OF") == 0) || |
6172 | 4.22k | (strcmp(explicit_vr,"SQ") == 0) || |
6173 | 4.12k | (strcmp(explicit_vr,"UN") == 0) || |
6174 | 3.46k | (strcmp(explicit_vr,"UT") == 0)) |
6175 | 2.25k | { |
6176 | 2.25k | (void) dcm->funcReadShort(image); |
6177 | 2.25k | if (EOFBlob(image)) |
6178 | 8 | { |
6179 | 8 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6180 | 8 | return MagickFail; |
6181 | 8 | } |
6182 | 2.24k | dcm->quantum=4; |
6183 | 2.24k | } |
6184 | 5.30k | } |
6185 | | #else |
6186 | | if (!dcm->explicit_file && (dcm->group != 0x0002)) |
6187 | | dcm->explicit_file=isupper((int) *explicit_vr) && isupper((int) *(explicit_vr+1)); |
6188 | | use_explicit=((dcm->group == 0x0002) || dcm->explicit_file); |
6189 | | if (use_explicit && (strcmp(implicit_vr,"xs") == 0)) |
6190 | | (void) strlcpy(implicit_vr,explicit_vr,MaxTextExtent); |
6191 | | if (!use_explicit || (strcmp(implicit_vr,"!!") == 0)) |
6192 | | { |
6193 | | (void) SeekBlob(image,(ExtendedSignedIntegralType) -2,SEEK_CUR); |
6194 | | dcm->quantum=4; |
6195 | | } |
6196 | | else |
6197 | | { |
6198 | | /* |
6199 | | Assume explicit type. |
6200 | | */ |
6201 | | dcm->quantum=2; |
6202 | | if ((strcmp(explicit_vr,"OB") == 0) || |
6203 | | (strcmp(explicit_vr,"UN") == 0) || |
6204 | | (strcmp(explicit_vr,"OW") == 0) || (strcmp(explicit_vr,"SQ") == 0)) |
6205 | | { |
6206 | | (void) dcm->funcReadShort(image) |
6207 | | if (EOFBlob(image)) |
6208 | | { |
6209 | | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6210 | | return MagickFail; |
6211 | | } |
6212 | | dcm->quantum=4; |
6213 | | } |
6214 | | } |
6215 | | #endif |
6216 | | |
6217 | 1.68M | dcm->datum=0; |
6218 | 1.68M | if (dcm->quantum == 4) |
6219 | 1.68M | { |
6220 | 1.68M | dcm->datum=dcm->funcReadLong(image); |
6221 | 1.68M | if (EOFBlob(image)) |
6222 | 86 | { |
6223 | 86 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6224 | 86 | return MagickFail; |
6225 | 86 | } |
6226 | 1.68M | } |
6227 | 3.05k | else if (dcm->quantum == 2) |
6228 | 3.05k | { |
6229 | 3.05k | dcm->datum=(long) dcm->funcReadShort(image); |
6230 | 3.05k | if (EOFBlob(image)) |
6231 | 29 | { |
6232 | 29 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6233 | 29 | return MagickFail; |
6234 | 29 | } |
6235 | 3.05k | } |
6236 | 1.68M | dcm->quantum=0; |
6237 | 1.68M | dcm->length=1; |
6238 | 1.68M | if (dcm->datum != 0) |
6239 | 110k | { |
6240 | 110k | if ((strcmp(implicit_vr,"SS") == 0) || |
6241 | 108k | (strcmp(implicit_vr,"US") == 0) || |
6242 | 86.1k | (strcmp(implicit_vr,"OW") == 0)) |
6243 | 30.7k | dcm->quantum=2; |
6244 | 79.2k | else if ((strcmp(implicit_vr,"UL") == 0) || |
6245 | 69.0k | (strcmp(implicit_vr,"SL") == 0) || |
6246 | 68.7k | (strcmp(implicit_vr,"FL") == 0) || |
6247 | 68.3k | (strcmp(implicit_vr,"OF") == 0)) |
6248 | 11.7k | dcm->quantum=4; |
6249 | 67.4k | else if (strcmp(implicit_vr,"FD") == 0) |
6250 | 40 | dcm->quantum=8; |
6251 | 67.4k | else |
6252 | 67.4k | dcm->quantum=1; |
6253 | | |
6254 | 110k | if (dcm->datum != -1) |
6255 | 92.1k | { |
6256 | 92.1k | dcm->length=(size_t) dcm->datum/dcm->quantum; |
6257 | 92.1k | } |
6258 | 17.9k | else |
6259 | 17.9k | { |
6260 | | /* |
6261 | | Sequence and item of undefined length. |
6262 | | */ |
6263 | 17.9k | dcm->quantum=0; |
6264 | 17.9k | dcm->length=0; |
6265 | 17.9k | } |
6266 | 110k | } |
6267 | | /* |
6268 | | Display Dicom info. |
6269 | | */ |
6270 | 1.68M | if (dcm->verbose) |
6271 | 0 | { |
6272 | 0 | const char * description; |
6273 | 0 | if (!use_explicit) |
6274 | 0 | explicit_vr[0]='\0'; |
6275 | 0 | (void) fprintf(stdout,"0x%04lX %4lu %.1024s-%.1024s (0x%04x,0x%04x)", |
6276 | 0 | image->offset,(unsigned long) dcm->length,implicit_vr,explicit_vr, |
6277 | 0 | dcm->group,dcm->element); |
6278 | 0 | if ((description=DCM_Get_Description(dcm->index)) != (char *) NULL) |
6279 | 0 | (void) fprintf(stdout," %.1024s",description); |
6280 | 0 | (void) fprintf(stdout,": "); |
6281 | 0 | } |
6282 | 1.68M | if ((dcm->group == 0x7FE0) && (dcm->element == 0x0010)) |
6283 | 7.95k | { |
6284 | 7.95k | if (dcm->verbose) |
6285 | 0 | (void) fprintf(stdout,"\n"); |
6286 | 7.95k | return MagickPass; |
6287 | 7.95k | } |
6288 | | /* |
6289 | | Allocate array and read data into it |
6290 | | */ |
6291 | 1.67M | if ((dcm->length == 1) && (dcm->quantum == 1)) |
6292 | 1.26k | { |
6293 | 1.26k | if ((dcm->datum=ReadBlobByte(image)) == EOF) |
6294 | 3 | { |
6295 | 3 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6296 | 3 | return MagickFail; |
6297 | 3 | } |
6298 | 1.26k | } |
6299 | 1.67M | else if ((dcm->length == 1) && (dcm->quantum == 2)) |
6300 | 3.44k | { |
6301 | 3.44k | dcm->datum=dcm->funcReadShort(image); |
6302 | 3.44k | if (EOFBlob(image)) |
6303 | 2 | { |
6304 | 2 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6305 | 2 | return MagickFail; |
6306 | 2 | } |
6307 | 3.44k | } |
6308 | 1.67M | else if ((dcm->length == 1) && (dcm->quantum == 4)) |
6309 | 2.72k | { |
6310 | 2.72k | dcm->datum=dcm->funcReadLong(image); |
6311 | 2.72k | if (EOFBlob(image)) |
6312 | 1.46k | { |
6313 | 1.46k | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6314 | 1.46k | return MagickFail; |
6315 | 1.46k | } |
6316 | 2.72k | } |
6317 | 1.66M | else if ((dcm->quantum != 0) && (dcm->length != 0)) |
6318 | 70.0k | { |
6319 | 70.0k | size_t |
6320 | 70.0k | size; |
6321 | | |
6322 | 70.0k | if (dcm->length > ((size_t) GetBlobSize(image))) |
6323 | 9.17k | { |
6324 | 9.17k | ThrowException(exception,CorruptImageError,InsufficientImageDataInFile,image->filename); |
6325 | 9.17k | return MagickFail; |
6326 | 9.17k | } |
6327 | 60.8k | if (dcm->length > ((~0UL)/dcm->quantum)) |
6328 | 0 | { |
6329 | 0 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
6330 | 0 | return MagickFail; |
6331 | 0 | } |
6332 | 60.8k | dcm->data=MagickAllocateResourceLimitedArray(unsigned char *,(dcm->length+1),dcm->quantum); |
6333 | 60.8k | if (dcm->data == (unsigned char *) NULL) |
6334 | 0 | { |
6335 | 0 | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
6336 | 0 | return MagickFail; |
6337 | 0 | } |
6338 | 60.8k | size=MagickArraySize(dcm->quantum,dcm->length); |
6339 | 60.8k | if (size == 0) |
6340 | 0 | { |
6341 | 0 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
6342 | 0 | return MagickFail; |
6343 | 0 | } |
6344 | 60.8k | if (ReadBlob(image,size,(char *) dcm->data) != size) |
6345 | 1.80k | { |
6346 | 1.80k | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6347 | 1.80k | return MagickFail; |
6348 | 1.80k | } |
6349 | 59.0k | dcm->data[size]=0; |
6350 | 59.0k | } |
6351 | | |
6352 | 1.66M | if (dcm->verbose) |
6353 | 0 | { |
6354 | | /* |
6355 | | Display data |
6356 | | */ |
6357 | 0 | if (dcm->data == (unsigned char *) NULL) |
6358 | 0 | { |
6359 | 0 | (void) fprintf(stdout,"%d\n",dcm->datum); |
6360 | 0 | } |
6361 | 0 | else |
6362 | 0 | { |
6363 | 0 | for (i=0; i < (long) Max(dcm->length,4); i++) |
6364 | 0 | if (!isprint(dcm->data[i])) |
6365 | 0 | break; |
6366 | 0 | if ((i != (long) dcm->length) && (dcm->length <= 4)) |
6367 | 0 | { |
6368 | 0 | long |
6369 | 0 | j, |
6370 | 0 | bin_datum; |
6371 | |
|
6372 | 0 | bin_datum=0; |
6373 | 0 | for (j=(long) dcm->length-1; j >= 0; j--) |
6374 | 0 | bin_datum=256*bin_datum+dcm->data[j]; |
6375 | 0 | (void) fprintf(stdout,"%lu\n",bin_datum); |
6376 | 0 | } |
6377 | 0 | else |
6378 | 0 | { |
6379 | 0 | for (i=0; i < (long) dcm->length; i++) |
6380 | 0 | if (isprint(dcm->data[i])) |
6381 | 0 | (void) fprintf(stdout,"%c",dcm->data[i]); |
6382 | 0 | else |
6383 | 0 | (void) fprintf(stdout,"%c",'.'); |
6384 | 0 | (void) fprintf(stdout,"\n"); |
6385 | 0 | } |
6386 | 0 | } |
6387 | 0 | } |
6388 | 1.66M | return MagickPass; |
6389 | 1.67M | } |
6390 | | |
6391 | | static MagickPassFail DCM_SetupColormap(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
6392 | 354 | { |
6393 | 354 | if ((image->previous) && (image->previous->colormap != (PixelPacket*)NULL)) |
6394 | 0 | { |
6395 | 0 | size_t |
6396 | 0 | length; |
6397 | | |
6398 | | /* |
6399 | | Clone colormap from previous image |
6400 | | */ |
6401 | 0 | image->storage_class=PseudoClass; |
6402 | 0 | image->colors=image->previous->colors; |
6403 | 0 | length=image->colors*sizeof(PixelPacket); |
6404 | 0 | image->colormap=MagickAllocateMemory(PixelPacket *,length); |
6405 | 0 | if (image->colormap == (PixelPacket *) NULL) |
6406 | 0 | { |
6407 | 0 | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
6408 | 0 | return MagickFail; |
6409 | 0 | } |
6410 | 0 | (void) memcpy(image->colormap,image->previous->colormap,length); |
6411 | 0 | } |
6412 | 354 | else |
6413 | 354 | { |
6414 | | /* |
6415 | | Create new colormap |
6416 | | */ |
6417 | 354 | if (AllocateImageColormap(image,dcm->max_value_out+1) == MagickFail) |
6418 | 0 | { |
6419 | 0 | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
6420 | 0 | return MagickFail; |
6421 | 0 | } |
6422 | 354 | } |
6423 | 354 | return MagickPass; |
6424 | 354 | } |
6425 | | |
6426 | | static MagickPassFail DCM_SetupRescaleMap(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
6427 | 18.7k | { |
6428 | | /* |
6429 | | rescale_map maps input sample range -> output colormap range combining rescale |
6430 | | and window transforms, palette scaling and palette inversion (for MONOCHROME1) |
6431 | | as well as allowing for pixel_representation of 1 which causes input samples to |
6432 | | be treated as signed |
6433 | | */ |
6434 | 18.7k | double |
6435 | 18.7k | win_center, |
6436 | 18.7k | win_width, |
6437 | 18.7k | Xr, |
6438 | 18.7k | Xw_min, |
6439 | 18.7k | Xw_max; |
6440 | | |
6441 | 18.7k | unsigned int |
6442 | 18.7k | i; |
6443 | | |
6444 | 18.7k | if (dcm->rescaling == DCM_RS_NONE) |
6445 | 407 | return MagickPass; |
6446 | | |
6447 | 18.3k | if (image->logging) |
6448 | 18.3k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6449 | 18.3k | "Set up rescale map for input range of %u" |
6450 | 18.3k | " (%u entries)...", |
6451 | 18.3k | dcm->max_value_in+1,MaxMap+1); |
6452 | | |
6453 | | /* |
6454 | | The rescale map must be limited to MaxMap+1 entries, which is 256 |
6455 | | or 65536, depending on QuantumDepth. Using a QuantumDepth less |
6456 | | than 16 for DICOM is a bad idea. |
6457 | | |
6458 | | The dcm->significant_bits value is limited to 16 (larger values |
6459 | | are outright rejected) so dcm->max_value_in and dcm->max_value_out |
6460 | | are limited to 65535. |
6461 | | */ |
6462 | 18.3k | if (dcm->significant_bits == 0 || dcm->significant_bits > 16) |
6463 | 54 | { |
6464 | 54 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6465 | 54 | "DICOM significant_bits = %u (supported range is 1-16)", |
6466 | 54 | dcm->significant_bits); |
6467 | 54 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
6468 | 54 | return MagickFail; |
6469 | 54 | } |
6470 | 18.3k | if (dcm->max_value_in > MaxMap+1) |
6471 | 0 | { |
6472 | 0 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6473 | 0 | "DICOM max_value_in out of range %u (supported range is 0 - %u)", |
6474 | 0 | dcm->max_value_in, MaxMap+1); |
6475 | 0 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
6476 | 0 | return MagickFail; |
6477 | 0 | } |
6478 | 18.3k | if (dcm->max_value_out > MaxMap+1) |
6479 | 0 | { |
6480 | 0 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6481 | 0 | "DICOM max_value_out out of range %u (supported range is 0 - %u)", |
6482 | 0 | dcm->max_value_out, MaxMap+1); |
6483 | 0 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
6484 | 0 | return MagickFail; |
6485 | 0 | } |
6486 | 18.3k | if (dcm->rescale_map == (Quantum *) NULL) |
6487 | 1.52k | { |
6488 | 1.52k | size_t num_entries = Max((size_t) MaxMap+1,(size_t) dcm->max_value_in+1); |
6489 | | |
6490 | 1.52k | if (image->logging) |
6491 | 1.52k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6492 | 1.52k | "Allocating %" MAGICK_SIZE_T_F "u entries for rescale map...", (MAGICK_SIZE_T) num_entries); |
6493 | 1.52k | dcm->rescale_map=MagickAllocateResourceLimitedClearedArray(Quantum *,num_entries,sizeof(Quantum)); |
6494 | 1.52k | if (dcm->rescale_map == NULL) |
6495 | 0 | { |
6496 | 0 | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
6497 | 0 | return MagickFail; |
6498 | 0 | } |
6499 | 1.52k | } |
6500 | | |
6501 | 18.3k | if (dcm->window_width == 0) |
6502 | 18.2k | { /* zero window width */ |
6503 | 18.2k | if (dcm->upper_lim > dcm->lower_lim) |
6504 | 15.5k | { |
6505 | | /* Use known range within image */ |
6506 | 15.5k | win_width=((double) dcm->upper_lim-dcm->lower_lim+1)*dcm->rescale_slope; |
6507 | 15.5k | win_center=(((double) dcm->upper_lim+dcm->lower_lim)/2.0)*dcm->rescale_slope+dcm->rescale_intercept; |
6508 | 15.5k | } |
6509 | 2.69k | else |
6510 | 2.69k | { |
6511 | | /* Use full sample range and hope for the best */ |
6512 | 2.69k | win_width=((double) dcm->max_value_in+1)*dcm->rescale_slope; |
6513 | 2.69k | if (dcm->pixel_representation == 1) |
6514 | 2.64k | win_center=dcm->rescale_intercept; |
6515 | 50 | else |
6516 | 50 | win_center=win_width/2 + dcm->rescale_intercept; |
6517 | 2.69k | } |
6518 | 18.2k | } |
6519 | 66 | else |
6520 | 66 | { |
6521 | 66 | win_width=dcm->window_width; |
6522 | 66 | win_center=dcm->window_center; |
6523 | 66 | } |
6524 | 18.3k | Xw_min = win_center - 0.5 - ((win_width-1)/2); |
6525 | 18.3k | Xw_max = win_center - 0.5 + ((win_width-1)/2); |
6526 | 9.85M | for (i=0; i < (dcm->max_value_in+1); i++) |
6527 | 9.83M | { |
6528 | 9.83M | if ((dcm->pixel_representation == 1) && (i >= MaxValueGivenBits(dcm->significant_bits))) |
6529 | 2.65k | Xr = -(((double) dcm->max_value_in+1-i) * dcm->rescale_slope) + dcm->rescale_intercept; |
6530 | 9.83M | else |
6531 | 9.83M | Xr = (i * dcm->rescale_slope) + dcm->rescale_intercept; |
6532 | 9.83M | if (Xr <= Xw_min) |
6533 | 524k | dcm->rescale_map[i]=0; |
6534 | 9.30M | else if (Xr >= Xw_max) |
6535 | 489k | dcm->rescale_map[i]=dcm->max_value_out; |
6536 | 8.82M | else |
6537 | 8.82M | dcm->rescale_map[i]=(Quantum)(((Xr-Xw_min)/(win_width-1))*dcm->max_value_out+0.5); |
6538 | 9.83M | } |
6539 | 18.3k | if (dcm->phot_interp == DCM_PI_MONOCHROME1) |
6540 | 50.8k | for (i=0; i <= dcm->max_value_in; i++) |
6541 | 50.6k | dcm->rescale_map[i]=dcm->max_value_out-dcm->rescale_map[i]; |
6542 | | |
6543 | 18.3k | return MagickPass; |
6544 | 18.3k | } |
6545 | | |
6546 | | static void DCM_SetRescaling(DicomStream *dcm,int avoid_scaling) |
6547 | 7.95k | { |
6548 | | /* |
6549 | | If avoid_scaling is True then scaling will only be applied where necessary ie |
6550 | | input bit depth exceeds quantum size. |
6551 | | |
6552 | | ### TODO : Should this throw an error rather than setting DCM_RS_PRE? |
6553 | | */ |
6554 | 7.95k | dcm->rescaling=DCM_RS_NONE; |
6555 | 7.95k | dcm->max_value_out=dcm->max_value_in; |
6556 | | |
6557 | 7.95k | if (dcm->phot_interp == DCM_PI_PALETTE_COLOR) |
6558 | 412 | { |
6559 | 412 | if (dcm->max_value_in >= MaxColormapSize) |
6560 | 0 | { |
6561 | 0 | dcm->max_value_out=MaxColormapSize-1; |
6562 | 0 | dcm->rescaling=DCM_RS_PRE; |
6563 | 0 | } |
6564 | 412 | return; |
6565 | 412 | } |
6566 | | |
6567 | 7.53k | if ((dcm->phot_interp == DCM_PI_MONOCHROME1) || |
6568 | 7.52k | (dcm->phot_interp == DCM_PI_MONOCHROME2)) |
6569 | 7.49k | { |
6570 | 7.49k | if ((dcm->transfer_syntax == DCM_TS_JPEG) || |
6571 | 2.45k | (dcm->transfer_syntax == DCM_TS_JPEG_LS) || |
6572 | 2.45k | (dcm->transfer_syntax == DCM_TS_JPEG_2000)) |
6573 | 6.05k | { |
6574 | | /* Encapsulated non-native grayscale images are post rescaled by default */ |
6575 | 6.05k | if (!avoid_scaling) |
6576 | 6.05k | dcm->rescaling=DCM_RS_POST; |
6577 | 6.05k | } |
6578 | | #if defined(GRAYSCALE_USES_PALETTE) |
6579 | | else if (dcm->max_value_in >= MaxColormapSize) |
6580 | | { |
6581 | | dcm->max_value_out=MaxColormapSize-1; |
6582 | | dcm->rescaling=DCM_RS_PRE; |
6583 | | } |
6584 | | #else |
6585 | 1.44k | else if (dcm->max_value_in > MaxRGB) |
6586 | 0 | { |
6587 | 0 | dcm->max_value_out=MaxRGB; |
6588 | 0 | dcm->rescaling=DCM_RS_PRE; |
6589 | 0 | } |
6590 | 1.44k | #endif |
6591 | 1.44k | else if (!avoid_scaling) |
6592 | 1.44k | { |
6593 | 1.44k | #if !defined(GRAYSCALE_USES_PALETTE) |
6594 | 1.44k | dcm->max_value_out=MaxRGB; |
6595 | 1.44k | #endif |
6596 | 1.44k | dcm->rescaling=DCM_RS_POST; |
6597 | 1.44k | } |
6598 | 7.49k | return; |
6599 | 7.49k | } |
6600 | | |
6601 | 42 | if (avoid_scaling || (dcm->max_value_in == MaxRGB)) |
6602 | 4 | return; |
6603 | | |
6604 | 38 | dcm->max_value_out=MaxRGB; |
6605 | 38 | dcm->rescaling=DCM_RS_PRE; |
6606 | 38 | } |
6607 | | |
6608 | | /* |
6609 | | FIXME: This code is totally broken since DCM_SetupRescaleMap |
6610 | | populates dcm->rescale_map and dcm->rescale_map has |
6611 | | dcm->max_value_in+1 entries, which has nothing to do with the number |
6612 | | of colormap entries or the range of MaxRGB. |
6613 | | |
6614 | | Disabling this whole function and code invoking it until someone |
6615 | | figures it out. |
6616 | | */ |
6617 | | static MagickPassFail DCM_PostRescaleImage(Image *image,DicomStream *dcm,unsigned long ScanLimits,ExceptionInfo *exception) |
6618 | 19.5k | { |
6619 | 19.5k | unsigned long |
6620 | 19.5k | y, |
6621 | 19.5k | x; |
6622 | | |
6623 | 19.5k | register PixelPacket |
6624 | 19.5k | *q; |
6625 | | |
6626 | 19.5k | if (ScanLimits) |
6627 | 19.4k | { |
6628 | | /* |
6629 | | Causes rescan for upper/lower limits - used for encapsulated images |
6630 | | */ |
6631 | 19.4k | unsigned int |
6632 | 19.4k | l; |
6633 | | |
6634 | 2.80M | for (y=0; y < image->rows; y++) |
6635 | 2.78M | { |
6636 | 2.78M | q=GetImagePixels(image,0,y,image->columns,1); |
6637 | 2.78M | if (q == (PixelPacket *) NULL) |
6638 | 0 | return MagickFail; |
6639 | | |
6640 | 2.78M | if (image->storage_class == PseudoClass) |
6641 | 205k | { |
6642 | 205k | register IndexPacket |
6643 | 205k | *indexes; |
6644 | | |
6645 | 205k | indexes=AccessMutableIndexes(image); |
6646 | 50.4M | for (x=0; x < image->columns; x++) |
6647 | 50.2M | { |
6648 | 50.2M | l=indexes[x]; |
6649 | 50.2M | if (dcm->pixel_representation == 1) |
6650 | 5.74M | if (l > ((dcm->max_value_in >> 1))) |
6651 | 4.75M | l = dcm->max_value_in-l+1; |
6652 | 50.2M | if (l < (unsigned int) dcm->lower_lim) |
6653 | 0 | dcm->lower_lim = l; |
6654 | 50.2M | if (l > (unsigned int) dcm->upper_lim) |
6655 | 1.44k | dcm->upper_lim = l; |
6656 | 50.2M | } |
6657 | 205k | } |
6658 | 2.57M | else |
6659 | 2.57M | { |
6660 | 451M | for (x=0; x < image->columns; x++) |
6661 | 449M | { |
6662 | 449M | l=q->green; |
6663 | 449M | if (dcm->pixel_representation == 1) |
6664 | 7.98M | if (l > (dcm->max_value_in >> 1)) |
6665 | 7.75M | l = dcm->max_value_in-l+1; |
6666 | 449M | if (l < (unsigned int) dcm->lower_lim) |
6667 | 0 | dcm->lower_lim = l; |
6668 | 449M | if (l > (unsigned int) dcm->upper_lim) |
6669 | 8.30k | dcm->upper_lim = l; |
6670 | 449M | q++; |
6671 | 449M | } |
6672 | 2.57M | } |
6673 | 2.78M | } |
6674 | | |
6675 | 19.4k | if (image->storage_class == PseudoClass) |
6676 | 1.19k | { |
6677 | | /* Handle compressed range by reallocating palette */ |
6678 | 1.19k | if (!AllocateImageColormap(image,dcm->upper_lim+1)) |
6679 | 13 | { |
6680 | 13 | ThrowException(exception,ResourceLimitError,UnableToCreateColormap,image->filename); |
6681 | 13 | return MagickFail; |
6682 | 13 | } |
6683 | 1.17k | return MagickPass; |
6684 | 1.19k | } |
6685 | 19.4k | } |
6686 | | |
6687 | 18.3k | if (DCM_SetupRescaleMap(image,dcm,exception) == MagickFail) |
6688 | 51 | return MagickFail; |
6689 | 2.59M | for (y=0; y < image->rows; y++) |
6690 | 2.57M | { |
6691 | 2.57M | q=GetImagePixels(image,0,y,image->columns,1); |
6692 | 2.57M | if (q == (PixelPacket *) NULL) |
6693 | 0 | return MagickFail; |
6694 | | |
6695 | 2.57M | if (image->storage_class == PseudoClass) |
6696 | 0 | { |
6697 | 0 | register IndexPacket |
6698 | 0 | *indexes; |
6699 | |
|
6700 | 0 | indexes=AccessMutableIndexes(image); |
6701 | 0 | for (x=0; x < image->columns; x++) |
6702 | 0 | indexes[x]=dcm->rescale_map[indexes[x]]; |
6703 | 0 | } |
6704 | 2.57M | else |
6705 | 2.57M | { |
6706 | 451M | for (x=0; x < image->columns; x++) |
6707 | 449M | { |
6708 | 449M | q->red=dcm->rescale_map[q->red]; |
6709 | 449M | q->green=dcm->rescale_map[q->green]; |
6710 | 449M | q->blue=dcm->rescale_map[q->blue]; |
6711 | 449M | q++; |
6712 | 449M | } |
6713 | 2.57M | } |
6714 | 2.57M | if (!SyncImagePixels(image)) |
6715 | 0 | return MagickFail; |
6716 | | /* |
6717 | | if (image->previous == (Image *) NULL) |
6718 | | if (QuantumTick(y,image->rows)) |
6719 | | if (!MagickMonitorFormatted(y,image->rows,exception, |
6720 | | LoadImageText,image->filename)) |
6721 | | return MagickFail; |
6722 | | */ |
6723 | 2.57M | } |
6724 | 18.3k | return MagickPass; |
6725 | 18.3k | } |
6726 | | |
6727 | | static MagickPassFail DCM_ReadPaletteImage(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
6728 | 395 | { |
6729 | 395 | unsigned long |
6730 | 395 | y; |
6731 | | |
6732 | 395 | register unsigned long |
6733 | 395 | x; |
6734 | | |
6735 | 395 | register PixelPacket |
6736 | 395 | *q; |
6737 | | |
6738 | 395 | register IndexPacket |
6739 | 395 | *indexes; |
6740 | | |
6741 | 395 | unsigned short |
6742 | 395 | index; |
6743 | | |
6744 | 395 | unsigned char |
6745 | 395 | byte; |
6746 | | |
6747 | 395 | byte=0; |
6748 | | |
6749 | 395 | if (image->logging) |
6750 | 395 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6751 | 395 | "Reading Palette image..."); |
6752 | | |
6753 | 8.72k | for (y=0; y < image->rows; y++) |
6754 | 8.67k | { |
6755 | 8.67k | q=SetImagePixels(image,0,y,image->columns,1); |
6756 | 8.67k | if (q == (PixelPacket *) NULL) |
6757 | 0 | return MagickFail; |
6758 | 8.67k | indexes=AccessMutableIndexes(image); |
6759 | 23.9k | for (x=0; x < image->columns; x++) |
6760 | 15.5k | { |
6761 | 15.5k | if (dcm->bytes_per_pixel == 1) |
6762 | 3.15k | { |
6763 | 3.15k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6764 | 2.38k | index=DCM_RLE_ReadByte(image,dcm); |
6765 | 777 | else |
6766 | 777 | index=ReadBlobByte(image); |
6767 | 3.15k | } |
6768 | 12.4k | else |
6769 | 12.4k | if (dcm->bits_allocated != 12) |
6770 | 1.48k | { |
6771 | 1.48k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6772 | 919 | index=DCM_RLE_ReadShort(image,dcm); |
6773 | 561 | else |
6774 | 561 | index=dcm->funcReadShort(image); |
6775 | 1.48k | } |
6776 | 10.9k | else |
6777 | 10.9k | { |
6778 | 10.9k | if (x & 0x01) |
6779 | 3.86k | { |
6780 | | /* ### TODO - Check whether logic needs altering if msb_state != DCM_MSB_LITTLE */ |
6781 | 3.86k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6782 | 3.64k | index=DCM_RLE_ReadByte(image,dcm); |
6783 | 222 | else |
6784 | 222 | index=ReadBlobByte(image); |
6785 | 3.86k | index=(index << 4) | byte; |
6786 | 3.86k | } |
6787 | 7.07k | else |
6788 | 7.07k | { |
6789 | 7.07k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6790 | 6.68k | index=DCM_RLE_ReadByte(image,dcm); |
6791 | 390 | else |
6792 | 390 | index=dcm->funcReadShort(image); |
6793 | 7.07k | byte=index >> 12; |
6794 | 7.07k | index&=0xfff; |
6795 | 7.07k | } |
6796 | 10.9k | } |
6797 | 15.5k | index&=dcm->max_value_in; |
6798 | 15.5k | if (dcm->rescaling == DCM_RS_PRE) |
6799 | 0 | { |
6800 | | /* |
6801 | | ### TODO - must read as Direct Class so look up |
6802 | | red/green/blue values in palette table, processed via |
6803 | | rescale_map |
6804 | | */ |
6805 | 0 | } |
6806 | 15.5k | else |
6807 | 15.5k | { |
6808 | | #if defined(USE_GRAYMAP) |
6809 | | if (dcm->graymap != (unsigned short *) NULL) |
6810 | | index=dcm->graymap[index]; |
6811 | | #endif |
6812 | 15.5k | index=(IndexPacket) (index); |
6813 | 15.5k | VerifyColormapIndex(image,index); |
6814 | 15.5k | indexes[x]=index; |
6815 | 15.5k | *q=image->colormap[index]; |
6816 | 15.5k | q++; |
6817 | 15.5k | } |
6818 | | |
6819 | 15.5k | if (EOFBlob(image)) |
6820 | 340 | { |
6821 | 340 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6822 | 340 | return MagickFail; |
6823 | 340 | } |
6824 | 15.5k | } |
6825 | 8.33k | if (!SyncImagePixels(image)) |
6826 | 0 | return MagickFail; |
6827 | 8.33k | if (image->previous == (Image *) NULL) |
6828 | 8.33k | if (QuantumTick(y,image->rows)) |
6829 | 3.51k | if (!MagickMonitorFormatted(y,image->rows,exception, |
6830 | 3.51k | LoadImageText,image->filename, |
6831 | 3.51k | image->columns,image->rows)) |
6832 | 0 | return MagickFail; |
6833 | 8.33k | } |
6834 | 55 | return MagickPass; |
6835 | 395 | } |
6836 | | |
6837 | | static MagickPassFail DCM_ReadGrayscaleImage(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
6838 | 569 | { |
6839 | 569 | unsigned long |
6840 | 569 | y; |
6841 | | |
6842 | 569 | register unsigned long |
6843 | 569 | x; |
6844 | | |
6845 | 569 | register PixelPacket |
6846 | 569 | *q; |
6847 | | |
6848 | | #if defined(GRAYSCALE_USES_PALETTE) /* not used */ |
6849 | | register IndexPacket |
6850 | | *indexes; |
6851 | | #endif |
6852 | | |
6853 | 569 | unsigned short |
6854 | 569 | index; |
6855 | | |
6856 | 569 | unsigned char |
6857 | 569 | byte; |
6858 | | |
6859 | 569 | if (image->logging) |
6860 | 569 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6861 | 569 | "Reading Grayscale %lux%lu image...",image->columns,image->rows); |
6862 | | |
6863 | 569 | #if !defined(GRAYSCALE_USES_PALETTE) |
6864 | | /* |
6865 | | If a palette was provided, the image may be in PseudoClass |
6866 | | */ |
6867 | 569 | image->storage_class=DirectClass; |
6868 | 569 | #endif |
6869 | | |
6870 | 569 | dcm->lower_lim = dcm->max_value_in; |
6871 | 569 | dcm->upper_lim = -(dcm->lower_lim); |
6872 | 569 | byte=0; |
6873 | 12.6k | for (y=0; y < image->rows; y++) |
6874 | 12.5k | { |
6875 | 12.5k | q=SetImagePixelsEx(image,0,y,image->columns,1,exception); |
6876 | 12.5k | if (q == (PixelPacket *) NULL) |
6877 | 0 | return MagickFail; |
6878 | | #if defined(GRAYSCALE_USES_PALETTE) /* not used */ |
6879 | | indexes=AccessMutableIndexes(image); |
6880 | | #endif |
6881 | 47.5k | for (x=0; x < image->columns; x++) |
6882 | 35.4k | { |
6883 | 35.4k | if (dcm->bytes_per_pixel == 1) |
6884 | 9.00k | { |
6885 | 9.00k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6886 | 7.19k | index=DCM_RLE_ReadByte(image,dcm); |
6887 | 1.80k | else |
6888 | 1.80k | index=ReadBlobByte(image); |
6889 | 9.00k | } |
6890 | 26.4k | else |
6891 | 26.4k | if (dcm->bits_allocated != 12) |
6892 | 14.8k | { |
6893 | 14.8k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6894 | 13.3k | index=DCM_RLE_ReadShort(image,dcm); |
6895 | 1.47k | else |
6896 | 1.47k | index=dcm->funcReadShort(image); |
6897 | 14.8k | } |
6898 | 11.6k | else |
6899 | 11.6k | { |
6900 | 11.6k | if (x & 0x01) |
6901 | 5.56k | { |
6902 | | /* ### TODO - Check whether logic needs altering if msb_state != DCM_MSB_LITTLE */ |
6903 | 5.56k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6904 | 5.34k | index=DCM_RLE_ReadByte(image,dcm); |
6905 | 221 | else |
6906 | 221 | index=ReadBlobByte(image); |
6907 | 5.56k | index=(index << 4) | byte; |
6908 | 5.56k | } |
6909 | 6.10k | else |
6910 | 6.10k | { |
6911 | 6.10k | if (dcm->transfer_syntax == DCM_TS_RLE) |
6912 | 5.71k | index=DCM_RLE_ReadShort(image,dcm); |
6913 | 395 | else |
6914 | 395 | index=dcm->funcReadShort(image); |
6915 | 6.10k | byte=index >> 12; |
6916 | 6.10k | index&=0xfff; |
6917 | 6.10k | } |
6918 | 11.6k | } |
6919 | 35.4k | index&=dcm->max_value_in; |
6920 | 35.4k | if (dcm->rescaling == DCM_RS_POST) |
6921 | 35.2k | { |
6922 | 35.2k | unsigned int |
6923 | 35.2k | l; |
6924 | | |
6925 | 35.2k | l = index; |
6926 | 35.2k | if (dcm->pixel_representation == 1) |
6927 | 890 | if (l > (dcm->max_value_in >> 1)) |
6928 | 361 | l = dcm->max_value_in-l+1; |
6929 | 35.2k | if ((int) l < dcm->lower_lim) |
6930 | 758 | dcm->lower_lim = l; |
6931 | 35.2k | if ((int) l > dcm->upper_lim) |
6932 | 1.17k | dcm->upper_lim = l; |
6933 | 35.2k | } |
6934 | | #if defined(GRAYSCALE_USES_PALETTE) /* not used */ |
6935 | | if (dcm->rescaling == DCM_RS_PRE) |
6936 | | indexes[x]=dcm->rescale_map[index]; |
6937 | | else |
6938 | | indexes[x]=index; |
6939 | | #else |
6940 | 35.4k | if ((dcm->rescaling == DCM_RS_PRE) && |
6941 | 265 | (dcm->rescale_map != (Quantum *) NULL)) |
6942 | 265 | { |
6943 | 265 | index=dcm->rescale_map[index]; |
6944 | 265 | } |
6945 | 35.4k | q->red=index; |
6946 | 35.4k | q->green=index; |
6947 | 35.4k | q->blue=index; |
6948 | 35.4k | q->opacity=OpaqueOpacity; |
6949 | 35.4k | q++; |
6950 | 35.4k | #endif |
6951 | 35.4k | if (EOFBlob(image)) |
6952 | 490 | { |
6953 | 490 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
6954 | 490 | return MagickFail; |
6955 | 490 | } |
6956 | 35.4k | } |
6957 | 12.0k | if (!SyncImagePixelsEx(image,exception)) |
6958 | 0 | return MagickFail; |
6959 | 12.0k | if (image->previous == (Image *) NULL) |
6960 | 12.0k | if (QuantumTick(y,image->rows)) |
6961 | 5.38k | if (!MagickMonitorFormatted(y,image->rows,exception, |
6962 | 5.38k | LoadImageText,image->filename, |
6963 | 5.38k | image->columns,image->rows)) |
6964 | 0 | return MagickFail; |
6965 | 12.0k | } |
6966 | 79 | return MagickPass; |
6967 | 569 | } |
6968 | | |
6969 | | static MagickPassFail DCM_ReadPlanarRGBImage(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
6970 | 402 | { |
6971 | 402 | unsigned long |
6972 | 402 | plane, |
6973 | 402 | y, |
6974 | 402 | x; |
6975 | | |
6976 | 402 | register PixelPacket |
6977 | 402 | *q; |
6978 | | |
6979 | 402 | if (image->logging) |
6980 | 402 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6981 | 402 | "Reading Planar RGB %s compressed image with %u planes...", |
6982 | 402 | (dcm->transfer_syntax == DCM_TS_RLE ? "RLE" : "not"), |
6983 | 402 | dcm->samples_per_pixel); |
6984 | | /* |
6985 | | Force image to DirectClass since we are only updating DirectClass |
6986 | | representation. The image may be in PseudoClass if we were |
6987 | | previously provided with a Palette. |
6988 | | */ |
6989 | 402 | image->storage_class=DirectClass; |
6990 | | |
6991 | 1.07k | for (plane=0; plane < dcm->samples_per_pixel; plane++) |
6992 | 1.04k | { |
6993 | 1.04k | if (image->logging) |
6994 | 1.04k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
6995 | 1.04k | " Plane %lu...",plane); |
6996 | 29.7k | for (y=0; y < image->rows; y++) |
6997 | 29.1k | { |
6998 | 29.1k | q=GetImagePixels(image,0,y,image->columns,1); |
6999 | 29.1k | if (q == (PixelPacket *) NULL) |
7000 | 0 | return MagickFail; |
7001 | | |
7002 | 86.7k | for (x=0; x < image->columns; x++) |
7003 | 58.0k | { |
7004 | 58.0k | switch ((int) plane) |
7005 | 58.0k | { |
7006 | 25.6k | case 0: |
7007 | 25.6k | if (dcm->transfer_syntax == DCM_TS_RLE) |
7008 | 24.2k | q->red=ScaleCharToQuantum(DCM_RLE_ReadByte(image,dcm)); |
7009 | 1.39k | else |
7010 | 1.39k | q->red=ScaleCharToQuantum(ReadBlobByte(image)); |
7011 | 25.6k | break; |
7012 | 17.7k | case 1: |
7013 | 17.7k | if (dcm->transfer_syntax == DCM_TS_RLE) |
7014 | 17.1k | q->green=ScaleCharToQuantum(DCM_RLE_ReadByte(image,dcm)); |
7015 | 558 | else |
7016 | 558 | q->green=ScaleCharToQuantum(ReadBlobByte(image)); |
7017 | 17.7k | break; |
7018 | 10.8k | case 2: |
7019 | 10.8k | if (dcm->transfer_syntax == DCM_TS_RLE) |
7020 | 10.4k | q->blue=ScaleCharToQuantum(DCM_RLE_ReadByte(image,dcm)); |
7021 | 413 | else |
7022 | 413 | q->blue=ScaleCharToQuantum(ReadBlobByte(image)); |
7023 | 10.8k | break; |
7024 | 3.69k | case 3: |
7025 | 3.69k | if (dcm->transfer_syntax == DCM_TS_RLE) |
7026 | 3.49k | q->opacity=ScaleCharToQuantum((Quantum)(MaxRGB-ScaleCharToQuantum(DCM_RLE_ReadByte(image,dcm)))); |
7027 | 201 | else |
7028 | 201 | q->opacity=ScaleCharToQuantum((Quantum)(MaxRGB-ScaleCharToQuantum(ReadBlobByte(image)))); |
7029 | 3.69k | break; |
7030 | 58.0k | } |
7031 | 58.0k | if (EOFBlob(image)) |
7032 | 373 | { |
7033 | 373 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
7034 | 373 | return MagickFail; |
7035 | 373 | } |
7036 | 57.6k | q++; |
7037 | 57.6k | } |
7038 | 28.7k | if (!SyncImagePixels(image)) |
7039 | 0 | return MagickFail; |
7040 | 28.7k | if (image->previous == (Image *) NULL) |
7041 | 28.7k | if (QuantumTick(y,image->rows)) |
7042 | 16.1k | if (!MagickMonitorFormatted(y,image->rows,exception, |
7043 | 16.1k | LoadImageText,image->filename, |
7044 | 16.1k | image->columns,image->rows)) |
7045 | 0 | return MagickFail; |
7046 | 28.7k | } |
7047 | 1.04k | } |
7048 | 29 | return MagickPass; |
7049 | 402 | } |
7050 | | |
7051 | | static MagickPassFail DCM_ReadRGBImage(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
7052 | 317 | { |
7053 | 317 | unsigned long |
7054 | 317 | y, |
7055 | 317 | x; |
7056 | | |
7057 | 317 | register PixelPacket |
7058 | 317 | *q; |
7059 | | |
7060 | 317 | Quantum |
7061 | 317 | blue, |
7062 | 317 | green, |
7063 | 317 | red; |
7064 | | |
7065 | 317 | red=0; |
7066 | 317 | green=0; |
7067 | 317 | blue=0; |
7068 | | |
7069 | 317 | if (image->logging) |
7070 | 317 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7071 | 317 | "Reading RGB image..."); |
7072 | | |
7073 | | /* |
7074 | | Force image to DirectClass since we are only updating DirectClass |
7075 | | representation. The image may be in PseudoClass if we were |
7076 | | previously provided with a Palette. |
7077 | | */ |
7078 | 317 | image->storage_class=DirectClass; |
7079 | | |
7080 | 6.06k | for (y=0; y < image->rows; y++) |
7081 | 6.05k | { |
7082 | 6.05k | q=GetImagePixels(image,0,y,image->columns,1); |
7083 | 6.05k | if (q == (PixelPacket *) NULL) |
7084 | 0 | return MagickFail; |
7085 | | |
7086 | 22.3k | for (x=0; x < image->columns; x++) |
7087 | 16.6k | { |
7088 | 16.6k | if (dcm->bytes_per_pixel == 1) |
7089 | 15.9k | { |
7090 | 15.9k | if (dcm->transfer_syntax == DCM_TS_RLE) |
7091 | 15.3k | { |
7092 | 15.3k | red=DCM_RLE_ReadByte(image,dcm); |
7093 | 15.3k | green=DCM_RLE_ReadByte(image,dcm); |
7094 | 15.3k | blue=DCM_RLE_ReadByte(image,dcm); |
7095 | | |
7096 | 15.3k | } |
7097 | 628 | else |
7098 | 628 | { |
7099 | 628 | red=ReadBlobByte(image); |
7100 | 628 | green=ReadBlobByte(image); |
7101 | 628 | blue=ReadBlobByte(image); |
7102 | 628 | } |
7103 | 15.9k | } |
7104 | 636 | else |
7105 | 636 | { |
7106 | 636 | if (dcm->transfer_syntax == DCM_TS_RLE) |
7107 | 342 | { |
7108 | 342 | red=DCM_RLE_ReadShort(image,dcm); |
7109 | 342 | green=DCM_RLE_ReadShort(image,dcm); |
7110 | 342 | blue=DCM_RLE_ReadShort(image,dcm); |
7111 | 342 | } |
7112 | 294 | else |
7113 | 294 | { |
7114 | 294 | red=dcm->funcReadShort(image); |
7115 | 294 | green=dcm->funcReadShort(image); |
7116 | 294 | blue=dcm->funcReadShort(image); |
7117 | 294 | } |
7118 | 636 | } |
7119 | 16.6k | red&=dcm->max_value_in; |
7120 | 16.6k | green&=dcm->max_value_in; |
7121 | 16.6k | blue&=dcm->max_value_in; |
7122 | 16.6k | if ((dcm->rescaling == DCM_RS_PRE) && |
7123 | 231 | (dcm->rescale_map != (Quantum *) NULL)) |
7124 | 231 | { |
7125 | 231 | red=dcm->rescale_map[red]; |
7126 | 231 | green=dcm->rescale_map[green]; |
7127 | 231 | blue=dcm->rescale_map[blue]; |
7128 | 231 | } |
7129 | | |
7130 | 16.6k | q->red=(Quantum) red; |
7131 | 16.6k | q->green=(Quantum) green; |
7132 | 16.6k | q->blue=(Quantum) blue; |
7133 | 16.6k | q->opacity=OpaqueOpacity; |
7134 | 16.6k | q++; |
7135 | 16.6k | if (EOFBlob(image)) |
7136 | 310 | { |
7137 | 310 | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); |
7138 | 310 | return MagickFail; |
7139 | 310 | } |
7140 | 16.6k | } |
7141 | 5.74k | if (!SyncImagePixels(image)) |
7142 | 0 | return MagickFail; |
7143 | 5.74k | if (image->previous == (Image *) NULL) |
7144 | 5.74k | if (QuantumTick(y,image->rows)) |
7145 | 2.51k | if (!MagickMonitorFormatted(y,image->rows,exception, |
7146 | 2.51k | LoadImageText,image->filename, |
7147 | 2.51k | image->columns,image->rows)) |
7148 | 0 | return MagickFail; |
7149 | 5.74k | } |
7150 | 7 | return MagickPass; |
7151 | 317 | } |
7152 | | |
7153 | | static MagickPassFail DCM_ReadOffsetTable(Image *image,DicomStream *dcm,ExceptionInfo *exception) |
7154 | 7.59k | { |
7155 | 7.59k | magick_uint32_t |
7156 | 7.59k | base_offset, |
7157 | 7.59k | tag, |
7158 | 7.59k | length, |
7159 | 7.59k | i; |
7160 | | |
7161 | 7.59k | tag=((magick_uint32_t) dcm->funcReadShort(image) << 16) | |
7162 | 7.59k | (magick_uint32_t) dcm->funcReadShort(image); |
7163 | 7.59k | length=dcm->funcReadLong(image); |
7164 | 7.59k | if (tag != 0xFFFEE000) |
7165 | 38 | return MagickFail; |
7166 | | |
7167 | 7.55k | dcm->offset_ct=length >> 2; |
7168 | 7.55k | if (dcm->offset_ct == 0) |
7169 | 7.44k | return MagickPass; |
7170 | | |
7171 | 110 | if (dcm->offset_ct != dcm->number_scenes) |
7172 | 35 | { |
7173 | 35 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
7174 | 35 | return MagickFail; |
7175 | 35 | } |
7176 | | |
7177 | 75 | dcm->offset_arr=MagickAllocateResourceLimitedClearedArray(magick_uint32_t *,dcm->offset_ct,sizeof(magick_uint32_t)); |
7178 | 75 | if (dcm->offset_arr == (magick_uint32_t *) NULL) |
7179 | 0 | { |
7180 | 0 | ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); |
7181 | 0 | return MagickFail; |
7182 | 0 | } |
7183 | | |
7184 | 1.32k | for (i=0; i < dcm->offset_ct; i++) |
7185 | 1.25k | { |
7186 | 1.25k | dcm->offset_arr[i]=dcm->funcReadLong(image); |
7187 | 1.25k | if (EOFBlob(image)) |
7188 | 7 | return MagickFail; |
7189 | 1.25k | } |
7190 | 68 | base_offset=(magick_uint32_t)TellBlob(image); |
7191 | 862 | for (i=0; i < dcm->offset_ct; i++) |
7192 | 794 | dcm->offset_arr[i]+=base_offset; |
7193 | | |
7194 | | /* |
7195 | | Seek first fragment of first frame if necessary (although it shouldn't be...) |
7196 | | */ |
7197 | 68 | if (TellBlob(image) != dcm->offset_arr[0]) |
7198 | 54 | SeekBlob(image,dcm->offset_arr[0],SEEK_SET); |
7199 | 68 | return MagickPass; |
7200 | 75 | } |
7201 | | |
7202 | | static MagickPassFail DCM_ReadNonNativeImages(Image **image,const ImageInfo *image_info,DicomStream *dcm,ExceptionInfo *exception) |
7203 | 6.07k | { |
7204 | 6.07k | char |
7205 | 6.07k | filename[MaxTextExtent]; |
7206 | | |
7207 | 6.07k | FILE |
7208 | 6.07k | *file; |
7209 | | |
7210 | 6.07k | int |
7211 | 6.07k | c; |
7212 | | |
7213 | 6.07k | Image |
7214 | 6.07k | *image_list, |
7215 | 6.07k | *next_image; |
7216 | | |
7217 | 6.07k | ImageInfo |
7218 | 6.07k | *clone_info; |
7219 | | |
7220 | 6.07k | magick_uint32_t |
7221 | 6.07k | scene, |
7222 | 6.07k | tag, |
7223 | 6.07k | status, |
7224 | 6.07k | length, |
7225 | 6.07k | i; |
7226 | | |
7227 | 6.07k | image_list=(Image *)NULL; |
7228 | | |
7229 | | /* |
7230 | | Read offset table |
7231 | | */ |
7232 | 6.07k | if (DCM_ReadOffsetTable(*image,dcm,exception) == MagickFail) |
7233 | 50 | return MagickFail; |
7234 | | |
7235 | 6.02k | if (dcm->number_scenes == 0U) |
7236 | 1 | { |
7237 | 1 | ThrowException(exception,CorruptImageError, |
7238 | 1 | ImageFileHasNoScenes, |
7239 | 1 | image_info->filename); |
7240 | 1 | return MagickFail; |
7241 | 1 | } |
7242 | | |
7243 | 6.02k | status=MagickPass; |
7244 | 26.2k | for (scene=0; scene < dcm->number_scenes; scene++) |
7245 | 26.2k | { |
7246 | | /* |
7247 | | Use temporary file to hold extracted data stream |
7248 | | */ |
7249 | 26.2k | file=AcquireTemporaryFileStream(filename,BinaryFileIOMode); |
7250 | 26.2k | if (file == (FILE *) NULL) |
7251 | 0 | { |
7252 | 0 | ThrowException(exception,FileOpenError,UnableToCreateTemporaryFile,filename); |
7253 | 0 | return MagickFail; |
7254 | 0 | } |
7255 | | |
7256 | 26.2k | status=MagickPass; |
7257 | 26.2k | do |
7258 | 26.9k | { |
7259 | | /* |
7260 | | Read fragment tag |
7261 | | */ |
7262 | 26.9k | tag=(((magick_uint32_t) dcm->funcReadShort(*image) << 16) | |
7263 | 26.9k | (magick_uint32_t) dcm->funcReadShort(*image)); |
7264 | 26.9k | length=dcm->funcReadLong(*image); |
7265 | 26.9k | if (EOFBlob(*image)) |
7266 | 1.33k | { |
7267 | 1.33k | status=MagickFail; |
7268 | 1.33k | break; |
7269 | 1.33k | } |
7270 | | |
7271 | 25.6k | if (tag == 0xFFFEE0DD) |
7272 | 3 | { |
7273 | | /* Sequence delimiter tag */ |
7274 | 3 | break; |
7275 | 3 | } |
7276 | 25.6k | else |
7277 | 25.6k | if (tag != 0xFFFEE000) |
7278 | 313 | { |
7279 | 313 | status=MagickFail; |
7280 | 313 | break; |
7281 | 313 | } |
7282 | | |
7283 | | /* |
7284 | | Copy this fragment to the temporary file |
7285 | | */ |
7286 | 28.1M | while (length > 0) |
7287 | 28.0M | { |
7288 | 28.0M | c=ReadBlobByte(*image); |
7289 | 28.0M | if (c == EOF) |
7290 | 151 | { |
7291 | 151 | status=MagickFail; |
7292 | 151 | break; |
7293 | 151 | } |
7294 | 28.0M | (void) fputc(c,file); |
7295 | 28.0M | length--; |
7296 | 28.0M | } |
7297 | | |
7298 | 25.3k | if (dcm->offset_ct == 0) |
7299 | 24.9k | { |
7300 | | /* |
7301 | | Assume one fragment per frame so break loop unless we are in the last frame |
7302 | | */ |
7303 | 24.9k | if (scene < dcm->number_scenes-1) |
7304 | 24.5k | break; |
7305 | 24.9k | } |
7306 | 328 | else |
7307 | 328 | { |
7308 | | /* Look for end of multi-fragment frames by checking for against offset table */ |
7309 | 328 | length=TellBlob(*image); |
7310 | 656 | for (i=0; i < dcm->offset_ct; i++) |
7311 | 328 | if (length == dcm->offset_arr[i]) |
7312 | 0 | { |
7313 | 0 | break; |
7314 | 0 | } |
7315 | 328 | } |
7316 | 25.3k | } while (status == MagickPass); |
7317 | | |
7318 | 26.2k | (void) fclose(file); |
7319 | 26.2k | if (status == MagickPass) |
7320 | 24.4k | { |
7321 | 24.4k | clone_info=CloneImageInfo(image_info); |
7322 | 24.4k | clone_info->blob=(_BlobInfoPtr_) NULL; |
7323 | 24.4k | clone_info->length=0; |
7324 | 24.4k | if (dcm->transfer_syntax == DCM_TS_JPEG_2000) |
7325 | 973 | FormatString(clone_info->filename,"jp2:%.1024s",filename); |
7326 | 23.4k | else |
7327 | 23.4k | FormatString(clone_info->filename,"jpeg:%.1024s",filename); |
7328 | 24.4k | next_image=ReadImage(clone_info,exception); |
7329 | 24.4k | DestroyImageInfo(clone_info); |
7330 | 24.4k | if (next_image == (Image*)NULL) |
7331 | 4.20k | { |
7332 | 4.20k | status=MagickFail; |
7333 | 4.20k | } |
7334 | 20.2k | else |
7335 | 20.2k | if (dcm->rescaling == DCM_RS_POST) |
7336 | 19.4k | { |
7337 | | /* |
7338 | | ### TODO: ??? |
7339 | | We cannot guarantee integrity of input data since libjpeg may already have |
7340 | | downsampled 12- or 16-bit jpegs. Best guess at the moment is to recalculate |
7341 | | scaling using the image depth (unless avoid-scaling is in force) |
7342 | | */ |
7343 | | /* Allow for libjpeg having changed depth of image */ |
7344 | 19.4k | if ((next_image->depth == 0U) || (next_image->depth > 16U)) |
7345 | 0 | { |
7346 | 0 | if (next_image->logging) |
7347 | 0 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7348 | 0 | "Depth out of range! depth = %u (supported range is 1-16)", |
7349 | 0 | next_image->depth); |
7350 | 0 | ThrowException(exception,CorruptImageError,ImproperImageHeader,next_image->filename); |
7351 | 0 | status=MagickFail; |
7352 | 0 | } |
7353 | 19.4k | else |
7354 | 19.4k | { |
7355 | 19.4k | dcm->significant_bits=next_image->depth; |
7356 | 19.4k | dcm->bytes_per_pixel=1; |
7357 | 19.4k | if (dcm->significant_bits > 8) |
7358 | 1.12k | dcm->bytes_per_pixel=2; |
7359 | 19.4k | dcm->max_value_in=MaxValueGivenBits(dcm->significant_bits); |
7360 | 19.4k | dcm->max_value_out=dcm->max_value_in; |
7361 | 19.4k | status=DCM_PostRescaleImage(next_image,dcm,True,exception); |
7362 | 19.4k | } |
7363 | 19.4k | } |
7364 | 24.4k | if (status == MagickPass) |
7365 | 20.2k | { |
7366 | 20.2k | strlcpy(next_image->filename,(*image)->filename,sizeof(next_image->filename)); |
7367 | 20.2k | next_image->scene=scene; |
7368 | 20.2k | if (image_list == (Image*)NULL) |
7369 | 1.92k | image_list=next_image; |
7370 | 18.3k | else |
7371 | 18.3k | AppendImageToList(&image_list,next_image); |
7372 | 20.2k | } |
7373 | 4.21k | else if (next_image != (Image *) NULL) |
7374 | 13 | { |
7375 | 13 | DestroyImage(next_image); |
7376 | 13 | #if !defined(__COVERITY__) /* 384799 Unused value */ |
7377 | 13 | next_image=(Image *) NULL; |
7378 | 13 | #endif /* if !defined(__COVERITY__) */ |
7379 | 13 | } |
7380 | 24.4k | } |
7381 | 26.2k | (void) LiberateTemporaryFile(filename); |
7382 | | |
7383 | 26.2k | if (status == MagickFail) |
7384 | 6.01k | break; |
7385 | 26.2k | } |
7386 | 6.02k | if (EOFBlob(*image)) |
7387 | 1.48k | { |
7388 | 1.48k | status = MagickFail; |
7389 | 1.48k | ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,(*image)->filename); |
7390 | 1.48k | } |
7391 | | |
7392 | 6.02k | if (status == MagickFail) |
7393 | 6.01k | { |
7394 | 6.01k | DestroyImageList(image_list); |
7395 | 6.01k | image_list = (Image *) NULL; |
7396 | 6.01k | } |
7397 | 1 | else |
7398 | 1 | { |
7399 | 1 | DestroyImage(*image); |
7400 | 1 | *image=image_list; |
7401 | 1 | } |
7402 | 6.02k | return status; |
7403 | 6.02k | } |
7404 | | |
7405 | | /* |
7406 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7407 | | % % |
7408 | | % % |
7409 | | % % |
7410 | | % R e a d D C M I m a g e % |
7411 | | % % |
7412 | | % % |
7413 | | % % |
7414 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7415 | | % |
7416 | | % Method ReadDCMImage reads a Digital Imaging and Communications in Medicine |
7417 | | % (DICOM) file and returns it. It It allocates the memory necessary for the |
7418 | | % new Image structure and returns a pointer to the new image. |
7419 | | % |
7420 | | % The format of the ReadDCMImage method is: |
7421 | | % |
7422 | | % Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception) |
7423 | | % |
7424 | | % A description of each parameter follows: |
7425 | | % |
7426 | | % o image: Method ReadDCMImage returns a pointer to the image after |
7427 | | % reading. A null image is returned if there is a memory shortage or |
7428 | | % if the image cannot be read. |
7429 | | % |
7430 | | % o image_info: Specifies a pointer to a ImageInfo structure. |
7431 | | % |
7432 | | % o exception: return any errors or warnings in this structure. |
7433 | | % |
7434 | | % |
7435 | | */ |
7436 | | #define ThrowDCMReaderException(code_,reason_,image_) \ |
7437 | 123 | { \ |
7438 | 123 | DCM_DestroyDCM(&dcm); \ |
7439 | 123 | ThrowReaderException(code_,reason_,image_); \ |
7440 | 0 | } |
7441 | | static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception) |
7442 | 23.9k | { |
7443 | 23.9k | char |
7444 | 23.9k | magick[MaxTextExtent]; |
7445 | | |
7446 | 23.9k | Image |
7447 | 23.9k | *image; |
7448 | | |
7449 | 23.9k | int |
7450 | 23.9k | scene; |
7451 | | |
7452 | 23.9k | size_t |
7453 | 23.9k | count; |
7454 | | |
7455 | 23.9k | unsigned long |
7456 | 23.9k | status; |
7457 | | |
7458 | 23.9k | DicomStream |
7459 | 23.9k | dcm; |
7460 | | |
7461 | | /* |
7462 | | Open image file |
7463 | | */ |
7464 | 23.9k | assert(image_info != (const ImageInfo *) NULL); |
7465 | 23.9k | assert(image_info->signature == MagickSignature); |
7466 | 23.9k | assert(exception != (ExceptionInfo *) NULL); |
7467 | 23.9k | assert(exception->signature == MagickSignature); |
7468 | 23.9k | (void) DCM_InitDCM(&dcm,image_info->verbose); |
7469 | 23.9k | image=AllocateImage(image_info); |
7470 | 23.9k | status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception); |
7471 | 23.9k | if (status == MagickFail) |
7472 | 23.9k | ThrowDCMReaderException(FileOpenError,UnableToOpenFile,image); |
7473 | | |
7474 | | /* |
7475 | | Read DCM preamble |
7476 | | */ |
7477 | 23.9k | if ((count=ReadBlob(image,128,(char *) magick)) != 128) |
7478 | 23.9k | ThrowDCMReaderException(CorruptImageError,UnexpectedEndOfFile,image); |
7479 | 23.9k | if ((count=ReadBlob(image,4,(char *) magick)) != 4) |
7480 | 23.9k | ThrowDCMReaderException(CorruptImageError,UnexpectedEndOfFile,image); |
7481 | 23.9k | if (image->logging) |
7482 | 23.9k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7483 | 23.9k | "magick: \"%.4s\"",magick); |
7484 | 23.9k | if (LocaleNCompare((char *) magick,"DICM",4) != 0) |
7485 | 8.88k | (void) SeekBlob(image,0L,SEEK_SET); |
7486 | | |
7487 | | /* |
7488 | | Loop to read DCM image header one element at a time |
7489 | | */ |
7490 | 23.9k | status=DCM_ReadElement(image,&dcm,exception); |
7491 | 1.68M | while ((status == MagickPass) && ((dcm.group != 0x7FE0) || (dcm.element != 0x0010))) |
7492 | 1.66M | { |
7493 | 1.66M | DicomElemParseFunc |
7494 | 1.66M | *pfunc; |
7495 | | |
7496 | 1.66M | pfunc=parse_funcs[dicom_info[dcm.index].funce]; |
7497 | 1.66M | if (pfunc != (DicomElemParseFunc *)NULL) |
7498 | 63.7k | status=pfunc(image,&dcm,exception); |
7499 | 1.66M | MagickFreeResourceLimitedMemory(unsigned char *,dcm.data); |
7500 | 1.66M | dcm.data = NULL; |
7501 | 1.66M | dcm.length = 0; |
7502 | 1.66M | if (status == MagickPass) |
7503 | 1.66M | status=DCM_ReadElement(image,&dcm,exception); |
7504 | 1.66M | } |
7505 | 23.9k | if (status == MagickFail) |
7506 | 15.9k | goto dcm_read_failure; |
7507 | 7.95k | #if defined(IGNORE_WINDOW_FOR_UNSPECIFIED_SCALE_TYPE) |
7508 | 7.95k | if (dcm.rescale_type == DCM_RT_UNSPECIFIED) |
7509 | 3 | { |
7510 | 3 | dcm.window_width=0; |
7511 | 3 | dcm.rescale_slope=1; |
7512 | 3 | dcm.rescale_intercept=0; |
7513 | 3 | } |
7514 | 7.95k | #endif |
7515 | 7.95k | DCM_SetRescaling(&dcm,(AccessDefinition(image_info,"dcm","avoid-scaling") != NULL)); |
7516 | | /* |
7517 | | Now process the image data |
7518 | | */ |
7519 | 7.95k | if ((dcm.columns == 0) || (dcm.rows == 0)) |
7520 | 3 | { |
7521 | 3 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
7522 | 3 | status=MagickFail; |
7523 | 3 | } |
7524 | 7.94k | else if ((dcm.samples_per_pixel == 0) || (dcm.samples_per_pixel > 4)) |
7525 | 16 | { |
7526 | 16 | ThrowException(exception,CorruptImageError,ImproperImageHeader,image->filename); |
7527 | 16 | status=MagickFail; |
7528 | 16 | } |
7529 | 7.93k | else if ((dcm.transfer_syntax != DCM_TS_IMPL_LITTLE) && |
7530 | 7.60k | (dcm.transfer_syntax != DCM_TS_EXPL_LITTLE) && |
7531 | 7.60k | (dcm.transfer_syntax != DCM_TS_EXPL_BIG) && |
7532 | 7.59k | (dcm.transfer_syntax != DCM_TS_RLE)) |
7533 | 6.07k | { |
7534 | 6.07k | status=DCM_ReadNonNativeImages(&image,image_info,&dcm,exception); |
7535 | 6.07k | dcm.number_scenes=0; |
7536 | 6.07k | } |
7537 | 1.86k | else if (dcm.rescaling != DCM_RS_POST) |
7538 | 435 | { |
7539 | 435 | status=DCM_SetupRescaleMap(image,&dcm,exception); |
7540 | 435 | } |
7541 | | |
7542 | 7.95k | if (status == MagickFail) |
7543 | 6.09k | goto dcm_read_failure; |
7544 | | |
7545 | 1.85k | if (dcm.transfer_syntax == DCM_TS_RLE) |
7546 | 1.52k | status=DCM_ReadOffsetTable(image,&dcm,exception); |
7547 | | |
7548 | | /* Loop to process all scenes in image */ |
7549 | 1.85k | if (image->logging) |
7550 | 1.85k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7551 | 1.85k | "DICOM has %d scenes", dcm.number_scenes); |
7552 | 1.85k | if (status == MagickFail) |
7553 | 30 | goto dcm_read_failure; |
7554 | | |
7555 | 1.82k | for (scene=0; scene < (long) dcm.number_scenes; scene++) |
7556 | 1.82k | { |
7557 | 1.82k | if (dcm.transfer_syntax == DCM_TS_RLE) |
7558 | 1.49k | { |
7559 | 1.49k | magick_uint32_t |
7560 | 1.49k | tag, |
7561 | 1.49k | length; |
7562 | | |
7563 | | /* |
7564 | | Discard any remaining bytes from last fragment |
7565 | | */ |
7566 | 1.49k | if (dcm.frag_bytes) |
7567 | 0 | SeekBlob(image,dcm.frag_bytes,SEEK_CUR); |
7568 | | |
7569 | | /* |
7570 | | Read fragment tag |
7571 | | */ |
7572 | 1.49k | tag=(((magick_uint32_t) dcm.funcReadShort(image)) << 16) | |
7573 | 1.49k | (magick_uint32_t) dcm.funcReadShort(image); |
7574 | 1.49k | length=dcm.funcReadLong(image); |
7575 | 1.49k | if ((tag != 0xFFFEE000) || (length <= 64) || EOFBlob(image)) |
7576 | 31 | { |
7577 | 31 | status=MagickFail; |
7578 | 31 | ThrowDCMReaderException(CorruptImageError,UnexpectedEndOfFile,image); |
7579 | 0 | break; |
7580 | 31 | } |
7581 | | |
7582 | | /* |
7583 | | Set up decompression state |
7584 | | */ |
7585 | 1.46k | dcm.frag_bytes=length; |
7586 | 1.46k | dcm.rle_rep_ct=0; |
7587 | | |
7588 | | /* |
7589 | | Read RLE segment table |
7590 | | */ |
7591 | 1.46k | dcm.rle_seg_ct=dcm.funcReadLong(image); |
7592 | 23.4k | for (length=0; length < 15; length++) |
7593 | 21.9k | dcm.rle_seg_offsets[length]=dcm.funcReadLong(image); |
7594 | 1.46k | dcm.frag_bytes-=64; |
7595 | 1.46k | if (EOFBlob(image)) |
7596 | 37 | { |
7597 | 37 | status=MagickFail; |
7598 | 37 | ThrowDCMReaderException(CorruptImageError,UnexpectedEndOfFile,image); |
7599 | 0 | break; |
7600 | 37 | } |
7601 | 1.42k | if (dcm.rle_seg_ct > 1) |
7602 | 44 | { |
7603 | 44 | fprintf(stdout,"Multiple RLE segments in frame are not supported\n"); |
7604 | 44 | status=MagickFail; |
7605 | 44 | break; |
7606 | 44 | } |
7607 | 1.42k | } |
7608 | | |
7609 | | /* |
7610 | | Initialize image structure. |
7611 | | */ |
7612 | 1.71k | image->columns=dcm.columns; |
7613 | 1.71k | image->rows=dcm.rows; |
7614 | 1.71k | image->interlace=(dcm.interlace==1)?PlaneInterlace:NoInterlace; |
7615 | 1.71k | if (image->logging) |
7616 | 1.71k | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7617 | 1.71k | "Scene[%d]: %lux%lu", scene, image->columns, image->rows); |
7618 | | #if defined(GRAYSCALE_USES_PALETTE) |
7619 | | if ((image->colormap == (PixelPacket *) NULL) && (dcm.samples_per_pixel == 1)) |
7620 | | #else |
7621 | 1.71k | if ((image->colormap == (PixelPacket *) NULL) && (dcm.phot_interp == DCM_PI_PALETTE_COLOR)) |
7622 | 354 | #endif |
7623 | 354 | { |
7624 | 354 | status=DCM_SetupColormap(image,&dcm,exception); |
7625 | 354 | if (status == MagickFail) |
7626 | 0 | break; |
7627 | 354 | } |
7628 | 1.71k | if (image_info->ping) |
7629 | 0 | break; |
7630 | | |
7631 | 1.71k | if (CheckImagePixelLimits(image, exception) != MagickPass) |
7632 | 1.68k | ThrowDCMReaderException(ResourceLimitError,ImagePixelLimitExceeded,image); |
7633 | | |
7634 | | /* |
7635 | | Process image according to type |
7636 | | */ |
7637 | 1.68k | if (dcm.samples_per_pixel == 1) |
7638 | 964 | { |
7639 | 964 | if (dcm.phot_interp == DCM_PI_PALETTE_COLOR) |
7640 | 395 | status=DCM_ReadPaletteImage(image,&dcm,exception); |
7641 | 569 | else |
7642 | 569 | status=DCM_ReadGrayscaleImage(image,&dcm,exception); |
7643 | 964 | } |
7644 | 719 | else |
7645 | 719 | { |
7646 | 719 | if (image->interlace == PlaneInterlace) |
7647 | 402 | status=DCM_ReadPlanarRGBImage(image,&dcm,exception); |
7648 | 317 | else |
7649 | 317 | status=DCM_ReadRGBImage(image,&dcm,exception); |
7650 | 719 | } |
7651 | 1.68k | if (status != MagickPass) |
7652 | 1.51k | break; |
7653 | | |
7654 | 170 | if ((dcm.rescaling == DCM_RS_PRE) && |
7655 | 11 | ((dcm.phot_interp == DCM_PI_MONOCHROME1) || |
7656 | 11 | (dcm.phot_interp == DCM_PI_MONOCHROME2))) |
7657 | 0 | { |
7658 | 0 | if (image->logging) |
7659 | 0 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7660 | 0 | "Normalizing image channels..."); |
7661 | 0 | NormalizeImage(image); |
7662 | 0 | } |
7663 | 170 | else |
7664 | 170 | { |
7665 | 170 | if (dcm.rescaling == DCM_RS_POST) |
7666 | 102 | { |
7667 | 102 | if (image->logging) |
7668 | 102 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
7669 | 102 | "Rescaling image channels..."); |
7670 | 102 | status = DCM_PostRescaleImage(image,&dcm,False,exception); |
7671 | 102 | if (status != MagickPass) |
7672 | 51 | break; |
7673 | 102 | } |
7674 | 170 | } |
7675 | 119 | StopTimer(&image->timer); |
7676 | | |
7677 | | /* |
7678 | | Proceed to next image. |
7679 | | */ |
7680 | 119 | if (image_info->subrange != 0) |
7681 | 119 | if (image->scene >= (image_info->subimage+image_info->subrange-1)) |
7682 | 119 | break; |
7683 | 0 | if (scene < (long) (dcm.number_scenes-1)) |
7684 | 0 | { |
7685 | | /* |
7686 | | Allocate next image structure. |
7687 | | */ |
7688 | 0 | AllocateNextImage(image_info,image); |
7689 | 0 | if (image->next == (Image *) NULL) |
7690 | 0 | { |
7691 | 0 | status=MagickFail; |
7692 | 0 | break; |
7693 | 0 | } |
7694 | 0 | image=SyncNextImageInList(image); |
7695 | 0 | status=MagickMonitorFormatted(TellBlob(image),GetBlobSize(image), |
7696 | 0 | exception,LoadImagesText, |
7697 | 0 | image->filename); |
7698 | 0 | if (status == MagickFail) |
7699 | 0 | break; |
7700 | 0 | } |
7701 | 0 | } |
7702 | | |
7703 | | /* |
7704 | | Free allocated resources |
7705 | | */ |
7706 | 23.8k | dcm_read_failure: |
7707 | 23.8k | DCM_DestroyDCM(&dcm); |
7708 | 23.8k | if (status == MagickPass) |
7709 | 121 | { |
7710 | | /* It is possible to have success status yet have no image */ |
7711 | 121 | if (image != (Image *) NULL) |
7712 | 121 | { |
7713 | 121 | while (image->previous != (Image *) NULL) |
7714 | 0 | image=image->previous; |
7715 | 121 | CloseBlob(image); |
7716 | 121 | return(image); |
7717 | 121 | } |
7718 | 0 | else |
7719 | 0 | { |
7720 | 0 | ThrowException(exception,CorruptImageError, |
7721 | 0 | ImageFileDoesNotContainAnyImageData, |
7722 | 0 | image_info->filename); |
7723 | 0 | return (Image *) NULL; |
7724 | 0 | } |
7725 | 121 | } |
7726 | 23.7k | else |
7727 | 23.7k | { |
7728 | 23.7k | DestroyImageList(image); |
7729 | 23.7k | return((Image *) NULL); |
7730 | 23.7k | } |
7731 | 23.8k | } |
7732 | | |
7733 | | /* |
7734 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7735 | | % % |
7736 | | % % |
7737 | | % % |
7738 | | % R e g i s t e r D C M I m a g e % |
7739 | | % % |
7740 | | % % |
7741 | | % % |
7742 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7743 | | % |
7744 | | % Method RegisterDCMImage adds attributes for the DCM image format to |
7745 | | % the list of supported formats. The attributes include the image format |
7746 | | % tag, a method to read and/or write the format, whether the format |
7747 | | % supports the saving of more than one frame to the same file or blob, |
7748 | | % whether the format supports native in-memory I/O, and a brief |
7749 | | % description of the format. |
7750 | | % |
7751 | | % The format of the RegisterDCMImage method is: |
7752 | | % |
7753 | | % RegisterDCMImage(void) |
7754 | | % |
7755 | | */ |
7756 | | ModuleExport void RegisterDCMImage(void) |
7757 | 4 | { |
7758 | 4 | MagickInfo |
7759 | 4 | *entry; |
7760 | | |
7761 | 4 | entry=SetMagickInfo("DCM"); |
7762 | 4 | entry->decoder=(DecoderHandler) ReadDCMImage; |
7763 | 4 | entry->magick=(MagickHandler) IsDCM; |
7764 | 4 | entry->adjoin=False; |
7765 | 4 | entry->seekable_stream=True; |
7766 | 4 | entry->description="Digital Imaging and Communications in Medicine image"; |
7767 | 4 | entry->note="See http://medical.nema.org/ for information on DICOM."; |
7768 | 4 | entry->module="DCM"; |
7769 | 4 | (void) RegisterMagickInfo(entry); |
7770 | 4 | } |
7771 | | |
7772 | | /* |
7773 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7774 | | % % |
7775 | | % % |
7776 | | % % |
7777 | | % U n r e g i s t e r D C M I m a g e % |
7778 | | % % |
7779 | | % % |
7780 | | % % |
7781 | | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7782 | | % |
7783 | | % Method UnregisterDCMImage removes format registrations made by the |
7784 | | % DCM module from the list of supported formats. |
7785 | | % |
7786 | | % The format of the UnregisterDCMImage method is: |
7787 | | % |
7788 | | % UnregisterDCMImage(void) |
7789 | | % |
7790 | | */ |
7791 | | ModuleExport void UnregisterDCMImage(void) |
7792 | 0 | { |
7793 | 0 | (void) UnregisterMagickInfo("DCM"); |
7794 | 0 | } |
7795 | | /* |
7796 | | ### TODO : |
7797 | | #1 Fixes on palette support: |
7798 | | - Handle palette images where # of entries > MaxColormapSize - create image |
7799 | | as Direct class, store the original palette (scaled to MaxRGB) and then map |
7800 | | input values via modified palette to output RGB values. |
7801 | | - Honour palette/LUT descriptors (ie values <= min value map to first |
7802 | | entry, value = (min_value + 1) maps to second entry, and so on, whilst |
7803 | | values >= (min value + palette/LUT size) map to last entry. |
7804 | | #2 Use ImportImagePixelArea? |
7805 | | #3 Handling of encapsulated JPEGs which downsample to 8 bit via |
7806 | | libjpeg. These lose accuracy before we can rescale to handle the |
7807 | | issues of PR=1 + window center/width + rescale slope/intercept on |
7808 | | MONOCHROME1 or 2. Worst case : CT-MONO2-16-chest. Currently images |
7809 | | are post-rescaled based on sample range. For PseudoClass grayscales |
7810 | | this is done by colormap manipulation only. |
7811 | | #4 JPEG/JPEG-LS/JPEG 2000: Check that multi frame handling in DCM_ReadEncapImages |
7812 | | is ok |
7813 | | #5 Support LUTs? |
7814 | | #6 Pixel Padding value/range - make transparent or allow use to specify a color? |
7815 | | */ |