Created
April 7, 2024 21:58
-
-
Save bartlomieju/a00a74d32947eef6a0811483d8619a0e to your computer and use it in GitHub Desktop.
CJS analysis bug
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******/ (() => { // webpackBootstrap | |
/******/ "use strict"; | |
/******/ var __webpack_modules__ = ({ | |
/***/ "./src/base.ts": | |
/*!*********************!*\ | |
!*** ./src/base.ts ***! | |
\*********************/ | |
/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | |
if (k2 === undefined) k2 = k; | |
var desc = Object.getOwnPropertyDescriptor(m, k); | |
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | |
desc = { enumerable: true, get: function() { return m[k]; } }; | |
} | |
Object.defineProperty(o, k2, desc); | |
}) : (function(o, m, k, k2) { | |
if (k2 === undefined) k2 = k; | |
o[k2] = m[k]; | |
})); | |
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | |
Object.defineProperty(o, "default", { enumerable: true, value: v }); | |
}) : function(o, v) { | |
o["default"] = v; | |
}); | |
var __importStar = (this && this.__importStar) || function (mod) { | |
if (mod && mod.__esModule) return mod; | |
var result = {}; | |
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | |
__setModuleDefault(result, mod); | |
return result; | |
}; | |
var __importDefault = (this && this.__importDefault) || function (mod) { | |
return (mod && mod.__esModule) ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.tagToBytes = exports.tagToBytesLE = exports.tagToBytesBE = exports.intToBytes = exports.shortToBytes = exports.shortToBytesLE = exports.shortToBytesBE = exports.intToBytesLE = exports.intToBytesBE = exports.bytesToDouble = exports.bytesToDoubleLE = exports.bytesToDoubleBE = exports.bytesToFloat = exports.bytesToFloatLE = exports.bytesToFloatBE = exports.bytesToTag = exports.bytesToTagLE = exports.bytesToTagBE = exports.bytesToUInt = exports.bytesToUIntLE = exports.bytesToUIntBE = exports.bytesToInt = exports.bytesToIntLE = exports.bytesToIntBE = exports.bytesToVR = exports.bytesToUShort = exports.bytesToUShortLE = exports.bytesToUShortBE = exports.bytesToShort = exports.bytesToShortLE = exports.bytesToShortBE = exports.elementNumber = exports.groupNumber = exports.shiftLeftUnsigned = exports.toInt32 = exports.toUInt32 = exports.emptyBuffer = exports.multiValueDelimiter = exports.randomUID = exports.nameBasedUID = exports.toUID = exports.hexToDec = exports.concatArrays = exports.prependToArray = exports.appendToArray = exports.flatten = exports.concatv = exports.concat = exports.zero4Bytes = exports.indeterminateLength = void 0; | |
exports.pipe = exports.createNameBasedUIDFromRoot = exports.createNameBasedUID = exports.createUIDFromRoot = exports.createUID = exports.defaultCharacterSet = exports.systemZone = exports.isDeflated = exports.isGroupLength = exports.isFileMetaInformation = exports.sequenceDelimitationNonZeroLength = exports.sequenceDelimitation = exports.sequenceDelimitationBE = exports.sequenceDelimitationLE = exports.itemDelimitation = exports.itemDelimitationBE = exports.itemDelimitationLE = exports.item = exports.itemBE = exports.itemLE = exports.padToEvenLength = exports.trim = exports.tagToString = exports.doubleToBytes = exports.floatToBytes = void 0; | |
const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
const multipipe_1 = __importDefault(__webpack_require__(/*! multipipe */ "multipipe")); | |
const uuid_1 = __webpack_require__(/*! uuid */ "uuid"); | |
const CS = __importStar(__webpack_require__(/*! ./character-sets */ "./src/character-sets.ts")); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
// eslint:disable: no-bitwise | |
exports.indeterminateLength = 0xffffffff; | |
exports.zero4Bytes = Buffer.from([0, 0, 0, 0]); | |
function concat(a, b) { | |
return Buffer.concat([a, b], a.length + b.length); | |
} | |
exports.concat = concat; | |
function concatv(...buffers) { | |
return Buffer.concat(buffers); | |
} | |
exports.concatv = concatv; | |
function flatten(array) { | |
return [].concat(...array); | |
} | |
exports.flatten = flatten; | |
function appendToArray(object, array) { | |
const newArray = array.slice(); | |
newArray.push(object); | |
return newArray; | |
} | |
exports.appendToArray = appendToArray; | |
function prependToArray(object, array) { | |
const newArray = array.slice(); | |
newArray.unshift(object); | |
return newArray; | |
} | |
exports.prependToArray = prependToArray; | |
function concatArrays(array1, array2) { | |
const newArray = array1.slice(); | |
array2.forEach((i) => newArray.push(i)); | |
return newArray; | |
} | |
exports.concatArrays = concatArrays; | |
const uidRoot = '2.25'; | |
const uuidNamespace = 'd181d67b-0a1c-45bf-8616-070f1bb0d0cf'; | |
function hexToDec(s) { | |
const digits = [0]; | |
let carry; | |
for (let i = 0; i < s.length; i++) { | |
carry = parseInt(s.charAt(i), 16); | |
for (let j = 0; j < digits.length; j++) { | |
digits[j] = digits[j] * 16 + carry; | |
carry = (digits[j] / 10) | 0; | |
digits[j] %= 10; | |
} | |
while (carry > 0) { | |
digits.push(carry % 10); | |
carry = (carry / 10) | 0; | |
} | |
} | |
return digits.reverse().join(''); | |
} | |
exports.hexToDec = hexToDec; | |
function toUID(root, uuid) { | |
const hexStr = uuid.replace(/-/g, ''); | |
const docStr = hexToDec(hexStr).replace(/^0+/, ''); | |
return (root + '.' + docStr).substring(0, 64); | |
} | |
exports.toUID = toUID; | |
function nameBasedUID(name, root) { | |
return toUID(root, (0, uuid_1.v5)(name, uuidNamespace)); | |
} | |
exports.nameBasedUID = nameBasedUID; | |
function randomUID(root) { | |
return toUID(root, (0, uuid_1.v4)()); | |
} | |
exports.randomUID = randomUID; | |
exports.multiValueDelimiter = '\\'; | |
exports.emptyBuffer = Buffer.alloc(0); | |
function toUInt32(num) { | |
return num >>> 0; | |
} | |
exports.toUInt32 = toUInt32; | |
function toInt32(num) { | |
return num >> 0; | |
} | |
exports.toInt32 = toInt32; | |
function shiftLeftUnsigned(num, n) { | |
return toUInt32(num << n); | |
} | |
exports.shiftLeftUnsigned = shiftLeftUnsigned; | |
function groupNumber(tag) { | |
return tag >>> 16; | |
} | |
exports.groupNumber = groupNumber; | |
function elementNumber(tag) { | |
return tag & 0xffff; | |
} | |
exports.elementNumber = elementNumber; | |
function bytesToShortBE(bytes) { | |
return bytes.readInt16BE(0); | |
} | |
exports.bytesToShortBE = bytesToShortBE; | |
function bytesToShortLE(bytes) { | |
return bytes.readInt16LE(0); | |
} | |
exports.bytesToShortLE = bytesToShortLE; | |
function bytesToShort(bytes, bigEndian = false) { | |
return bigEndian ? bytesToShortBE(bytes) : bytesToShortLE(bytes); | |
} | |
exports.bytesToShort = bytesToShort; | |
function bytesToUShortBE(bytes) { | |
return bytes.readUInt16BE(0); | |
} | |
exports.bytesToUShortBE = bytesToUShortBE; | |
function bytesToUShortLE(bytes) { | |
return bytes.readUInt16LE(0); | |
} | |
exports.bytesToUShortLE = bytesToUShortLE; | |
function bytesToUShort(bytes, bigEndian = false) { | |
return bigEndian ? bytesToUShortBE(bytes) : bytesToUShortLE(bytes); | |
} | |
exports.bytesToUShort = bytesToUShort; | |
function bytesToVR(bytes) { | |
return bytesToUShortBE(bytes); | |
} | |
exports.bytesToVR = bytesToVR; | |
function bytesToIntBE(bytes) { | |
return bytes.readInt32BE(0); | |
} | |
exports.bytesToIntBE = bytesToIntBE; | |
function bytesToIntLE(bytes) { | |
return bytes.readInt32LE(0); | |
} | |
exports.bytesToIntLE = bytesToIntLE; | |
function bytesToInt(bytes, bigEndian = false) { | |
return bigEndian ? bytesToIntBE(bytes) : bytesToIntLE(bytes); | |
} | |
exports.bytesToInt = bytesToInt; | |
function bytesToUIntBE(bytes) { | |
return bytes.readUInt32BE(0); | |
} | |
exports.bytesToUIntBE = bytesToUIntBE; | |
function bytesToUIntLE(bytes) { | |
return bytes.readUInt32LE(0); | |
} | |
exports.bytesToUIntLE = bytesToUIntLE; | |
function bytesToUInt(bytes, bigEndian = false) { | |
return bigEndian ? bytesToUIntBE(bytes) : bytesToUIntLE(bytes); | |
} | |
exports.bytesToUInt = bytesToUInt; | |
function bytesToTagBE(bytes) { | |
return bytesToUIntBE(bytes); | |
} | |
exports.bytesToTagBE = bytesToTagBE; | |
function bytesToTagLE(bytes) { | |
return shiftLeftUnsigned(bytes.readUInt16LE(0), 16) + bytes.readUInt16LE(2); | |
} | |
exports.bytesToTagLE = bytesToTagLE; | |
function bytesToTag(bytes, bigEndian = false) { | |
return bigEndian ? bytesToTagBE(bytes) : bytesToTagLE(bytes); | |
} | |
exports.bytesToTag = bytesToTag; | |
function bytesToFloatBE(bytes) { | |
return bytes.readFloatBE(0); | |
} | |
exports.bytesToFloatBE = bytesToFloatBE; | |
function bytesToFloatLE(bytes) { | |
return bytes.readFloatLE(0); | |
} | |
exports.bytesToFloatLE = bytesToFloatLE; | |
function bytesToFloat(bytes, bigEndian = false) { | |
return bigEndian ? bytesToFloatBE(bytes) : bytesToFloatLE(bytes); | |
} | |
exports.bytesToFloat = bytesToFloat; | |
function bytesToDoubleBE(bytes) { | |
return bytes.readDoubleBE(0); | |
} | |
exports.bytesToDoubleBE = bytesToDoubleBE; | |
function bytesToDoubleLE(bytes) { | |
return bytes.readDoubleLE(0); | |
} | |
exports.bytesToDoubleLE = bytesToDoubleLE; | |
function bytesToDouble(bytes, bigEndian = false) { | |
return bigEndian ? bytesToDoubleBE(bytes) : bytesToDoubleLE(bytes); | |
} | |
exports.bytesToDouble = bytesToDouble; | |
function intToBytesBE(i) { | |
return Buffer.from([i >> 24, i >> 16, i >> 8, i]); | |
} | |
exports.intToBytesBE = intToBytesBE; | |
function intToBytesLE(i) { | |
return Buffer.from([i, i >> 8, i >> 16, i >> 24]); | |
} | |
exports.intToBytesLE = intToBytesLE; | |
function shortToBytesBE(i) { | |
return Buffer.from([i >> 8, i]); | |
} | |
exports.shortToBytesBE = shortToBytesBE; | |
function shortToBytesLE(i) { | |
return Buffer.from([i, i >> 8]); | |
} | |
exports.shortToBytesLE = shortToBytesLE; | |
function shortToBytes(i, bigEndian = false) { | |
return bigEndian ? shortToBytesBE(i) : shortToBytesLE(i); | |
} | |
exports.shortToBytes = shortToBytes; | |
function intToBytes(i, bigEndian = false) { | |
return bigEndian ? intToBytesBE(i) : intToBytesLE(i); | |
} | |
exports.intToBytes = intToBytes; | |
function tagToBytesBE(tag) { | |
return intToBytesBE(tag); | |
} | |
exports.tagToBytesBE = tagToBytesBE; | |
function tagToBytesLE(tag) { | |
return Buffer.from([tag >> 16, tag >> 24, tag, tag >> 8]); | |
} | |
exports.tagToBytesLE = tagToBytesLE; | |
function tagToBytes(tag, bigEndian = false) { | |
return bigEndian ? tagToBytesBE(tag) : tagToBytesLE(tag); | |
} | |
exports.tagToBytes = tagToBytes; | |
function floatToBytes(f, bigEndian = false) { | |
const buf = Buffer.allocUnsafe(4); | |
if (bigEndian) { | |
buf.writeFloatBE(f, 0); | |
} | |
else { | |
buf.writeFloatLE(f, 0); | |
} | |
return buf; | |
} | |
exports.floatToBytes = floatToBytes; | |
function doubleToBytes(f, bigEndian = false) { | |
const buf = Buffer.allocUnsafe(8); | |
if (bigEndian) { | |
buf.writeDoubleBE(f, 0); | |
} | |
else { | |
buf.writeDoubleLE(f, 0); | |
} | |
return buf; | |
} | |
exports.doubleToBytes = doubleToBytes; | |
function tagToString(tag) { | |
const hex = ('00000000' + tag.toString(16)).slice(-8); | |
return '(' + hex.slice(0, 4) + ',' + hex.slice(4, 8) + ')'; | |
} | |
exports.tagToString = tagToString; | |
function trim(s) { | |
return s.replace(/^[\x00-\x20]*/g, '').replace(/[\x00-\x20]*$/g, ''); | |
} | |
exports.trim = trim; | |
function padToEvenLength(bytes, tagOrVR) { | |
const vr = isNaN(tagOrVR) ? tagOrVR : lookup_1.Lookup.vrOf(tagOrVR); | |
return (bytes.length & 1) !== 0 ? concat(bytes, Buffer.from([vr.paddingByte])) : bytes; | |
} | |
exports.padToEvenLength = padToEvenLength; | |
exports.itemLE = concat(tagToBytesLE(tag_1.Tag.Item), intToBytesLE(exports.indeterminateLength)); | |
exports.itemBE = concat(tagToBytesBE(tag_1.Tag.Item), intToBytesBE(exports.indeterminateLength)); | |
function item(length = exports.indeterminateLength, bigEndian = false) { | |
return length === exports.indeterminateLength | |
? bigEndian | |
? exports.itemBE | |
: exports.itemLE | |
: concat(tagToBytes(tag_1.Tag.Item, bigEndian), intToBytes(length, bigEndian)); | |
} | |
exports.item = item; | |
exports.itemDelimitationLE = concat(tagToBytesLE(tag_1.Tag.ItemDelimitationItem), exports.zero4Bytes); | |
exports.itemDelimitationBE = concat(tagToBytesBE(tag_1.Tag.ItemDelimitationItem), exports.zero4Bytes); | |
function itemDelimitation(bigEndian = false) { | |
return bigEndian ? exports.itemDelimitationBE : exports.itemDelimitationLE; | |
} | |
exports.itemDelimitation = itemDelimitation; | |
exports.sequenceDelimitationLE = concat(tagToBytesLE(tag_1.Tag.SequenceDelimitationItem), exports.zero4Bytes); | |
exports.sequenceDelimitationBE = concat(tagToBytesBE(tag_1.Tag.SequenceDelimitationItem), exports.zero4Bytes); | |
function sequenceDelimitation(bigEndian = false) { | |
return bigEndian ? exports.sequenceDelimitationBE : exports.sequenceDelimitationLE; | |
} | |
exports.sequenceDelimitation = sequenceDelimitation; | |
function sequenceDelimitationNonZeroLength(bigEndian = false) { | |
return concatv(tagToBytes(tag_1.Tag.SequenceDelimitationItem, bigEndian), intToBytes(0x00000010, bigEndian)); | |
} | |
exports.sequenceDelimitationNonZeroLength = sequenceDelimitationNonZeroLength; | |
function isFileMetaInformation(tag) { | |
return (tag & 0xffff0000) === 0x00020000; | |
} | |
exports.isFileMetaInformation = isFileMetaInformation; | |
function isGroupLength(tag) { | |
return elementNumber(tag) === 0; | |
} | |
exports.isGroupLength = isGroupLength; | |
function isDeflated(transferSyntaxUid) { | |
return transferSyntaxUid === uid_1.UID.DeflatedExplicitVRLittleEndian || transferSyntaxUid === uid_1.UID.JPIPReferencedDeflate; | |
} | |
exports.isDeflated = isDeflated; | |
exports.systemZone = js_joda_1.ZoneId.SYSTEM; | |
exports.defaultCharacterSet = CS.defaultCharacterSet; | |
function createUID() { | |
return randomUID(uidRoot); | |
} | |
exports.createUID = createUID; | |
function createUIDFromRoot(root) { | |
return randomUID(root); | |
} | |
exports.createUIDFromRoot = createUIDFromRoot; | |
function createNameBasedUID(name) { | |
return nameBasedUID(name, uidRoot); | |
} | |
exports.createNameBasedUID = createNameBasedUID; | |
function createNameBasedUIDFromRoot(name, root) { | |
return nameBasedUID(name, root); | |
} | |
exports.createNameBasedUIDFromRoot = createNameBasedUIDFromRoot; | |
function pipe(...streams) { | |
return (0, multipipe_1.default)(streams); | |
} | |
exports.pipe = pipe; | |
/***/ }), | |
/***/ "./src/byte-parser.ts": | |
/*!****************************!*\ | |
!*** ./src/byte-parser.ts ***! | |
\****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.ByteParser = exports.ByteReader = exports.ParseResult = exports.finishedParser = exports.ParseStep = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const recurse = true; | |
const dontRecurse = false; | |
const needMoreData = new Error(); | |
class ParseStep { | |
onTruncation(reader) { | |
throw Error(reader.remainingSize() + ' bytes remain after finished parsing'); | |
} | |
} | |
exports.ParseStep = ParseStep; | |
class FinishedParser extends ParseStep { | |
parse() { | |
throw Error('No initial parser installed: you must use startWith(...)'); | |
} | |
} | |
exports.finishedParser = new FinishedParser(); | |
class ParseResult { | |
constructor(result, nextStep) { | |
this.result = result; | |
this.nextStep = nextStep; | |
} | |
} | |
exports.ParseResult = ParseResult; | |
class ByteReader { | |
constructor(input) { | |
this.input = base_1.emptyBuffer; | |
this.off = 0; | |
this.setInput(input); | |
} | |
setInput(input) { | |
this.input = input; | |
this.off = 0; | |
} | |
hasRemaining() { | |
return this.off < this.input.length; | |
} | |
remainingSize() { | |
return this.input.length - this.off; | |
} | |
remainingData() { | |
return this.hasRemaining() ? this.input.slice(this.off) : base_1.emptyBuffer; | |
} | |
ensure(n) { | |
if (this.remainingSize() < n) { | |
throw needMoreData; | |
} | |
} | |
take(n) { | |
if (this.off + n <= this.input.length) { | |
const o = this.off; | |
this.off = o + n; | |
return this.input.slice(o, this.off); | |
} | |
else { | |
throw needMoreData; | |
} | |
} | |
} | |
exports.ByteReader = ByteReader; | |
class ByteParser { | |
constructor(out) { | |
this.out = out; | |
this.current = exports.finishedParser; | |
this.isCompleted = false; | |
this.hasData = false; | |
this.reader = new ByteReader(base_1.emptyBuffer); | |
this.buffer = base_1.emptyBuffer; | |
} | |
parse(chunk) { | |
this.buffer = (0, base_1.concat)(this.buffer, chunk); | |
this.hasData = chunk.length > 0; | |
while (this.hasData && !this.isCompleted) { | |
this.doParse(1000); | |
} | |
} | |
flush() { | |
if (!this.isCompleted) { | |
if (this.buffer.length > 0) { | |
try { | |
this.reader.setInput(this.buffer); | |
this.current.onTruncation(this.reader); | |
this.complete(); | |
} | |
catch (error) { | |
this.fail(error); | |
} | |
} | |
else { | |
this.complete(); | |
} | |
} | |
} | |
startWith(step) { | |
this.current = step; | |
} | |
complete() { | |
this.isCompleted = true; | |
this.buffer = base_1.emptyBuffer; | |
this.reader = null; | |
this.out.complete(); | |
} | |
fail(error) { | |
error.message = 'Parsing failed: ' + (error && error.message ? error.message : ''); | |
this.isCompleted = true; | |
this.buffer = base_1.emptyBuffer; | |
this.reader = null; | |
this.out.fail(error); | |
} | |
doParseInner() { | |
if (this.buffer.length > 0) { | |
this.reader.setInput(this.buffer); | |
try { | |
const parseResult = this.current.parse(this.reader); | |
if (parseResult.result) { | |
this.out.next(parseResult.result); | |
} | |
if (parseResult.nextStep === exports.finishedParser) { | |
this.complete(); | |
return dontRecurse; | |
} | |
else { | |
this.buffer = this.reader.remainingData(); | |
this.current = parseResult.nextStep; | |
if (!this.reader.hasRemaining()) { | |
this.hasData = false; | |
} | |
// If this step didn't produce a result, continue parsing. | |
if (!parseResult.result) { | |
return recurse; | |
} | |
else { | |
return dontRecurse; | |
} | |
} | |
} | |
catch (error) { | |
if (error === needMoreData) { | |
this.hasData = false; | |
return dontRecurse; | |
} | |
this.fail(error); | |
return dontRecurse; | |
} | |
} | |
else { | |
this.hasData = false; | |
return dontRecurse; | |
} | |
} | |
doParse(remainingRecursions) { | |
if (remainingRecursions === 0) { | |
this.fail(new Error("Parsing logic didn't produce result. Aborting processing to avoid infinite cycles.")); | |
} | |
else { | |
const doRecurse = this.doParseInner(); | |
if (doRecurse) { | |
this.doParse(remainingRecursions - 1); | |
} | |
} | |
} | |
} | |
exports.ByteParser = ByteParser; | |
/***/ }), | |
/***/ "./src/character-sets.ts": | |
/*!*******************************!*\ | |
!*** ./src/character-sets.ts ***! | |
\*******************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.defaultCharacterSet = exports.CharacterSets = void 0; | |
const dicom_character_set_1 = __webpack_require__(/*! dicom-character-set */ "dicom-character-set"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class CharacterSets { | |
static isVrAffectedBySpecificCharacterSet(vr) { | |
return vr === vr_1.VR.LO || vr === vr_1.VR.LT || vr === vr_1.VR.PN || vr === vr_1.VR.SH || vr === vr_1.VR.ST || vr === vr_1.VR.UT; | |
} | |
static fromNames(names) { | |
return new CharacterSets(names); | |
} | |
static fromBytes(specificCharacterSetBytes) { | |
return !specificCharacterSetBytes || specificCharacterSetBytes.length === 0 | |
? exports.defaultCharacterSet | |
: new CharacterSets(specificCharacterSetBytes.toString().trim()); | |
} | |
static encode(s) { | |
return Buffer.from(s, 'utf8'); | |
} | |
static defaultOnly() { | |
return new CharacterSets(''); | |
} | |
constructor(charsets) { | |
this.charsets = charsets; | |
} | |
decode(bytes, vr) { | |
try { | |
return (0, dicom_character_set_1.convertBytes)(this.charsets, bytes, { vr: vr.name }); | |
} | |
catch (err) { | |
console.warn('Cannot decode using character set: ' + this.charsets + ', using default instead: ' + err); | |
return exports.defaultCharacterSet.decode(bytes, vr); | |
} | |
} | |
toString() { | |
return 'CharacterSets [' + this.charsets.split('\\').join(',') + ']'; | |
} | |
} | |
exports.CharacterSets = CharacterSets; | |
exports.defaultCharacterSet = CharacterSets.defaultOnly(); | |
/***/ }), | |
/***/ "./src/collect-flow.ts": | |
/*!*****************************!*\ | |
!*** ./src/collect-flow.ts ***! | |
\*****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.collectFromTagPathsFlow = exports.collectFlow = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
function collectFlow(tagCondition, stopCondition, label, maxBufferSize = 1000000) { | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.EndEvent)((0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow))))) { | |
constructor() { | |
super(...arguments); | |
this.buffer = []; | |
this.currentBufferSize = 0; | |
this.hasEmitted = false; | |
this.bytes = base_1.emptyBuffer; | |
this.currentValue = undefined; | |
this.currentFragment = undefined; | |
this.builder = new elements_builder_1.ElementsBuilder(); | |
} | |
elementsAndBuffer() { | |
const parts = (0, base_1.prependToArray)(new dicom_parts_1.ElementsPart(label, this.builder.build()), this.buffer); | |
this.hasEmitted = true; | |
this.buffer = []; | |
this.currentBufferSize = 0; | |
return parts; | |
} | |
maybeAdd(element) { | |
return tagCondition(this.tagPath) | |
? this.builder.addElement(element) | |
: this.builder.noteElement(element); | |
} | |
onEnd() { | |
return this.hasEmitted ? [] : this.elementsAndBuffer(); | |
} | |
onPart(part) { | |
if (this.hasEmitted) { | |
return [part]; | |
} | |
else { | |
if (maxBufferSize > 0 && this.currentBufferSize > maxBufferSize) { | |
throw Error('Error collecting elements: max buffer size exceeded'); | |
} | |
if (part !== dicom_flow_1.valueChunkMarker && | |
part !== dicom_flow_1.sequenceDelimitationPartMarker && | |
!(part instanceof dicom_flow_1.ItemDelimitationPartMarker)) { | |
this.buffer.push(part); | |
this.currentBufferSize += part.bytes.length; | |
} | |
if ('tag' in part && stopCondition(this.tagPath)) { | |
return this.elementsAndBuffer(); | |
} | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
this.currentValue = new dicom_elements_1.ValueElement(part.tag, part.vr, value_1.Value.empty(), part.bigEndian, part.explicitVR); | |
this.bytes = base_1.emptyBuffer; | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ItemPart && this.inFragments) { | |
this.currentFragment = new dicom_elements_1.FragmentElement(part.length, value_1.Value.empty(), part.bigEndian); | |
this.bytes = base_1.emptyBuffer; | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ValueChunk) { | |
this.bytes = (0, base_1.concat)(this.bytes, part.bytes); | |
if (part.last) { | |
if (this.inFragments && this.currentFragment) { | |
this.maybeAdd(new dicom_elements_1.FragmentElement(this.currentFragment.length, new value_1.Value(this.bytes), this.currentFragment.bigEndian)); | |
} | |
else if (this.currentValue) { | |
this.maybeAdd(new dicom_elements_1.ValueElement(this.currentValue.tag, this.currentValue.vr, new value_1.Value(this.bytes), this.currentValue.bigEndian, this.currentValue.explicitVR)); | |
} | |
this.currentFragment = undefined; | |
this.currentValue = undefined; | |
} | |
return []; | |
} | |
if (part instanceof dicom_parts_1.SequencePart) { | |
this.maybeAdd(new dicom_elements_1.SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR)); | |
return []; | |
} | |
if (part instanceof dicom_parts_1.FragmentsPart) { | |
this.maybeAdd(new dicom_elements_1.FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR)); | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ItemPart) { | |
this.maybeAdd(new dicom_elements_1.ItemElement(part.length, part.bigEndian)); | |
return []; | |
} | |
if (part instanceof dicom_flow_1.ItemDelimitationPartMarker) { | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
this.maybeAdd(new dicom_elements_1.ItemDelimitationElement(part.bigEndian)); | |
return []; | |
} | |
if (part === dicom_flow_1.sequenceDelimitationPartMarker) { | |
return []; | |
} | |
if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
this.maybeAdd(new dicom_elements_1.SequenceDelimitationElement(part.bigEndian)); | |
return []; | |
} | |
return []; | |
} | |
} | |
})()); | |
} | |
exports.collectFlow = collectFlow; | |
function collectFromTagPathsFlow(allowlist, label, maxBufferSize) { | |
const maxTag = allowlist.length > 0 ? Math.max(...allowlist.map((t) => t.head().tag())) : 0; | |
const tagCondition = (currentPath) => allowlist.find((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)) !== undefined; | |
const stopCondition = (tagPath) => allowlist.length === 0 || (tagPath.isRoot() && tagPath.tag() > maxTag); | |
return collectFlow(tagCondition, stopCondition, label, maxBufferSize); | |
} | |
exports.collectFromTagPathsFlow = collectFromTagPathsFlow; | |
/***/ }), | |
/***/ "./src/detour.ts": | |
/*!***********************!*\ | |
!*** ./src/detour.ts ***! | |
\***********************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Detour = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
class Detour extends stream_1.Transform { | |
constructor(options, detourFlow) { | |
super(options); | |
this.options = options; | |
this.detourFlow = detourFlow; | |
this.detour = false; | |
if (detourFlow) { | |
this.setDetourFlow(detourFlow); | |
} | |
} | |
setDetourFlow(detourFlow) { | |
this.detourFlow = detourFlow; | |
} | |
setDetour(detour = true, initialChunk) { | |
this.detour = detour; | |
if (this.detourFlow !== undefined) { | |
if (this.detour) { | |
this.detourFlow.on('data', (chunk) => this.process(chunk)); | |
this.detourFlow.once('end', () => this.cleanup()); | |
this.detourFlow.once('error', (error) => this.emit('error', error)); | |
} | |
else { | |
this.detourFlow.end(); | |
} | |
} | |
if (initialChunk !== undefined && (initialChunk.length === undefined || initialChunk.length > 0)) { | |
if (detour && this.detourFlow !== undefined) { | |
this.detourFlow.write(initialChunk); | |
} | |
else { | |
this.write(initialChunk); | |
} | |
} | |
} | |
cleanup() { | |
// override to add custom cleanup code | |
} | |
_transform(chunk, encoding, callback) { | |
if (this.detour !== undefined && this.detourFlow !== undefined) { | |
if (!this.detourFlow.write(chunk)) { | |
this.detourFlow.once('drain', callback); | |
} | |
else { | |
process.nextTick(() => callback()); | |
} | |
} | |
else { | |
this.process(chunk); | |
callback(); | |
} | |
} | |
_flush(callback) { | |
if (this.detour && this.detourFlow) { | |
this.detourFlow.once('end', callback); | |
this.detourFlow.end(); | |
} | |
else { | |
this.cleanup(); | |
process.nextTick(() => callback()); | |
} | |
} | |
} | |
exports.Detour = Detour; | |
/***/ }), | |
/***/ "./src/dicom-elements.ts": | |
/*!*******************************!*\ | |
!*** ./src/dicom-elements.ts ***! | |
\*******************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Fragments = exports.Fragment = exports.Item = exports.Sequence = exports.SequenceDelimitationElement = exports.ItemDelimitationElement = exports.FragmentElement = exports.ItemElement = exports.FragmentsElement = exports.SequenceElement = exports.ValueElement = exports.preambleElement = exports.UnknownElement = exports.ElementSet = exports.Element = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class Element { | |
constructor(bigEndian = false) { | |
this.bigEndian = bigEndian; | |
} | |
toBytes() { | |
return base_1.emptyBuffer; | |
} | |
toParts() { | |
return []; | |
} | |
} | |
exports.Element = Element; | |
class ElementSet { | |
constructor(tag, vr, bigEndian = false, explicitVR = true) { | |
this.tag = tag; | |
this.vr = vr; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
} | |
toBytes() { | |
return base_1.emptyBuffer; | |
} | |
toElements() { | |
return []; | |
} | |
} | |
exports.ElementSet = ElementSet; | |
class UnknownElement extends Element { | |
constructor(bigEndian) { | |
super(bigEndian); | |
} | |
} | |
exports.UnknownElement = UnknownElement; | |
class PreambleElement extends Element { | |
constructor() { | |
super(false); | |
} | |
toBytes() { | |
return (0, base_1.concat)(Buffer.from(new Array(128).fill(0)), Buffer.from('DICM')); | |
} | |
toString() { | |
return 'PreambleElement(0, ..., 0, D, I, C, M)'; | |
} | |
toParts() { | |
return [new dicom_parts_1.PreamblePart(this.toBytes())]; | |
} | |
} | |
exports.preambleElement = new PreambleElement(); | |
class ValueElement extends ElementSet { | |
constructor(tag, vr, value, bigEndian, explicitVR) { | |
super(tag, vr, bigEndian, explicitVR); | |
this.value = value; | |
this.length = value.length; | |
} | |
setValue(value) { | |
return new ValueElement(this.tag, this.vr, value.ensurePadding(this.vr), this.bigEndian, this.explicitVR); | |
} | |
toBytes() { | |
return this.toParts() | |
.map((p) => p.bytes) | |
.reduce(base_1.concat); | |
} | |
toParts() { | |
const headerPart = dicom_parts_1.HeaderPart.create(this.tag, this.vr, this.length, this.bigEndian, this.explicitVR); | |
if (this.length > 0) { | |
return [headerPart, new dicom_parts_1.ValueChunk(this.bigEndian, this.value.bytes, true)]; | |
} | |
else { | |
return [headerPart]; | |
} | |
} | |
toElements() { | |
return [this]; | |
} | |
toString() { | |
const strings = this.value.toStrings(this.vr, this.bigEndian, base_1.defaultCharacterSet); | |
const s = strings.join(base_1.multiValueDelimiter); | |
const vm = strings.length + ''; | |
return ('ValueElement(' + | |
(0, base_1.tagToString)(this.tag) + | |
' ' + | |
this.vr.name + | |
' [' + | |
s + | |
'] # ' + | |
this.length + | |
', ' + | |
vm + | |
' ' + | |
lookup_1.Lookup.keywordOf(this.tag) || 0); | |
} | |
} | |
exports.ValueElement = ValueElement; | |
class SequenceElement extends Element { | |
constructor(tag, length = base_1.indeterminateLength, bigEndian, explicitVR = true) { | |
super(bigEndian); | |
this.tag = tag; | |
this.length = length; | |
this.explicitVR = explicitVR; | |
this.tag = tag; | |
this.indeterminate = this.length === base_1.indeterminateLength; | |
} | |
toBytes() { | |
return dicom_parts_1.HeaderPart.create(this.tag, vr_1.VR.SQ, this.length, this.bigEndian, this.explicitVR).bytes; | |
} | |
toParts() { | |
return [new dicom_parts_1.SequencePart(this.tag, this.length, this.bigEndian, this.explicitVR, this.toBytes())]; | |
} | |
toString() { | |
return ('SequenceElement(' + (0, base_1.tagToString)(this.tag) + ' SQ # ' + this.length + ' ' + lookup_1.Lookup.keywordOf(this.tag) || | |
0); | |
} | |
} | |
exports.SequenceElement = SequenceElement; | |
class FragmentsElement extends Element { | |
constructor(tag, vr, bigEndian, explicitVR = true) { | |
super(bigEndian); | |
this.tag = tag; | |
this.vr = vr; | |
this.explicitVR = explicitVR; | |
} | |
toBytes() { | |
return this.toParts()[0].bytes; | |
} | |
toParts() { | |
return [ | |
new dicom_parts_1.FragmentsPart(this.tag, base_1.indeterminateLength, this.vr, this.bigEndian, this.explicitVR, dicom_parts_1.HeaderPart.create(this.tag, this.vr, base_1.indeterminateLength, this.bigEndian, this.explicitVR).bytes), | |
]; | |
} | |
toString() { | |
return ('FragmentsElement(' + (0, base_1.tagToString)(this.tag) + ' ' + this.vr.name + ' # ' + lookup_1.Lookup.keywordOf(this.tag) || | |
0); | |
} | |
} | |
exports.FragmentsElement = FragmentsElement; | |
class ItemElement extends Element { | |
constructor(length = base_1.indeterminateLength, bigEndian) { | |
super(bigEndian); | |
this.length = length; | |
this.indeterminate = this.length === base_1.indeterminateLength; | |
} | |
toBytes() { | |
return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.Item, this.bigEndian), (0, base_1.intToBytes)(this.length, this.bigEndian)); | |
} | |
toParts() { | |
return [new dicom_parts_1.ItemPart(this.length, this.bigEndian, this.toBytes())]; | |
} | |
toString() { | |
return 'ItemElement(length = ' + this.length + ')'; | |
} | |
} | |
exports.ItemElement = ItemElement; | |
class FragmentElement extends Element { | |
constructor(length, value, bigEndian) { | |
super(bigEndian); | |
this.length = length; | |
this.value = value; | |
} | |
toBytes() { | |
return this.toParts() | |
.map((p) => p.bytes) | |
.reduce(base_1.concat); | |
} | |
toParts() { | |
const itemParts = new ItemElement(this.value.length, this.bigEndian).toParts(); | |
if (this.value.length !== 0) { | |
itemParts.push(new dicom_parts_1.ValueChunk(this.bigEndian, this.value.bytes, true)); | |
} | |
return itemParts; | |
} | |
toString() { | |
return 'FragmentElement(length = ' + this.length + ')'; | |
} | |
} | |
exports.FragmentElement = FragmentElement; | |
class ItemDelimitationElement extends Element { | |
constructor(bigEndian) { | |
super(bigEndian); | |
} | |
toBytes() { | |
return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.ItemDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0])); | |
} | |
toParts() { | |
return [new dicom_parts_1.ItemDelimitationPart(this.bigEndian, this.toBytes())]; | |
} | |
toString() { | |
return 'ItemDelimitationElement'; | |
} | |
} | |
exports.ItemDelimitationElement = ItemDelimitationElement; | |
class SequenceDelimitationElement extends Element { | |
constructor(bigEndian) { | |
super(bigEndian); | |
} | |
toBytes() { | |
return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.SequenceDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0])); | |
} | |
toParts() { | |
return [new dicom_parts_1.SequenceDelimitationPart(this.bigEndian, this.toBytes())]; | |
} | |
toString() { | |
return 'SequenceDelimitationElement'; | |
} | |
} | |
exports.SequenceDelimitationElement = SequenceDelimitationElement; | |
class Sequence extends ElementSet { | |
constructor(tag, length = base_1.indeterminateLength, items = [], bigEndian, explicitVR) { | |
super(tag, vr_1.VR.SQ, bigEndian, explicitVR); | |
this.tag = tag; | |
this.length = length; | |
this.items = items; | |
this.indeterminate = length === base_1.indeterminateLength; | |
this.size = items.length; | |
} | |
item(index) { | |
return this.items.length >= index ? this.items[index - 1] : undefined; | |
} | |
addItem(item) { | |
const newItems = (0, base_1.appendToArray)(item, this.items); | |
const newLength = this.indeterminate ? this.length : this.length + item.toBytes().length; | |
return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR); | |
} | |
removeItem(index) { | |
const newItems = this.items.slice(); | |
newItems.splice(index - 1, 1); | |
const newLength = this.indeterminate ? this.length : this.length - this.item(index).toBytes().length; | |
return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR); | |
} | |
toBytes() { | |
return this.toElements() | |
.map((e) => e.toBytes()) | |
.reduce(base_1.concat, base_1.emptyBuffer); | |
} | |
toElements() { | |
const elements = []; | |
elements.push(new SequenceElement(this.tag, this.length, this.bigEndian, this.explicitVR)); | |
for (let i = 1; i <= this.items.length; i++) { | |
const itemElements = this.item(i).toElements(); | |
itemElements.forEach((e) => elements.push(e)); | |
} | |
if (this.indeterminate) { | |
elements.push(new SequenceDelimitationElement(this.bigEndian)); | |
} | |
return elements; | |
} | |
setItem(index, item) { | |
const newItems = this.items.slice(); | |
newItems[index - 1] = item; | |
return new Sequence(this.tag, this.length, newItems, this.bigEndian, this.explicitVR); | |
} | |
toString() { | |
return ('Sequence(' + | |
(0, base_1.tagToString)(this.tag) + | |
' SQ # ' + | |
this.length + | |
' ' + | |
this.size + | |
' ' + | |
lookup_1.Lookup.keywordOf(this.tag) || 0); | |
} | |
} | |
exports.Sequence = Sequence; | |
class Item { | |
constructor(elements, length = base_1.indeterminateLength, bigEndian = false) { | |
this.elements = elements; | |
this.length = length; | |
this.bigEndian = bigEndian; | |
this.indeterminate = length === base_1.indeterminateLength; | |
} | |
toElements() { | |
const elements = []; | |
elements.push(new ItemElement(this.length, this.bigEndian)); | |
this.elements.toElements(false).forEach((e) => elements.push(e)); | |
if (this.indeterminate) { | |
elements.push(new ItemDelimitationElement(this.bigEndian)); | |
} | |
return elements; | |
} | |
toBytes() { | |
return this.toElements() | |
.map((e) => e.toBytes()) | |
.reduce(base_1.concat); | |
} | |
setElements(elements) { | |
const newLength = this.indeterminate ? base_1.indeterminateLength : elements.toBytes(false).length; | |
return new Item(elements, newLength, this.bigEndian); | |
} | |
toString() { | |
return 'Item(length = ' + this.length + ', elements size = ' + this.elements.size + ')'; | |
} | |
} | |
exports.Item = Item; | |
class Fragment { | |
constructor(length, value, bigEndian = false) { | |
this.length = length; | |
this.value = value; | |
this.bigEndian = bigEndian; | |
} | |
toElement() { | |
return new FragmentElement(this.length, this.value, this.bigEndian); | |
} | |
toString() { | |
return 'Fragment(length = ' + this.length + ', value length = ' + this.value.length + ')'; | |
} | |
} | |
exports.Fragment = Fragment; | |
class Fragments extends ElementSet { | |
constructor(tag, vr, offsets, fragments = [], bigEndian, explicitVR) { | |
super(tag, vr, bigEndian, explicitVR); | |
this.tag = tag; | |
this.vr = vr; | |
this.offsets = offsets; | |
this.fragments = fragments; | |
this.size = fragments.length; | |
} | |
fragment(index) { | |
return this.fragments.length > index ? undefined : this.fragments[index - 1]; | |
} | |
frameCount() { | |
return this.offsets === undefined && this.fragments.length === 0 | |
? 0 | |
: this.offsets === undefined | |
? 1 | |
: this.offsets.length; | |
} | |
addFragment(fragment) { | |
if (this.size === 0 && this.offsets === undefined) { | |
const bytes = fragment.value.bytes; | |
const offsets = []; | |
for (let i = 0; i < bytes.length; i += 4) { | |
offsets.push((0, base_1.bytesToUInt)(bytes.slice(i), fragment.bigEndian)); | |
} | |
return new Fragments(this.tag, this.vr, offsets, this.fragments, this.bigEndian, this.explicitVR); | |
} | |
else { | |
return new Fragments(this.tag, this.vr, this.offsets, (0, base_1.appendToArray)(fragment, this.fragments), this.bigEndian, this.explicitVR); | |
} | |
} | |
toBytes() { | |
return this.toElements() | |
.map((e) => e.toBytes()) | |
.reduce(base_1.concat); | |
} | |
toElements() { | |
const elements = []; | |
elements.push(new FragmentsElement(this.tag, this.vr, this.bigEndian, this.explicitVR)); | |
if (this.offsets !== undefined) { | |
elements.push(new FragmentElement(4 * this.offsets.length, new value_1.Value(this.offsets | |
.map((offset) => (0, base_1.intToBytes)(offset, this.bigEndian), this.bigEndian) | |
.reduce(base_1.concat, base_1.emptyBuffer)), this.bigEndian)); | |
} | |
else { | |
elements.push(new FragmentElement(0, value_1.Value.empty())); | |
} | |
for (let i = 1; i <= this.fragments.length; i++) { | |
elements.push(this.fragment(i).toElement()); | |
} | |
elements.push(new SequenceDelimitationElement(this.bigEndian)); | |
return elements; | |
} | |
setFragment(index, fragment) { | |
const newFragments = this.fragments.slice(); | |
newFragments[index - 1] = fragment; | |
return new Fragments(this.tag, this.vr, this.offsets, newFragments, this.bigEndian, this.explicitVR); | |
} | |
toString() { | |
return `Fragments(${(0, base_1.tagToString)(this.tag)} ${this.vr.name} # ${this.fragments.length} ${lookup_1.Lookup.keywordOf(this.tag) || ''})`; | |
} | |
} | |
exports.Fragments = Fragments; | |
/***/ }), | |
/***/ "./src/dicom-flow.ts": | |
/*!***************************!*\ | |
!*** ./src/dicom-flow.ts ***! | |
\***************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.GroupLengthWarnings = exports.TagPathTracking = exports.InSequence = exports.GuaranteedDelimitationEvents = exports.itemDelimitationPartMarker = exports.ItemDelimitationPartMarker = exports.sequenceDelimitationPartMarker = exports.GuaranteedValueEvent = exports.valueChunkMarker = exports.InFragments = exports.EndEvent = exports.dicomEndMarker = exports.StartEvent = exports.dicomStartMarker = exports.DeferToPartFlow = exports.IdentityFlow = exports.DicomFlow = exports.createFlow = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const flows_1 = __webpack_require__(/*! ./flows */ "./src/flows.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
function createFlow(flow) { | |
return (0, base_1.pipe)(flow.baseFlow(), (0, flows_1.flatMapFlow)(flow.handlePart.bind(flow))); | |
} | |
exports.createFlow = createFlow; | |
class DicomFlow { | |
baseFlow() { | |
return (0, flows_1.identityFlow)(true); | |
} | |
handlePart(part) { | |
if (part instanceof dicom_parts_1.PreamblePart) { | |
return this.onPreamble(part); | |
} | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
return this.onHeader(part); | |
} | |
if (part instanceof dicom_parts_1.ValueChunk) { | |
return this.onValueChunk(part); | |
} | |
if (part instanceof dicom_parts_1.SequencePart) { | |
return this.onSequence(part); | |
} | |
if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
return this.onSequenceDelimitation(part); | |
} | |
if (part instanceof dicom_parts_1.FragmentsPart) { | |
return this.onFragments(part); | |
} | |
if (part instanceof dicom_parts_1.ItemPart) { | |
return this.onItem(part); | |
} | |
if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
return this.onItemDelimitation(part); | |
} | |
if (part instanceof dicom_parts_1.DeflatedChunk) { | |
return this.onDeflatedChunk(part); | |
} | |
if (part instanceof dicom_parts_1.UnknownPart) { | |
return this.onUnknown(part); | |
} | |
return this.onPart(part); | |
} | |
} | |
exports.DicomFlow = DicomFlow; | |
/** | |
* Depends on DicomFlow | |
*/ | |
class IdentityFlow extends DicomFlow { | |
onPreamble(part) { | |
return [part]; | |
} | |
onHeader(part) { | |
return [part]; | |
} | |
onValueChunk(part) { | |
return [part]; | |
} | |
onSequence(part) { | |
return [part]; | |
} | |
onSequenceDelimitation(part) { | |
return [part]; | |
} | |
onFragments(part) { | |
return [part]; | |
} | |
onItem(part) { | |
return [part]; | |
} | |
onItemDelimitation(part) { | |
return [part]; | |
} | |
onDeflatedChunk(part) { | |
return [part]; | |
} | |
onUnknown(part) { | |
return [part]; | |
} | |
onPart(part) { | |
return [part]; | |
} | |
} | |
exports.IdentityFlow = IdentityFlow; | |
/** | |
* Depends on DicomFlow | |
*/ | |
class DeferToPartFlow extends DicomFlow { | |
onPreamble(part) { | |
return this.onPart(part); | |
} | |
onHeader(part) { | |
return this.onPart(part); | |
} | |
onValueChunk(part) { | |
return this.onPart(part); | |
} | |
onSequence(part) { | |
return this.onPart(part); | |
} | |
onSequenceDelimitation(part) { | |
return this.onPart(part); | |
} | |
onFragments(part) { | |
return this.onPart(part); | |
} | |
onDeflatedChunk(part) { | |
return this.onPart(part); | |
} | |
onUnknown(part) { | |
return this.onPart(part); | |
} | |
onItem(part) { | |
return this.onPart(part); | |
} | |
onItemDelimitation(part) { | |
return this.onPart(part); | |
} | |
} | |
exports.DeferToPartFlow = DeferToPartFlow; | |
class DicomStartMarker extends dicom_parts_1.MetaPart { | |
toString() { | |
return 'Start Marker []'; | |
} | |
} | |
exports.dicomStartMarker = new DicomStartMarker(); | |
const StartEvent = (Super) => class extends Super { | |
onStart() { | |
throw Error('Not implemented'); | |
} | |
baseFlow() { | |
return (0, base_1.pipe)((0, flows_1.prependFlow)(exports.dicomStartMarker, true), super.baseFlow()); | |
} | |
handlePart(part) { | |
return part === exports.dicomStartMarker ? this.onStart() : super.handlePart(part); | |
} | |
}; | |
exports.StartEvent = StartEvent; | |
class DicomEndMarker extends dicom_parts_1.MetaPart { | |
toString() { | |
return 'End Marker []'; | |
} | |
} | |
exports.dicomEndMarker = new DicomEndMarker(); | |
const EndEvent = (Super) => class extends Super { | |
onEnd() { | |
throw Error('Not implemented'); | |
} | |
baseFlow() { | |
return (0, base_1.pipe)((0, flows_1.appendFlow)(exports.dicomEndMarker, true), super.baseFlow()); | |
} | |
handlePart(part) { | |
return part === exports.dicomEndMarker ? this.onEnd() : super.handlePart(part); | |
} | |
}; | |
exports.EndEvent = EndEvent; | |
const InFragments = (Super) => class extends Super { | |
constructor() { | |
super(...arguments); | |
this.inFragments = false; | |
} | |
onFragments(part) { | |
this.inFragments = true; | |
return super.onFragments(part); | |
} | |
onSequenceDelimitation(part) { | |
this.inFragments = false; | |
return super.onSequenceDelimitation(part); | |
} | |
}; | |
exports.InFragments = InFragments; | |
class ValueChunkMarker extends dicom_parts_1.ValueChunk { | |
constructor() { | |
super(false, base_1.emptyBuffer, true); | |
} | |
toString() { | |
return 'Value Chunk Marker []'; | |
} | |
} | |
exports.valueChunkMarker = new ValueChunkMarker(); | |
const GuaranteedValueEvent = (Super) => class extends Super { | |
onHeader(part) { | |
return part.length === 0 | |
? super.onHeader(part).concat(this.onValueChunk(exports.valueChunkMarker)) | |
: super.onHeader(part); | |
} | |
onItem(part) { | |
return this.inFragments && part.length === 0 | |
? super.onItem(part).concat(this.onValueChunk(exports.valueChunkMarker)) | |
: super.onItem(part); | |
} | |
onValueChunk(part) { | |
return super.onValueChunk(part).filter((c) => c !== exports.valueChunkMarker); | |
} | |
}; | |
exports.GuaranteedValueEvent = GuaranteedValueEvent; | |
class SequenceDelimitationPartMarker extends dicom_parts_1.SequenceDelimitationPart { | |
constructor() { | |
super(false, base_1.emptyBuffer); | |
} | |
toString() { | |
return 'SequenceDelimitationMarker []'; | |
} | |
} | |
exports.sequenceDelimitationPartMarker = new SequenceDelimitationPartMarker(); | |
class ItemDelimitationPartMarker extends dicom_parts_1.ItemDelimitationPart { | |
constructor() { | |
super(false, base_1.emptyBuffer); | |
} | |
toString() { | |
return 'ItemDelimitationMarker []'; | |
} | |
} | |
exports.ItemDelimitationPartMarker = ItemDelimitationPartMarker; | |
exports.itemDelimitationPartMarker = new ItemDelimitationPartMarker(); | |
/** | |
* Depends on InFragments | |
*/ | |
const GuaranteedDelimitationEvents = (Super) => class extends Super { | |
constructor() { | |
super(...arguments); | |
this.partStack = []; | |
} | |
onSequence(part) { | |
this.subtractLength(part); | |
this.partStack.unshift({ part, bytesLeft: part.length }); | |
return super.onSequence(part).concat(this.maybeDelimit()); | |
} | |
onItem(part) { | |
this.subtractLength(part); | |
if (!this.inFragments) { | |
this.partStack.unshift({ part, bytesLeft: part.length }); | |
} | |
return super.onItem(part).concat(this.maybeDelimit()); | |
} | |
onSequenceDelimitation(part) { | |
if (this.partStack.length > 0 && part != exports.sequenceDelimitationPartMarker && !this.inFragments) { | |
this.partStack.shift(); | |
} | |
return this.subtractAndEmit(part, (p) => super.onSequenceDelimitation(p).filter((d) => d !== exports.sequenceDelimitationPartMarker)); | |
} | |
onItemDelimitation(part) { | |
if (this.partStack.length > 0 && !(part instanceof ItemDelimitationPartMarker)) { | |
this.partStack.shift(); | |
} | |
return this.subtractAndEmit(part, (p) => super.onItemDelimitation(p).filter((d) => !(d instanceof ItemDelimitationPartMarker))); | |
} | |
onHeader(part) { | |
return this.subtractAndEmit(part, super.onHeader.bind(this)); | |
} | |
onValueChunk(part) { | |
return this.subtractAndEmit(part, super.onValueChunk.bind(this)); | |
} | |
onFragments(part) { | |
return this.subtractAndEmit(part, super.onFragments.bind(this)); | |
} | |
subtractLength(part) { | |
this.partStack.forEach((p) => { | |
if (p.bytesLeft != base_1.indeterminateLength) { | |
p.bytesLeft -= part.bytes.length; | |
} | |
}); | |
} | |
maybeDelimit() { | |
let splitIndex = 0; | |
while (splitIndex < this.partStack.length && | |
this.partStack[splitIndex].bytesLeft != base_1.indeterminateLength && | |
this.partStack[splitIndex].bytesLeft <= 0) { | |
splitIndex++; | |
} | |
const inactive = this.partStack.slice(0, splitIndex); | |
this.partStack = this.partStack.slice(splitIndex); | |
const out = inactive.map((i) => i.part instanceof dicom_parts_1.ItemPart | |
? this.onItemDelimitation(exports.itemDelimitationPartMarker) | |
: this.onSequenceDelimitation(exports.sequenceDelimitationPartMarker)); | |
return [].concat(...out); | |
} | |
subtractAndEmit(part, handle) { | |
this.subtractLength(part); | |
return handle(part).concat(this.maybeDelimit()); | |
} | |
}; | |
exports.GuaranteedDelimitationEvents = GuaranteedDelimitationEvents; | |
/** | |
* Depends on GuaranteedDelimitationEvents | |
*/ | |
const InSequence = (Super) => class extends Super { | |
constructor() { | |
super(...arguments); | |
this.sequenceStack = []; | |
} | |
sequenceDepth() { | |
return this.sequenceStack.length; | |
} | |
inSequence() { | |
return this.sequenceStack.length > 0; | |
} | |
onSequence(part) { | |
this.sequenceStack.unshift(part); | |
return super.onSequence(part); | |
} | |
onSequenceDelimitation(part) { | |
if (!this.inFragments) { | |
this.sequenceStack.shift(); | |
} | |
return super.onSequenceDelimitation(part); | |
} | |
}; | |
exports.InSequence = InSequence; | |
/** | |
* Depends on GuaranteedValueEvent, GuaranteedDelimitationEvents, InFragments | |
*/ | |
const TagPathTracking = (Super) => class extends Super { | |
constructor() { | |
super(...arguments); | |
this.tagPath = tag_path_1.emptyTagPath; | |
} | |
onHeader(part) { | |
const t = this.tagPath; | |
this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag); | |
return super.onHeader(part); | |
} | |
onFragments(part) { | |
const t = this.tagPath; | |
this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag); | |
return super.onFragments(part); | |
} | |
onSequence(part) { | |
const t = this.tagPath; | |
this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenSequence(part.tag) : t.previous().thenSequence(part.tag); | |
return super.onSequence(part); | |
} | |
onSequenceDelimitation(part) { | |
const t = this.tagPath; | |
if (!this.inFragments) { | |
this.tagPath = t.previous().thenSequenceEnd(t.tag()); | |
} | |
return super.onSequenceDelimitation(part); | |
} | |
onItem(part) { | |
const t = this.tagPath; | |
if (!this.inFragments) { | |
if (t instanceof tag_path_1.TagPathItemEnd) { | |
this.tagPath = t.previous().thenItem(t.tag(), t.item + 1); | |
} | |
else { | |
this.tagPath = t.previous().thenItem(t.tag(), 1); | |
} | |
} | |
return super.onItem(part); | |
} | |
onItemDelimitation(part) { | |
const t = this.tagPath; | |
if (t instanceof tag_path_1.TagPathItem) { | |
this.tagPath = t.previous().thenItemEnd(t.tag(), t.item); | |
} | |
else { | |
const ti = t.previous(); | |
if (ti instanceof tag_path_1.TagPathItem) { | |
this.tagPath = ti.previous().thenItemEnd(ti.tag(), ti.item); | |
} | |
} | |
return super.onItemDelimitation(part); | |
} | |
}; | |
exports.TagPathTracking = TagPathTracking; | |
/** | |
* Depends on InFragments | |
*/ | |
const GroupLengthWarnings = (Super) => class extends Super { | |
constructor() { | |
super(...arguments); | |
this.silent = false; | |
} | |
setSilent(silent) { | |
this.silent = silent; | |
} | |
onHeader(part) { | |
if (!this.silent && (0, base_1.isGroupLength)(part.tag) && part.tag !== tag_1.Tag.FileMetaInformationGroupLength) { | |
console.warn('Group length attribute detected, consider removing group lengths to maintain valid ' + | |
'DICOM information'); | |
} | |
return super.onHeader(part); | |
} | |
onSequence(part) { | |
if (!this.silent && !part.indeterminate && part.length > 0) { | |
console.warn('Determinate length sequence detected, consider re-encoding sequences to indeterminate ' + | |
'length to maintain valid DICOM information'); | |
} | |
return super.onSequence(part); | |
} | |
onItem(part) { | |
if (!this.silent && !this.inFragments && !part.indeterminate && part.length > 0) { | |
console.warn('Determinate length item detected, consider re-encoding items to indeterminate length to ' + | |
'maintain valid DICOM information'); | |
} | |
return super.onItem(part); | |
} | |
}; | |
exports.GroupLengthWarnings = GroupLengthWarnings; | |
/***/ }), | |
/***/ "./src/dicom-flows.ts": | |
/*!****************************!*\ | |
!*** ./src/dicom-flows.ts ***! | |
\****************************/ | |
/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
var __importDefault = (this && this.__importDefault) || function (mod) { | |
return (mod && mod.__esModule) ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.deflateDatasetFlow = exports.toUtf8Flow = exports.toIndeterminateLengthSequences = exports.fmiGroupLengthFlow = exports.validateContextFlow = exports.ValidationContext = exports.headerFilter = exports.fmiDiscardFilter = exports.groupLengthDiscardFilter = exports.denyFilter = exports.allowFilter = exports.tagFilter = exports.stopTagFlow = exports.toBytesFlow = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
const collect_flow_1 = __webpack_require__(/*! ./collect-flow */ "./src/collect-flow.ts"); | |
const detour_1 = __webpack_require__(/*! ./detour */ "./src/detour.ts"); | |
const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
const modify_flow_1 = __webpack_require__(/*! ./modify-flow */ "./src/modify-flow.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
const tag_path_2 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
const tag_tree_1 = __webpack_require__(/*! ./tag-tree */ "./src/tag-tree.ts"); | |
const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
function toBytesFlow() { | |
return new stream_1.Transform({ | |
writableObjectMode: true, | |
transform(chunk, encoding, callback) { | |
this.push(chunk.bytes); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.toBytesFlow = toBytesFlow; | |
function stopTagFlow(tag) { | |
let endReached = false; | |
return (0, base_1.pipe)((0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.InSequence)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow))) { | |
onHeader(part) { | |
const out = super.onHeader(part); | |
return this.inSequence() || part.tag < tag ? out : [dicom_flow_1.dicomEndMarker]; | |
} | |
})()), new stream_1.Transform({ | |
objectMode: true, | |
transform(chunk, encoding, callback) { | |
if (!endReached) { | |
if (chunk === dicom_flow_1.dicomEndMarker) { | |
endReached = true; | |
this.push(null); | |
} | |
else { | |
this.push(chunk); | |
} | |
} | |
process.nextTick(() => callback()); | |
}, | |
})); | |
} | |
exports.stopTagFlow = stopTagFlow; | |
function tagFilter(keepCondition, defaultCondition = () => true, logGroupLengthWarnings = false) { | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow))))) { | |
constructor() { | |
super(); | |
this.keeping = false; | |
this.setSilent(!logGroupLengthWarnings); | |
} | |
onPart(part) { | |
this.keeping = this.tagPath === tag_path_2.emptyTagPath ? defaultCondition(part) : keepCondition(this.tagPath); | |
return this.keeping ? [part] : []; | |
} | |
})()); | |
} | |
exports.tagFilter = tagFilter; | |
function allowFilter(allowlist, defaultCondition, logGroupLengthWarnings) { | |
return tagFilter((currentPath) => allowlist.some((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)), defaultCondition, logGroupLengthWarnings); | |
} | |
exports.allowFilter = allowFilter; | |
function denyFilter(denylist, defaultCondition, logGroupLengthWarnings) { | |
return tagFilter((currentPath) => !denylist.some((t) => t.isTrunkOf(currentPath)), defaultCondition, logGroupLengthWarnings); | |
} | |
exports.denyFilter = denyFilter; | |
function groupLengthDiscardFilter() { | |
return tagFilter((tagPath) => !(0, base_1.isGroupLength)(tagPath.tag()) || (0, base_1.isFileMetaInformation)(tagPath.tag())); | |
} | |
exports.groupLengthDiscardFilter = groupLengthDiscardFilter; | |
function fmiDiscardFilter() { | |
return tagFilter((tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), () => false); | |
} | |
exports.fmiDiscardFilter = fmiDiscardFilter; | |
function headerFilter(keepCondition, logGroupLengthWarnings = false) { | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow)) { | |
constructor() { | |
super(); | |
this.keeping = false; | |
this.setSilent(!logGroupLengthWarnings); | |
} | |
onPart(part) { | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
this.keeping = keepCondition(part); | |
return this.keeping ? [part] : []; | |
} | |
if (part instanceof dicom_parts_1.ValueChunk) { | |
return this.keeping ? [part] : []; | |
} | |
this.keeping = true; | |
return [part]; | |
} | |
})()); | |
} | |
exports.headerFilter = headerFilter; | |
class ValidationContext { | |
constructor(sopClassUID, transferSyntaxUID) { | |
this.sopClassUID = sopClassUID; | |
this.transferSyntaxUID = transferSyntaxUID; | |
} | |
} | |
exports.ValidationContext = ValidationContext; | |
function validateContextFlow(contexts) { | |
return (0, base_1.pipe)((0, collect_flow_1.collectFromTagPathsFlow)([ | |
tag_tree_1.TagTree.fromTag(tag_1.Tag.MediaStorageSOPClassUID), | |
tag_tree_1.TagTree.fromTag(tag_1.Tag.TransferSyntaxUID), | |
tag_tree_1.TagTree.fromTag(tag_1.Tag.SOPClassUID), | |
], 'validatecontext'), (0, dicom_flow_1.createFlow)(new (class extends dicom_flow_1.DeferToPartFlow { | |
onPart(part) { | |
if (part instanceof dicom_parts_1.ElementsPart && part.label === 'validatecontext') { | |
let scuid = part.elements.stringByTag(tag_1.Tag.MediaStorageSOPClassUID); | |
if (scuid === undefined) { | |
scuid = part.elements.stringByTag(tag_1.Tag.SOPClassUID); | |
} | |
if (scuid === undefined) { | |
scuid = '<empty>'; | |
} | |
let tsuid = part.elements.stringByTag(tag_1.Tag.TransferSyntaxUID); | |
if (tsuid === undefined) { | |
tsuid = '<empty>'; | |
} | |
if (contexts.findIndex((c) => c.sopClassUID === scuid && c.transferSyntaxUID === tsuid) >= 0) { | |
return []; | |
} | |
else { | |
throw Error('The presentation context [SOPClassUID = ' + | |
scuid + | |
', TransferSyntaxUID = ' + | |
tsuid + | |
'] is not supported'); | |
} | |
} | |
return [part]; | |
} | |
})())); | |
} | |
exports.validateContextFlow = validateContextFlow; | |
function fmiGroupLengthFlow() { | |
return (0, base_1.pipe)((0, collect_flow_1.collectFlow)((tagPath) => tagPath.isRoot() && (0, base_1.isFileMetaInformation)(tagPath.tag()), (tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), 'fmigrouplength'), tagFilter((tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), () => true, false), (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.EndEvent)(dicom_flow_1.DeferToPartFlow) { | |
constructor() { | |
super(...arguments); | |
this.fmi = []; | |
this.hasEmitted = false; | |
} | |
onEnd() { | |
return this.hasEmitted ? [] : this.fmi; | |
} | |
onPart(part) { | |
if (part instanceof dicom_parts_1.ElementsPart && part.label === 'fmigrouplength') { | |
const elements = part.elements; | |
if (elements.data.length > 0) { | |
const bigEndian = elements.data[0].bigEndian; | |
const explicitVR = elements.data[0].explicitVR; | |
const fmiElementsNoLength = elements.filter((e) => e.tag !== tag_1.Tag.FileMetaInformationGroupLength); | |
const length = fmiElementsNoLength.data | |
.map((e) => e.toBytes().length) | |
.reduce((l1, l2) => l1 + l2, 0); | |
const lengthHeader = dicom_parts_1.HeaderPart.create(tag_1.Tag.FileMetaInformationGroupLength, vr_1.VR.UL, 4, bigEndian, explicitVR); | |
const lengthChunk = new dicom_parts_1.ValueChunk(bigEndian, (0, base_1.intToBytes)(length, bigEndian), true); | |
this.fmi = (0, base_1.concatArrays)([lengthHeader, lengthChunk], fmiElementsNoLength.toParts(false)); | |
} | |
return []; | |
} | |
if (!this.hasEmitted && part.bytes.length > 0) { | |
this.hasEmitted = true; | |
return part instanceof dicom_parts_1.PreamblePart | |
? (0, base_1.prependToArray)(part, this.fmi) | |
: (0, base_1.appendToArray)(part, this.fmi); | |
} | |
return [part]; | |
} | |
})())); | |
} | |
exports.fmiGroupLengthFlow = fmiGroupLengthFlow; | |
function toIndeterminateLengthSequences() { | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow)) { | |
constructor() { | |
super(...arguments); | |
this.indeterminateBytes = Buffer.from([0xff, 0xff, 0xff, 0xff]); | |
} | |
onSequence(part) { | |
return super.onSequence(part).map((p) => { | |
if (p instanceof dicom_parts_1.SequencePart && !p.indeterminate) { | |
return new dicom_parts_1.SequencePart(part.tag, base_1.indeterminateLength, part.bigEndian, part.explicitVR, (0, base_1.concat)(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes)); | |
} | |
return p; | |
}); | |
} | |
onSequenceDelimitation(part) { | |
const out = super.onSequenceDelimitation(part); | |
if (part.bytes.length <= 0) { | |
out.push(new dicom_parts_1.SequenceDelimitationPart(part.bigEndian, (0, base_1.sequenceDelimitation)(part.bigEndian))); | |
} | |
return out; | |
} | |
onItem(part) { | |
return super.onItem(part).map((p) => { | |
if (p instanceof dicom_parts_1.ItemPart && !this.inFragments && !p.indeterminate) { | |
return new dicom_parts_1.ItemPart(base_1.indeterminateLength, part.bigEndian, (0, base_1.concat)(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes)); | |
} | |
return p; | |
}); | |
} | |
onItemDelimitation(part) { | |
const out = super.onItemDelimitation(part); | |
if (part.bytes.length <= 0) { | |
out.push(new dicom_parts_1.ItemDelimitationPart(part.bigEndian, (0, base_1.itemDelimitation)(part.bigEndian))); | |
} | |
return out; | |
} | |
})()); | |
} | |
exports.toIndeterminateLengthSequences = toIndeterminateLengthSequences; | |
function toUtf8Flow() { | |
return (0, base_1.pipe)((0, collect_flow_1.collectFromTagPathsFlow)([tag_tree_1.TagTree.fromTag(tag_1.Tag.SpecificCharacterSet)], 'toutf8'), (0, modify_flow_1.modifyFlow)([], [new modify_flow_1.TagInsertion(tag_path_1.TagPath.fromTag(tag_1.Tag.SpecificCharacterSet), () => Buffer.from('ISO_IR 192'))]), (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow)) { | |
constructor() { | |
super(...arguments); | |
this.characterSets = character_sets_1.defaultCharacterSet; | |
this.currentValue = base_1.emptyBuffer; | |
} | |
onHeader(part) { | |
if (part.length > 0 && character_sets_1.CharacterSets.isVrAffectedBySpecificCharacterSet(part.vr)) { | |
this.currentHeader = part; | |
this.currentValue = base_1.emptyBuffer; | |
return []; | |
} | |
else { | |
this.currentHeader = undefined; | |
return [part]; | |
} | |
} | |
onValueChunk(part) { | |
if (this.currentHeader !== undefined && !this.inFragments) { | |
this.currentValue = (0, base_1.concat)(this.currentValue, part.bytes); | |
if (part.last) { | |
const header = this.currentHeader; | |
this.currentHeader = undefined; | |
const newValue = Buffer.from(this.characterSets.decode(this.currentValue, header.vr)); | |
const newLength = newValue.length; | |
return [ | |
header.withUpdatedLength(newLength), | |
new dicom_parts_1.ValueChunk(header.bigEndian, newValue, true), | |
]; | |
} | |
else { | |
return []; | |
} | |
} | |
else { | |
return [part]; | |
} | |
} | |
onPart(part) { | |
if (part instanceof dicom_parts_1.ElementsPart && part.label === 'toutf8') { | |
if (part.elements.contains(tag_1.Tag.SpecificCharacterSet)) { | |
this.characterSets = character_sets_1.CharacterSets.fromBytes(part.elements.bytesByTag(tag_1.Tag.SpecificCharacterSet)); | |
} | |
return []; | |
} | |
return [part]; | |
} | |
})())); | |
} | |
exports.toUtf8Flow = toUtf8Flow; | |
class DeflateDatasetFlow extends detour_1.Detour { | |
constructor() { | |
super({ objectMode: true }); | |
this.collectingTs = false; | |
this.tsBytes = base_1.emptyBuffer; | |
} | |
process(part) { | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
if (part.isFmi) { | |
this.collectingTs = part.tag === tag_1.Tag.TransferSyntaxUID; | |
this.push(part); | |
} | |
else { | |
if (this.tsBytes.toString().trim() === uid_1.UID.DeflatedExplicitVRLittleEndian) { | |
const toDeflatedChunk = new stream_1.Transform({ | |
readableObjectMode: true, | |
transform(chunk, encoding, cb) { | |
this.push(new dicom_parts_1.DeflatedChunk(false, chunk)); | |
process.nextTick(() => cb()); | |
}, | |
}); | |
this.setDetourFlow((0, base_1.pipe)(toBytesFlow(), zlib_1.default.createDeflateRaw(), toDeflatedChunk)); | |
this.setDetour(true, part); | |
} | |
else { | |
this.push(part); | |
} | |
} | |
} | |
else if (part instanceof dicom_parts_1.ValueChunk && this.collectingTs) { | |
this.tsBytes = (0, base_1.concat)(this.tsBytes, part.bytes); | |
this.push(part); | |
} | |
else { | |
this.push(part); | |
} | |
} | |
} | |
function deflateDatasetFlow() { | |
return new DeflateDatasetFlow(); | |
} | |
exports.deflateDatasetFlow = deflateDatasetFlow; | |
/***/ }), | |
/***/ "./src/dicom-parts.ts": | |
/*!****************************!*\ | |
!*** ./src/dicom-parts.ts ***! | |
\****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.ElementsPart = exports.UnknownPart = exports.FragmentsPart = exports.SequenceDelimitationPart = exports.SequencePart = exports.ItemDelimitationPart = exports.ItemPart = exports.DeflatedChunk = exports.ValueChunk = exports.HeaderPart = exports.PreamblePart = exports.MetaPart = exports.DicomPart = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
class DicomPart { | |
constructor(bigEndian, bytes) { | |
this.bigEndian = bigEndian; | |
this.bytes = bytes; | |
} | |
} | |
exports.DicomPart = DicomPart; | |
class MetaPart extends DicomPart { | |
constructor() { | |
super(false, base_1.emptyBuffer); | |
} | |
} | |
exports.MetaPart = MetaPart; | |
class PreamblePart extends DicomPart { | |
constructor(bytes) { | |
super(false, bytes); | |
} | |
toString() { | |
return 'Preamble []'; | |
} | |
} | |
exports.PreamblePart = PreamblePart; | |
class HeaderPart extends DicomPart { | |
static create(tag, vr, length, bigEndian = false, explicitVR = true) { | |
const bytes = explicitVR | |
? vr.headerLength === 8 | |
? Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), Buffer.from(vr.name), (0, base_1.shortToBytes)(length, bigEndian)], 8) | |
: Buffer.concat([ | |
(0, base_1.tagToBytes)(tag, bigEndian), | |
Buffer.from(vr.name), | |
Buffer.from([0, 0]), | |
(0, base_1.intToBytes)(length, bigEndian), | |
], 12) | |
: Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), (0, base_1.intToBytes)(length, bigEndian)], 8); | |
return new HeaderPart(tag, vr, length, (0, base_1.isFileMetaInformation)(tag), bigEndian, explicitVR, bytes); | |
} | |
constructor(tag, vr, length, isFmi, bigEndian, explicitVR, bytes) { | |
super(bigEndian, bytes); | |
this.tag = tag; | |
this.vr = vr; | |
this.length = length; | |
this.isFmi = isFmi; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.bytes = bytes; | |
if (!this.bytes) { | |
this.bytes = this.explicitVR | |
? vr.headerLength === 8 | |
? Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), Buffer.from(vr.name), (0, base_1.shortToBytes)(length, bigEndian)], 8) | |
: Buffer.concat([ | |
(0, base_1.tagToBytes)(tag, bigEndian), | |
Buffer.from(vr.name), | |
Buffer.from([0, 0]), | |
(0, base_1.intToBytes)(length, bigEndian), | |
], 12) | |
: Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), (0, base_1.intToBytes)(length, bigEndian)], 8); | |
} | |
} | |
withUpdatedLength(newLength) { | |
if (newLength === this.length) { | |
return this; | |
} | |
else { | |
let updated = null; | |
if (this.bytes.length >= 8 && this.explicitVR && this.vr.headerLength === 8) { | |
// explicit vr | |
updated = (0, base_1.concat)(this.bytes.slice(0, 6), (0, base_1.shortToBytes)(newLength, this.bigEndian)); | |
} | |
else if (this.bytes.length >= 12 && this.explicitVR && this.vr.headerLength === 12) { | |
// explicit vr | |
updated = (0, base_1.concat)(this.bytes.slice(0, 8), (0, base_1.intToBytes)(newLength, this.bigEndian)); | |
} | |
else { | |
// implicit vr | |
updated = (0, base_1.concat)(this.bytes.slice(0, 4), (0, base_1.intToBytes)(newLength, this.bigEndian)); | |
} | |
return new HeaderPart(this.tag, this.vr, newLength, this.isFmi, this.bigEndian, this.explicitVR, updated); | |
} | |
} | |
toString() { | |
return ('Header [tag = ' + | |
(0, base_1.tagToString)(this.tag) + | |
', vr = ' + | |
this.vr.name + | |
', length = ' + | |
this.length + | |
', bigEndian = ' + | |
this.bigEndian + | |
', explicitVR = ' + | |
this.explicitVR + | |
']'); | |
} | |
} | |
exports.HeaderPart = HeaderPart; | |
class ValueChunk extends DicomPart { | |
constructor(bigEndian, bytes, last) { | |
super(bigEndian, bytes); | |
this.last = last; | |
} | |
toString() { | |
let ascii = (0, base_1.trim)(this.bytes | |
.slice(0, 100) | |
.toString('ascii') | |
.replace(/[^\x20-\x7E]/g, '')); | |
if (this.bytes.length > 100) { | |
ascii = ascii + '...'; | |
} | |
return 'ValueChunk [length = ' + this.bytes.length + ', last = ' + this.last + ', ascii = ' + ascii + ']'; | |
} | |
} | |
exports.ValueChunk = ValueChunk; | |
class DeflatedChunk extends DicomPart { | |
constructor(bigEndian, bytes) { | |
super(bigEndian, bytes); | |
} | |
toString() { | |
return 'DeflatedChunk [length = ' + this.bytes.length + ']'; | |
} | |
} | |
exports.DeflatedChunk = DeflatedChunk; | |
class ItemPart extends DicomPart { | |
constructor(length, bigEndian, bytes) { | |
super(bigEndian, bytes); | |
this.length = length; | |
this.indeterminate = false; | |
this.indeterminate = length === base_1.indeterminateLength; | |
} | |
toString() { | |
return 'Item [length = ' + this.length + ']'; | |
} | |
} | |
exports.ItemPart = ItemPart; | |
class ItemDelimitationPart extends DicomPart { | |
constructor(bigEndian, bytes) { | |
super(bigEndian, bytes); | |
} | |
toString() { | |
return 'ItemDelimitation'; | |
} | |
} | |
exports.ItemDelimitationPart = ItemDelimitationPart; | |
class SequencePart extends DicomPart { | |
constructor(tag, length, bigEndian, explicitVR, bytes) { | |
super(bigEndian, bytes); | |
this.tag = tag; | |
this.length = length; | |
this.explicitVR = explicitVR; | |
this.indeterminate = false; | |
this.indeterminate = length === base_1.indeterminateLength; | |
} | |
toString() { | |
return 'Sequence [tag = ' + (0, base_1.tagToString)(this.tag) + ', length = ' + this.length + ']'; | |
} | |
} | |
exports.SequencePart = SequencePart; | |
class SequenceDelimitationPart extends DicomPart { | |
constructor(bigEndian, bytes) { | |
super(bigEndian, bytes); | |
} | |
toString() { | |
return 'SequenceDelimitation []'; | |
} | |
} | |
exports.SequenceDelimitationPart = SequenceDelimitationPart; | |
class FragmentsPart extends DicomPart { | |
constructor(tag, length, vr, bigEndian, explicitVR, bytes) { | |
super(bigEndian, bytes); | |
this.tag = tag; | |
this.length = length; | |
this.vr = vr; | |
this.explicitVR = explicitVR; | |
} | |
toString() { | |
return ('Fragments [tag = ' + (0, base_1.tagToString)(this.tag) + ', vr = ' + this.vr.name + ', length = ' + this.length + ']'); | |
} | |
} | |
exports.FragmentsPart = FragmentsPart; | |
class UnknownPart extends DicomPart { | |
constructor(bigEndian, bytes) { | |
super(bigEndian, bytes); | |
} | |
toString() { | |
return 'Unknown []'; | |
} | |
} | |
exports.UnknownPart = UnknownPart; | |
class ElementsPart extends MetaPart { | |
constructor(label, elements) { | |
super(); | |
this.label = label; | |
this.elements = elements; | |
} | |
} | |
exports.ElementsPart = ElementsPart; | |
/***/ }), | |
/***/ "./src/element-flows.ts": | |
/*!******************************!*\ | |
!*** ./src/element-flows.ts ***! | |
\******************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.elementFlow = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
function elementFlow() { | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow)) { | |
constructor() { | |
super(...arguments); | |
this.bytes = base_1.emptyBuffer; | |
} | |
onPart(part) { | |
if (part instanceof dicom_parts_1.PreamblePart) { | |
return [dicom_elements_1.preambleElement]; | |
} | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
this.currentValue = new dicom_elements_1.ValueElement(part.tag, part.vr, value_1.Value.empty(), part.bigEndian, part.explicitVR); | |
this.bytes = base_1.emptyBuffer; | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ItemPart && this.inFragments) { | |
this.currentFragment = new dicom_elements_1.FragmentElement(part.length, value_1.Value.empty(), part.bigEndian); | |
this.bytes = base_1.emptyBuffer; | |
return []; | |
} | |
if (part instanceof dicom_parts_1.ValueChunk) { | |
this.bytes = (0, base_1.concat)(this.bytes, part.bytes); | |
if (part.last) { | |
if (this.inFragments) { | |
if (this.currentFragment === undefined) { | |
return []; | |
} | |
else { | |
return [ | |
new dicom_elements_1.FragmentElement(this.currentFragment.length, new value_1.Value(this.bytes), this.currentFragment.bigEndian), | |
]; | |
} | |
} | |
else { | |
return [ | |
new dicom_elements_1.ValueElement(this.currentValue.tag, this.currentValue.vr, new value_1.Value(this.bytes), this.currentValue.bigEndian, this.currentValue.explicitVR), | |
]; | |
} | |
} | |
else { | |
return []; | |
} | |
} | |
if (part instanceof dicom_parts_1.SequencePart) { | |
return [new dicom_elements_1.SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR)]; | |
} | |
if (part instanceof dicom_parts_1.FragmentsPart) { | |
return [new dicom_elements_1.FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR)]; | |
} | |
if (part instanceof dicom_parts_1.ItemPart) { | |
return [new dicom_elements_1.ItemElement(part.length, part.bigEndian)]; | |
} | |
if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
return [new dicom_elements_1.ItemDelimitationElement(part.bigEndian)]; | |
} | |
if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
return [new dicom_elements_1.SequenceDelimitationElement(part.bigEndian)]; | |
} | |
return []; | |
} | |
})()); | |
} | |
exports.elementFlow = elementFlow; | |
/***/ }), | |
/***/ "./src/element-sink.ts": | |
/*!*****************************!*\ | |
!*** ./src/element-sink.ts ***! | |
\*****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.elementSink = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
function elementSink(callback) { | |
const builder = new elements_builder_1.ElementsBuilder(); | |
const sink = new stream_1.Writable({ | |
objectMode: true, | |
write(element, encoding, cb) { | |
try { | |
builder.addElement(element); | |
process.nextTick(() => cb()); | |
} | |
catch (error) { | |
process.nextTick(() => this.emit('error', error)); | |
} | |
}, | |
}); | |
sink.once('finish', () => { | |
callback(builder.build()); | |
}); | |
return sink; | |
} | |
exports.elementSink = elementSink; | |
/***/ }), | |
/***/ "./src/elements-builder.ts": | |
/*!*********************************!*\ | |
!*** ./src/elements-builder.ts ***! | |
\*********************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.ElementsBuilder = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
const elements_1 = __webpack_require__(/*! ./elements */ "./src/elements.ts"); | |
class DatasetBuilder { | |
constructor(characterSets, zoneOffset) { | |
this.characterSets = characterSets; | |
this.zoneOffset = zoneOffset; | |
this.data = new Array(64); | |
this.pos = 0; | |
} | |
addElementSet(elementSet) { | |
if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.SpecificCharacterSet) { | |
this.characterSets = character_sets_1.CharacterSets.fromBytes(elementSet.value.bytes); | |
} | |
else if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.TimezoneOffsetFromUTC) { | |
const newOffset = (0, elements_1.parseZoneOffset)(elementSet.value.toSingleString(vr_1.VR.SH, elementSet.bigEndian, this.characterSets)); | |
this.zoneOffset = newOffset || this.zoneOffset; | |
} | |
if (this.data.length <= this.pos) { | |
this.data.length *= 2; | |
} | |
this.data[this.pos++] = elementSet; | |
return this; | |
} | |
isEmpty() { | |
return this.data.length == 0; | |
} | |
build() { | |
return new elements_1.Elements(this.characterSets, this.zoneOffset, this.data.slice(0, this.pos)); | |
} | |
} | |
class ElementsBuilder { | |
constructor() { | |
this.builderStack = [new DatasetBuilder(base_1.defaultCharacterSet, base_1.systemZone)]; | |
this.sequenceStack = []; | |
this.lengthStack = []; | |
} | |
addElement(element) { | |
if (element == dicom_elements_1.preambleElement && this.builderStack.length == 1 && this.builderStack[0].isEmpty()) { | |
return this; | |
} | |
if (element instanceof dicom_elements_1.ValueElement) { | |
this.subtractLength(element.length + (element.explicitVR ? element.vr.headerLength : 8)); | |
const builder = this.builderStack[0]; | |
builder.addElementSet(element); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.FragmentsElement) { | |
this.subtractLength(element.explicitVR ? element.vr.headerLength : 8); | |
this.updateFragments(new dicom_elements_1.Fragments(element.tag, element.vr, undefined, [], element.bigEndian, element.explicitVR)); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.FragmentElement) { | |
this.subtractLength(8 + element.length); | |
if (this.fragments !== undefined) { | |
const updatedFragments = this.fragments.addFragment(new dicom_elements_1.Fragment(element.length, element.value, element.bigEndian)); | |
this.updateFragments(updatedFragments); | |
} | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.SequenceDelimitationElement && this.hasFragments()) { | |
this.subtractLength(8); | |
const builder = this.builderStack[0]; | |
builder.addElementSet(this.fragments); | |
this.updateFragments(undefined); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.SequenceElement) { | |
this.subtractLength(element.explicitVR ? 12 : 8); | |
if (!element.indeterminate) { | |
this.pushLength(element, element.length); | |
} | |
this.pushSequence(new dicom_elements_1.Sequence(element.tag, element.indeterminate ? element.length : 0, [], element.bigEndian, element.explicitVR)); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.ItemElement && this.hasSequence()) { | |
this.subtractLength(8); | |
const builder = this.builderStack[0]; | |
const sequence = this.sequenceStack[0].addItem(new dicom_elements_1.Item(elements_1.Elements.empty(), element.indeterminate ? element.length : 0, element.bigEndian)); | |
if (!element.indeterminate) { | |
this.pushLength(element, element.length); | |
} | |
this.pushBuilder(new DatasetBuilder(builder.characterSets, builder.zoneOffset)); | |
this.updateSequence(sequence); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.ItemDelimitationElement && this.hasSequence()) { | |
this.subtractLength(8); | |
if (!this.itemIsIndeterminate() && this.lengthStack.length > 0) { | |
this.lengthStack.shift(); // determinate length item with delimitation - handle gracefully | |
} | |
this.endItem(); | |
return this.maybeDelimit(); | |
} | |
if (element instanceof dicom_elements_1.SequenceDelimitationElement && this.hasSequence()) { | |
this.subtractLength(8); | |
if (!this.sequenceIsIndeterminate() && this.lengthStack.length > 0) { | |
this.lengthStack.shift(); // determinate length sequence with delimitation - handle gracefully | |
} | |
this.endSequence(); | |
return this.maybeDelimit(); | |
} | |
console.warn(`Unexpected element ${element}`); | |
this.subtractLength(element.toBytes().length); | |
return this.maybeDelimit(); | |
} | |
noteElement(element) { | |
this.subtractLength(element.toBytes().length); | |
return this.maybeDelimit(); | |
} | |
currentDepth() { | |
return this.sequenceStack.length; | |
} | |
build() { | |
return this.builderStack.length === 0 ? elements_1.Elements.empty() : this.builderStack[0].build(); | |
} | |
updateSequence(sequence) { | |
if (this.sequenceStack.length === 0) { | |
this.sequenceStack = [sequence]; | |
} | |
else { | |
this.sequenceStack[0] = sequence; | |
} | |
} | |
updateFragments(fragments) { | |
this.fragments = fragments; | |
} | |
subtractLength(length) { | |
this.lengthStack.forEach((l) => (l.bytesLeft -= length)); | |
} | |
pushBuilder(builder) { | |
this.builderStack.unshift(builder); | |
} | |
pushSequence(sequence) { | |
this.sequenceStack.unshift(sequence); | |
} | |
pushLength(element, length) { | |
this.lengthStack.unshift({ element, bytesLeft: length }); | |
} | |
popBuilder() { | |
this.builderStack.shift(); | |
} | |
popSequence() { | |
this.sequenceStack.shift(); | |
} | |
hasSequence() { | |
return this.sequenceStack.length > 0; | |
} | |
hasFragments() { | |
return this.fragments !== undefined; | |
} | |
sequenceIsIndeterminate() { | |
return this.sequenceStack.length > 0 && this.sequenceStack[0].indeterminate; | |
} | |
itemIsIndeterminate() { | |
return (this.sequenceStack.length > 0 && | |
this.sequenceStack[0].items.length > 0 && | |
this.sequenceStack[0].items[this.sequenceStack[0].items.length - 1].indeterminate); | |
} | |
endItem() { | |
const builder = this.builderStack[0]; | |
const sequence = this.sequenceStack[0]; | |
const elements = builder.build(); | |
const items = sequence.items; | |
if (items.length > 0) { | |
items[items.length - 1] = items[items.length - 1].setElements(elements); | |
const updatedSequence = new dicom_elements_1.Sequence(sequence.tag, sequence.length, items, sequence.bigEndian, sequence.explicitVR); | |
this.popBuilder(); | |
this.updateSequence(updatedSequence); | |
} | |
} | |
endSequence() { | |
const sequence = this.sequenceStack[0]; | |
const sequenceLength = sequence.indeterminate | |
? sequence.length | |
: sequence.toBytes().length - (sequence.explicitVR ? 12 : 8); | |
const updatedSequence = new dicom_elements_1.Sequence(sequence.tag, sequenceLength, sequence.items, sequence.bigEndian, sequence.explicitVR); | |
const builder = this.builderStack[0]; | |
builder.addElementSet(updatedSequence); | |
this.popSequence(); | |
} | |
maybeDelimit() { | |
const delimits = this.lengthStack.filter((e) => e.bytesLeft <= 0); | |
if (delimits.length > 0) { | |
this.lengthStack = this.lengthStack.filter((e) => e.bytesLeft > 0); | |
delimits.forEach((e) => { | |
if (e.element instanceof dicom_elements_1.ItemElement) { | |
this.endItem(); | |
} | |
else { | |
this.endSequence(); | |
} | |
}); | |
} | |
return this; | |
} | |
} | |
exports.ElementsBuilder = ElementsBuilder; | |
/***/ }), | |
/***/ "./src/elements.ts": | |
/*!*************************!*\ | |
!*** ./src/elements.ts ***! | |
\*************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Elements = exports.parseZoneOffset = void 0; | |
const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
function parseZoneOffset(s) { | |
if (s.length < 5) { | |
return undefined; | |
} | |
try { | |
return js_joda_1.ZoneOffset.ofTotalMinutes(parseInt(s.slice(0, 1) + (parseInt(s.slice(1, 3), 10) * 60 + parseInt(s.slice(4, 6), 10)), 10)); | |
} | |
catch (error) { | |
return undefined; | |
} | |
} | |
exports.parseZoneOffset = parseZoneOffset; | |
class Elements { | |
static empty(characterSets = base_1.defaultCharacterSet, zoneOffset = base_1.systemZone) { | |
return new Elements(characterSets, zoneOffset, []); | |
} | |
constructor(characterSets = base_1.defaultCharacterSet, zoneOffset = base_1.systemZone, data = []) { | |
this.characterSets = characterSets; | |
this.zoneOffset = zoneOffset; | |
this.data = data; | |
this.size = data.length; | |
} | |
elementByTag(tag) { | |
return this.data.find((e) => e.tag === tag); | |
} | |
elementByPath(tagPath) { | |
const tp = tagPath.previous(); | |
if (tp instanceof tag_path_1.TagPathItem) { | |
const e = this.nestedByPath(tp); | |
return e === undefined ? undefined : e.elementByTag(tagPath.tag()); | |
} | |
if (tp.isEmpty()) { | |
return this.elementByTag(tagPath.tag()); | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
valueElementByTag(tag) { | |
return this._valueByTag(tag, (f) => f); | |
} | |
valueElementByPath(tagPath) { | |
return this._valueByPath(tagPath, (f) => f); | |
} | |
valueByTag(tag) { | |
const e = this.valueElementByTag(tag); | |
return e ? e.value : undefined; | |
} | |
valueByPath(tagPath) { | |
const e = this.valueElementByPath(tagPath); | |
return e ? e.value : undefined; | |
} | |
bytesByTag(tag) { | |
const e = this.valueByTag(tag); | |
return e ? e.bytes : undefined; | |
} | |
bytesByPath(tagPath) { | |
const e = this.valueByPath(tagPath); | |
return e ? e.bytes : undefined; | |
} | |
stringsByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets)); | |
} | |
stringsByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets)); | |
} | |
stringByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets)); | |
} | |
stringByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets)); | |
} | |
singleStringByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets)); | |
} | |
singleStringByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets)); | |
} | |
numbersByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toNumbers(v.vr, v.bigEndian)); | |
} | |
numbersByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toNumbers(v.vr, v.bigEndian)); | |
} | |
numberByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toNumber(v.vr, v.bigEndian)); | |
} | |
numberByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toNumber(v.vr, v.bigEndian)); | |
} | |
datesByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toDates(v.vr)); | |
} | |
datesByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toDates(v.vr)); | |
} | |
dateByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toDate(v.vr)); | |
} | |
dateByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toDate(v.vr)); | |
} | |
timesByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toTimes(v.vr)); | |
} | |
timesByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toTimes(v.vr)); | |
} | |
timeByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toTime(v.vr)); | |
} | |
timeByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toTime(v.vr)); | |
} | |
dateTimesByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toDateTimes(v.vr, this.zoneOffset)); | |
} | |
dateTimesByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toDateTimes(v.vr, this.zoneOffset)); | |
} | |
dateTimeByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toDateTime(v.vr, this.zoneOffset)); | |
} | |
dateTimeByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toDateTime(v.vr, this.zoneOffset)); | |
} | |
personNamesByTag(tag) { | |
return this._valuesByTag(tag, (v) => v.value.toPersonNames(v.vr, this.characterSets)); | |
} | |
personNamesByPath(tagPath) { | |
return this._valuesByPath(tagPath, (v) => v.value.toPersonNames(v.vr, this.characterSets)); | |
} | |
personNameByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toPersonName(v.vr, this.characterSets)); | |
} | |
personNameByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toPersonName(v.vr, this.characterSets)); | |
} | |
urlByTag(tag) { | |
return this._valueByTag(tag, (v) => v.value.toURL(v.vr)); | |
} | |
urlByPath(tagPath) { | |
return this._valueByPath(tagPath, (v) => v.value.toURL(v.vr)); | |
} | |
sequenceByTag(tag) { | |
const e = this.elementByTag(tag); | |
return e instanceof dicom_elements_1.Sequence ? e : undefined; | |
} | |
sequenceByPath(tagPath) { | |
const e = this._traverseTrunk(this, tagPath.previous()); | |
return e ? e.sequenceByTag(tagPath.tag()) : undefined; | |
} | |
itemByTag(tag, index) { | |
const s = this.sequenceByTag(tag); | |
return s ? s.item(index) : undefined; | |
} | |
nestedByTag(tag, item) { | |
const i = this.itemByTag(tag, item); | |
return i ? i.elements : undefined; | |
} | |
nestedByPath(tagPath) { | |
const e = this._traverseTrunk(this, tagPath.previous()); | |
return e ? e.nestedByTag(tagPath.tag(), tagPath.item) : undefined; | |
} | |
fragmentsByTag(tag) { | |
const e = this.elementByTag(tag); | |
return e && e instanceof dicom_elements_1.Fragments ? e : undefined; | |
} | |
setElementSet(elementSet) { | |
if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.SpecificCharacterSet) { | |
return new Elements(character_sets_1.CharacterSets.fromBytes(elementSet.value.bytes), this.zoneOffset, this._insertOrdered(elementSet)); | |
} | |
if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.TimezoneOffsetFromUTC) { | |
const newOffset = parseZoneOffset(elementSet.value.toString(vr_1.VR.SH)); | |
const zone = newOffset || base_1.systemZone; | |
return new Elements(this.characterSets, zone, this._insertOrdered(elementSet)); | |
} | |
return new Elements(this.characterSets, this.zoneOffset, this._insertOrdered(elementSet)); | |
} | |
setElementSets(elementSets) { | |
return elementSets.reduce((elements, elementSet) => elements.setElementSet(elementSet), this); | |
} | |
setSequence(sequence) { | |
return this.setElementSet(sequence); | |
} | |
updateSequence(tag, index, update) { | |
const s1 = this.sequenceByTag(tag); | |
if (s1) { | |
const i1 = s1.item(index); | |
if (i1) { | |
const e1 = i1.elements; | |
const e2 = update(e1); | |
const i2 = i1.setElements(e2); | |
const s2 = s1.setItem(index, i2); | |
return this.setElementSet(s2); | |
} | |
} | |
return undefined; | |
} | |
updatePath(elems, tagPath, f) { | |
if (tagPath.length === 0) { | |
return f(elems); | |
} | |
const tp = tagPath[0]; | |
if (tp instanceof tag_path_1.TagPathItem) { | |
const updated = elems.updateSequence(tp.tag(), tp.item, (e) => this.updatePath(e, tagPath.slice(1), f)); | |
return updated ? updated : elems; | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
setNested(tagPath, elements) { | |
return this.updatePath(this, tagPath.toList(), () => elements); | |
} | |
setNestedElementSet(tagPath, elementSet) { | |
return this.updatePath(this, tagPath.toList(), (elements) => elements.setElementSet(elementSet)); | |
} | |
setNestedSequence(tagPath, sequence) { | |
return this.setNestedElementSet(tagPath, sequence); | |
} | |
addItem(tagPath, elements) { | |
const sequence = this.sequenceByPath(tagPath); | |
if (sequence) { | |
const bigEndian = sequence.bigEndian; | |
const indeterminate = sequence.indeterminate; | |
const item = indeterminate | |
? new dicom_elements_1.Item(elements, base_1.indeterminateLength, bigEndian) | |
: new dicom_elements_1.Item(elements, elements.toBytes(false).length, bigEndian); | |
const updatedSequence = sequence.addItem(item); | |
if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
return this.setSequence(updatedSequence); | |
} | |
else if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
return this.setNestedSequence(tagPath.previous(), updatedSequence); | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
return this; | |
} | |
setCharacterSets(characterSets) { | |
return new Elements(characterSets, this.zoneOffset, this.data); | |
} | |
setZoneOffset(zoneOffset) { | |
return new Elements(this.characterSets, zoneOffset, this.data); | |
} | |
setValue(tag, vr, value, bigEndian = false, explicitVR = true) { | |
return this.setElementSet(new dicom_elements_1.ValueElement(tag, vr, value, bigEndian, explicitVR)); | |
} | |
setBytes(tag, vr, value, bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromBuffer(vr, value), bigEndian, explicitVR); | |
} | |
setStrings(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR); | |
} | |
setString(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromString(vr, value, bigEndian), bigEndian, explicitVR); | |
} | |
setNumbers(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR); | |
} | |
setNumber(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR); | |
} | |
setDates(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromDates(vr, values), bigEndian, explicitVR); | |
} | |
setDate(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromDate(vr, value), bigEndian, explicitVR); | |
} | |
setTimes(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromTimes(vr, values), bigEndian, explicitVR); | |
} | |
setTime(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromTime(vr, value), bigEndian, explicitVR); | |
} | |
setDateTimes(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromDateTimes(vr, values), bigEndian, explicitVR); | |
} | |
setDateTime(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromDateTime(vr, value), bigEndian, explicitVR); | |
} | |
setPersonNames(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromPersonNames(vr, values), bigEndian, explicitVR); | |
} | |
setPersonName(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromPersonName(vr, value), bigEndian, explicitVR); | |
} | |
setURL(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
return this.setValue(tag, vr, value_1.Value.fromURL(vr, value), bigEndian, explicitVR); | |
} | |
setNestedValue(tagPath, vr, value, bigEndian = false, explicitVR = true) { | |
if (tagPath.isRoot()) { | |
return this.setValue(tagPath.tag(), vr, value, bigEndian, explicitVR); | |
} | |
else { | |
return this.setNested(tagPath.previous(), (this.nestedByPath(tagPath.previous()) || Elements.empty()).setValue(tagPath.tag(), vr, value, bigEndian, explicitVR)); | |
} | |
} | |
setNestedBytes(tagPath, vr, value, bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromBuffer(vr, value), bigEndian, explicitVR); | |
} | |
setNestedStrings(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR); | |
} | |
setNestedString(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromString(vr, value, bigEndian), bigEndian, explicitVR); | |
} | |
setNestedNumbers(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR); | |
} | |
setNestedNumber(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR); | |
} | |
setNestedDates(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromDates(vr, values), bigEndian, explicitVR); | |
} | |
setNestedDate(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromDate(vr, value), bigEndian, explicitVR); | |
} | |
setNestedTimes(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromTimes(vr, values), bigEndian, explicitVR); | |
} | |
setNestedTime(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromTime(vr, value), bigEndian, explicitVR); | |
} | |
setNestedDateTimes(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromDateTimes(vr, values), bigEndian, explicitVR); | |
} | |
setNestedDateTime(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromDateTime(vr, value), bigEndian, explicitVR); | |
} | |
setNestedPersonNames(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromPersonNames(vr, values), bigEndian, explicitVR); | |
} | |
setNestedPersonName(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromPersonName(vr, value), bigEndian, explicitVR); | |
} | |
setNestedURL(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
return this.setNestedValue(tagPath, vr, value_1.Value.fromURL(vr, value), bigEndian, explicitVR); | |
} | |
removeByTag(tag) { | |
return this.filter((elementSet) => elementSet.tag !== tag); | |
} | |
removeByPath(tagPath) { | |
if (tagPath === tag_path_1.emptyTagPath) { | |
return this; | |
} | |
if (tagPath instanceof tag_path_1.TagPathItem) { | |
if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
const s = this.sequenceByTag(tagPath.tag()); | |
return s ? this.setSequence(s.removeItem(tagPath.item)) : this; | |
} | |
if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
const e = this.nestedByPath(tagPath.previous()); | |
return e | |
? this.setNested(tagPath.previous(), e.removeByPath(tag_path_1.TagPath.fromItem(tagPath.tag(), tagPath.item))) | |
: this; | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
if (tagPath instanceof tag_path_1.TagPathTag) { | |
if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
return this.removeByTag(tagPath.tag()); | |
} | |
if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
const e = this.nestedByPath(tagPath.previous()); | |
return e ? this.setNested(tagPath.previous(), e.removeByTag(tagPath.tag())) : this; | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
filter(f) { | |
return new Elements(this.characterSets, this.zoneOffset, this.data.filter(f)); | |
} | |
head() { | |
return this.data.length > 0 ? this.data[0] : undefined; | |
} | |
isEmpty() { | |
return this.data.length <= 0; | |
} | |
nonEmpty() { | |
return !this.isEmpty(); | |
} | |
contains(tag) { | |
return typeof tag === 'number' | |
? this.data.map((e) => e.tag).includes(tag) | |
: tag instanceof tag_path_1.TagPathTag | |
? this.elementByPath(tag) !== undefined | |
: tag instanceof tag_path_1.TagPathItem | |
? this.nestedByPath(tag) !== undefined | |
: false; | |
} | |
sorted() { | |
return new Elements(this.characterSets, this.zoneOffset, this.data.slice().sort((e1, e2) => e1.tag - e2.tag)); | |
} | |
toElements(withPreamble = true) { | |
const elements = (0, base_1.flatten)(this.data.map((e) => e.toElements())); | |
return withPreamble ? (0, base_1.prependToArray)(dicom_elements_1.preambleElement, elements) : elements; | |
} | |
toParts(withPreamble) { | |
return (0, base_1.flatten)(this.toElements(withPreamble).map((e) => e.toParts())); | |
} | |
toBytes(withPreamble = true) { | |
return this.data | |
.map((e) => e.toBytes()) | |
.reduce((p, e) => (0, base_1.concat)(p, e), withPreamble ? dicom_elements_1.preambleElement.toBytes() : base_1.emptyBuffer); | |
} | |
toStrings(indent) { | |
const space = ' '; | |
const space1 = (description) => { | |
return space.repeat(Math.max(0, 40 - description.length)); | |
}; | |
const space2 = (length) => { | |
return space.repeat(Math.max(0, 4 - (length + '').length)); | |
}; | |
return (0, base_1.flatten)(this.data.map((e) => { | |
if (e instanceof dicom_elements_1.ValueElement) { | |
const strings = e.value.toStrings(e.vr, e.bigEndian, this.characterSets); | |
const s = strings.join(base_1.multiValueDelimiter); | |
const vm = strings.length + ''; | |
return [ | |
indent + | |
(0, base_1.tagToString)(e.tag) + | |
space + | |
e.vr.name + | |
space + | |
s + | |
space + | |
space1(s) + | |
' # ' + | |
space2(e.length) + | |
space + | |
e.length + | |
', ' + | |
vm + | |
space + | |
lookup_1.Lookup.keywordOf(e.tag) || '', | |
]; | |
} | |
if (e instanceof dicom_elements_1.Sequence) { | |
const hDescription = e.length === base_1.indeterminateLength | |
? 'Sequence with indeterminate length' | |
: 'Sequence with explicit length ' + e.length; | |
const heading = indent + | |
(0, base_1.tagToString)(e.tag) + | |
' SQ ' + | |
hDescription + | |
space + | |
space1(hDescription) + | |
' # ' + | |
space2((0, base_1.toInt32)(e.length)) + | |
space + | |
(0, base_1.toInt32)(e.length) + | |
', 1 ' + | |
lookup_1.Lookup.keywordOf(e.tag) || ''; | |
const items = (0, base_1.flatten)(e.items.map((i) => { | |
const iDescription = i.indeterminate | |
? 'Item with indeterminate length' | |
: 'Item with explicit length ' + i.length; | |
const itemHeading = indent + | |
' ' + | |
(0, base_1.tagToString)(tag_1.Tag.Item) + | |
' na ' + | |
iDescription + | |
space + | |
space1(iDescription) + | |
' # ' + | |
space2((0, base_1.toInt32)(i.length)) + | |
space + | |
(0, base_1.toInt32)(i.length) + | |
', 1 Item'; | |
const elems = i.elements.toStrings(indent + ' '); | |
const itemDelimitation = indent + | |
' ' + | |
(0, base_1.tagToString)(tag_1.Tag.ItemDelimitationItem) + | |
' na ' + | |
space.repeat(41) + | |
' # 0, 0 ItemDelimitationItem'; | |
elems.unshift(itemHeading); | |
elems.push(itemDelimitation); | |
return elems; | |
})); | |
const delimitation = indent + | |
(0, base_1.tagToString)(tag_1.Tag.SequenceDelimitationItem) + | |
' na ' + | |
space.repeat(41) + | |
' # 0, 0 SequenceDelimitationItem'; | |
items.unshift(heading); | |
items.push(delimitation); | |
return items; | |
} | |
if (e instanceof dicom_elements_1.Fragments) { | |
const hDescription = 'Fragments with ' + e.size + ' fragment(s)'; | |
const heading = indent + | |
(0, base_1.tagToString)(e.tag) + | |
space + | |
e.vr.name + | |
space + | |
hDescription + | |
space + | |
space1(hDescription) + | |
' # na, 1 ' + | |
lookup_1.Lookup.keywordOf(e.tag) || ''; | |
let offsets = []; | |
if (e.offsets !== undefined) { | |
const len = e.offsets.length; | |
const description = 'Offsets table with ' + len + ' offset(s)'; | |
offsets = [ | |
indent + | |
space + | |
space + | |
(0, base_1.tagToString)(tag_1.Tag.Item) + | |
' na ' + | |
description + | |
space + | |
space1(description) + | |
' # ' + | |
space2(len * 4) + | |
space + | |
len * 4 + | |
', 1 Item', | |
]; | |
} | |
const fragments = e.fragments.map((f) => { | |
const description = 'Fragment with length ' + f.length; | |
return (indent + | |
space + | |
space + | |
(0, base_1.tagToString)(tag_1.Tag.Item) + | |
' na ' + | |
description + | |
space + | |
space1(description) + | |
' # ' + | |
space2(f.length) + | |
space + | |
f.length + | |
', 1 Item'); | |
}); | |
const delimitation = indent + | |
(0, base_1.tagToString)(tag_1.Tag.SequenceDelimitationItem) + | |
' na ' + | |
space.repeat(43) + | |
' # 0, 0 SequenceDelimitationItem'; | |
offsets.unshift(heading); | |
for (const fragment of fragments) { | |
offsets.push(fragment); | |
} | |
offsets.push(delimitation); | |
return offsets; | |
} | |
return []; | |
})); | |
} | |
toString() { | |
return this.toStrings('').join('\r\n'); | |
} | |
_valueByTag(tag, f) { | |
const e = this.elementByTag(tag); | |
return e && e instanceof dicom_elements_1.ValueElement ? f(e) : undefined; | |
} | |
_valueByPath(tagPath, f) { | |
const e = this.elementByPath(tagPath); | |
return e && e instanceof dicom_elements_1.ValueElement ? f(e) : undefined; | |
} | |
_valuesByTag(tag, f) { | |
const e = this.elementByTag(tag); | |
return e && e instanceof dicom_elements_1.ValueElement ? f(e) : []; | |
} | |
_valuesByPath(tagPath, f) { | |
const e = this.elementByPath(tagPath); | |
return e && e instanceof dicom_elements_1.ValueElement ? f(e) : []; | |
} | |
_traverseTrunk(elems, trunk) { | |
if (trunk.isEmpty()) { | |
return elems; | |
} | |
else { | |
if (trunk instanceof tag_path_1.TagPathItem) { | |
const e = this._traverseTrunk(elems, trunk.previous()); | |
return e ? e.nestedByTag(trunk.tag(), trunk.item) : undefined; | |
} | |
throw Error('Unsupported tag path type'); | |
} | |
} | |
_insertOrdered(element) { | |
if (this.isEmpty()) { | |
return [element]; | |
} | |
else { | |
const b = []; | |
let isBelow = true; | |
this.data.forEach((e) => { | |
if (isBelow && e.tag > element.tag) { | |
b.push(element); | |
isBelow = false; | |
} | |
if (e.tag === element.tag) { | |
b.push(element); | |
isBelow = false; | |
} | |
else { | |
b.push(e); | |
} | |
}); | |
if (isBelow) { | |
b.push(element); | |
} | |
return b; | |
} | |
} | |
} | |
exports.Elements = Elements; | |
/***/ }), | |
/***/ "./src/flows.ts": | |
/*!**********************!*\ | |
!*** ./src/flows.ts ***! | |
\**********************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.flatMapFlow = exports.filterFlow = exports.mapFlow = exports.objectToStringFlow = exports.appendFlow = exports.prependFlow = exports.printFlow = exports.identityFlow = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
function identityFlow(objectMode = false) { | |
return new stream_1.Transform({ | |
objectMode, | |
transform(chunk, encoding, callback) { | |
this.push(chunk); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.identityFlow = identityFlow; | |
function printFlow(objectMode = false) { | |
return new stream_1.Transform({ | |
objectMode, | |
transform(chunk, encoding, callback) { | |
console.log(chunk); | |
this.push(chunk); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.printFlow = printFlow; | |
function prependFlow(prependChunk, objectMode = false) { | |
let hasEmitted = false; | |
return new stream_1.Transform({ | |
objectMode, | |
transform(chunk, encoding, callback) { | |
if (!hasEmitted) { | |
this.push(prependChunk); | |
hasEmitted = true; | |
} | |
this.push(chunk); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.prependFlow = prependFlow; | |
function appendFlow(appendChunk, objectMode = false) { | |
return new stream_1.Transform({ | |
objectMode, | |
transform(chunk, encoding, callback) { | |
this.push(chunk); | |
process.nextTick(() => callback()); | |
}, | |
flush(callback) { | |
process.nextTick(() => callback(null, appendChunk)); | |
}, | |
}); | |
} | |
exports.appendFlow = appendFlow; | |
function objectToStringFlow(toStringFunction) { | |
return new stream_1.Transform({ | |
writableObjectMode: true, | |
transform(chunk, encoding, callback) { | |
this.push(toStringFunction(chunk) + '\n'); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.objectToStringFlow = objectToStringFlow; | |
function mapFlow(f) { | |
return new stream_1.Transform({ | |
objectMode: true, | |
transform(chunk, encoding, callback) { | |
try { | |
this.push(f(chunk)); | |
process.nextTick(() => callback()); | |
} | |
catch (error) { | |
process.nextTick(() => this.emit('error', error)); | |
} | |
}, | |
}); | |
} | |
exports.mapFlow = mapFlow; | |
function filterFlow(f) { | |
return new stream_1.Transform({ | |
objectMode: true, | |
transform(chunk, encoding, callback) { | |
try { | |
if (f(chunk) === true) { | |
this.push(chunk); | |
} | |
process.nextTick(() => callback()); | |
} | |
catch (error) { | |
process.nextTick(() => this.emit('error', error)); | |
} | |
}, | |
}); | |
} | |
exports.filterFlow = filterFlow; | |
function flatMapFlow(toChunks) { | |
return new stream_1.Transform({ | |
objectMode: true, | |
transform(chunk, encoding, callback) { | |
try { | |
for (const outChunk of toChunks(chunk)) { | |
this.push(outChunk); | |
} | |
process.nextTick(() => callback()); | |
} | |
catch (error) { | |
process.nextTick(() => this.emit('error', error)); | |
} | |
}, | |
}); | |
} | |
exports.flatMapFlow = flatMapFlow; | |
/***/ }), | |
/***/ "./src/index.ts": | |
/*!**********************!*\ | |
!*** ./src/index.ts ***! | |
\**********************/ | |
/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | |
if (k2 === undefined) k2 = k; | |
var desc = Object.getOwnPropertyDescriptor(m, k); | |
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | |
desc = { enumerable: true, get: function() { return m[k]; } }; | |
} | |
Object.defineProperty(o, k2, desc); | |
}) : (function(o, m, k, k2) { | |
if (k2 === undefined) k2 = k; | |
o[k2] = m[k]; | |
})); | |
var __exportStar = (this && this.__exportStar) || function(m, exports) { | |
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | |
}; | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.CharacterSets = void 0; | |
__exportStar(__webpack_require__(/*! ./detour */ "./src/detour.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./base */ "./src/base.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./vr */ "./src/vr.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./uid */ "./src/uid.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./tag */ "./src/tag.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./lookup */ "./src/lookup.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./tag-tree */ "./src/tag-tree.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./person-name */ "./src/person-name.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"), exports); | |
var character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
Object.defineProperty(exports, "CharacterSets", ({ enumerable: true, get: function () { return character_sets_1.CharacterSets; } })); | |
__exportStar(__webpack_require__(/*! ./sources */ "./src/sources.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./flows */ "./src/flows.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./sinks */ "./src/sinks.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./parse-flow */ "./src/parse-flow.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./dicom-flows */ "./src/dicom-flows.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./collect-flow */ "./src/collect-flow.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./modify-flow */ "./src/modify-flow.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./parser */ "./src/parser.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./value */ "./src/value.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./elements */ "./src/elements.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./element-flows */ "./src/element-flows.ts"), exports); | |
__exportStar(__webpack_require__(/*! ./element-sink */ "./src/element-sink.ts"), exports); | |
/***/ }), | |
/***/ "./src/lookup.ts": | |
/*!***********************!*\ | |
!*** ./src/lookup.ts ***! | |
\***********************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Lookup = void 0; | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const tag_to_vr_1 = __webpack_require__(/*! ./tag-to-vr */ "./src/tag-to-vr.ts"); | |
const uid_to_name_1 = __webpack_require__(/*! ./uid-to-name */ "./src/uid-to-name.ts"); | |
class Lookup { | |
static keywordOf(tag) { | |
if ((tag & 0x0000ffff) === 0 && (tag & 0xfffd0000) !== 0) { | |
return 'GroupLength'; | |
} | |
if ((tag & 0x00010000) !== 0) { | |
if ((tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0) { | |
return 'PrivateCreatorID'; | |
} | |
return ''; | |
} | |
if ((tag & 0xffffff00) === tag_1.Tag.SourceImageIDs) { | |
return 'SourceImageIDs'; | |
} | |
let tag2 = tag; | |
if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) { | |
tag2 = tag & 0xffe0ffff; | |
} | |
else if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) { | |
tag2 = tag & 0xff00ffff; | |
} | |
return Lookup.keywords.find((key) => tag_1.Tag[key] === tag2); | |
} | |
static vrOf(tag) { | |
return tag_to_vr_1.TagToVR.vrOf(tag); | |
} | |
static tagOf(keyword) { | |
return tag_1.Tag[keyword]; | |
} | |
static nameOf(uid) { | |
return uid_to_name_1.UIDToName.nameOf(uid); | |
} | |
} | |
Lookup.keywords = Object.keys(tag_1.Tag); | |
exports.Lookup = Lookup; | |
/***/ }), | |
/***/ "./src/modify-flow.ts": | |
/*!****************************!*\ | |
!*** ./src/modify-flow.ts ***! | |
\****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.modifyFlow = exports.TagModificationsPart = exports.TagInsertion = exports.TagModification = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class TagModification { | |
static equals(tagPath, modification) { | |
return new TagModification(tagPath.isEqualTo.bind(tagPath), modification); | |
} | |
static endsWith(tagPath, modification) { | |
return new TagModification((tp) => tp.endsWith(tagPath), modification); | |
} | |
constructor(matches, modification) { | |
this.matches = matches; | |
this.modification = modification; | |
} | |
} | |
exports.TagModification = TagModification; | |
class TagInsertion { | |
constructor(tagPath, insertion) { | |
this.tagPath = tagPath; | |
this.insertion = insertion; | |
this.tagPath = tagPath; | |
this.insertion = insertion; | |
} | |
} | |
exports.TagInsertion = TagInsertion; | |
class TagModificationsPart extends dicom_parts_1.MetaPart { | |
constructor(modifications = [], insertions = [], replace = false) { | |
super(); | |
this.modifications = modifications; | |
this.insertions = insertions; | |
this.replace = replace; | |
} | |
} | |
exports.TagModificationsPart = TagModificationsPart; | |
function modifyFlow(modifications = [], insertions = [], logGroupLengthWarnings = true) { | |
const mods = modifications === undefined ? [] : modifications; | |
const irts = insertions === undefined ? [] : insertions; | |
const wrns = logGroupLengthWarnings === undefined ? true : logGroupLengthWarnings; | |
const organizeInsertions = (inserts) => { | |
const distinct = inserts.filter((a, pos, arr) => { | |
return arr.findIndex((b) => b.tagPath.isEqualTo(a.tagPath)) === pos; | |
}); // distinct by tag path | |
return distinct.sort((a, b) => (a.tagPath.isBelow(b.tagPath) ? -1 : 1)); // ordered by tag path | |
}; | |
return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)((0, dicom_flow_1.EndEvent)(dicom_flow_1.DeferToPartFlow)))))) { | |
constructor() { | |
super(); | |
this.currentModifications = mods; | |
this.currentInsertions = organizeInsertions(irts.slice()); | |
this.latestTagPath = tag_path_1.emptyTagPath; | |
this.value = base_1.emptyBuffer; | |
this.bigEndian = false; | |
this.explicitVR = true; | |
this.setSilent(!wrns); | |
} | |
onPart(part) { | |
if (part instanceof TagModificationsPart) { | |
if (part.replace) { | |
this.currentModifications = part.modifications; | |
this.currentInsertions = organizeInsertions(part.insertions.slice()); | |
} | |
else { | |
this.currentModifications = (0, base_1.concatArrays)(this.currentModifications, part.modifications); | |
this.currentInsertions = organizeInsertions((0, base_1.concatArrays)(this.currentInsertions, part.insertions)); | |
} | |
return []; | |
} | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
this.updateSyntax(part); | |
const insertParts = this.findInsertParts(); | |
const modifyPart = this.findModifyPart(part); | |
this.latestTagPath = this.tagPath; | |
return (0, base_1.concatArrays)(insertParts, modifyPart); | |
} | |
if (part instanceof dicom_parts_1.SequencePart) { | |
const insertParts = this.findInsertParts(); | |
this.latestTagPath = this.tagPath; | |
return (0, base_1.appendToArray)(part, insertParts); | |
} | |
if (part instanceof dicom_parts_1.ValueChunk) { | |
if (this.currentModification !== undefined && this.currentHeader !== undefined) { | |
this.value = (0, base_1.concat)(this.value, part.bytes); | |
if (part.last) { | |
const newValue = (0, base_1.padToEvenLength)(this.currentModification.modification(this.value), this.currentHeader.vr); | |
const newHeader = this.currentHeader.withUpdatedLength(newValue.length); | |
this.currentModification = undefined; | |
this.currentHeader = undefined; | |
return (0, base_1.prependToArray)(newHeader, this.valueOrNot(newValue)); | |
} | |
else { | |
return []; | |
} | |
} | |
else { | |
return [part]; | |
} | |
} | |
this.latestTagPath = this.tagPath; | |
return [part]; | |
} | |
onEnd() { | |
if (this.latestTagPath.isEmpty()) { | |
return []; | |
} | |
else { | |
return (0, base_1.flatten)(this.currentInsertions | |
.filter((i) => i.tagPath.isRoot()) | |
.filter((m) => this.latestTagPath.isBelow(m.tagPath)) | |
.map((m) => this.headerAndValueParts(m.tagPath, (0, base_1.padToEvenLength)(m.insertion(undefined), m.tagPath.tag())))); | |
} | |
} | |
updateSyntax(header) { | |
this.bigEndian = header.bigEndian; | |
this.explicitVR = header.explicitVR; | |
} | |
valueOrNot(bytes) { | |
return bytes.length > 0 ? [new dicom_parts_1.ValueChunk(this.bigEndian, bytes, true)] : []; | |
} | |
headerAndValueParts(tagPath, valueBytes) { | |
const vr = lookup_1.Lookup.vrOf(tagPath.tag()); | |
if (vr === vr_1.VR.UN) { | |
throw Error('Tag is not present in dictionary, cannot determine value representation'); | |
} | |
if (vr === vr_1.VR.SQ) { | |
throw Error('Cannot insert sequences'); | |
} | |
const header = dicom_parts_1.HeaderPart.create(tagPath.tag(), vr, valueBytes.length, this.bigEndian, this.explicitVR); | |
return (0, base_1.prependToArray)(header, this.valueOrNot(valueBytes)); | |
} | |
isBetween(lowerTag, tagToTest, upperTag) { | |
return lowerTag.isBelow(tagToTest) && tagToTest.isBelow(upperTag); | |
} | |
isInDataset(tagToTest, tagPath) { | |
return tagToTest.previous().isEqualTo(tagPath.previous()); | |
} | |
findInsertParts() { | |
return (0, base_1.flatten)(this.currentInsertions | |
.filter((i) => this.isBetween(this.latestTagPath, i.tagPath, this.tagPath)) | |
.filter((i) => this.isInDataset(i.tagPath, this.tagPath)) | |
.map((i) => this.headerAndValueParts(i.tagPath, (0, base_1.padToEvenLength)(i.insertion(undefined), i.tagPath.tag())))); | |
} | |
findModifyPart(header) { | |
const mod = this.currentModifications.find((m) => m.matches(this.tagPath)); | |
if (mod !== undefined) { | |
this.currentHeader = header; | |
this.currentModification = mod; | |
this.value = base_1.emptyBuffer; | |
return []; | |
} | |
else { | |
const ins = this.currentInsertions.find((i) => i.tagPath.isEqualTo(this.tagPath)); | |
if (ins !== undefined) { | |
this.currentHeader = header; | |
this.currentModification = new TagModification((tp) => tp.isEqualTo(ins.tagPath), (v) => ins.insertion(v)); | |
this.value = base_1.emptyBuffer; | |
return []; | |
} | |
else { | |
return [header]; | |
} | |
} | |
} | |
})()); | |
} | |
exports.modifyFlow = modifyFlow; | |
/***/ }), | |
/***/ "./src/parse-flow.ts": | |
/*!***************************!*\ | |
!*** ./src/parse-flow.ts ***! | |
\***************************/ | |
/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
var __importDefault = (this && this.__importDefault) || function (mod) { | |
return (mod && mod.__esModule) ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.parseFlow = void 0; | |
const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const byte_parser_1 = __webpack_require__(/*! ./byte-parser */ "./src/byte-parser.ts"); | |
const detour_1 = __webpack_require__(/*! ./detour */ "./src/detour.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const parsing_1 = __webpack_require__(/*! ./parsing */ "./src/parsing.ts"); | |
const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class DicomParseStep extends byte_parser_1.ParseStep { | |
constructor(state, flow) { | |
super(); | |
this.state = state; | |
this.flow = flow; | |
} | |
} | |
class DatasetHeaderState { | |
constructor(maySwitchTs, bigEndian, explicitVR) { | |
this.maySwitchTs = maySwitchTs; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
} | |
} | |
class FmiHeaderState { | |
constructor(tsuid, bigEndian, explicitVR, hasFmi, pos, fmiEndPos) { | |
this.tsuid = tsuid; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.hasFmi = hasFmi; | |
this.pos = pos; | |
this.fmiEndPos = fmiEndPos; | |
} | |
} | |
class ValueState { | |
constructor(bigEndian, bytesLeft, nextStep) { | |
this.bigEndian = bigEndian; | |
this.bytesLeft = bytesLeft; | |
this.nextStep = nextStep; | |
} | |
} | |
class FragmentsState { | |
constructor(bigEndian, explicitVR) { | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
} | |
} | |
class AtBeginning extends DicomParseStep { | |
constructor(flow) { | |
super(null, flow); | |
} | |
parse(reader) { | |
let maybePreamble; | |
if (reader.remainingSize() < parsing_1.dicomPreambleLength + 8) { | |
if (reader | |
.remainingData() | |
.slice(0, 128) | |
.every((b) => b === 0)) { | |
reader.ensure(parsing_1.dicomPreambleLength + 8); | |
} | |
} | |
else if ((0, parsing_1.isPreamble)(reader.remainingData())) { | |
maybePreamble = new dicom_parts_1.PreamblePart(reader.take(parsing_1.dicomPreambleLength)); | |
} | |
reader.ensure(8); | |
const info = (0, parsing_1.tryReadHeader)(reader.remainingData()); | |
if (info) { | |
let nextState; | |
if (info.hasFmi) { | |
if (!info.explicitVR) { | |
console.warn('File meta information uses implicit VR encoding'); | |
} | |
if (info.bigEndian) { | |
console.warn('File meta information uses big-endian encoding'); | |
} | |
nextState = new InFmiHeader(new FmiHeaderState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined), this.flow); | |
} | |
else { | |
nextState = new InDatasetHeader(new DatasetHeaderState(false, info.bigEndian, info.explicitVR), this.flow); | |
} | |
return new byte_parser_1.ParseResult(maybePreamble, nextState); | |
} | |
else { | |
throw new Error('Not a DICOM stream'); | |
} | |
} | |
onTruncation(reader) { | |
if (reader.remainingSize() === parsing_1.dicomPreambleLength && (0, parsing_1.isPreamble)(reader.remainingData())) { | |
this.flow.push(new dicom_parts_1.PreamblePart(reader.take(parsing_1.dicomPreambleLength))); | |
} | |
else { | |
super.onTruncation(reader); | |
} | |
} | |
} | |
class InFmiHeader extends DicomParseStep { | |
constructor(state, flow) { | |
super(state, flow); | |
this.transferSyntaxLengthLimit = 1024; | |
} | |
toDatasetStep(reader, valueLength) { | |
let tsuid = this.state.tsuid; | |
if (!tsuid) { | |
console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian'); | |
tsuid = uid_1.UID.ExplicitVRLittleEndian; | |
} | |
const bigEndian = tsuid === uid_1.UID.ExplicitVRBigEndianRetired; | |
const explicitVR = tsuid !== uid_1.UID.ImplicitVRLittleEndian; | |
if ((0, base_1.isDeflated)(tsuid)) { | |
if (this.flow.inflate) { | |
reader.ensure(valueLength + 2); | |
let inflater = zlib_1.default.createInflateRaw(); | |
const firstTwoBytes = reader.remainingData().slice(valueLength, valueLength + 2); | |
const hasZLIBHeader = (0, base_1.bytesToUShortBE)(firstTwoBytes) === 0x789c; | |
if (hasZLIBHeader) { | |
console.warn('Deflated DICOM Stream with ZLIB Header'); | |
inflater = zlib_1.default.createInflate(); | |
} | |
const valueBytes = reader.take(valueLength); | |
const remainingBytes = reader.remainingData(); | |
reader.setInput(valueBytes); | |
this.flow.setDetourFlow(inflater); | |
this.flow.setDetour(true, remainingBytes); | |
} | |
else { | |
return new InDeflatedData(this.state, this.flow); | |
} | |
} | |
return new InDatasetHeader(new DatasetHeaderState(true, bigEndian, explicitVR), this.flow); | |
} | |
parse(reader) { | |
const header = (0, parsing_1.readHeader)(reader, this.state); | |
(0, parsing_1.warnIfOdd)(header.tag, header.vr, header.valueLength); | |
if ((0, base_1.groupNumber)(header.tag) !== 2) { | |
console.warn('Missing or wrong File Meta Information Group Length (0002,0000)'); | |
return new byte_parser_1.ParseResult(undefined, this.toDatasetStep(reader, header.valueLength)); | |
} | |
const updatedVr = header.vr === vr_1.VR.UN ? lookup_1.Lookup.vrOf(header.tag) : header.vr; | |
const bytes = reader.take(header.headerLength); | |
this.state.pos += header.headerLength + header.valueLength; | |
if (header.tag === tag_1.Tag.FileMetaInformationGroupLength) { | |
reader.ensure(4); | |
const valueBytes = reader.remainingData().slice(0, 4); | |
this.state.fmiEndPos = this.state.pos + (0, base_1.bytesToInt)(valueBytes, this.state.bigEndian); | |
} | |
else if (header.tag === tag_1.Tag.TransferSyntaxUID) { | |
if (header.valueLength < this.transferSyntaxLengthLimit) { | |
reader.ensure(header.valueLength); | |
const valueBytes = reader.remainingData().slice(0, header.valueLength); | |
this.state.tsuid = (0, base_1.trim)(valueBytes.toString()); | |
} | |
else { | |
console.warn('Transfer syntax data is very large, skipping'); | |
} | |
} | |
const part = new dicom_parts_1.HeaderPart(header.tag, updatedVr, header.valueLength, true, this.state.bigEndian, this.state.explicitVR, bytes); | |
let nextStep = new InFmiHeader(this.state, this.flow); | |
if (this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos) { | |
if (reader.remainingSize() >= header.valueLength + 2 && | |
!(this.state.tsuid && this.state.tsuid == uid_1.UID.DeflatedExplicitVRLittleEndian) && | |
(0, base_1.bytesToShort)(reader.remainingData().slice(header.valueLength, header.valueLength + 2), this.state.bigEndian) == 2) { | |
console.warn('Wrong File Meta Information Group Length (0002,0000)'); | |
} | |
else { | |
if (this.state.fmiEndPos != this.state.pos) { | |
console.warn('Wrong File Meta Information Group Length (0002,0000)'); | |
} | |
nextStep = this.toDatasetStep(reader, header.valueLength); | |
} | |
} | |
return new byte_parser_1.ParseResult(part, new InValue(new ValueState(this.state.bigEndian, header.valueLength, nextStep), this.flow)); | |
} | |
} | |
class InDatasetHeader extends DicomParseStep { | |
constructor(state, flow) { | |
super(state, flow); | |
} | |
maybeSwitchTs(reader, state) { | |
reader.ensure(8); | |
const data = reader.remainingData().slice(0, 8); | |
const tag = (0, base_1.bytesToTag)(data, state.bigEndian); | |
let explicitVR = undefined; | |
try { | |
explicitVR = vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4))); | |
} | |
catch (e) { } | |
if ((0, parsing_1.isSpecial)(tag)) { | |
return new DatasetHeaderState(false, state.bigEndian, state.explicitVR); | |
} | |
if (state.explicitVR && !explicitVR) { | |
console.log('Implicit VR attributes detected in explicit VR dataset'); | |
return new DatasetHeaderState(false, state.bigEndian, false); | |
} | |
if (!state.explicitVR && explicitVR) { | |
return new DatasetHeaderState(false, state.bigEndian, true); | |
} | |
return new DatasetHeaderState(false, state.bigEndian, state.explicitVR); | |
} | |
readDatasetHeader(reader, state) { | |
const header = (0, parsing_1.readHeader)(reader, state); | |
(0, parsing_1.warnIfOdd)(header.tag, header.vr, header.valueLength); | |
if (header.vr) { | |
const bytes = reader.take(header.headerLength); | |
if (header.vr === vr_1.VR.SQ || (header.vr === vr_1.VR.UN && header.valueLength === base_1.indeterminateLength)) { | |
return new dicom_parts_1.SequencePart(header.tag, header.valueLength, state.bigEndian, state.explicitVR, bytes); | |
} | |
if (header.valueLength === base_1.indeterminateLength) { | |
return new dicom_parts_1.FragmentsPart(header.tag, header.valueLength, header.vr, state.bigEndian, state.explicitVR, bytes); | |
} | |
return new dicom_parts_1.HeaderPart(header.tag, header.vr, header.valueLength, false, state.bigEndian, state.explicitVR, bytes); | |
} | |
switch (header.tag) { | |
case 0xfffee000: | |
return new dicom_parts_1.ItemPart(header.valueLength, state.bigEndian, reader.take(8)); | |
case 0xfffee00d: | |
return new dicom_parts_1.ItemDelimitationPart(state.bigEndian, reader.take(8)); | |
case 0xfffee0dd: | |
return new dicom_parts_1.SequenceDelimitationPart(state.bigEndian, reader.take(8)); | |
} | |
return new dicom_parts_1.UnknownPart(state.bigEndian, reader.take(header.headerLength)); | |
} | |
parse(reader) { | |
const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state; | |
const part = this.readDatasetHeader(reader, state); | |
let nextState = byte_parser_1.finishedParser; | |
if (part) { | |
if (part instanceof dicom_parts_1.HeaderPart) { | |
if (part.length > 0) { | |
nextState = new InValue(new ValueState(part.bigEndian, part.length, new InDatasetHeader(state, this.flow)), this.flow); | |
} | |
else { | |
nextState = new InDatasetHeader(state, this.flow); | |
} | |
} | |
else if (part instanceof dicom_parts_1.FragmentsPart) { | |
nextState = new InFragments(new FragmentsState(part.bigEndian, state.explicitVR), this.flow); | |
} | |
else if (part instanceof dicom_parts_1.SequencePart) { | |
nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
} | |
else if (part instanceof dicom_parts_1.ItemPart) { | |
nextState = new InDatasetHeader(new DatasetHeaderState(true, state.bigEndian, state.explicitVR), this.flow); | |
} | |
else if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
} | |
else if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
nextState = new InDatasetHeader(new DatasetHeaderState(true, state.bigEndian, state.explicitVR), this.flow); | |
} | |
else { | |
nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
} | |
} | |
return new byte_parser_1.ParseResult(part, nextState); | |
} | |
} | |
class InValue extends DicomParseStep { | |
constructor(state, flow) { | |
super(state, flow); | |
} | |
parse(reader) { | |
return this.state.bytesLeft <= this.flow.chunkSize | |
? new byte_parser_1.ParseResult(new dicom_parts_1.ValueChunk(this.state.bigEndian, reader.take(this.state.bytesLeft), true), this.state.nextStep) | |
: new byte_parser_1.ParseResult(new dicom_parts_1.ValueChunk(this.state.bigEndian, reader.take(this.flow.chunkSize), false), new InValue(new ValueState(this.state.bigEndian, this.state.bytesLeft - this.flow.chunkSize, this.state.nextStep), this.flow)); | |
} | |
} | |
class InFragments extends DicomParseStep { | |
constructor(state, flow) { | |
super(state, flow); | |
} | |
parse(reader) { | |
const header = (0, parsing_1.readHeader)(reader, this.state); | |
if (header.tag === 0xfffee000) { | |
// begin fragment | |
const nextState = header.valueLength > 0 | |
? new InValue(new ValueState(this.state.bigEndian, header.valueLength, new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR), this.flow)), this.flow) | |
: new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR), this.flow); | |
return new byte_parser_1.ParseResult(new dicom_parts_1.ItemPart(header.valueLength, this.state.bigEndian, reader.take(header.headerLength)), nextState); | |
} | |
if (header.tag === 0xfffee0dd) { | |
// end fragments | |
if (header.valueLength !== 0) { | |
console.warn('Unexpected fragments delimitation length ' + header.valueLength); | |
} | |
return new byte_parser_1.ParseResult(new dicom_parts_1.SequenceDelimitationPart(this.state.bigEndian, reader.take(header.headerLength)), new InDatasetHeader(new DatasetHeaderState(false, this.state.bigEndian, this.state.explicitVR), this.flow)); | |
} | |
console.warn('Unexpected element (' + (0, base_1.tagToString)(header.tag) + ') in fragments with length ' + header.valueLength); | |
return new byte_parser_1.ParseResult(new dicom_parts_1.UnknownPart(this.state.bigEndian, reader.take(header.headerLength + header.valueLength)), this); | |
} | |
} | |
class InDeflatedData extends DicomParseStep { | |
constructor(state, flow) { | |
super(state, flow); | |
} | |
parse(reader) { | |
return new byte_parser_1.ParseResult(new dicom_parts_1.DeflatedChunk(this.state.bigEndian, reader.take(Math.min(this.flow.chunkSize, reader.remainingSize()))), this); | |
} | |
} | |
class ParseFlow extends detour_1.Detour { | |
constructor(chunkSize = 1024 * 1024, inflate = true, bufferBytes = 1024 * 1024) { | |
super({ highWaterMark: bufferBytes, readableObjectMode: true }); // FIXME should be writableHighWaterMark | |
this.chunkSize = chunkSize; | |
this.inflate = inflate; | |
this.bufferBytes = bufferBytes; | |
this.parser = new byte_parser_1.ByteParser(this); | |
this.parser.startWith(new AtBeginning(this)); | |
} | |
/** | |
* Overrides process in Detour. Process a chunk of binary data. | |
*/ | |
process(chunk) { | |
this.parser.parse(chunk); | |
} | |
/** | |
* Overrides cleanup in Detour. If there are unparsed bytes left, try to parse these, or fail. | |
*/ | |
cleanup() { | |
this.parser.flush(); | |
} | |
/** | |
* Called by byte parser when it is emitting the next parsed element | |
*/ | |
next(part) { | |
this.push(part); | |
} | |
/** | |
* Called by byte parser when completing parser. Here we signal completion to the stream. | |
*/ | |
complete() { | |
this.push(null); | |
} | |
/** | |
* Called by byte parser on error. Here we signal error to the stream. | |
*/ | |
fail(error) { | |
process.nextTick(() => this.emit('error', error)); | |
} | |
} | |
function parseFlow(chunkSize, inflate, bufferBytes) { | |
return new ParseFlow(chunkSize, inflate, bufferBytes); | |
} | |
exports.parseFlow = parseFlow; | |
/***/ }), | |
/***/ "./src/parser.ts": | |
/*!***********************!*\ | |
!*** ./src/parser.ts ***! | |
\***********************/ | |
/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
var __importDefault = (this && this.__importDefault) || function (mod) { | |
return (mod && mod.__esModule) ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Parser = void 0; | |
const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const byte_parser_1 = __webpack_require__(/*! ./byte-parser */ "./src/byte-parser.ts"); | |
const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const parsing_1 = __webpack_require__(/*! ./parsing */ "./src/parsing.ts"); | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class Inflater { | |
inflate(bytes) { | |
return bytes; | |
} | |
} | |
class FmiAttributeState { | |
constructor(tsuid, bigEndian, explicitVR, hasFmi, pos, fmiEndPos) { | |
this.tsuid = tsuid; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.hasFmi = hasFmi; | |
this.pos = pos; | |
this.fmiEndPos = fmiEndPos; | |
} | |
} | |
class AttributeState { | |
constructor(maySwitchTs, bigEndian, explicitVR, inflater) { | |
this.maySwitchTs = maySwitchTs; | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.inflater = inflater; | |
} | |
} | |
class FragmentsState { | |
constructor(bigEndian, explicitVR, inflater) { | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.inflater = inflater; | |
} | |
} | |
class DicomParseStep extends byte_parser_1.ParseStep { | |
constructor(state, stop) { | |
super(); | |
this.state = state; | |
this.stop = stop; | |
} | |
} | |
class AtBeginning extends DicomParseStep { | |
constructor(stop) { | |
super(null, stop); | |
} | |
parse(reader) { | |
if (reader.remainingSize() < parsing_1.dicomPreambleLength + 8) { | |
if (reader | |
.remainingData() | |
.slice(0, 128) | |
.every((b) => b === 0)) { | |
reader.ensure(parsing_1.dicomPreambleLength + 8); | |
} | |
} | |
else if ((0, parsing_1.isPreamble)(reader.remainingData())) { | |
reader.take(parsing_1.dicomPreambleLength); | |
} | |
reader.ensure(8); | |
const info = (0, parsing_1.tryReadHeader)(reader.remainingData()); | |
if (info) { | |
const nextState = info.hasFmi | |
? new InFmiAttribute(new FmiAttributeState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined), this.stop) | |
: new InAttribute(new AttributeState(false, info.bigEndian, info.explicitVR, undefined), this.stop); | |
return new byte_parser_1.ParseResult(undefined, nextState); | |
} | |
else { | |
throw new Error('Not a DICOM file'); | |
} | |
} | |
onTruncation(reader) { | |
if (reader.remainingSize() !== parsing_1.dicomPreambleLength || !(0, parsing_1.isPreamble)(reader.remainingData())) { | |
super.onTruncation(reader); | |
} | |
} | |
} | |
class InFmiAttribute extends DicomParseStep { | |
constructor(state, stop) { | |
super(state, stop); | |
} | |
parse(reader) { | |
const header = (0, parsing_1.readHeader)(reader, this.state); | |
if (this.stop(header)) { | |
return new byte_parser_1.ParseResult(undefined, byte_parser_1.finishedParser); | |
} | |
if ((0, base_1.groupNumber)(header.tag) !== 2) { | |
console.warn('Missing or wrong File Meta Information Group Length (0002,0000)'); | |
return new byte_parser_1.ParseResult(undefined, this.toDatasetStep(reader)); | |
} | |
const updatedVr = header.vr === vr_1.VR.UN ? lookup_1.Lookup.vrOf(header.tag) : header.vr; | |
const bytes = reader.take(header.headerLength + header.valueLength); | |
const valueBytes = bytes.slice(header.headerLength); | |
this.state.pos += header.headerLength + header.valueLength; | |
if (header.tag === tag_1.Tag.FileMetaInformationGroupLength) { | |
this.state.fmiEndPos = this.state.pos + (0, base_1.bytesToInt)(valueBytes, this.state.bigEndian); | |
} | |
else if (header.tag === tag_1.Tag.TransferSyntaxUID) { | |
this.state.tsuid = (0, base_1.trim)(valueBytes.toString()); | |
} | |
return new byte_parser_1.ParseResult(new dicom_elements_1.ValueElement(header.tag, updatedVr, new value_1.Value(valueBytes), this.state.bigEndian, this.state.explicitVR), this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos ? this.toDatasetStep(reader) : this); | |
} | |
toDatasetStep(reader) { | |
let tsuid = this.state.tsuid; | |
if (!tsuid) { | |
console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian'); | |
tsuid = uid_1.UID.ExplicitVRLittleEndian; | |
} | |
const bigEndian = tsuid === uid_1.UID.ExplicitVRBigEndianRetired; | |
const explicitVR = tsuid !== uid_1.UID.ImplicitVRLittleEndian; | |
let inflater; | |
if ((0, base_1.isDeflated)(tsuid)) { | |
reader.ensure(2); | |
inflater = new (class extends Inflater { | |
inflate(bytes) { | |
return zlib_1.default.inflateRawSync(bytes); | |
} | |
})(); | |
const firstTwoBytes = reader.remainingData().slice(0, 2); | |
const hasZLIBHeader = (0, base_1.bytesToUShortBE)(firstTwoBytes) === 0x789c; | |
if (hasZLIBHeader) { | |
console.warn('Deflated DICOM Stream with ZLIB Header'); | |
inflater = new (class extends Inflater { | |
inflate(bytes) { | |
return zlib_1.default.inflateSync(bytes); | |
} | |
})(); | |
} | |
reader.setInput(inflater.inflate(reader.remainingData())); | |
} | |
return new InAttribute(new AttributeState(true, bigEndian, explicitVR, inflater), this.stop); | |
} | |
} | |
class InAttribute extends DicomParseStep { | |
constructor(state, stop) { | |
super(state, stop); | |
} | |
maybeSwitchTs(reader, state) { | |
reader.ensure(8); | |
const data = reader.remainingData().slice(0, 8); | |
const tag = (0, base_1.bytesToTag)(data, state.bigEndian); | |
let explicitVR = undefined; | |
try { | |
explicitVR = vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4))); | |
} | |
catch (e) { } | |
if ((0, parsing_1.isSpecial)(tag)) { | |
return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater); | |
} | |
if (state.explicitVR && !explicitVR) { | |
console.log('Implicit VR attributes detected in explicit VR dataset'); | |
return new AttributeState(false, state.bigEndian, false, state.inflater); | |
} | |
if (!state.explicitVR && explicitVR) { | |
return new AttributeState(false, state.bigEndian, true, state.inflater); | |
} | |
return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater); | |
} | |
parse(reader) { | |
const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state; | |
const header = (0, parsing_1.readHeader)(reader, state); | |
reader.take(header.headerLength); | |
if (header.vr) { | |
if (this.stop(header)) { | |
return new byte_parser_1.ParseResult(undefined, byte_parser_1.finishedParser); | |
} | |
if (header.vr === vr_1.VR.SQ || (header.vr === vr_1.VR.UN && header.valueLength === base_1.indeterminateLength)) { | |
return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceElement(header.tag, header.valueLength, state.bigEndian, state.explicitVR), new InAttribute(new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
} | |
if (header.valueLength === base_1.indeterminateLength) { | |
return new byte_parser_1.ParseResult(new dicom_elements_1.FragmentsElement(header.tag, header.vr, state.bigEndian, state.explicitVR), new InFragments(new FragmentsState(state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
} | |
return new byte_parser_1.ParseResult(new dicom_elements_1.ValueElement(header.tag, header.vr, new value_1.Value(reader.take(header.valueLength)), state.bigEndian, state.explicitVR), this); | |
} | |
switch (header.tag) { | |
case 0xfffee000: | |
return new byte_parser_1.ParseResult(new dicom_elements_1.ItemElement(header.valueLength, state.bigEndian), new InAttribute(new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
case 0xfffee00d: | |
return new byte_parser_1.ParseResult(new dicom_elements_1.ItemDelimitationElement(state.bigEndian), new InAttribute(new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
case 0xfffee0dd: | |
return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceDelimitationElement(state.bigEndian), new InAttribute(new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
} | |
return new byte_parser_1.ParseResult(new dicom_elements_1.UnknownElement(state.bigEndian), this); | |
} | |
} | |
class InFragments extends DicomParseStep { | |
constructor(state, stop) { | |
super(state, stop); | |
} | |
parse(reader) { | |
const header = (0, parsing_1.readHeader)(reader, this.state); | |
reader.take(header.headerLength); | |
if (header.tag === 0xfffee000) { | |
// begin fragment | |
const valueBytes = reader.take(header.valueLength); | |
return new byte_parser_1.ParseResult(new dicom_elements_1.FragmentElement(header.valueLength, new value_1.Value(valueBytes), this.state.bigEndian), new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR, this.state.inflater), this.stop)); | |
} | |
if (header.tag === 0xfffee0dd) { | |
// end fragments | |
if (header.valueLength !== 0) { | |
console.warn('Unexpected fragments delimitation length ' + header.valueLength); | |
} | |
return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceDelimitationElement(this.state.bigEndian), new InAttribute(new AttributeState(false, this.state.bigEndian, this.state.explicitVR, this.state.inflater), this.stop)); | |
} | |
reader.take(header.valueLength); | |
console.warn('Unexpected element (' + (0, base_1.tagToString)(header.tag) + ') in fragments with length ' + header.valueLength); | |
return new byte_parser_1.ParseResult(new dicom_elements_1.UnknownElement(this.state.bigEndian), this); | |
} | |
} | |
class Parser { | |
constructor(stop) { | |
this.stop = stop; | |
this.builder = new elements_builder_1.ElementsBuilder(); | |
this.byteParser = new byte_parser_1.ByteParser(this); | |
const shouldStop = stop | |
? (attributeInfo) => stop(attributeInfo, this.builder.currentDepth()) | |
: () => false; | |
this.byteParser.startWith(new AtBeginning(shouldStop)); | |
} | |
/** | |
* Parse the input binary data, producing DICOM elements that are added to the internal builder. An elements | |
* structure can be fetched based on the builder at any time. | |
*/ | |
parse(chunk) { | |
const step = this.byteParser.current instanceof DicomParseStep ? this.byteParser.current : undefined; | |
if (step && step.state && step.state.inflater) { | |
chunk = step.state.inflater.inflate(chunk); | |
} | |
this.byteParser.parse(chunk); | |
} | |
/** | |
* Called by byte parser when it is emitting the next parsed element. | |
*/ | |
next(element) { | |
this.builder.addElement(element); | |
} | |
/** | |
* Get the current elements as represented by the builder | |
*/ | |
result() { | |
return this.builder.build(); | |
} | |
/** | |
* Returns true the parser has completed parsing (stop condition was met) | |
*/ | |
isComplete() { | |
return this.byteParser.isCompleted; | |
} | |
/** | |
* Called by byte parser when completing parser. Nothing to do here. | |
*/ | |
complete() { | |
// do nothing | |
} | |
/** | |
* Called by byte parser on error. Here we just throw the error. | |
*/ | |
fail(error) { | |
throw error; | |
} | |
} | |
exports.Parser = Parser; | |
/***/ }), | |
/***/ "./src/parsing.ts": | |
/*!************************!*\ | |
!*** ./src/parsing.ts ***! | |
\************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.warnIfOdd = exports.readHeader = exports.AttributeInfo = exports.readTagVr = exports.isSpecial = exports.TagVr = exports.isPreamble = exports.headerInfo = exports.tryReadHeader = exports.HeaderInfo = exports.isDICM = exports.dicomPreambleLength = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
exports.dicomPreambleLength = 132; | |
function isDICM(bytes) { | |
return bytes[0] === 68 && bytes[1] === 73 && bytes[2] === 67 && bytes[3] === 77; | |
} | |
exports.isDICM = isDICM; | |
class HeaderInfo { | |
constructor(bigEndian, explicitVR, hasFmi) { | |
this.bigEndian = bigEndian; | |
this.explicitVR = explicitVR; | |
this.hasFmi = hasFmi; | |
} | |
} | |
exports.HeaderInfo = HeaderInfo; | |
function tryReadHeader(data) { | |
const info = headerInfo(data, false); | |
return info === undefined ? headerInfo(data, true) : info; | |
} | |
exports.tryReadHeader = tryReadHeader; | |
function headerInfo(data, assumeBigEndian) { | |
const tag = (0, base_1.bytesToTag)(data, assumeBigEndian); | |
const vr = lookup_1.Lookup.vrOf(tag); | |
if (vr === vr_1.VR.UN || ((0, base_1.groupNumber)(tag) !== 2 && (0, base_1.groupNumber)(tag) < 8)) { | |
return undefined; | |
} | |
if ((0, base_1.bytesToVR)(data.slice(4, 6)) === vr.code) { | |
return { | |
bigEndian: assumeBigEndian, | |
explicitVR: true, | |
hasFmi: (0, base_1.isFileMetaInformation)(tag), | |
}; | |
} | |
if ((0, base_1.bytesToUInt)(data.slice(4, 8), assumeBigEndian) >= 0) { | |
if (assumeBigEndian) { | |
throw Error('Implicit VR Big Endian encoded DICOM Stream'); | |
} | |
else { | |
return { | |
bigEndian: false, | |
explicitVR: false, | |
hasFmi: (0, base_1.isFileMetaInformation)(tag), | |
}; | |
} | |
} | |
return undefined; | |
} | |
exports.headerInfo = headerInfo; | |
function isPreamble(data) { | |
return data.length >= exports.dicomPreambleLength && isDICM(data.slice(exports.dicomPreambleLength - 4, exports.dicomPreambleLength)); | |
} | |
exports.isPreamble = isPreamble; | |
class TagVr { | |
constructor(tag, vr) { | |
this.tag = tag; | |
this.vr = vr; | |
} | |
} | |
exports.TagVr = TagVr; | |
function isSpecial(tag) { | |
return tag === 0xfffee000 || tag === 0xfffee00d || tag === 0xfffee0dd; | |
} | |
exports.isSpecial = isSpecial; | |
function readTagVr(data, bigEndian, explicitVr) { | |
const tag = (0, base_1.bytesToTag)(data, bigEndian); | |
if (isSpecial(tag)) { | |
return new TagVr(tag, undefined); | |
} | |
if (explicitVr) { | |
return new TagVr(tag, vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4, 6)))); | |
} | |
return new TagVr(tag, lookup_1.Lookup.vrOf(tag)); | |
} | |
exports.readTagVr = readTagVr; | |
class AttributeInfo { | |
constructor(tag, vr, headerLength, valueLength) { | |
this.tag = tag; | |
this.vr = vr; | |
this.headerLength = headerLength; | |
this.valueLength = valueLength; | |
} | |
} | |
exports.AttributeInfo = AttributeInfo; | |
function readHeader(reader, state) { | |
reader.ensure(8); | |
const tagVrBytes = reader.remainingData().slice(0, 8); | |
const tagVr = readTagVr(tagVrBytes, state.bigEndian, state.explicitVR); | |
if (tagVr.vr && state.explicitVR) { | |
if (tagVr.vr.headerLength === 8) { | |
return new AttributeInfo(tagVr.tag, tagVr.vr, 8, (0, base_1.bytesToUShort)(tagVrBytes.slice(6), state.bigEndian)); | |
} | |
reader.ensure(12); | |
return new AttributeInfo(tagVr.tag, tagVr.vr, 12, (0, base_1.bytesToUInt)(reader.remainingData().slice(8), state.bigEndian)); | |
} | |
return new AttributeInfo(tagVr.tag, tagVr.vr, 8, (0, base_1.bytesToUInt)(tagVrBytes.slice(4), state.bigEndian)); | |
} | |
exports.readHeader = readHeader; | |
function warnIfOdd(tag, vr, valueLength) { | |
if (valueLength % 2 > 0 && valueLength != base_1.indeterminateLength && vr != null && vr != vr_1.VR.SQ) { | |
console.warn(`Element ${(0, base_1.tagToString)(tag)} has odd length`); | |
} | |
} | |
exports.warnIfOdd = warnIfOdd; | |
/***/ }), | |
/***/ "./src/person-name.ts": | |
/*!****************************!*\ | |
!*** ./src/person-name.ts ***! | |
\****************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.PersonName = exports.ComponentGroup = void 0; | |
const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
class ComponentGroup { | |
constructor(alphabetic, ideographic = '', phonetic = '') { | |
this.alphabetic = alphabetic; | |
this.ideographic = ideographic; | |
this.phonetic = phonetic; | |
} | |
} | |
exports.ComponentGroup = ComponentGroup; | |
class PersonName { | |
constructor(familyName, givenName, middleName = new ComponentGroup(''), prefix = new ComponentGroup(''), suffix = new ComponentGroup('')) { | |
this.familyName = familyName; | |
this.givenName = givenName; | |
this.middleName = middleName; | |
this.prefix = prefix; | |
this.suffix = suffix; | |
} | |
static parse(s) { | |
return s | |
.split(base_1.multiValueDelimiter) | |
.map(base_1.trim) | |
.map((s1) => (0, value_1.parsePersonName)(s1)); | |
} | |
toString() { | |
const components = [this.familyName, this.givenName, this.middleName, this.prefix, this.suffix]; | |
const representations = ['alphabetic', 'ideographic', 'phonetic']; | |
return representations | |
.map((repr) => { | |
return components | |
.map((c) => c[repr]) | |
.join('^') | |
.replace(/\^+$/, ''); // Trim trailing ^ separators | |
}) | |
.join('=') | |
.replace(/=+$/, ''); // Trim trailing = separators | |
} | |
} | |
exports.PersonName = PersonName; | |
/***/ }), | |
/***/ "./src/sinks.ts": | |
/*!**********************!*\ | |
!*** ./src/sinks.ts ***! | |
\**********************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.arraySink = exports.ignoreSink = exports.byteSink = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
function byteSink(callback) { | |
let buffer = base_1.emptyBuffer; | |
const sink = new stream_1.Writable({ | |
write(chunk, encoding, cb) { | |
buffer = (0, base_1.concat)(buffer, chunk); | |
process.nextTick(() => cb()); | |
}, | |
}); | |
sink.once('finish', () => { | |
callback(buffer); | |
}); | |
return sink; | |
} | |
exports.byteSink = byteSink; | |
function ignoreSink(objectMode = false) { | |
return new stream_1.Writable({ | |
objectMode, | |
write(chunk, encoding, callback) { | |
process.nextTick(() => callback()); | |
}, | |
}); | |
} | |
exports.ignoreSink = ignoreSink; | |
function arraySink(arrayCallback) { | |
const array = []; | |
const sink = new stream_1.Writable({ | |
objectMode: true, | |
write(chunk, encoding, callback) { | |
array.push(chunk); | |
process.nextTick(() => callback()); | |
}, | |
}); | |
sink.once('finish', () => arrayCallback(array)); | |
return sink; | |
} | |
exports.arraySink = arraySink; | |
/***/ }), | |
/***/ "./src/sources.ts": | |
/*!************************!*\ | |
!*** ./src/sources.ts ***! | |
\************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.arraySource = exports.singleSource = void 0; | |
const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
function singleSource(element, objectMode = false) { | |
return new stream_1.Readable({ | |
objectMode, | |
read() { | |
this.push(element); | |
this.push(null); | |
}, | |
}); | |
} | |
exports.singleSource = singleSource; | |
function arraySource(array, objectMode = false) { | |
let pos = 0; | |
return new stream_1.Readable({ | |
highWaterMark: 1, | |
objectMode, | |
read(size) { | |
size = size || 1; | |
const maxPos = Math.min(pos + size, array.length); | |
let i = pos; | |
while (i < maxPos && this.push(array[i++])) { | |
// do nothing | |
} | |
if (i === array.length) { | |
this.push(null); | |
} | |
pos = i; | |
}, | |
}); | |
} | |
exports.arraySource = arraySource; | |
/***/ }), | |
/***/ "./src/tag-path-like.ts": | |
/*!******************************!*\ | |
!*** ./src/tag-path-like.ts ***! | |
\******************************/ | |
/***/ ((__unused_webpack_module, exports) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.TagPathLike = void 0; | |
class TagPathLike { | |
isRoot() { | |
return this.previous().isEmpty(); | |
} | |
toList() { | |
const toListRec = (path, list) => { | |
if (!path.isRoot()) { | |
toListRec(path.previous(), list); | |
} | |
list.push(path); | |
return list; | |
}; | |
return toListRec(this, []); | |
} | |
contains(tag) { | |
return (this.toList() | |
.map((tp) => tp.tag()) | |
.indexOf(tag) >= 0); | |
} | |
depth() { | |
const depthRec = (path, d) => { | |
if (path.isRoot()) { | |
return d; | |
} | |
else { | |
return depthRec(path.previous(), d + 1); | |
} | |
}; | |
return this.isEmpty() ? 0 : depthRec(this, 1); | |
} | |
head() { | |
return this.take(1); | |
} | |
tail() { | |
return this.drop(1); | |
} | |
take(n) { | |
const takeRec = (path, i) => { | |
return i <= 0 ? path : takeRec(path.previous(), i - 1); | |
}; | |
return takeRec(this, this.depth() - n); | |
} | |
} | |
exports.TagPathLike = TagPathLike; | |
/***/ }), | |
/***/ "./src/tag-path.ts": | |
/*!*************************!*\ | |
!*** ./src/tag-path.ts ***! | |
\*************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.TagPathItemEnd = exports.TagPathItem = exports.TagPathSequenceEnd = exports.TagPathSequence = exports.TagPathTag = exports.emptyTagPath = exports.TagPathTrunk = exports.TagPath = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const tag_path_like_1 = __webpack_require__(/*! ./tag-path-like */ "./src/tag-path-like.ts"); | |
class TagPath extends tag_path_like_1.TagPathLike { | |
static fromTag(tag) { | |
return exports.emptyTagPath.thenTag(tag); | |
} | |
static fromSequence(tag) { | |
return exports.emptyTagPath.thenSequence(tag); | |
} | |
static fromSequenceEnd(tag) { | |
return exports.emptyTagPath.thenSequenceEnd(tag); | |
} | |
static fromItem(tag, item) { | |
return exports.emptyTagPath.thenItem(tag, item); | |
} | |
static fromItemEnd(tag, item) { | |
return exports.emptyTagPath.thenItemEnd(tag, item); | |
} | |
static parse(s) { | |
const indexPart = (s1) => s1.substring(s1.lastIndexOf('[') + 1, s1.length - 1); | |
const tagPart = (s1) => s1.substring(0, s1.indexOf('[')); | |
const parseTag = (s1) => { | |
const tag = lookup_1.Lookup.tagOf(s1); | |
if (!tag) { | |
if (s1.length === 11 && s1[0] === '(' && s1[5] === ',' && s1[10] === ')') { | |
const i = parseInt(s1.substring(1, 5) + s1.substring(6, 10), 16); | |
if (!isNaN(i)) { | |
return i; | |
} | |
} | |
throw Error(s1 + ' is not a tag or name string'); | |
} | |
return tag; | |
}; | |
const parseIndex = (s1) => { | |
const i = parseInt(s1, 10); | |
if (isNaN(i)) { | |
throw Error(s1 + ' is not a number'); | |
} | |
return i; | |
}; | |
const createTag = (s1) => TagPath.fromTag(parseTag(s1)); | |
const addTag = (s1, path) => path.thenTag(parseTag(s1)); | |
const createSeq = (s1) => TagPath.fromItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1))); | |
const addSeq = (s1, path) => path.thenItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1))); | |
const tags = s.indexOf('.') > 0 ? s.split('.') : [s]; | |
const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any | |
const lastTag = tags[tags.length - 1]; // tag or sequence | |
try { | |
const first = seqTags.length > 0 ? seqTags[0] : undefined; | |
if (first) { | |
const path = seqTags.slice(1, seqTags.length).reduce((p, tag) => addSeq(tag, p), createSeq(first)); | |
return addTag(lastTag, path); | |
} | |
return createTag(lastTag); | |
} | |
catch (error) { | |
throw Error('Tag path could not be parsed: ' + error.message); | |
} | |
} | |
constructor(tag, previous) { | |
super(); | |
this.tagVal = tag; | |
this.previousVal = previous; | |
} | |
tag() { | |
return this.tagVal; | |
} | |
previous() { | |
return this.previousVal; | |
} | |
isEmpty() { | |
return this === exports.emptyTagPath; | |
} | |
isBelow(that) { | |
const thisList = this.toList(); | |
const thatList = that.toList(); | |
for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
const thisPath = thisList[i]; | |
const thatPath = thatList[i]; | |
if (thisPath.isEmpty()) { | |
return !thatPath.isEmpty(); | |
} | |
if (thatPath.isEmpty()) { | |
return false; | |
} | |
if (thisPath.tag() !== thatPath.tag()) { | |
return thisPath.tag() < thatPath.tag(); | |
} | |
if (thisPath instanceof TagPathSequence && 'item' in thatPath) { | |
return true; | |
} | |
if (thisPath instanceof TagPathSequence && thatPath instanceof TagPathSequenceEnd) { | |
return true; | |
} | |
if (thisPath instanceof TagPathSequenceEnd && 'item' in thatPath) { | |
return false; | |
} | |
if (thisPath instanceof TagPathSequenceEnd && thatPath instanceof TagPathSequence) { | |
return false; | |
} | |
if ('item' in thisPath && thatPath instanceof TagPathSequence) { | |
return false; | |
} | |
if ('item' in thisPath && thatPath instanceof TagPathSequenceEnd) { | |
return true; | |
} | |
if ('item' in thisPath && | |
'item' in thatPath && | |
thisPath.item !== thatPath.item) { | |
return thisPath.item < thatPath.item; | |
} | |
if (thisPath instanceof TagPathItem && thatPath instanceof TagPathItemEnd) { | |
return true; | |
} | |
if (thisPath instanceof TagPathItemEnd && thatPath instanceof TagPathItem) { | |
return false; | |
} | |
} | |
return thisList.length < thatList.length; | |
} | |
isEqualTo(that) { | |
if (this.isEmpty() && that.isEmpty()) { | |
return true; | |
} | |
if (this instanceof TagPathTag && that instanceof TagPathTag) { | |
return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagPathSequence && that instanceof TagPathSequence) { | |
return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagPathSequenceEnd && that instanceof TagPathSequenceEnd) { | |
return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagPathItem && that instanceof TagPathItem) { | |
return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagPathItemEnd && that instanceof TagPathItemEnd) { | |
return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
} | |
return false; | |
} | |
startsWith(that) { | |
const thisDepth = this.depth(); | |
const thatDepth = that.depth(); | |
if (thisDepth >= thatDepth) { | |
const n = Math.min(thisDepth, thatDepth); | |
return this.take(n).isEqualTo(that.take(n)); | |
} | |
else { | |
return false; | |
} | |
} | |
endsWith(that) { | |
const n = this.depth() - that.depth(); | |
return n >= 0 ? this.drop(n).isEqualTo(that) : false; | |
} | |
drop(n) { | |
const dropRec = (path, i) => { | |
if (i < 0) { | |
return exports.emptyTagPath; | |
} | |
if (i === 0) { | |
if (path.isEmpty()) { | |
return exports.emptyTagPath; | |
} | |
if (path instanceof TagPathItem) { | |
return TagPath.fromItem(path.tag(), path.item); | |
} | |
if (path instanceof TagPathItemEnd) { | |
return TagPath.fromItemEnd(path.tag(), path.item); | |
} | |
if (path instanceof TagPathSequence) { | |
return TagPath.fromSequence(path.tag()); | |
} | |
if (path instanceof TagPathSequenceEnd) { | |
return TagPath.fromSequenceEnd(path.tag()); | |
} | |
return TagPath.fromTag(path.tag()); | |
} | |
const p = dropRec(path.previous(), i - 1); | |
if (path instanceof TagPathItem) { | |
return p.thenItem(path.tag(), path.item); | |
} | |
if (path instanceof TagPathItemEnd) { | |
return p.thenItemEnd(path.tag(), path.item); | |
} | |
if (path instanceof TagPathSequence) { | |
return p.thenSequence(path.tag()); | |
} | |
if (path instanceof TagPathSequenceEnd) { | |
return p.thenSequenceEnd(path.tag()); | |
} | |
if (path instanceof TagPathTag) { | |
return p.thenTag(path.tag()); | |
} | |
return exports.emptyTagPath; | |
}; | |
return dropRec(this, this.depth() - n - 1); | |
} | |
toNamedString(lookup) { | |
const toTagString = (tag) => { | |
if (lookup) { | |
const keyword = lookup_1.Lookup.keywordOf(tag); | |
if (keyword) { | |
return keyword; | |
} | |
} | |
return (0, base_1.tagToString)(tag); | |
}; | |
const toTagPathString = (path, tail) => { | |
const itemIndexSuffix = 'item' in path ? '[' + path.item + ']' : ''; | |
const head = toTagString(path.tag()) + itemIndexSuffix; | |
const part = head + tail; | |
return path.isRoot() ? part : toTagPathString(path.previous(), '.' + part); | |
}; | |
return this.isEmpty() ? '<empty path>' : toTagPathString(this, ''); | |
} | |
} | |
exports.TagPath = TagPath; | |
class TagPathTrunk extends TagPath { | |
thenTag(tag) { | |
return new TagPathTag(tag, this); | |
} | |
thenSequence(tag) { | |
return new TagPathSequence(tag, this); | |
} | |
thenSequenceEnd(tag) { | |
return new TagPathSequenceEnd(tag, this); | |
} | |
thenItem(tag, item) { | |
return new TagPathItem(tag, item, this); | |
} | |
thenItemEnd(tag, item) { | |
return new TagPathItemEnd(tag, item, this); | |
} | |
} | |
exports.TagPathTrunk = TagPathTrunk; | |
class EmptyTagPath extends TagPathTrunk { | |
tag() { | |
throw Error('Empty tag path'); | |
} | |
previous() { | |
return exports.emptyTagPath; | |
} | |
} | |
exports.emptyTagPath = new EmptyTagPath(-1, null); | |
class TagPathTag extends TagPath { | |
constructor(tag, previous) { | |
super(tag, previous); | |
} | |
} | |
exports.TagPathTag = TagPathTag; | |
class TagPathSequence extends TagPath { | |
constructor(tag, previous) { | |
super(tag, previous); | |
} | |
} | |
exports.TagPathSequence = TagPathSequence; | |
class TagPathSequenceEnd extends TagPath { | |
constructor(tag, previous) { | |
super(tag, previous); | |
} | |
} | |
exports.TagPathSequenceEnd = TagPathSequenceEnd; | |
class TagPathItem extends TagPathTrunk { | |
constructor(tag, item, previous) { | |
super(tag, previous); | |
this.item = item; | |
} | |
} | |
exports.TagPathItem = TagPathItem; | |
class TagPathItemEnd extends TagPathTrunk { | |
constructor(tag, item, previous) { | |
super(tag, previous); | |
this.item = item; | |
} | |
} | |
exports.TagPathItemEnd = TagPathItemEnd; | |
/***/ }), | |
/***/ "./src/tag-to-vr.ts": | |
/*!**************************!*\ | |
!*** ./src/tag-to-vr.ts ***! | |
\**************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.TagToVR = void 0; | |
const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
class TagToVR { | |
static adjustTag(tag) { | |
if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) { | |
return tag & 0xffe0ffff; | |
} | |
if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) { | |
return tag & 0xff00ffff; | |
} | |
return tag; | |
} | |
static vrOf(tag) { | |
if ((tag & 0x0000ffff) === 0) { | |
return vr_1.VR.UL; // group length | |
} | |
if ((tag & 0x00010000) !== 0) { | |
// private creator ID | |
return (tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0 ? vr_1.VR.LO : vr_1.VR.UN; | |
} | |
if ((tag & 0xffffff00) === tag_1.Tag.SourceImageIDs) { | |
return vr_1.VR.CS; | |
} | |
const key = TagToVR.adjustTag(tag).toString(16); | |
return key in TagToVR.dict ? TagToVR.dict[key] : vr_1.VR.UN; | |
} | |
} | |
TagToVR.dict = { | |
'0': vr_1.VR.UL, | |
'2': vr_1.VR.UI, | |
'3': vr_1.VR.UI, | |
'100': vr_1.VR.US, | |
'110': vr_1.VR.US, | |
'120': vr_1.VR.US, | |
'600': vr_1.VR.AE, | |
'700': vr_1.VR.US, | |
'800': vr_1.VR.US, | |
'900': vr_1.VR.US, | |
'901': vr_1.VR.AT, | |
'902': vr_1.VR.LO, | |
'903': vr_1.VR.US, | |
'1000': vr_1.VR.UI, | |
'1001': vr_1.VR.UI, | |
'1002': vr_1.VR.US, | |
'1005': vr_1.VR.AT, | |
'1008': vr_1.VR.US, | |
'1020': vr_1.VR.US, | |
'1021': vr_1.VR.US, | |
'1022': vr_1.VR.US, | |
'1023': vr_1.VR.US, | |
'1030': vr_1.VR.AE, | |
'1031': vr_1.VR.US, | |
'20000': vr_1.VR.UL, | |
'20001': vr_1.VR.OB, | |
'20002': vr_1.VR.UI, | |
'20003': vr_1.VR.UI, | |
'20010': vr_1.VR.UI, | |
'20012': vr_1.VR.UI, | |
'20013': vr_1.VR.SH, | |
'20016': vr_1.VR.AE, | |
'20017': vr_1.VR.AE, | |
'20018': vr_1.VR.AE, | |
'20100': vr_1.VR.UI, | |
'20102': vr_1.VR.OB, | |
'41130': vr_1.VR.CS, | |
'41141': vr_1.VR.CS, | |
'41142': vr_1.VR.CS, | |
'41200': vr_1.VR.UL, | |
'41202': vr_1.VR.UL, | |
'41212': vr_1.VR.US, | |
'41220': vr_1.VR.SQ, | |
'41400': vr_1.VR.UL, | |
'41410': vr_1.VR.US, | |
'41420': vr_1.VR.UL, | |
'41430': vr_1.VR.CS, | |
'41432': vr_1.VR.UI, | |
'41500': vr_1.VR.CS, | |
'41504': vr_1.VR.UL, | |
'41510': vr_1.VR.UI, | |
'41511': vr_1.VR.UI, | |
'41512': vr_1.VR.UI, | |
'4151a': vr_1.VR.UI, | |
'41600': vr_1.VR.UL, | |
'80001': vr_1.VR.UL, | |
'80005': vr_1.VR.CS, | |
'80006': vr_1.VR.SQ, | |
'80008': vr_1.VR.CS, | |
'80010': vr_1.VR.SH, | |
'80012': vr_1.VR.DA, | |
'80013': vr_1.VR.TM, | |
'80014': vr_1.VR.UI, | |
'80015': vr_1.VR.DT, | |
'80016': vr_1.VR.UI, | |
'80018': vr_1.VR.UI, | |
'8001a': vr_1.VR.UI, | |
'8001b': vr_1.VR.UI, | |
'80020': vr_1.VR.DA, | |
'80021': vr_1.VR.DA, | |
'80022': vr_1.VR.DA, | |
'80023': vr_1.VR.DA, | |
'80024': vr_1.VR.DA, | |
'80025': vr_1.VR.DA, | |
'8002a': vr_1.VR.DT, | |
'80030': vr_1.VR.TM, | |
'80031': vr_1.VR.TM, | |
'80032': vr_1.VR.TM, | |
'80033': vr_1.VR.TM, | |
'80034': vr_1.VR.TM, | |
'80035': vr_1.VR.TM, | |
'80040': vr_1.VR.US, | |
'80041': vr_1.VR.LO, | |
'80042': vr_1.VR.CS, | |
'80050': vr_1.VR.SH, | |
'80051': vr_1.VR.SQ, | |
'80052': vr_1.VR.CS, | |
'80053': vr_1.VR.CS, | |
'80054': vr_1.VR.AE, | |
'80055': vr_1.VR.AE, | |
'80056': vr_1.VR.CS, | |
'80058': vr_1.VR.UI, | |
'80060': vr_1.VR.CS, | |
'80061': vr_1.VR.CS, | |
'80062': vr_1.VR.UI, | |
'80063': vr_1.VR.SQ, | |
'80064': vr_1.VR.CS, | |
'80068': vr_1.VR.CS, | |
'80070': vr_1.VR.LO, | |
'80080': vr_1.VR.LO, | |
'80081': vr_1.VR.ST, | |
'80082': vr_1.VR.SQ, | |
'80090': vr_1.VR.PN, | |
'80092': vr_1.VR.ST, | |
'80094': vr_1.VR.SH, | |
'80096': vr_1.VR.SQ, | |
'8009c': vr_1.VR.PN, | |
'8009d': vr_1.VR.SQ, | |
'80100': vr_1.VR.SH, | |
'80101': vr_1.VR.LO, | |
'80102': vr_1.VR.SH, | |
'80103': vr_1.VR.SH, | |
'80104': vr_1.VR.LO, | |
'80105': vr_1.VR.CS, | |
'80106': vr_1.VR.DT, | |
'80107': vr_1.VR.DT, | |
'80108': vr_1.VR.LT, | |
'80109': vr_1.VR.SQ, | |
'8010a': vr_1.VR.CS, | |
'8010b': vr_1.VR.CS, | |
'8010c': vr_1.VR.UI, | |
'8010d': vr_1.VR.UI, | |
'8010e': vr_1.VR.UR, | |
'8010f': vr_1.VR.CS, | |
'80110': vr_1.VR.SQ, | |
'80112': vr_1.VR.LO, | |
'80114': vr_1.VR.ST, | |
'80115': vr_1.VR.ST, | |
'80116': vr_1.VR.ST, | |
'80117': vr_1.VR.UI, | |
'80118': vr_1.VR.UI, | |
'80119': vr_1.VR.UC, | |
'80120': vr_1.VR.UR, | |
'80121': vr_1.VR.SQ, | |
'80122': vr_1.VR.LO, | |
'80123': vr_1.VR.SQ, | |
'80124': vr_1.VR.SQ, | |
'80201': vr_1.VR.SH, | |
'80220': vr_1.VR.SQ, | |
'80221': vr_1.VR.CS, | |
'80222': vr_1.VR.LO, | |
'80300': vr_1.VR.SQ, | |
'80301': vr_1.VR.US, | |
'80302': vr_1.VR.LO, | |
'80303': vr_1.VR.CS, | |
'80304': vr_1.VR.US, | |
'80305': vr_1.VR.SQ, | |
'80306': vr_1.VR.US, | |
'80307': vr_1.VR.CS, | |
'80308': vr_1.VR.US, | |
'80309': vr_1.VR.UL, | |
'8030a': vr_1.VR.CS, | |
'8030b': vr_1.VR.UL, | |
'8030c': vr_1.VR.UC, | |
'8030d': vr_1.VR.UC, | |
'8030e': vr_1.VR.UT, | |
'8030f': vr_1.VR.UT, | |
'80310': vr_1.VR.SQ, | |
'81000': vr_1.VR.AE, | |
'81010': vr_1.VR.SH, | |
'81030': vr_1.VR.LO, | |
'81032': vr_1.VR.SQ, | |
'8103e': vr_1.VR.LO, | |
'8103f': vr_1.VR.SQ, | |
'81040': vr_1.VR.LO, | |
'81048': vr_1.VR.PN, | |
'81049': vr_1.VR.SQ, | |
'81050': vr_1.VR.PN, | |
'81052': vr_1.VR.SQ, | |
'81060': vr_1.VR.PN, | |
'81062': vr_1.VR.SQ, | |
'81070': vr_1.VR.PN, | |
'81072': vr_1.VR.SQ, | |
'81080': vr_1.VR.LO, | |
'81084': vr_1.VR.SQ, | |
'81090': vr_1.VR.LO, | |
'81100': vr_1.VR.SQ, | |
'81110': vr_1.VR.SQ, | |
'81111': vr_1.VR.SQ, | |
'81115': vr_1.VR.SQ, | |
'81120': vr_1.VR.SQ, | |
'81125': vr_1.VR.SQ, | |
'81130': vr_1.VR.SQ, | |
'81134': vr_1.VR.SQ, | |
'8113a': vr_1.VR.SQ, | |
'81140': vr_1.VR.SQ, | |
'81145': vr_1.VR.SQ, | |
'8114a': vr_1.VR.SQ, | |
'8114b': vr_1.VR.SQ, | |
'81150': vr_1.VR.UI, | |
'81155': vr_1.VR.UI, | |
'81156': vr_1.VR.SQ, | |
'8115a': vr_1.VR.UI, | |
'81160': vr_1.VR.IS, | |
'81161': vr_1.VR.UL, | |
'81162': vr_1.VR.UL, | |
'81163': vr_1.VR.FD, | |
'81164': vr_1.VR.SQ, | |
'81167': vr_1.VR.UI, | |
'81190': vr_1.VR.UR, | |
'81195': vr_1.VR.UI, | |
'81196': vr_1.VR.US, | |
'81197': vr_1.VR.US, | |
'81198': vr_1.VR.SQ, | |
'81199': vr_1.VR.SQ, | |
'8119a': vr_1.VR.SQ, | |
'81200': vr_1.VR.SQ, | |
'81250': vr_1.VR.SQ, | |
'82110': vr_1.VR.CS, | |
'82111': vr_1.VR.ST, | |
'82112': vr_1.VR.SQ, | |
'82120': vr_1.VR.SH, | |
'82122': vr_1.VR.IS, | |
'82124': vr_1.VR.IS, | |
'82127': vr_1.VR.SH, | |
'82128': vr_1.VR.IS, | |
'82129': vr_1.VR.IS, | |
'8212a': vr_1.VR.IS, | |
'82130': vr_1.VR.DS, | |
'82132': vr_1.VR.LO, | |
'82133': vr_1.VR.SQ, | |
'82134': vr_1.VR.FD, | |
'82135': vr_1.VR.SQ, | |
'82142': vr_1.VR.IS, | |
'82143': vr_1.VR.IS, | |
'82144': vr_1.VR.IS, | |
'82200': vr_1.VR.CS, | |
'82204': vr_1.VR.CS, | |
'82208': vr_1.VR.CS, | |
'82218': vr_1.VR.SQ, | |
'82220': vr_1.VR.SQ, | |
'82228': vr_1.VR.SQ, | |
'82229': vr_1.VR.SQ, | |
'82230': vr_1.VR.SQ, | |
'82240': vr_1.VR.SQ, | |
'82242': vr_1.VR.SQ, | |
'82244': vr_1.VR.SQ, | |
'82246': vr_1.VR.SQ, | |
'82251': vr_1.VR.SQ, | |
'82253': vr_1.VR.SQ, | |
'82255': vr_1.VR.SQ, | |
'82256': vr_1.VR.ST, | |
'82257': vr_1.VR.SQ, | |
'82258': vr_1.VR.ST, | |
'82259': vr_1.VR.SQ, | |
'8225a': vr_1.VR.SQ, | |
'8225c': vr_1.VR.SQ, | |
'83001': vr_1.VR.SQ, | |
'83010': vr_1.VR.UI, | |
'83011': vr_1.VR.SQ, | |
'83012': vr_1.VR.UI, | |
'84000': vr_1.VR.LT, | |
'89007': vr_1.VR.CS, | |
'89092': vr_1.VR.SQ, | |
'89121': vr_1.VR.SQ, | |
'89123': vr_1.VR.UI, | |
'89124': vr_1.VR.SQ, | |
'89154': vr_1.VR.SQ, | |
'89205': vr_1.VR.CS, | |
'89206': vr_1.VR.CS, | |
'89207': vr_1.VR.CS, | |
'89208': vr_1.VR.CS, | |
'89209': vr_1.VR.CS, | |
'89215': vr_1.VR.SQ, | |
'89237': vr_1.VR.SQ, | |
'89410': vr_1.VR.SQ, | |
'89458': vr_1.VR.SQ, | |
'89459': vr_1.VR.FL, | |
'89460': vr_1.VR.CS, | |
'100010': vr_1.VR.PN, | |
'100020': vr_1.VR.LO, | |
'100021': vr_1.VR.LO, | |
'100022': vr_1.VR.CS, | |
'100024': vr_1.VR.SQ, | |
'100026': vr_1.VR.SQ, | |
'100027': vr_1.VR.SQ, | |
'100028': vr_1.VR.US, | |
'100030': vr_1.VR.DA, | |
'100032': vr_1.VR.TM, | |
'100033': vr_1.VR.LO, | |
'100034': vr_1.VR.LO, | |
'100035': vr_1.VR.CS, | |
'100040': vr_1.VR.CS, | |
'100050': vr_1.VR.SQ, | |
'100101': vr_1.VR.SQ, | |
'100102': vr_1.VR.SQ, | |
'100200': vr_1.VR.CS, | |
'100201': vr_1.VR.SQ, | |
'100212': vr_1.VR.UC, | |
'100213': vr_1.VR.LO, | |
'100214': vr_1.VR.LO, | |
'100215': vr_1.VR.SQ, | |
'100216': vr_1.VR.SQ, | |
'100217': vr_1.VR.LO, | |
'100218': vr_1.VR.UT, | |
'100219': vr_1.VR.SQ, | |
'100221': vr_1.VR.SQ, | |
'100222': vr_1.VR.UC, | |
'100223': vr_1.VR.LO, | |
'100229': vr_1.VR.SQ, | |
'101000': vr_1.VR.LO, | |
'101001': vr_1.VR.PN, | |
'101002': vr_1.VR.SQ, | |
'101005': vr_1.VR.PN, | |
'101010': vr_1.VR.AS, | |
'101020': vr_1.VR.DS, | |
'101021': vr_1.VR.SQ, | |
'101022': vr_1.VR.DS, | |
'101023': vr_1.VR.DS, | |
'101024': vr_1.VR.DS, | |
'101030': vr_1.VR.DS, | |
'101040': vr_1.VR.LO, | |
'101050': vr_1.VR.LO, | |
'101060': vr_1.VR.PN, | |
'101080': vr_1.VR.LO, | |
'101081': vr_1.VR.LO, | |
'101090': vr_1.VR.LO, | |
'101100': vr_1.VR.SQ, | |
'102000': vr_1.VR.LO, | |
'102110': vr_1.VR.LO, | |
'102150': vr_1.VR.LO, | |
'102152': vr_1.VR.LO, | |
'102154': vr_1.VR.SH, | |
'102155': vr_1.VR.LT, | |
'102160': vr_1.VR.SH, | |
'102180': vr_1.VR.SH, | |
'1021a0': vr_1.VR.CS, | |
'1021b0': vr_1.VR.LT, | |
'1021c0': vr_1.VR.US, | |
'1021d0': vr_1.VR.DA, | |
'1021f0': vr_1.VR.LO, | |
'102201': vr_1.VR.LO, | |
'102202': vr_1.VR.SQ, | |
'102203': vr_1.VR.CS, | |
'102210': vr_1.VR.CS, | |
'102292': vr_1.VR.LO, | |
'102293': vr_1.VR.SQ, | |
'102294': vr_1.VR.SQ, | |
'102295': vr_1.VR.LO, | |
'102296': vr_1.VR.SQ, | |
'102297': vr_1.VR.PN, | |
'102298': vr_1.VR.CS, | |
'102299': vr_1.VR.LO, | |
'104000': vr_1.VR.LT, | |
'109431': vr_1.VR.FL, | |
'120010': vr_1.VR.LO, | |
'120020': vr_1.VR.LO, | |
'120021': vr_1.VR.LO, | |
'120030': vr_1.VR.LO, | |
'120031': vr_1.VR.LO, | |
'120040': vr_1.VR.LO, | |
'120042': vr_1.VR.LO, | |
'120050': vr_1.VR.LO, | |
'120051': vr_1.VR.ST, | |
'120052': vr_1.VR.FD, | |
'120053': vr_1.VR.CS, | |
'120060': vr_1.VR.LO, | |
'120062': vr_1.VR.CS, | |
'120063': vr_1.VR.LO, | |
'120064': vr_1.VR.SQ, | |
'120071': vr_1.VR.LO, | |
'120072': vr_1.VR.LO, | |
'120081': vr_1.VR.LO, | |
'120082': vr_1.VR.LO, | |
'120083': vr_1.VR.SQ, | |
'120084': vr_1.VR.CS, | |
'120085': vr_1.VR.CS, | |
'120086': vr_1.VR.DA, | |
'120087': vr_1.VR.DA, | |
'140023': vr_1.VR.ST, | |
'140024': vr_1.VR.ST, | |
'140025': vr_1.VR.ST, | |
'140028': vr_1.VR.ST, | |
'140030': vr_1.VR.DS, | |
'140032': vr_1.VR.DS, | |
'140034': vr_1.VR.DS, | |
'140042': vr_1.VR.ST, | |
'140044': vr_1.VR.ST, | |
'140045': vr_1.VR.ST, | |
'140046': vr_1.VR.LT, | |
'140050': vr_1.VR.CS, | |
'140052': vr_1.VR.CS, | |
'140054': vr_1.VR.DS, | |
'140056': vr_1.VR.DS, | |
'140100': vr_1.VR.LO, | |
'140101': vr_1.VR.CS, | |
'140102': vr_1.VR.DA, | |
'140103': vr_1.VR.TM, | |
'140104': vr_1.VR.PN, | |
'140105': vr_1.VR.ST, | |
'140106': vr_1.VR.SQ, | |
'140107': vr_1.VR.CS, | |
'140108': vr_1.VR.CS, | |
'141010': vr_1.VR.ST, | |
'141020': vr_1.VR.DA, | |
'141040': vr_1.VR.ST, | |
'142002': vr_1.VR.SQ, | |
'142004': vr_1.VR.IS, | |
'142006': vr_1.VR.PN, | |
'142008': vr_1.VR.IS, | |
'142012': vr_1.VR.SQ, | |
'142014': vr_1.VR.IS, | |
'142016': vr_1.VR.SH, | |
'142018': vr_1.VR.ST, | |
'14201a': vr_1.VR.CS, | |
'14201c': vr_1.VR.CS, | |
'14201e': vr_1.VR.SQ, | |
'142030': vr_1.VR.SQ, | |
'142032': vr_1.VR.SH, | |
'142202': vr_1.VR.IS, | |
'142204': vr_1.VR.SQ, | |
'142206': vr_1.VR.ST, | |
'142208': vr_1.VR.CS, | |
'14220a': vr_1.VR.IS, | |
'14220c': vr_1.VR.CS, | |
'14220e': vr_1.VR.CS, | |
'142210': vr_1.VR.OB, | |
'142220': vr_1.VR.SQ, | |
'142222': vr_1.VR.ST, | |
'142224': vr_1.VR.IS, | |
'142226': vr_1.VR.IS, | |
'142228': vr_1.VR.CS, | |
'14222a': vr_1.VR.DS, | |
'14222c': vr_1.VR.DS, | |
'143011': vr_1.VR.DS, | |
'143012': vr_1.VR.DS, | |
'143020': vr_1.VR.SQ, | |
'143022': vr_1.VR.ST, | |
'143024': vr_1.VR.DS, | |
'143026': vr_1.VR.DS, | |
'143028': vr_1.VR.DS, | |
'143040': vr_1.VR.SQ, | |
'143050': vr_1.VR.OW, | |
'143060': vr_1.VR.SQ, | |
'143070': vr_1.VR.OW, | |
'143071': vr_1.VR.DS, | |
'143072': vr_1.VR.DS, | |
'143073': vr_1.VR.DS, | |
'143074': vr_1.VR.LO, | |
'143075': vr_1.VR.DS, | |
'143076': vr_1.VR.DA, | |
'143077': vr_1.VR.TM, | |
'143080': vr_1.VR.OB, | |
'143099': vr_1.VR.LT, | |
'144002': vr_1.VR.SQ, | |
'144004': vr_1.VR.CS, | |
'144006': vr_1.VR.LT, | |
'144008': vr_1.VR.SQ, | |
'14400a': vr_1.VR.CS, | |
'14400c': vr_1.VR.LT, | |
'14400e': vr_1.VR.SQ, | |
'14400f': vr_1.VR.LT, | |
'144010': vr_1.VR.SQ, | |
'144011': vr_1.VR.SQ, | |
'144012': vr_1.VR.US, | |
'144013': vr_1.VR.CS, | |
'144014': vr_1.VR.DS, | |
'144015': vr_1.VR.DS, | |
'144016': vr_1.VR.DS, | |
'144017': vr_1.VR.DS, | |
'144018': vr_1.VR.DS, | |
'144019': vr_1.VR.DS, | |
'14401a': vr_1.VR.DS, | |
'14401b': vr_1.VR.DS, | |
'14401c': vr_1.VR.DS, | |
'14401d': vr_1.VR.DS, | |
'144020': vr_1.VR.SQ, | |
'144022': vr_1.VR.DS, | |
'144024': vr_1.VR.DS, | |
'144026': vr_1.VR.CS, | |
'144028': vr_1.VR.DS, | |
'144030': vr_1.VR.SQ, | |
'144031': vr_1.VR.DS, | |
'144032': vr_1.VR.CS, | |
'144033': vr_1.VR.IS, | |
'144034': vr_1.VR.DS, | |
'144035': vr_1.VR.SQ, | |
'144036': vr_1.VR.CS, | |
'144038': vr_1.VR.DS, | |
'14403a': vr_1.VR.DS, | |
'14403c': vr_1.VR.DS, | |
'144040': vr_1.VR.SQ, | |
'144050': vr_1.VR.SQ, | |
'144051': vr_1.VR.SQ, | |
'144052': vr_1.VR.DS, | |
'144054': vr_1.VR.ST, | |
'144056': vr_1.VR.ST, | |
'144057': vr_1.VR.DS, | |
'144058': vr_1.VR.DS, | |
'144059': vr_1.VR.DS, | |
'14405a': vr_1.VR.DS, | |
'14405c': vr_1.VR.ST, | |
'144060': vr_1.VR.SQ, | |
'144062': vr_1.VR.DS, | |
'144064': vr_1.VR.DS, | |
'144070': vr_1.VR.SQ, | |
'144072': vr_1.VR.ST, | |
'144074': vr_1.VR.SH, | |
'144076': vr_1.VR.DA, | |
'144078': vr_1.VR.DA, | |
'14407a': vr_1.VR.DA, | |
'14407c': vr_1.VR.TM, | |
'14407e': vr_1.VR.DA, | |
'144080': vr_1.VR.SQ, | |
'144081': vr_1.VR.CS, | |
'144082': vr_1.VR.LT, | |
'144083': vr_1.VR.SQ, | |
'144084': vr_1.VR.DS, | |
'144085': vr_1.VR.DS, | |
'144086': vr_1.VR.SQ, | |
'144087': vr_1.VR.SQ, | |
'144088': vr_1.VR.DS, | |
'144089': vr_1.VR.DS, | |
'14408b': vr_1.VR.DS, | |
'14408c': vr_1.VR.DS, | |
'14408d': vr_1.VR.DS, | |
'14408e': vr_1.VR.DS, | |
'144091': vr_1.VR.SQ, | |
'144092': vr_1.VR.DS, | |
'14409a': vr_1.VR.SQ, | |
'14409b': vr_1.VR.ST, | |
'14409c': vr_1.VR.DS, | |
'14409d': vr_1.VR.DS, | |
'14409f': vr_1.VR.DS, | |
'1440a0': vr_1.VR.LO, | |
'1440a1': vr_1.VR.LO, | |
'1440a2': vr_1.VR.LO, | |
'145002': vr_1.VR.IS, | |
'145004': vr_1.VR.IS, | |
'145100': vr_1.VR.US, | |
'145101': vr_1.VR.DS, | |
'145102': vr_1.VR.DS, | |
'145103': vr_1.VR.DS, | |
'145104': vr_1.VR.DS, | |
'145105': vr_1.VR.CS, | |
'145106': vr_1.VR.SH, | |
'145107': vr_1.VR.DS, | |
'145108': vr_1.VR.DS, | |
'145109': vr_1.VR.CS, | |
'14510a': vr_1.VR.DS, | |
'14510b': vr_1.VR.SH, | |
'14510c': vr_1.VR.DS, | |
'14510d': vr_1.VR.DS, | |
'14510e': vr_1.VR.DS, | |
'14510f': vr_1.VR.SH, | |
'145110': vr_1.VR.SH, | |
'145111': vr_1.VR.LO, | |
'145112': vr_1.VR.DS, | |
'145113': vr_1.VR.DS, | |
'145114': vr_1.VR.DS, | |
'145115': vr_1.VR.DS, | |
'145116': vr_1.VR.DS, | |
'145117': vr_1.VR.DS, | |
'145118': vr_1.VR.DS, | |
'145119': vr_1.VR.DS, | |
'14511a': vr_1.VR.DS, | |
'14511b': vr_1.VR.DS, | |
'14511c': vr_1.VR.DS, | |
'14511d': vr_1.VR.DS, | |
'14511e': vr_1.VR.CS, | |
'14511f': vr_1.VR.DS, | |
'180010': vr_1.VR.LO, | |
'180012': vr_1.VR.SQ, | |
'180013': vr_1.VR.FL, | |
'180014': vr_1.VR.SQ, | |
'180015': vr_1.VR.CS, | |
'180020': vr_1.VR.CS, | |
'180021': vr_1.VR.CS, | |
'180022': vr_1.VR.CS, | |
'180023': vr_1.VR.CS, | |
'180024': vr_1.VR.SH, | |
'180025': vr_1.VR.CS, | |
'180026': vr_1.VR.SQ, | |
'180027': vr_1.VR.TM, | |
'180028': vr_1.VR.DS, | |
'180029': vr_1.VR.SQ, | |
'18002a': vr_1.VR.SQ, | |
'180030': vr_1.VR.LO, | |
'180031': vr_1.VR.LO, | |
'180032': vr_1.VR.DS, | |
'180033': vr_1.VR.DS, | |
'180034': vr_1.VR.LO, | |
'180035': vr_1.VR.TM, | |
'180036': vr_1.VR.SQ, | |
'180037': vr_1.VR.CS, | |
'180038': vr_1.VR.CS, | |
'180039': vr_1.VR.CS, | |
'18003a': vr_1.VR.ST, | |
'180040': vr_1.VR.IS, | |
'180042': vr_1.VR.CS, | |
'180050': vr_1.VR.DS, | |
'180060': vr_1.VR.DS, | |
'180070': vr_1.VR.IS, | |
'180071': vr_1.VR.CS, | |
'180072': vr_1.VR.DS, | |
'180073': vr_1.VR.CS, | |
'180074': vr_1.VR.IS, | |
'180075': vr_1.VR.IS, | |
'180080': vr_1.VR.DS, | |
'180081': vr_1.VR.DS, | |
'180082': vr_1.VR.DS, | |
'180083': vr_1.VR.DS, | |
'180084': vr_1.VR.DS, | |
'180085': vr_1.VR.SH, | |
'180086': vr_1.VR.IS, | |
'180087': vr_1.VR.DS, | |
'180088': vr_1.VR.DS, | |
'180089': vr_1.VR.IS, | |
'180090': vr_1.VR.DS, | |
'180091': vr_1.VR.IS, | |
'180093': vr_1.VR.DS, | |
'180094': vr_1.VR.DS, | |
'180095': vr_1.VR.DS, | |
'181000': vr_1.VR.LO, | |
'181002': vr_1.VR.UI, | |
'181003': vr_1.VR.LO, | |
'181004': vr_1.VR.LO, | |
'181005': vr_1.VR.LO, | |
'181006': vr_1.VR.LO, | |
'181007': vr_1.VR.LO, | |
'181008': vr_1.VR.LO, | |
'181009': vr_1.VR.UT, | |
'18100a': vr_1.VR.SQ, | |
'181010': vr_1.VR.LO, | |
'181011': vr_1.VR.LO, | |
'181012': vr_1.VR.DA, | |
'181014': vr_1.VR.TM, | |
'181016': vr_1.VR.LO, | |
'181017': vr_1.VR.LO, | |
'181018': vr_1.VR.LO, | |
'181019': vr_1.VR.LO, | |
'18101a': vr_1.VR.LO, | |
'18101b': vr_1.VR.LO, | |
'181020': vr_1.VR.LO, | |
'181022': vr_1.VR.SH, | |
'181023': vr_1.VR.LO, | |
'181030': vr_1.VR.LO, | |
'181040': vr_1.VR.LO, | |
'181041': vr_1.VR.DS, | |
'181042': vr_1.VR.TM, | |
'181043': vr_1.VR.TM, | |
'181044': vr_1.VR.DS, | |
'181045': vr_1.VR.IS, | |
'181046': vr_1.VR.DS, | |
'181047': vr_1.VR.DS, | |
'181048': vr_1.VR.CS, | |
'181049': vr_1.VR.DS, | |
'181050': vr_1.VR.DS, | |
'181060': vr_1.VR.DS, | |
'181061': vr_1.VR.LO, | |
'181062': vr_1.VR.IS, | |
'181063': vr_1.VR.DS, | |
'181064': vr_1.VR.LO, | |
'181065': vr_1.VR.DS, | |
'181066': vr_1.VR.DS, | |
'181067': vr_1.VR.DS, | |
'181068': vr_1.VR.DS, | |
'181069': vr_1.VR.DS, | |
'18106a': vr_1.VR.CS, | |
'18106c': vr_1.VR.US, | |
'18106e': vr_1.VR.UL, | |
'181070': vr_1.VR.LO, | |
'181071': vr_1.VR.DS, | |
'181072': vr_1.VR.TM, | |
'181073': vr_1.VR.TM, | |
'181074': vr_1.VR.DS, | |
'181075': vr_1.VR.DS, | |
'181076': vr_1.VR.DS, | |
'181077': vr_1.VR.DS, | |
'181078': vr_1.VR.DT, | |
'181079': vr_1.VR.DT, | |
'181080': vr_1.VR.CS, | |
'181081': vr_1.VR.IS, | |
'181082': vr_1.VR.IS, | |
'181083': vr_1.VR.IS, | |
'181084': vr_1.VR.IS, | |
'181085': vr_1.VR.LO, | |
'181086': vr_1.VR.IS, | |
'181088': vr_1.VR.IS, | |
'181090': vr_1.VR.IS, | |
'181094': vr_1.VR.IS, | |
'181100': vr_1.VR.DS, | |
'181110': vr_1.VR.DS, | |
'181111': vr_1.VR.DS, | |
'181114': vr_1.VR.DS, | |
'181120': vr_1.VR.DS, | |
'181121': vr_1.VR.DS, | |
'181130': vr_1.VR.DS, | |
'181131': vr_1.VR.DS, | |
'181134': vr_1.VR.CS, | |
'181135': vr_1.VR.DS, | |
'181136': vr_1.VR.DS, | |
'181137': vr_1.VR.DS, | |
'181138': vr_1.VR.DS, | |
'18113a': vr_1.VR.CS, | |
'181140': vr_1.VR.CS, | |
'181141': vr_1.VR.DS, | |
'181142': vr_1.VR.DS, | |
'181143': vr_1.VR.DS, | |
'181144': vr_1.VR.DS, | |
'181145': vr_1.VR.DS, | |
'181146': vr_1.VR.DS, | |
'181147': vr_1.VR.CS, | |
'181149': vr_1.VR.IS, | |
'181150': vr_1.VR.IS, | |
'181151': vr_1.VR.IS, | |
'181152': vr_1.VR.IS, | |
'181153': vr_1.VR.IS, | |
'181154': vr_1.VR.DS, | |
'181155': vr_1.VR.CS, | |
'181156': vr_1.VR.CS, | |
'18115a': vr_1.VR.CS, | |
'18115e': vr_1.VR.DS, | |
'181160': vr_1.VR.SH, | |
'181161': vr_1.VR.LO, | |
'181162': vr_1.VR.DS, | |
'181164': vr_1.VR.DS, | |
'181166': vr_1.VR.CS, | |
'181170': vr_1.VR.IS, | |
'181180': vr_1.VR.SH, | |
'181181': vr_1.VR.CS, | |
'181182': vr_1.VR.IS, | |
'181183': vr_1.VR.DS, | |
'181184': vr_1.VR.DS, | |
'181190': vr_1.VR.DS, | |
'181191': vr_1.VR.CS, | |
'1811a0': vr_1.VR.DS, | |
'1811a2': vr_1.VR.DS, | |
'1811a3': vr_1.VR.DS, | |
'1811a4': vr_1.VR.LO, | |
'1811a5': vr_1.VR.DS, | |
'181200': vr_1.VR.DA, | |
'181201': vr_1.VR.TM, | |
'181202': vr_1.VR.DT, | |
'181210': vr_1.VR.SH, | |
'181240': vr_1.VR.IS, | |
'181242': vr_1.VR.IS, | |
'181243': vr_1.VR.IS, | |
'181244': vr_1.VR.US, | |
'181250': vr_1.VR.SH, | |
'181251': vr_1.VR.SH, | |
'181260': vr_1.VR.SH, | |
'181261': vr_1.VR.LO, | |
'181271': vr_1.VR.FD, | |
'181272': vr_1.VR.SQ, | |
'181300': vr_1.VR.DS, | |
'181301': vr_1.VR.CS, | |
'181302': vr_1.VR.IS, | |
'181310': vr_1.VR.US, | |
'181312': vr_1.VR.CS, | |
'181314': vr_1.VR.DS, | |
'181315': vr_1.VR.CS, | |
'181316': vr_1.VR.DS, | |
'181318': vr_1.VR.DS, | |
'181320': vr_1.VR.FL, | |
'181400': vr_1.VR.LO, | |
'181401': vr_1.VR.LO, | |
'181402': vr_1.VR.CS, | |
'181403': vr_1.VR.CS, | |
'181404': vr_1.VR.US, | |
'181405': vr_1.VR.IS, | |
'181411': vr_1.VR.DS, | |
'181412': vr_1.VR.DS, | |
'181413': vr_1.VR.DS, | |
'181450': vr_1.VR.DS, | |
'181460': vr_1.VR.DS, | |
'181470': vr_1.VR.DS, | |
'181480': vr_1.VR.DS, | |
'181490': vr_1.VR.CS, | |
'181491': vr_1.VR.CS, | |
'181495': vr_1.VR.IS, | |
'181500': vr_1.VR.CS, | |
'181508': vr_1.VR.CS, | |
'181510': vr_1.VR.DS, | |
'181511': vr_1.VR.DS, | |
'181520': vr_1.VR.DS, | |
'181521': vr_1.VR.DS, | |
'181530': vr_1.VR.DS, | |
'181531': vr_1.VR.DS, | |
'181600': vr_1.VR.CS, | |
'181602': vr_1.VR.IS, | |
'181604': vr_1.VR.IS, | |
'181606': vr_1.VR.IS, | |
'181608': vr_1.VR.IS, | |
'181610': vr_1.VR.IS, | |
'181612': vr_1.VR.IS, | |
'181620': vr_1.VR.IS, | |
'181622': vr_1.VR.US, | |
'181623': vr_1.VR.US, | |
'181624': vr_1.VR.US, | |
'181700': vr_1.VR.CS, | |
'181702': vr_1.VR.IS, | |
'181704': vr_1.VR.IS, | |
'181706': vr_1.VR.IS, | |
'181708': vr_1.VR.IS, | |
'181710': vr_1.VR.IS, | |
'181712': vr_1.VR.IS, | |
'181720': vr_1.VR.IS, | |
'181800': vr_1.VR.CS, | |
'181801': vr_1.VR.SH, | |
'181802': vr_1.VR.CS, | |
'181803': vr_1.VR.LO, | |
'182001': vr_1.VR.IS, | |
'182002': vr_1.VR.SH, | |
'182003': vr_1.VR.DS, | |
'182004': vr_1.VR.DS, | |
'182005': vr_1.VR.DS, | |
'182006': vr_1.VR.SH, | |
'182010': vr_1.VR.DS, | |
'182020': vr_1.VR.CS, | |
'182030': vr_1.VR.DS, | |
'182041': vr_1.VR.SQ, | |
'182042': vr_1.VR.UI, | |
'182043': vr_1.VR.FL, | |
'182044': vr_1.VR.FL, | |
'182045': vr_1.VR.SH, | |
'182046': vr_1.VR.FL, | |
'183100': vr_1.VR.CS, | |
'183101': vr_1.VR.DS, | |
'183102': vr_1.VR.DS, | |
'183103': vr_1.VR.IS, | |
'183104': vr_1.VR.IS, | |
'183105': vr_1.VR.IS, | |
'184000': vr_1.VR.LT, | |
'185000': vr_1.VR.SH, | |
'185010': vr_1.VR.LO, | |
'185012': vr_1.VR.DS, | |
'185020': vr_1.VR.LO, | |
'185021': vr_1.VR.LO, | |
'185022': vr_1.VR.DS, | |
'185024': vr_1.VR.DS, | |
'185026': vr_1.VR.DS, | |
'185027': vr_1.VR.DS, | |
'185028': vr_1.VR.DS, | |
'185029': vr_1.VR.DS, | |
'185030': vr_1.VR.DS, | |
'185040': vr_1.VR.DS, | |
'185050': vr_1.VR.IS, | |
'185100': vr_1.VR.CS, | |
'185101': vr_1.VR.CS, | |
'185104': vr_1.VR.SQ, | |
'185210': vr_1.VR.DS, | |
'185212': vr_1.VR.DS, | |
'186000': vr_1.VR.DS, | |
'186011': vr_1.VR.SQ, | |
'186012': vr_1.VR.US, | |
'186014': vr_1.VR.US, | |
'186016': vr_1.VR.UL, | |
'186018': vr_1.VR.UL, | |
'18601a': vr_1.VR.UL, | |
'18601c': vr_1.VR.UL, | |
'18601e': vr_1.VR.UL, | |
'186020': vr_1.VR.SL, | |
'186022': vr_1.VR.SL, | |
'186024': vr_1.VR.US, | |
'186026': vr_1.VR.US, | |
'186028': vr_1.VR.FD, | |
'18602a': vr_1.VR.FD, | |
'18602c': vr_1.VR.FD, | |
'18602e': vr_1.VR.FD, | |
'186030': vr_1.VR.UL, | |
'186031': vr_1.VR.CS, | |
'186032': vr_1.VR.UL, | |
'186034': vr_1.VR.FD, | |
'186036': vr_1.VR.FD, | |
'186038': vr_1.VR.UL, | |
'186039': vr_1.VR.SL, | |
'18603a': vr_1.VR.UL, | |
'18603b': vr_1.VR.SL, | |
'18603c': vr_1.VR.UL, | |
'18603d': vr_1.VR.SL, | |
'18603e': vr_1.VR.UL, | |
'18603f': vr_1.VR.SL, | |
'186040': vr_1.VR.UL, | |
'186041': vr_1.VR.SL, | |
'186042': vr_1.VR.UL, | |
'186043': vr_1.VR.SL, | |
'186044': vr_1.VR.US, | |
'186046': vr_1.VR.UL, | |
'186048': vr_1.VR.UL, | |
'18604a': vr_1.VR.UL, | |
'18604c': vr_1.VR.US, | |
'18604e': vr_1.VR.US, | |
'186050': vr_1.VR.UL, | |
'186052': vr_1.VR.UL, | |
'186054': vr_1.VR.FD, | |
'186056': vr_1.VR.UL, | |
'186058': vr_1.VR.UL, | |
'18605a': vr_1.VR.FL, | |
'186060': vr_1.VR.FL, | |
'187000': vr_1.VR.CS, | |
'187001': vr_1.VR.DS, | |
'187004': vr_1.VR.CS, | |
'187005': vr_1.VR.CS, | |
'187006': vr_1.VR.LT, | |
'187008': vr_1.VR.LT, | |
'18700a': vr_1.VR.SH, | |
'18700c': vr_1.VR.DA, | |
'18700e': vr_1.VR.TM, | |
'187010': vr_1.VR.IS, | |
'187011': vr_1.VR.IS, | |
'187012': vr_1.VR.DS, | |
'187014': vr_1.VR.DS, | |
'187016': vr_1.VR.DS, | |
'18701a': vr_1.VR.DS, | |
'187020': vr_1.VR.DS, | |
'187022': vr_1.VR.DS, | |
'187024': vr_1.VR.CS, | |
'187026': vr_1.VR.DS, | |
'187028': vr_1.VR.DS, | |
'18702a': vr_1.VR.LO, | |
'18702b': vr_1.VR.LO, | |
'187030': vr_1.VR.DS, | |
'187032': vr_1.VR.DS, | |
'187034': vr_1.VR.CS, | |
'187036': vr_1.VR.FL, | |
'187038': vr_1.VR.FL, | |
'187040': vr_1.VR.LT, | |
'187041': vr_1.VR.LT, | |
'187042': vr_1.VR.DS, | |
'187044': vr_1.VR.DS, | |
'187046': vr_1.VR.IS, | |
'187048': vr_1.VR.DS, | |
'18704c': vr_1.VR.DS, | |
'187050': vr_1.VR.CS, | |
'187052': vr_1.VR.DS, | |
'187054': vr_1.VR.DS, | |
'187056': vr_1.VR.FL, | |
'187058': vr_1.VR.FL, | |
'187060': vr_1.VR.CS, | |
'187062': vr_1.VR.LT, | |
'187064': vr_1.VR.CS, | |
'187065': vr_1.VR.DS, | |
'188150': vr_1.VR.DS, | |
'188151': vr_1.VR.DS, | |
'189004': vr_1.VR.CS, | |
'189005': vr_1.VR.SH, | |
'189006': vr_1.VR.SQ, | |
'189008': vr_1.VR.CS, | |
'189009': vr_1.VR.CS, | |
'189010': vr_1.VR.CS, | |
'189011': vr_1.VR.CS, | |
'189012': vr_1.VR.CS, | |
'189014': vr_1.VR.CS, | |
'189015': vr_1.VR.CS, | |
'189016': vr_1.VR.CS, | |
'189017': vr_1.VR.CS, | |
'189018': vr_1.VR.CS, | |
'189019': vr_1.VR.FD, | |
'189020': vr_1.VR.CS, | |
'189021': vr_1.VR.CS, | |
'189022': vr_1.VR.CS, | |
'189024': vr_1.VR.CS, | |
'189025': vr_1.VR.CS, | |
'189026': vr_1.VR.CS, | |
'189027': vr_1.VR.CS, | |
'189028': vr_1.VR.CS, | |
'189029': vr_1.VR.CS, | |
'189030': vr_1.VR.FD, | |
'189032': vr_1.VR.CS, | |
'189033': vr_1.VR.CS, | |
'189034': vr_1.VR.CS, | |
'189035': vr_1.VR.FD, | |
'189036': vr_1.VR.CS, | |
'189037': vr_1.VR.CS, | |
'189041': vr_1.VR.LO, | |
'189042': vr_1.VR.SQ, | |
'189043': vr_1.VR.CS, | |
'189044': vr_1.VR.CS, | |
'189045': vr_1.VR.SQ, | |
'189046': vr_1.VR.LO, | |
'189047': vr_1.VR.SH, | |
'189048': vr_1.VR.CS, | |
'189049': vr_1.VR.SQ, | |
'189050': vr_1.VR.LO, | |
'189051': vr_1.VR.CS, | |
'189052': vr_1.VR.FD, | |
'189053': vr_1.VR.FD, | |
'189054': vr_1.VR.CS, | |
'189058': vr_1.VR.US, | |
'189059': vr_1.VR.CS, | |
'189060': vr_1.VR.CS, | |
'189061': vr_1.VR.FD, | |
'189062': vr_1.VR.CS, | |
'189063': vr_1.VR.FD, | |
'189064': vr_1.VR.CS, | |
'189065': vr_1.VR.CS, | |
'189066': vr_1.VR.US, | |
'189067': vr_1.VR.CS, | |
'189069': vr_1.VR.FD, | |
'189070': vr_1.VR.FD, | |
'189073': vr_1.VR.FD, | |
'189074': vr_1.VR.DT, | |
'189075': vr_1.VR.CS, | |
'189076': vr_1.VR.SQ, | |
'189077': vr_1.VR.CS, | |
'189078': vr_1.VR.CS, | |
'189079': vr_1.VR.FD, | |
'189080': vr_1.VR.ST, | |
'189081': vr_1.VR.CS, | |
'189082': vr_1.VR.FD, | |
'189083': vr_1.VR.SQ, | |
'189084': vr_1.VR.SQ, | |
'189085': vr_1.VR.CS, | |
'189087': vr_1.VR.FD, | |
'189089': vr_1.VR.FD, | |
'189090': vr_1.VR.FD, | |
'189091': vr_1.VR.FD, | |
'189092': vr_1.VR.SQ, | |
'189093': vr_1.VR.US, | |
'189094': vr_1.VR.CS, | |
'189095': vr_1.VR.UL, | |
'189096': vr_1.VR.FD, | |
'189098': vr_1.VR.FD, | |
'189100': vr_1.VR.CS, | |
'189101': vr_1.VR.CS, | |
'189103': vr_1.VR.SQ, | |
'189104': vr_1.VR.FD, | |
'189105': vr_1.VR.FD, | |
'189106': vr_1.VR.FD, | |
'189107': vr_1.VR.SQ, | |
'189112': vr_1.VR.SQ, | |
'189114': vr_1.VR.SQ, | |
'189115': vr_1.VR.SQ, | |
'189117': vr_1.VR.SQ, | |
'189118': vr_1.VR.SQ, | |
'189119': vr_1.VR.SQ, | |
'189125': vr_1.VR.SQ, | |
'189126': vr_1.VR.SQ, | |
'189127': vr_1.VR.UL, | |
'189147': vr_1.VR.CS, | |
'189151': vr_1.VR.DT, | |
'189152': vr_1.VR.SQ, | |
'189155': vr_1.VR.FD, | |
'189159': vr_1.VR.UL, | |
'189166': vr_1.VR.CS, | |
'189168': vr_1.VR.FD, | |
'189169': vr_1.VR.CS, | |
'189170': vr_1.VR.CS, | |
'189171': vr_1.VR.CS, | |
'189172': vr_1.VR.CS, | |
'189173': vr_1.VR.CS, | |
'189174': vr_1.VR.CS, | |
'189175': vr_1.VR.LO, | |
'189176': vr_1.VR.SQ, | |
'189177': vr_1.VR.CS, | |
'189178': vr_1.VR.CS, | |
'189179': vr_1.VR.CS, | |
'189180': vr_1.VR.CS, | |
'189181': vr_1.VR.FD, | |
'189182': vr_1.VR.FD, | |
'189183': vr_1.VR.CS, | |
'189184': vr_1.VR.FD, | |
'189185': vr_1.VR.ST, | |
'189186': vr_1.VR.SH, | |
'189195': vr_1.VR.FD, | |
'189196': vr_1.VR.FD, | |
'189197': vr_1.VR.SQ, | |
'189198': vr_1.VR.CS, | |
'189199': vr_1.VR.CS, | |
'189200': vr_1.VR.CS, | |
'189214': vr_1.VR.CS, | |
'189217': vr_1.VR.FD, | |
'189218': vr_1.VR.FD, | |
'189219': vr_1.VR.SS, | |
'189220': vr_1.VR.FD, | |
'189226': vr_1.VR.SQ, | |
'189227': vr_1.VR.SQ, | |
'189231': vr_1.VR.US, | |
'189232': vr_1.VR.US, | |
'189234': vr_1.VR.UL, | |
'189236': vr_1.VR.CS, | |
'189239': vr_1.VR.SQ, | |
'189240': vr_1.VR.US, | |
'189241': vr_1.VR.US, | |
'189250': vr_1.VR.CS, | |
'189251': vr_1.VR.SQ, | |
'189252': vr_1.VR.LO, | |
'189253': vr_1.VR.US, | |
'189254': vr_1.VR.FD, | |
'189255': vr_1.VR.FD, | |
'189256': vr_1.VR.FD, | |
'189257': vr_1.VR.CS, | |
'189258': vr_1.VR.UL, | |
'189259': vr_1.VR.CS, | |
'18925a': vr_1.VR.FD, | |
'18925b': vr_1.VR.LO, | |
'18925c': vr_1.VR.CS, | |
'18925d': vr_1.VR.SQ, | |
'18925e': vr_1.VR.LO, | |
'18925f': vr_1.VR.UL, | |
'189260': vr_1.VR.SQ, | |
'189295': vr_1.VR.FD, | |
'189296': vr_1.VR.FD, | |
'189297': vr_1.VR.CS, | |
'189298': vr_1.VR.IS, | |
'189301': vr_1.VR.SQ, | |
'189302': vr_1.VR.CS, | |
'189303': vr_1.VR.FD, | |
'189304': vr_1.VR.SQ, | |
'189305': vr_1.VR.FD, | |
'189306': vr_1.VR.FD, | |
'189307': vr_1.VR.FD, | |
'189308': vr_1.VR.SQ, | |
'189309': vr_1.VR.FD, | |
'189310': vr_1.VR.FD, | |
'189311': vr_1.VR.FD, | |
'189312': vr_1.VR.SQ, | |
'189313': vr_1.VR.FD, | |
'189314': vr_1.VR.SQ, | |
'189315': vr_1.VR.CS, | |
'189316': vr_1.VR.CS, | |
'189317': vr_1.VR.FD, | |
'189318': vr_1.VR.FD, | |
'189319': vr_1.VR.FD, | |
'189320': vr_1.VR.SH, | |
'189321': vr_1.VR.SQ, | |
'189322': vr_1.VR.FD, | |
'189323': vr_1.VR.CS, | |
'189324': vr_1.VR.FD, | |
'189325': vr_1.VR.SQ, | |
'189326': vr_1.VR.SQ, | |
'189327': vr_1.VR.FD, | |
'189328': vr_1.VR.FD, | |
'189329': vr_1.VR.SQ, | |
'189330': vr_1.VR.FD, | |
'189332': vr_1.VR.FD, | |
'189333': vr_1.VR.CS, | |
'189334': vr_1.VR.CS, | |
'189335': vr_1.VR.FD, | |
'189337': vr_1.VR.US, | |
'189338': vr_1.VR.SQ, | |
'189340': vr_1.VR.SQ, | |
'189341': vr_1.VR.SQ, | |
'189342': vr_1.VR.CS, | |
'189343': vr_1.VR.CS, | |
'189344': vr_1.VR.CS, | |
'189345': vr_1.VR.FD, | |
'189346': vr_1.VR.SQ, | |
'189351': vr_1.VR.FL, | |
'189352': vr_1.VR.FL, | |
'189353': vr_1.VR.FL, | |
'189360': vr_1.VR.SQ, | |
'189401': vr_1.VR.SQ, | |
'189402': vr_1.VR.FL, | |
'189403': vr_1.VR.FL, | |
'189404': vr_1.VR.FL, | |
'189405': vr_1.VR.SQ, | |
'189406': vr_1.VR.SQ, | |
'189407': vr_1.VR.SQ, | |
'189410': vr_1.VR.CS, | |
'189412': vr_1.VR.SQ, | |
'189417': vr_1.VR.SQ, | |
'189420': vr_1.VR.CS, | |
'189423': vr_1.VR.LO, | |
'189424': vr_1.VR.LT, | |
'189425': vr_1.VR.CS, | |
'189426': vr_1.VR.FL, | |
'189427': vr_1.VR.CS, | |
'189428': vr_1.VR.FL, | |
'189429': vr_1.VR.FL, | |
'189430': vr_1.VR.FL, | |
'189432': vr_1.VR.SQ, | |
'189433': vr_1.VR.LO, | |
'189434': vr_1.VR.SQ, | |
'189435': vr_1.VR.CS, | |
'189436': vr_1.VR.SS, | |
'189437': vr_1.VR.SS, | |
'189438': vr_1.VR.SS, | |
'189439': vr_1.VR.SS, | |
'189440': vr_1.VR.SS, | |
'189441': vr_1.VR.US, | |
'189442': vr_1.VR.SS, | |
'189447': vr_1.VR.FL, | |
'189449': vr_1.VR.FL, | |
'189451': vr_1.VR.SQ, | |
'189452': vr_1.VR.FL, | |
'189455': vr_1.VR.SQ, | |
'189456': vr_1.VR.SQ, | |
'189457': vr_1.VR.CS, | |
'189461': vr_1.VR.FL, | |
'189462': vr_1.VR.SQ, | |
'189463': vr_1.VR.FL, | |
'189464': vr_1.VR.FL, | |
'189465': vr_1.VR.FL, | |
'189466': vr_1.VR.FL, | |
'189467': vr_1.VR.FL, | |
'189468': vr_1.VR.FL, | |
'189469': vr_1.VR.FL, | |
'189470': vr_1.VR.FL, | |
'189471': vr_1.VR.FL, | |
'189472': vr_1.VR.SQ, | |
'189473': vr_1.VR.FL, | |
'189474': vr_1.VR.CS, | |
'189476': vr_1.VR.SQ, | |
'189477': vr_1.VR.SQ, | |
'189504': vr_1.VR.SQ, | |
'189506': vr_1.VR.SQ, | |
'189507': vr_1.VR.SQ, | |
'189508': vr_1.VR.FL, | |
'189509': vr_1.VR.FL, | |
'189510': vr_1.VR.FL, | |
'189511': vr_1.VR.FL, | |
'189514': vr_1.VR.FL, | |
'189515': vr_1.VR.FL, | |
'189516': vr_1.VR.DT, | |
'189517': vr_1.VR.DT, | |
'189518': vr_1.VR.SS, | |
'189519': vr_1.VR.SS, | |
'189524': vr_1.VR.LO, | |
'189525': vr_1.VR.LO, | |
'189526': vr_1.VR.LO, | |
'189527': vr_1.VR.CS, | |
'189528': vr_1.VR.LO, | |
'189530': vr_1.VR.SQ, | |
'189531': vr_1.VR.LO, | |
'189538': vr_1.VR.SQ, | |
'189541': vr_1.VR.SQ, | |
'189542': vr_1.VR.SQ, | |
'189543': vr_1.VR.FD, | |
'189544': vr_1.VR.FD, | |
'189545': vr_1.VR.FD, | |
'189546': vr_1.VR.FD, | |
'189547': vr_1.VR.FD, | |
'189548': vr_1.VR.FD, | |
'189549': vr_1.VR.FD, | |
'189550': vr_1.VR.FD, | |
'189551': vr_1.VR.FD, | |
'189552': vr_1.VR.FD, | |
'189553': vr_1.VR.FD, | |
'189554': vr_1.VR.FD, | |
'189555': vr_1.VR.SQ, | |
'189556': vr_1.VR.SQ, | |
'189557': vr_1.VR.FD, | |
'189558': vr_1.VR.FD, | |
'189559': vr_1.VR.CS, | |
'189601': vr_1.VR.SQ, | |
'189602': vr_1.VR.FD, | |
'189603': vr_1.VR.FD, | |
'189604': vr_1.VR.FD, | |
'189605': vr_1.VR.FD, | |
'189606': vr_1.VR.FD, | |
'189607': vr_1.VR.FD, | |
'189621': vr_1.VR.SQ, | |
'189622': vr_1.VR.CS, | |
'189623': vr_1.VR.DT, | |
'189624': vr_1.VR.CS, | |
'189701': vr_1.VR.DT, | |
'189715': vr_1.VR.FD, | |
'189716': vr_1.VR.FD, | |
'189717': vr_1.VR.FD, | |
'189718': vr_1.VR.FD, | |
'189719': vr_1.VR.FD, | |
'189720': vr_1.VR.FD, | |
'189721': vr_1.VR.FD, | |
'189722': vr_1.VR.FD, | |
'189723': vr_1.VR.FD, | |
'189724': vr_1.VR.FD, | |
'189725': vr_1.VR.CS, | |
'189726': vr_1.VR.FD, | |
'189727': vr_1.VR.FD, | |
'189729': vr_1.VR.US, | |
'189732': vr_1.VR.SQ, | |
'189733': vr_1.VR.SQ, | |
'189734': vr_1.VR.SQ, | |
'189735': vr_1.VR.SQ, | |
'189736': vr_1.VR.SQ, | |
'189737': vr_1.VR.SQ, | |
'189738': vr_1.VR.CS, | |
'189739': vr_1.VR.US, | |
'189740': vr_1.VR.US, | |
'189749': vr_1.VR.SQ, | |
'189751': vr_1.VR.SQ, | |
'189755': vr_1.VR.CS, | |
'189756': vr_1.VR.CS, | |
'189758': vr_1.VR.CS, | |
'189759': vr_1.VR.CS, | |
'189760': vr_1.VR.CS, | |
'189761': vr_1.VR.CS, | |
'189762': vr_1.VR.CS, | |
'189763': vr_1.VR.CS, | |
'189764': vr_1.VR.CS, | |
'189765': vr_1.VR.CS, | |
'189766': vr_1.VR.CS, | |
'189767': vr_1.VR.CS, | |
'189768': vr_1.VR.CS, | |
'189769': vr_1.VR.CS, | |
'189770': vr_1.VR.CS, | |
'189771': vr_1.VR.SQ, | |
'189772': vr_1.VR.SQ, | |
'189801': vr_1.VR.FD, | |
'189803': vr_1.VR.SQ, | |
'189804': vr_1.VR.DT, | |
'189805': vr_1.VR.FD, | |
'189806': vr_1.VR.SQ, | |
'189807': vr_1.VR.SQ, | |
'189808': vr_1.VR.CS, | |
'189809': vr_1.VR.SQ, | |
'18980b': vr_1.VR.CS, | |
'18980c': vr_1.VR.CS, | |
'18980d': vr_1.VR.SQ, | |
'18980e': vr_1.VR.SQ, | |
'18980f': vr_1.VR.SQ, | |
'189810': vr_1.VR.SS, | |
'189900': vr_1.VR.LO, | |
'189901': vr_1.VR.UT, | |
'189902': vr_1.VR.SQ, | |
'189903': vr_1.VR.SQ, | |
'189904': vr_1.VR.DS, | |
'189905': vr_1.VR.CS, | |
'189906': vr_1.VR.SQ, | |
'189907': vr_1.VR.SQ, | |
'189908': vr_1.VR.UC, | |
'189909': vr_1.VR.SQ, | |
'18990a': vr_1.VR.UC, | |
'18990b': vr_1.VR.SQ, | |
'18990c': vr_1.VR.SQ, | |
'18990d': vr_1.VR.SQ, | |
'18990e': vr_1.VR.SQ, | |
'18990f': vr_1.VR.UT, | |
'189910': vr_1.VR.UT, | |
'189911': vr_1.VR.SQ, | |
'189912': vr_1.VR.SQ, | |
'189913': vr_1.VR.SQ, | |
'189914': vr_1.VR.SQ, | |
'189915': vr_1.VR.US, | |
'189916': vr_1.VR.LO, | |
'189917': vr_1.VR.UT, | |
'189918': vr_1.VR.CS, | |
'189919': vr_1.VR.DT, | |
'18991a': vr_1.VR.UT, | |
'18991b': vr_1.VR.SQ, | |
'18991c': vr_1.VR.SQ, | |
'18991d': vr_1.VR.SQ, | |
'18991e': vr_1.VR.UI, | |
'18991f': vr_1.VR.SQ, | |
'189920': vr_1.VR.SQ, | |
'189921': vr_1.VR.US, | |
'189922': vr_1.VR.LO, | |
'189923': vr_1.VR.UT, | |
'189924': vr_1.VR.UT, | |
'189930': vr_1.VR.CS, | |
'189931': vr_1.VR.SQ, | |
'189932': vr_1.VR.SQ, | |
'189933': vr_1.VR.SQ, | |
'189934': vr_1.VR.SQ, | |
'189935': vr_1.VR.SQ, | |
'189936': vr_1.VR.SQ, | |
'189937': vr_1.VR.LO, | |
'189938': vr_1.VR.US, | |
'189939': vr_1.VR.US, | |
'18993a': vr_1.VR.US, | |
'18993b': vr_1.VR.SQ, | |
'18993c': vr_1.VR.SQ, | |
'18993d': vr_1.VR.SQ, | |
'18993e': vr_1.VR.SQ, | |
'189941': vr_1.VR.UT, | |
'189942': vr_1.VR.FD, | |
'189943': vr_1.VR.FD, | |
'189944': vr_1.VR.CS, | |
'189945': vr_1.VR.FD, | |
'189946': vr_1.VR.FD, | |
'189947': vr_1.VR.CS, | |
'18a001': vr_1.VR.SQ, | |
'18a002': vr_1.VR.DT, | |
'18a003': vr_1.VR.ST, | |
'20000d': vr_1.VR.UI, | |
'20000e': vr_1.VR.UI, | |
'200010': vr_1.VR.SH, | |
'200011': vr_1.VR.IS, | |
'200012': vr_1.VR.IS, | |
'200013': vr_1.VR.IS, | |
'200014': vr_1.VR.IS, | |
'200015': vr_1.VR.IS, | |
'200016': vr_1.VR.IS, | |
'200017': vr_1.VR.IS, | |
'200018': vr_1.VR.IS, | |
'200019': vr_1.VR.IS, | |
'200020': vr_1.VR.CS, | |
'200022': vr_1.VR.IS, | |
'200024': vr_1.VR.IS, | |
'200026': vr_1.VR.IS, | |
'200030': vr_1.VR.DS, | |
'200032': vr_1.VR.DS, | |
'200035': vr_1.VR.DS, | |
'200037': vr_1.VR.DS, | |
'200050': vr_1.VR.DS, | |
'200052': vr_1.VR.UI, | |
'200060': vr_1.VR.CS, | |
'200062': vr_1.VR.CS, | |
'200070': vr_1.VR.LO, | |
'200080': vr_1.VR.CS, | |
'2000aa': vr_1.VR.IS, | |
'200100': vr_1.VR.IS, | |
'200105': vr_1.VR.IS, | |
'200110': vr_1.VR.DS, | |
'200200': vr_1.VR.UI, | |
'200242': vr_1.VR.UI, | |
'201000': vr_1.VR.IS, | |
'201001': vr_1.VR.IS, | |
'201002': vr_1.VR.IS, | |
'201003': vr_1.VR.IS, | |
'201004': vr_1.VR.IS, | |
'201005': vr_1.VR.IS, | |
'201020': vr_1.VR.LO, | |
'20103f': vr_1.VR.LO, | |
'201040': vr_1.VR.LO, | |
'201041': vr_1.VR.DS, | |
'201070': vr_1.VR.IS, | |
'201200': vr_1.VR.IS, | |
'201202': vr_1.VR.IS, | |
'201204': vr_1.VR.IS, | |
'201206': vr_1.VR.IS, | |
'201208': vr_1.VR.IS, | |
'201209': vr_1.VR.IS, | |
'203100': vr_1.VR.CS, | |
'203401': vr_1.VR.CS, | |
'203402': vr_1.VR.CS, | |
'203403': vr_1.VR.DA, | |
'203404': vr_1.VR.LO, | |
'203405': vr_1.VR.TM, | |
'203406': vr_1.VR.LO, | |
'204000': vr_1.VR.LT, | |
'205000': vr_1.VR.AT, | |
'205002': vr_1.VR.LO, | |
'209056': vr_1.VR.SH, | |
'209057': vr_1.VR.UL, | |
'209071': vr_1.VR.SQ, | |
'209072': vr_1.VR.CS, | |
'209111': vr_1.VR.SQ, | |
'209113': vr_1.VR.SQ, | |
'209116': vr_1.VR.SQ, | |
'209128': vr_1.VR.UL, | |
'209153': vr_1.VR.FD, | |
'209154': vr_1.VR.FL, | |
'209155': vr_1.VR.FL, | |
'209156': vr_1.VR.US, | |
'209157': vr_1.VR.UL, | |
'209158': vr_1.VR.LT, | |
'209161': vr_1.VR.UI, | |
'209162': vr_1.VR.US, | |
'209163': vr_1.VR.US, | |
'209164': vr_1.VR.UI, | |
'209165': vr_1.VR.AT, | |
'209167': vr_1.VR.AT, | |
'209170': vr_1.VR.SQ, | |
'209171': vr_1.VR.SQ, | |
'209172': vr_1.VR.SQ, | |
'209213': vr_1.VR.LO, | |
'209221': vr_1.VR.SQ, | |
'209222': vr_1.VR.SQ, | |
'209228': vr_1.VR.UL, | |
'209238': vr_1.VR.LO, | |
'209241': vr_1.VR.FL, | |
'209245': vr_1.VR.FL, | |
'209246': vr_1.VR.FL, | |
'209247': vr_1.VR.CS, | |
'209248': vr_1.VR.FL, | |
'209249': vr_1.VR.CS, | |
'209250': vr_1.VR.CS, | |
'209251': vr_1.VR.FD, | |
'209252': vr_1.VR.FD, | |
'209253': vr_1.VR.SQ, | |
'209254': vr_1.VR.FD, | |
'209255': vr_1.VR.FD, | |
'209256': vr_1.VR.FD, | |
'209257': vr_1.VR.FD, | |
'209301': vr_1.VR.FD, | |
'209302': vr_1.VR.FD, | |
'209307': vr_1.VR.CS, | |
'209308': vr_1.VR.FD, | |
'209309': vr_1.VR.FD, | |
'20930a': vr_1.VR.FD, | |
'20930b': vr_1.VR.CS, | |
'20930c': vr_1.VR.CS, | |
'20930d': vr_1.VR.FD, | |
'20930e': vr_1.VR.SQ, | |
'20930f': vr_1.VR.SQ, | |
'209310': vr_1.VR.SQ, | |
'209311': vr_1.VR.CS, | |
'209312': vr_1.VR.UI, | |
'209313': vr_1.VR.UI, | |
'209421': vr_1.VR.LO, | |
'209450': vr_1.VR.SQ, | |
'209453': vr_1.VR.LO, | |
'209518': vr_1.VR.US, | |
'209529': vr_1.VR.SQ, | |
'209536': vr_1.VR.US, | |
'220001': vr_1.VR.US, | |
'220002': vr_1.VR.US, | |
'220003': vr_1.VR.US, | |
'220004': vr_1.VR.US, | |
'220005': vr_1.VR.CS, | |
'220006': vr_1.VR.SQ, | |
'220007': vr_1.VR.FL, | |
'220008': vr_1.VR.FL, | |
'220009': vr_1.VR.FL, | |
'22000a': vr_1.VR.FL, | |
'22000b': vr_1.VR.FL, | |
'22000c': vr_1.VR.FL, | |
'22000d': vr_1.VR.CS, | |
'22000e': vr_1.VR.FL, | |
'220010': vr_1.VR.FL, | |
'220011': vr_1.VR.FL, | |
'220012': vr_1.VR.FL, | |
'220013': vr_1.VR.FL, | |
'220014': vr_1.VR.FL, | |
'220015': vr_1.VR.SQ, | |
'220016': vr_1.VR.SQ, | |
'220017': vr_1.VR.SQ, | |
'220018': vr_1.VR.SQ, | |
'220019': vr_1.VR.SQ, | |
'22001a': vr_1.VR.SQ, | |
'22001b': vr_1.VR.SQ, | |
'22001c': vr_1.VR.SQ, | |
'22001d': vr_1.VR.SQ, | |
'22001e': vr_1.VR.FL, | |
'220020': vr_1.VR.SQ, | |
'220021': vr_1.VR.SQ, | |
'220022': vr_1.VR.SQ, | |
'220028': vr_1.VR.CS, | |
'220030': vr_1.VR.FL, | |
'220031': vr_1.VR.SQ, | |
'220032': vr_1.VR.FL, | |
'220035': vr_1.VR.FL, | |
'220036': vr_1.VR.FL, | |
'220037': vr_1.VR.FL, | |
'220038': vr_1.VR.FL, | |
'220039': vr_1.VR.CS, | |
'220041': vr_1.VR.FL, | |
'220042': vr_1.VR.SQ, | |
'220048': vr_1.VR.FL, | |
'220049': vr_1.VR.FL, | |
'22004e': vr_1.VR.DS, | |
'220055': vr_1.VR.FL, | |
'220056': vr_1.VR.FL, | |
'220057': vr_1.VR.FL, | |
'220058': vr_1.VR.SQ, | |
'221007': vr_1.VR.SQ, | |
'221008': vr_1.VR.SQ, | |
'221009': vr_1.VR.CS, | |
'221010': vr_1.VR.CS, | |
'221012': vr_1.VR.SQ, | |
'221019': vr_1.VR.FL, | |
'221024': vr_1.VR.SQ, | |
'221025': vr_1.VR.SQ, | |
'221028': vr_1.VR.SQ, | |
'221029': vr_1.VR.LO, | |
'221033': vr_1.VR.FL, | |
'221035': vr_1.VR.SQ, | |
'221037': vr_1.VR.FL, | |
'221039': vr_1.VR.CS, | |
'221040': vr_1.VR.SQ, | |
'221044': vr_1.VR.SQ, | |
'221050': vr_1.VR.SQ, | |
'221053': vr_1.VR.FL, | |
'221054': vr_1.VR.FL, | |
'221059': vr_1.VR.FL, | |
'221065': vr_1.VR.LO, | |
'221066': vr_1.VR.LO, | |
'221090': vr_1.VR.SQ, | |
'221092': vr_1.VR.SQ, | |
'221093': vr_1.VR.LO, | |
'221094': vr_1.VR.LO, | |
'221095': vr_1.VR.LO, | |
'221096': vr_1.VR.SQ, | |
'221097': vr_1.VR.LO, | |
'221100': vr_1.VR.SQ, | |
'221101': vr_1.VR.SQ, | |
'221103': vr_1.VR.SQ, | |
'221121': vr_1.VR.FL, | |
'221122': vr_1.VR.FL, | |
'221125': vr_1.VR.SQ, | |
'221127': vr_1.VR.SQ, | |
'221128': vr_1.VR.SQ, | |
'221130': vr_1.VR.FL, | |
'221131': vr_1.VR.FL, | |
'221132': vr_1.VR.SQ, | |
'221133': vr_1.VR.SQ, | |
'221134': vr_1.VR.SQ, | |
'221135': vr_1.VR.SQ, | |
'221140': vr_1.VR.CS, | |
'221150': vr_1.VR.SQ, | |
'221153': vr_1.VR.SQ, | |
'221155': vr_1.VR.FL, | |
'221159': vr_1.VR.LO, | |
'221210': vr_1.VR.SQ, | |
'221211': vr_1.VR.SQ, | |
'221212': vr_1.VR.SQ, | |
'221220': vr_1.VR.SQ, | |
'221225': vr_1.VR.SQ, | |
'221230': vr_1.VR.SQ, | |
'221250': vr_1.VR.SQ, | |
'221255': vr_1.VR.SQ, | |
'221257': vr_1.VR.SQ, | |
'221260': vr_1.VR.SQ, | |
'221262': vr_1.VR.SQ, | |
'221265': vr_1.VR.SQ, | |
'221273': vr_1.VR.LO, | |
'221300': vr_1.VR.SQ, | |
'221310': vr_1.VR.SQ, | |
'221330': vr_1.VR.SQ, | |
'221415': vr_1.VR.CS, | |
'221420': vr_1.VR.SQ, | |
'221423': vr_1.VR.SQ, | |
'221436': vr_1.VR.SQ, | |
'221443': vr_1.VR.SQ, | |
'221445': vr_1.VR.SQ, | |
'221450': vr_1.VR.SQ, | |
'221452': vr_1.VR.SS, | |
'221454': vr_1.VR.LO, | |
'221458': vr_1.VR.SQ, | |
'221460': vr_1.VR.FL, | |
'221463': vr_1.VR.FL, | |
'221465': vr_1.VR.SQ, | |
'221466': vr_1.VR.CS, | |
'221467': vr_1.VR.FL, | |
'221468': vr_1.VR.FL, | |
'221470': vr_1.VR.SQ, | |
'221472': vr_1.VR.SQ, | |
'221512': vr_1.VR.SQ, | |
'221513': vr_1.VR.SQ, | |
'221515': vr_1.VR.CS, | |
'221517': vr_1.VR.FL, | |
'221518': vr_1.VR.SQ, | |
'221525': vr_1.VR.SQ, | |
'221526': vr_1.VR.SQ, | |
'221527': vr_1.VR.FL, | |
'221528': vr_1.VR.FL, | |
'221529': vr_1.VR.FL, | |
'221530': vr_1.VR.UL, | |
'221531': vr_1.VR.OF, | |
'221612': vr_1.VR.SQ, | |
'221615': vr_1.VR.SQ, | |
'221616': vr_1.VR.LO, | |
'221618': vr_1.VR.SQ, | |
'221620': vr_1.VR.SQ, | |
'221622': vr_1.VR.CS, | |
'221624': vr_1.VR.FL, | |
'221626': vr_1.VR.FL, | |
'221628': vr_1.VR.SQ, | |
'221630': vr_1.VR.DS, | |
'221640': vr_1.VR.SQ, | |
'221642': vr_1.VR.UL, | |
'221643': vr_1.VR.FL, | |
'221644': vr_1.VR.FL, | |
'221645': vr_1.VR.FL, | |
'221646': vr_1.VR.FL, | |
'221649': vr_1.VR.FL, | |
'221650': vr_1.VR.FL, | |
'221658': vr_1.VR.UL, | |
'240010': vr_1.VR.FL, | |
'240011': vr_1.VR.FL, | |
'240012': vr_1.VR.CS, | |
'240016': vr_1.VR.SQ, | |
'240018': vr_1.VR.FL, | |
'240020': vr_1.VR.FL, | |
'240021': vr_1.VR.SQ, | |
'240024': vr_1.VR.SQ, | |
'240025': vr_1.VR.FL, | |
'240028': vr_1.VR.FL, | |
'240032': vr_1.VR.SQ, | |
'240033': vr_1.VR.SQ, | |
'240034': vr_1.VR.SQ, | |
'240035': vr_1.VR.US, | |
'240036': vr_1.VR.US, | |
'240037': vr_1.VR.CS, | |
'240038': vr_1.VR.US, | |
'240039': vr_1.VR.CS, | |
'240040': vr_1.VR.CS, | |
'240042': vr_1.VR.US, | |
'240044': vr_1.VR.LT, | |
'240045': vr_1.VR.CS, | |
'240046': vr_1.VR.FL, | |
'240048': vr_1.VR.US, | |
'240050': vr_1.VR.US, | |
'240051': vr_1.VR.CS, | |
'240052': vr_1.VR.CS, | |
'240053': vr_1.VR.CS, | |
'240054': vr_1.VR.FL, | |
'240055': vr_1.VR.CS, | |
'240056': vr_1.VR.US, | |
'240057': vr_1.VR.CS, | |
'240058': vr_1.VR.SQ, | |
'240059': vr_1.VR.CS, | |
'240060': vr_1.VR.US, | |
'240061': vr_1.VR.CS, | |
'240062': vr_1.VR.CS, | |
'240063': vr_1.VR.CS, | |
'240064': vr_1.VR.SQ, | |
'240065': vr_1.VR.SQ, | |
'240066': vr_1.VR.FL, | |
'240067': vr_1.VR.SQ, | |
'240068': vr_1.VR.FL, | |
'240069': vr_1.VR.LO, | |
'240070': vr_1.VR.FL, | |
'240071': vr_1.VR.FL, | |
'240072': vr_1.VR.CS, | |
'240073': vr_1.VR.FL, | |
'240074': vr_1.VR.CS, | |
'240075': vr_1.VR.FL, | |
'240076': vr_1.VR.CS, | |
'240077': vr_1.VR.FL, | |
'240078': vr_1.VR.CS, | |
'240079': vr_1.VR.FL, | |
'240080': vr_1.VR.CS, | |
'240081': vr_1.VR.FL, | |
'240083': vr_1.VR.SQ, | |
'240085': vr_1.VR.SQ, | |
'240086': vr_1.VR.CS, | |
'240087': vr_1.VR.FL, | |
'240088': vr_1.VR.FL, | |
'240089': vr_1.VR.SQ, | |
'240090': vr_1.VR.FL, | |
'240091': vr_1.VR.FL, | |
'240092': vr_1.VR.FL, | |
'240093': vr_1.VR.CS, | |
'240094': vr_1.VR.FL, | |
'240095': vr_1.VR.CS, | |
'240096': vr_1.VR.FL, | |
'240097': vr_1.VR.SQ, | |
'240098': vr_1.VR.FL, | |
'240100': vr_1.VR.FL, | |
'240102': vr_1.VR.CS, | |
'240103': vr_1.VR.FL, | |
'240104': vr_1.VR.FL, | |
'240105': vr_1.VR.FL, | |
'240106': vr_1.VR.CS, | |
'240107': vr_1.VR.FL, | |
'240108': vr_1.VR.FL, | |
'240110': vr_1.VR.SQ, | |
'240112': vr_1.VR.SQ, | |
'240113': vr_1.VR.CS, | |
'240114': vr_1.VR.SQ, | |
'240115': vr_1.VR.SQ, | |
'240117': vr_1.VR.CS, | |
'240118': vr_1.VR.FL, | |
'240120': vr_1.VR.CS, | |
'240122': vr_1.VR.SQ, | |
'240124': vr_1.VR.CS, | |
'240126': vr_1.VR.FL, | |
'240202': vr_1.VR.LO, | |
'240306': vr_1.VR.LO, | |
'240307': vr_1.VR.LO, | |
'240308': vr_1.VR.LO, | |
'240309': vr_1.VR.LO, | |
'240317': vr_1.VR.SQ, | |
'240320': vr_1.VR.SQ, | |
'240325': vr_1.VR.SQ, | |
'240338': vr_1.VR.CS, | |
'240341': vr_1.VR.FL, | |
'240344': vr_1.VR.SQ, | |
'280002': vr_1.VR.US, | |
'280003': vr_1.VR.US, | |
'280004': vr_1.VR.CS, | |
'280005': vr_1.VR.US, | |
'280006': vr_1.VR.US, | |
'280008': vr_1.VR.IS, | |
'280009': vr_1.VR.AT, | |
'28000a': vr_1.VR.AT, | |
'280010': vr_1.VR.US, | |
'280011': vr_1.VR.US, | |
'280012': vr_1.VR.US, | |
'280014': vr_1.VR.US, | |
'280030': vr_1.VR.DS, | |
'280031': vr_1.VR.DS, | |
'280032': vr_1.VR.DS, | |
'280034': vr_1.VR.IS, | |
'280040': vr_1.VR.CS, | |
'280050': vr_1.VR.LO, | |
'280051': vr_1.VR.CS, | |
'28005f': vr_1.VR.LO, | |
'280060': vr_1.VR.CS, | |
'280061': vr_1.VR.SH, | |
'280062': vr_1.VR.LO, | |
'280063': vr_1.VR.SH, | |
'280065': vr_1.VR.CS, | |
'280066': vr_1.VR.AT, | |
'280068': vr_1.VR.US, | |
'280069': vr_1.VR.US, | |
'280070': vr_1.VR.US, | |
'280071': vr_1.VR.SS, | |
'280080': vr_1.VR.US, | |
'280081': vr_1.VR.US, | |
'280082': vr_1.VR.US, | |
'280090': vr_1.VR.CS, | |
'280091': vr_1.VR.US, | |
'280092': vr_1.VR.US, | |
'280093': vr_1.VR.US, | |
'280094': vr_1.VR.US, | |
'280100': vr_1.VR.US, | |
'280101': vr_1.VR.US, | |
'280102': vr_1.VR.US, | |
'280103': vr_1.VR.US, | |
'280104': vr_1.VR.SS, | |
'280105': vr_1.VR.SS, | |
'280106': vr_1.VR.SS, | |
'280107': vr_1.VR.SS, | |
'280108': vr_1.VR.SS, | |
'280109': vr_1.VR.SS, | |
'280110': vr_1.VR.SS, | |
'280111': vr_1.VR.SS, | |
'280120': vr_1.VR.SS, | |
'280121': vr_1.VR.SS, | |
'280122': vr_1.VR.FL, | |
'280123': vr_1.VR.FD, | |
'280124': vr_1.VR.FL, | |
'280125': vr_1.VR.FD, | |
'280200': vr_1.VR.US, | |
'280300': vr_1.VR.CS, | |
'280301': vr_1.VR.CS, | |
'280302': vr_1.VR.CS, | |
'280303': vr_1.VR.CS, | |
'280304': vr_1.VR.UI, | |
'280400': vr_1.VR.LO, | |
'280401': vr_1.VR.LO, | |
'280402': vr_1.VR.US, | |
'280403': vr_1.VR.LO, | |
'280404': vr_1.VR.AT, | |
'280700': vr_1.VR.LO, | |
'280701': vr_1.VR.CS, | |
'280702': vr_1.VR.AT, | |
'280710': vr_1.VR.US, | |
'280720': vr_1.VR.US, | |
'280721': vr_1.VR.AT, | |
'280722': vr_1.VR.US, | |
'280730': vr_1.VR.US, | |
'280740': vr_1.VR.US, | |
'280800': vr_1.VR.CS, | |
'280802': vr_1.VR.US, | |
'280803': vr_1.VR.AT, | |
'280804': vr_1.VR.US, | |
'280808': vr_1.VR.AT, | |
'280a02': vr_1.VR.CS, | |
'280a04': vr_1.VR.LO, | |
'281040': vr_1.VR.CS, | |
'281041': vr_1.VR.SS, | |
'281050': vr_1.VR.DS, | |
'281051': vr_1.VR.DS, | |
'281052': vr_1.VR.DS, | |
'281053': vr_1.VR.DS, | |
'281054': vr_1.VR.LO, | |
'281055': vr_1.VR.LO, | |
'281056': vr_1.VR.CS, | |
'281080': vr_1.VR.CS, | |
'281090': vr_1.VR.CS, | |
'281100': vr_1.VR.SS, | |
'281101': vr_1.VR.SS, | |
'281102': vr_1.VR.SS, | |
'281103': vr_1.VR.SS, | |
'281104': vr_1.VR.US, | |
'281111': vr_1.VR.SS, | |
'281112': vr_1.VR.SS, | |
'281113': vr_1.VR.SS, | |
'281199': vr_1.VR.UI, | |
'281200': vr_1.VR.OW, | |
'281201': vr_1.VR.OW, | |
'281202': vr_1.VR.OW, | |
'281203': vr_1.VR.OW, | |
'281204': vr_1.VR.OW, | |
'281211': vr_1.VR.OW, | |
'281212': vr_1.VR.OW, | |
'281213': vr_1.VR.OW, | |
'281214': vr_1.VR.UI, | |
'281221': vr_1.VR.OW, | |
'281222': vr_1.VR.OW, | |
'281223': vr_1.VR.OW, | |
'281224': vr_1.VR.OW, | |
'281230': vr_1.VR.SQ, | |
'281231': vr_1.VR.FD, | |
'281232': vr_1.VR.FD, | |
'281300': vr_1.VR.CS, | |
'281350': vr_1.VR.CS, | |
'281351': vr_1.VR.ST, | |
'281352': vr_1.VR.SQ, | |
'28135a': vr_1.VR.CS, | |
'281401': vr_1.VR.SQ, | |
'281402': vr_1.VR.CS, | |
'281403': vr_1.VR.US, | |
'281404': vr_1.VR.SQ, | |
'281405': vr_1.VR.CS, | |
'281406': vr_1.VR.FD, | |
'281407': vr_1.VR.US, | |
'281408': vr_1.VR.OW, | |
'28140b': vr_1.VR.SQ, | |
'28140c': vr_1.VR.SQ, | |
'28140d': vr_1.VR.CS, | |
'28140e': vr_1.VR.CS, | |
'28140f': vr_1.VR.CS, | |
'281410': vr_1.VR.CS, | |
'282000': vr_1.VR.OB, | |
'282002': vr_1.VR.CS, | |
'282110': vr_1.VR.CS, | |
'282112': vr_1.VR.DS, | |
'282114': vr_1.VR.CS, | |
'283000': vr_1.VR.SQ, | |
'283002': vr_1.VR.SS, | |
'283003': vr_1.VR.LO, | |
'283004': vr_1.VR.LO, | |
'283006': vr_1.VR.OW, | |
'283010': vr_1.VR.SQ, | |
'283110': vr_1.VR.SQ, | |
'284000': vr_1.VR.LT, | |
'285000': vr_1.VR.SQ, | |
'286010': vr_1.VR.US, | |
'286020': vr_1.VR.US, | |
'286022': vr_1.VR.LO, | |
'286023': vr_1.VR.CS, | |
'286030': vr_1.VR.US, | |
'286040': vr_1.VR.US, | |
'286100': vr_1.VR.SQ, | |
'286101': vr_1.VR.CS, | |
'286102': vr_1.VR.US, | |
'286110': vr_1.VR.US, | |
'286112': vr_1.VR.US, | |
'286114': vr_1.VR.FL, | |
'286120': vr_1.VR.SS, | |
'286190': vr_1.VR.ST, | |
'287000': vr_1.VR.SQ, | |
'287001': vr_1.VR.US, | |
'287002': vr_1.VR.US, | |
'287003': vr_1.VR.US, | |
'287004': vr_1.VR.SH, | |
'287005': vr_1.VR.LO, | |
'287006': vr_1.VR.CS, | |
'287007': vr_1.VR.LO, | |
'287008': vr_1.VR.SQ, | |
'287009': vr_1.VR.US, | |
'28700a': vr_1.VR.SQ, | |
'28700b': vr_1.VR.US, | |
'28700c': vr_1.VR.SH, | |
'28700d': vr_1.VR.LO, | |
'28700e': vr_1.VR.US, | |
'28700f': vr_1.VR.SQ, | |
'287010': vr_1.VR.SQ, | |
'287011': vr_1.VR.SQ, | |
'287012': vr_1.VR.SQ, | |
'287013': vr_1.VR.CS, | |
'287014': vr_1.VR.CS, | |
'287015': vr_1.VR.SQ, | |
'287016': vr_1.VR.SQ, | |
'287017': vr_1.VR.US, | |
'287018': vr_1.VR.FL, | |
'287019': vr_1.VR.CS, | |
'28701a': vr_1.VR.FL, | |
'28701b': vr_1.VR.US, | |
'28701c': vr_1.VR.SQ, | |
'28701d': vr_1.VR.FL, | |
'28701e': vr_1.VR.FL, | |
'28701f': vr_1.VR.FL, | |
'287020': vr_1.VR.LO, | |
'287021': vr_1.VR.CS, | |
'287022': vr_1.VR.SQ, | |
'287023': vr_1.VR.SQ, | |
'287024': vr_1.VR.SQ, | |
'287025': vr_1.VR.CS, | |
'287026': vr_1.VR.CS, | |
'287027': vr_1.VR.SQ, | |
'287028': vr_1.VR.SQ, | |
'287029': vr_1.VR.CS, | |
'28702a': vr_1.VR.LO, | |
'28702b': vr_1.VR.CS, | |
'28702c': vr_1.VR.SQ, | |
'28702d': vr_1.VR.SQ, | |
'28702e': vr_1.VR.SQ, | |
'287fe0': vr_1.VR.UR, | |
'289001': vr_1.VR.UL, | |
'289002': vr_1.VR.UL, | |
'289003': vr_1.VR.CS, | |
'289099': vr_1.VR.US, | |
'289108': vr_1.VR.CS, | |
'289110': vr_1.VR.SQ, | |
'289132': vr_1.VR.SQ, | |
'289145': vr_1.VR.SQ, | |
'289235': vr_1.VR.CS, | |
'289411': vr_1.VR.FL, | |
'289415': vr_1.VR.SQ, | |
'289416': vr_1.VR.US, | |
'289422': vr_1.VR.SQ, | |
'289443': vr_1.VR.SQ, | |
'289444': vr_1.VR.CS, | |
'289445': vr_1.VR.FL, | |
'289446': vr_1.VR.CS, | |
'289454': vr_1.VR.CS, | |
'289474': vr_1.VR.CS, | |
'289478': vr_1.VR.FL, | |
'289501': vr_1.VR.SQ, | |
'289502': vr_1.VR.SQ, | |
'289503': vr_1.VR.SS, | |
'289505': vr_1.VR.SQ, | |
'289506': vr_1.VR.US, | |
'289507': vr_1.VR.US, | |
'289520': vr_1.VR.DS, | |
'289537': vr_1.VR.CS, | |
'32000a': vr_1.VR.CS, | |
'32000c': vr_1.VR.CS, | |
'320012': vr_1.VR.LO, | |
'320032': vr_1.VR.DA, | |
'320033': vr_1.VR.TM, | |
'320034': vr_1.VR.DA, | |
'320035': vr_1.VR.TM, | |
'321000': vr_1.VR.DA, | |
'321001': vr_1.VR.TM, | |
'321010': vr_1.VR.DA, | |
'321011': vr_1.VR.TM, | |
'321020': vr_1.VR.LO, | |
'321021': vr_1.VR.AE, | |
'321030': vr_1.VR.LO, | |
'321031': vr_1.VR.SQ, | |
'321032': vr_1.VR.PN, | |
'321033': vr_1.VR.LO, | |
'321034': vr_1.VR.SQ, | |
'321040': vr_1.VR.DA, | |
'321041': vr_1.VR.TM, | |
'321050': vr_1.VR.DA, | |
'321051': vr_1.VR.TM, | |
'321055': vr_1.VR.CS, | |
'321060': vr_1.VR.LO, | |
'321064': vr_1.VR.SQ, | |
'321070': vr_1.VR.LO, | |
'324000': vr_1.VR.LT, | |
'380004': vr_1.VR.SQ, | |
'380008': vr_1.VR.CS, | |
'380010': vr_1.VR.LO, | |
'380011': vr_1.VR.LO, | |
'380014': vr_1.VR.SQ, | |
'380016': vr_1.VR.LO, | |
'38001a': vr_1.VR.DA, | |
'38001b': vr_1.VR.TM, | |
'38001c': vr_1.VR.DA, | |
'38001d': vr_1.VR.TM, | |
'38001e': vr_1.VR.LO, | |
'380020': vr_1.VR.DA, | |
'380021': vr_1.VR.TM, | |
'380030': vr_1.VR.DA, | |
'380032': vr_1.VR.TM, | |
'380040': vr_1.VR.LO, | |
'380044': vr_1.VR.SQ, | |
'380050': vr_1.VR.LO, | |
'380060': vr_1.VR.LO, | |
'380061': vr_1.VR.LO, | |
'380062': vr_1.VR.LO, | |
'380064': vr_1.VR.SQ, | |
'380100': vr_1.VR.SQ, | |
'380101': vr_1.VR.SQ, | |
'380102': vr_1.VR.LO, | |
'380300': vr_1.VR.LO, | |
'380400': vr_1.VR.LO, | |
'380500': vr_1.VR.LO, | |
'380502': vr_1.VR.SQ, | |
'384000': vr_1.VR.LT, | |
'3a0004': vr_1.VR.CS, | |
'3a0005': vr_1.VR.US, | |
'3a0010': vr_1.VR.UL, | |
'3a001a': vr_1.VR.DS, | |
'3a0020': vr_1.VR.SH, | |
'3a0200': vr_1.VR.SQ, | |
'3a0202': vr_1.VR.IS, | |
'3a0203': vr_1.VR.SH, | |
'3a0205': vr_1.VR.CS, | |
'3a0208': vr_1.VR.SQ, | |
'3a0209': vr_1.VR.SQ, | |
'3a020a': vr_1.VR.SQ, | |
'3a020c': vr_1.VR.LO, | |
'3a0210': vr_1.VR.DS, | |
'3a0211': vr_1.VR.SQ, | |
'3a0212': vr_1.VR.DS, | |
'3a0213': vr_1.VR.DS, | |
'3a0214': vr_1.VR.DS, | |
'3a0215': vr_1.VR.DS, | |
'3a0218': vr_1.VR.DS, | |
'3a021a': vr_1.VR.US, | |
'3a0220': vr_1.VR.DS, | |
'3a0221': vr_1.VR.DS, | |
'3a0222': vr_1.VR.DS, | |
'3a0223': vr_1.VR.DS, | |
'3a0230': vr_1.VR.FL, | |
'3a0231': vr_1.VR.US, | |
'3a0240': vr_1.VR.SQ, | |
'3a0241': vr_1.VR.US, | |
'3a0242': vr_1.VR.SQ, | |
'3a0244': vr_1.VR.US, | |
'3a0245': vr_1.VR.FL, | |
'3a0246': vr_1.VR.CS, | |
'3a0247': vr_1.VR.FL, | |
'3a0248': vr_1.VR.FL, | |
'3a0300': vr_1.VR.SQ, | |
'3a0301': vr_1.VR.IS, | |
'3a0302': vr_1.VR.CS, | |
'400001': vr_1.VR.AE, | |
'400002': vr_1.VR.DA, | |
'400003': vr_1.VR.TM, | |
'400004': vr_1.VR.DA, | |
'400005': vr_1.VR.TM, | |
'400006': vr_1.VR.PN, | |
'400007': vr_1.VR.LO, | |
'400008': vr_1.VR.SQ, | |
'400009': vr_1.VR.SH, | |
'40000a': vr_1.VR.SQ, | |
'40000b': vr_1.VR.SQ, | |
'400010': vr_1.VR.SH, | |
'400011': vr_1.VR.SH, | |
'400012': vr_1.VR.LO, | |
'400020': vr_1.VR.CS, | |
'400026': vr_1.VR.SQ, | |
'400027': vr_1.VR.SQ, | |
'400031': vr_1.VR.UT, | |
'400032': vr_1.VR.UT, | |
'400033': vr_1.VR.CS, | |
'400035': vr_1.VR.CS, | |
'400036': vr_1.VR.SQ, | |
'400039': vr_1.VR.SQ, | |
'40003a': vr_1.VR.SQ, | |
'400100': vr_1.VR.SQ, | |
'400220': vr_1.VR.SQ, | |
'400241': vr_1.VR.AE, | |
'400242': vr_1.VR.SH, | |
'400243': vr_1.VR.SH, | |
'400244': vr_1.VR.DA, | |
'400245': vr_1.VR.TM, | |
'400250': vr_1.VR.DA, | |
'400251': vr_1.VR.TM, | |
'400252': vr_1.VR.CS, | |
'400253': vr_1.VR.SH, | |
'400254': vr_1.VR.LO, | |
'400255': vr_1.VR.LO, | |
'400260': vr_1.VR.SQ, | |
'400261': vr_1.VR.CS, | |
'400270': vr_1.VR.SQ, | |
'400275': vr_1.VR.SQ, | |
'400280': vr_1.VR.ST, | |
'400281': vr_1.VR.SQ, | |
'400293': vr_1.VR.SQ, | |
'400294': vr_1.VR.DS, | |
'400295': vr_1.VR.SQ, | |
'400296': vr_1.VR.SQ, | |
'400300': vr_1.VR.US, | |
'400301': vr_1.VR.US, | |
'400302': vr_1.VR.US, | |
'400303': vr_1.VR.US, | |
'400306': vr_1.VR.DS, | |
'400307': vr_1.VR.DS, | |
'40030e': vr_1.VR.SQ, | |
'400310': vr_1.VR.ST, | |
'400312': vr_1.VR.DS, | |
'400314': vr_1.VR.DS, | |
'400316': vr_1.VR.DS, | |
'400318': vr_1.VR.CS, | |
'400320': vr_1.VR.SQ, | |
'400321': vr_1.VR.SQ, | |
'400324': vr_1.VR.SQ, | |
'400330': vr_1.VR.SQ, | |
'400340': vr_1.VR.SQ, | |
'400400': vr_1.VR.LT, | |
'400440': vr_1.VR.SQ, | |
'400441': vr_1.VR.SQ, | |
'400500': vr_1.VR.SQ, | |
'40050a': vr_1.VR.LO, | |
'400512': vr_1.VR.LO, | |
'400513': vr_1.VR.SQ, | |
'400515': vr_1.VR.SQ, | |
'400518': vr_1.VR.SQ, | |
'40051a': vr_1.VR.LO, | |
'400520': vr_1.VR.SQ, | |
'400550': vr_1.VR.SQ, | |
'400551': vr_1.VR.LO, | |
'400552': vr_1.VR.SQ, | |
'400553': vr_1.VR.ST, | |
'400554': vr_1.VR.UI, | |
'400555': vr_1.VR.SQ, | |
'400556': vr_1.VR.ST, | |
'400560': vr_1.VR.SQ, | |
'400562': vr_1.VR.SQ, | |
'40059a': vr_1.VR.SQ, | |
'400600': vr_1.VR.LO, | |
'400602': vr_1.VR.UT, | |
'400610': vr_1.VR.SQ, | |
'400612': vr_1.VR.SQ, | |
'400620': vr_1.VR.SQ, | |
'4006fa': vr_1.VR.LO, | |
'40071a': vr_1.VR.SQ, | |
'40072a': vr_1.VR.DS, | |
'40073a': vr_1.VR.DS, | |
'40074a': vr_1.VR.DS, | |
'4008d8': vr_1.VR.SQ, | |
'4008da': vr_1.VR.SQ, | |
'4008ea': vr_1.VR.SQ, | |
'4009f8': vr_1.VR.SQ, | |
'401001': vr_1.VR.SH, | |
'401002': vr_1.VR.LO, | |
'401003': vr_1.VR.SH, | |
'401004': vr_1.VR.LO, | |
'401005': vr_1.VR.LO, | |
'401006': vr_1.VR.SH, | |
'401007': vr_1.VR.SH, | |
'401008': vr_1.VR.LO, | |
'401009': vr_1.VR.SH, | |
'40100a': vr_1.VR.SQ, | |
'401010': vr_1.VR.PN, | |
'401011': vr_1.VR.SQ, | |
'401012': vr_1.VR.SQ, | |
'401060': vr_1.VR.LO, | |
'401101': vr_1.VR.SQ, | |
'401102': vr_1.VR.ST, | |
'401103': vr_1.VR.LO, | |
'401104': vr_1.VR.LT, | |
'401400': vr_1.VR.LT, | |
'402001': vr_1.VR.LO, | |
'402004': vr_1.VR.DA, | |
'402005': vr_1.VR.TM, | |
'402006': vr_1.VR.SH, | |
'402007': vr_1.VR.SH, | |
'402008': vr_1.VR.PN, | |
'402009': vr_1.VR.SH, | |
'402010': vr_1.VR.SH, | |
'402011': vr_1.VR.LT, | |
'402016': vr_1.VR.LO, | |
'402017': vr_1.VR.LO, | |
'402400': vr_1.VR.LT, | |
'403001': vr_1.VR.LO, | |
'404001': vr_1.VR.CS, | |
'404002': vr_1.VR.CS, | |
'404003': vr_1.VR.CS, | |
'404004': vr_1.VR.SQ, | |
'404005': vr_1.VR.DT, | |
'404006': vr_1.VR.CS, | |
'404007': vr_1.VR.SQ, | |
'404009': vr_1.VR.SQ, | |
'404010': vr_1.VR.DT, | |
'404011': vr_1.VR.DT, | |
'404015': vr_1.VR.SQ, | |
'404016': vr_1.VR.SQ, | |
'404018': vr_1.VR.SQ, | |
'404019': vr_1.VR.SQ, | |
'404020': vr_1.VR.CS, | |
'404021': vr_1.VR.SQ, | |
'404022': vr_1.VR.SQ, | |
'404023': vr_1.VR.UI, | |
'404025': vr_1.VR.SQ, | |
'404026': vr_1.VR.SQ, | |
'404027': vr_1.VR.SQ, | |
'404028': vr_1.VR.SQ, | |
'404029': vr_1.VR.SQ, | |
'404030': vr_1.VR.SQ, | |
'404031': vr_1.VR.SQ, | |
'404032': vr_1.VR.SQ, | |
'404033': vr_1.VR.SQ, | |
'404034': vr_1.VR.SQ, | |
'404035': vr_1.VR.SQ, | |
'404036': vr_1.VR.LO, | |
'404037': vr_1.VR.PN, | |
'404040': vr_1.VR.CS, | |
'404041': vr_1.VR.CS, | |
'404050': vr_1.VR.DT, | |
'404051': vr_1.VR.DT, | |
'404052': vr_1.VR.DT, | |
'404070': vr_1.VR.SQ, | |
'404071': vr_1.VR.SQ, | |
'404072': vr_1.VR.SQ, | |
'404073': vr_1.VR.UR, | |
'404074': vr_1.VR.SQ, | |
'408302': vr_1.VR.DS, | |
'408303': vr_1.VR.CS, | |
'409092': vr_1.VR.SQ, | |
'409094': vr_1.VR.SQ, | |
'409096': vr_1.VR.SQ, | |
'409098': vr_1.VR.SQ, | |
'409210': vr_1.VR.SH, | |
'409211': vr_1.VR.SS, | |
'409212': vr_1.VR.FD, | |
'409213': vr_1.VR.FD, | |
'409214': vr_1.VR.FD, | |
'409216': vr_1.VR.SS, | |
'409220': vr_1.VR.SQ, | |
'409224': vr_1.VR.FD, | |
'409225': vr_1.VR.FD, | |
'40a007': vr_1.VR.CS, | |
'40a010': vr_1.VR.CS, | |
'40a020': vr_1.VR.SQ, | |
'40a021': vr_1.VR.UI, | |
'40a022': vr_1.VR.UI, | |
'40a023': vr_1.VR.DA, | |
'40a024': vr_1.VR.TM, | |
'40a026': vr_1.VR.SQ, | |
'40a027': vr_1.VR.LO, | |
'40a028': vr_1.VR.SQ, | |
'40a030': vr_1.VR.DT, | |
'40a032': vr_1.VR.DT, | |
'40a040': vr_1.VR.CS, | |
'40a043': vr_1.VR.SQ, | |
'40a047': vr_1.VR.LO, | |
'40a050': vr_1.VR.CS, | |
'40a057': vr_1.VR.CS, | |
'40a060': vr_1.VR.LO, | |
'40a066': vr_1.VR.SQ, | |
'40a067': vr_1.VR.PN, | |
'40a068': vr_1.VR.SQ, | |
'40a070': vr_1.VR.SQ, | |
'40a073': vr_1.VR.SQ, | |
'40a074': vr_1.VR.OB, | |
'40a075': vr_1.VR.PN, | |
'40a076': vr_1.VR.SQ, | |
'40a078': vr_1.VR.SQ, | |
'40a07a': vr_1.VR.SQ, | |
'40a07c': vr_1.VR.SQ, | |
'40a080': vr_1.VR.CS, | |
'40a082': vr_1.VR.DT, | |
'40a084': vr_1.VR.CS, | |
'40a085': vr_1.VR.SQ, | |
'40a088': vr_1.VR.SQ, | |
'40a089': vr_1.VR.OB, | |
'40a090': vr_1.VR.SQ, | |
'40a0b0': vr_1.VR.US, | |
'40a110': vr_1.VR.DA, | |
'40a112': vr_1.VR.TM, | |
'40a120': vr_1.VR.DT, | |
'40a121': vr_1.VR.DA, | |
'40a122': vr_1.VR.TM, | |
'40a123': vr_1.VR.PN, | |
'40a124': vr_1.VR.UI, | |
'40a125': vr_1.VR.CS, | |
'40a130': vr_1.VR.CS, | |
'40a132': vr_1.VR.UL, | |
'40a136': vr_1.VR.US, | |
'40a138': vr_1.VR.DS, | |
'40a13a': vr_1.VR.DT, | |
'40a160': vr_1.VR.UT, | |
'40a161': vr_1.VR.FD, | |
'40a162': vr_1.VR.SL, | |
'40a163': vr_1.VR.UL, | |
'40a167': vr_1.VR.SQ, | |
'40a168': vr_1.VR.SQ, | |
'40a16a': vr_1.VR.ST, | |
'40a170': vr_1.VR.SQ, | |
'40a171': vr_1.VR.UI, | |
'40a172': vr_1.VR.UI, | |
'40a173': vr_1.VR.CS, | |
'40a174': vr_1.VR.CS, | |
'40a180': vr_1.VR.US, | |
'40a192': vr_1.VR.DA, | |
'40a193': vr_1.VR.TM, | |
'40a194': vr_1.VR.CS, | |
'40a195': vr_1.VR.SQ, | |
'40a224': vr_1.VR.ST, | |
'40a290': vr_1.VR.CS, | |
'40a296': vr_1.VR.SQ, | |
'40a297': vr_1.VR.ST, | |
'40a29a': vr_1.VR.SL, | |
'40a300': vr_1.VR.SQ, | |
'40a301': vr_1.VR.SQ, | |
'40a307': vr_1.VR.PN, | |
'40a30a': vr_1.VR.DS, | |
'40a313': vr_1.VR.SQ, | |
'40a33a': vr_1.VR.ST, | |
'40a340': vr_1.VR.SQ, | |
'40a352': vr_1.VR.PN, | |
'40a353': vr_1.VR.ST, | |
'40a354': vr_1.VR.LO, | |
'40a358': vr_1.VR.SQ, | |
'40a360': vr_1.VR.SQ, | |
'40a370': vr_1.VR.SQ, | |
'40a372': vr_1.VR.SQ, | |
'40a375': vr_1.VR.SQ, | |
'40a380': vr_1.VR.SQ, | |
'40a385': vr_1.VR.SQ, | |
'40a390': vr_1.VR.SQ, | |
'40a402': vr_1.VR.UI, | |
'40a403': vr_1.VR.CS, | |
'40a404': vr_1.VR.SQ, | |
'40a491': vr_1.VR.CS, | |
'40a492': vr_1.VR.LO, | |
'40a493': vr_1.VR.CS, | |
'40a494': vr_1.VR.CS, | |
'40a496': vr_1.VR.CS, | |
'40a504': vr_1.VR.SQ, | |
'40a525': vr_1.VR.SQ, | |
'40a600': vr_1.VR.CS, | |
'40a601': vr_1.VR.CS, | |
'40a603': vr_1.VR.CS, | |
'40a730': vr_1.VR.SQ, | |
'40a731': vr_1.VR.SQ, | |
'40a732': vr_1.VR.SQ, | |
'40a744': vr_1.VR.SQ, | |
'40a992': vr_1.VR.ST, | |
'40b020': vr_1.VR.SQ, | |
'40db00': vr_1.VR.CS, | |
'40db06': vr_1.VR.DT, | |
'40db07': vr_1.VR.DT, | |
'40db0b': vr_1.VR.CS, | |
'40db0c': vr_1.VR.UI, | |
'40db0d': vr_1.VR.UI, | |
'40db73': vr_1.VR.UL, | |
'40e001': vr_1.VR.ST, | |
'40e004': vr_1.VR.DT, | |
'40e006': vr_1.VR.SQ, | |
'40e008': vr_1.VR.SQ, | |
'40e010': vr_1.VR.UR, | |
'40e011': vr_1.VR.UI, | |
'40e020': vr_1.VR.CS, | |
'40e021': vr_1.VR.SQ, | |
'40e022': vr_1.VR.SQ, | |
'40e023': vr_1.VR.SQ, | |
'40e024': vr_1.VR.SQ, | |
'40e025': vr_1.VR.SQ, | |
'40e030': vr_1.VR.UI, | |
'40e031': vr_1.VR.UI, | |
'420010': vr_1.VR.ST, | |
'420011': vr_1.VR.OB, | |
'420012': vr_1.VR.LO, | |
'420013': vr_1.VR.SQ, | |
'420014': vr_1.VR.LO, | |
'440001': vr_1.VR.ST, | |
'440002': vr_1.VR.CS, | |
'440003': vr_1.VR.LT, | |
'440004': vr_1.VR.DT, | |
'440007': vr_1.VR.SQ, | |
'440008': vr_1.VR.LO, | |
'440009': vr_1.VR.LT, | |
'44000a': vr_1.VR.LO, | |
'44000b': vr_1.VR.DT, | |
'440010': vr_1.VR.DT, | |
'440011': vr_1.VR.LO, | |
'440012': vr_1.VR.LO, | |
'440013': vr_1.VR.SQ, | |
'440019': vr_1.VR.SQ, | |
'440100': vr_1.VR.SQ, | |
'440101': vr_1.VR.SQ, | |
'440102': vr_1.VR.UI, | |
'440103': vr_1.VR.SQ, | |
'440104': vr_1.VR.DT, | |
'440105': vr_1.VR.DT, | |
'440106': vr_1.VR.UT, | |
'440107': vr_1.VR.SQ, | |
'440108': vr_1.VR.UI, | |
'440109': vr_1.VR.SQ, | |
'44010a': vr_1.VR.SQ, | |
'460012': vr_1.VR.LO, | |
'460014': vr_1.VR.SQ, | |
'460015': vr_1.VR.SQ, | |
'460016': vr_1.VR.SQ, | |
'460018': vr_1.VR.SQ, | |
'460028': vr_1.VR.SQ, | |
'460030': vr_1.VR.FD, | |
'460032': vr_1.VR.CS, | |
'460034': vr_1.VR.FD, | |
'460036': vr_1.VR.CS, | |
'460038': vr_1.VR.CS, | |
'460040': vr_1.VR.FD, | |
'460042': vr_1.VR.FD, | |
'460044': vr_1.VR.FD, | |
'460046': vr_1.VR.FD, | |
'460050': vr_1.VR.SQ, | |
'460052': vr_1.VR.SQ, | |
'460060': vr_1.VR.FD, | |
'460062': vr_1.VR.FD, | |
'460063': vr_1.VR.FD, | |
'460064': vr_1.VR.FD, | |
'460070': vr_1.VR.SQ, | |
'460071': vr_1.VR.SQ, | |
'460074': vr_1.VR.SQ, | |
'460075': vr_1.VR.FD, | |
'460076': vr_1.VR.FD, | |
'460077': vr_1.VR.FD, | |
'460080': vr_1.VR.SQ, | |
'460092': vr_1.VR.CS, | |
'460094': vr_1.VR.CS, | |
'460095': vr_1.VR.CS, | |
'460097': vr_1.VR.SQ, | |
'460098': vr_1.VR.SQ, | |
'460100': vr_1.VR.SQ, | |
'460101': vr_1.VR.SQ, | |
'460102': vr_1.VR.SQ, | |
'460104': vr_1.VR.FD, | |
'460106': vr_1.VR.FD, | |
'460121': vr_1.VR.SQ, | |
'460122': vr_1.VR.SQ, | |
'460123': vr_1.VR.SQ, | |
'460124': vr_1.VR.SQ, | |
'460125': vr_1.VR.CS, | |
'460135': vr_1.VR.SS, | |
'460137': vr_1.VR.FD, | |
'460139': vr_1.VR.LO, | |
'460145': vr_1.VR.SQ, | |
'460146': vr_1.VR.FD, | |
'460147': vr_1.VR.FD, | |
'460201': vr_1.VR.CS, | |
'460202': vr_1.VR.FL, | |
'460203': vr_1.VR.FL, | |
'460204': vr_1.VR.FL, | |
'460205': vr_1.VR.FL, | |
'460207': vr_1.VR.SQ, | |
'460208': vr_1.VR.IS, | |
'460210': vr_1.VR.SQ, | |
'460211': vr_1.VR.SQ, | |
'460212': vr_1.VR.FL, | |
'460213': vr_1.VR.FL, | |
'460215': vr_1.VR.SQ, | |
'460218': vr_1.VR.SQ, | |
'460220': vr_1.VR.FL, | |
'460224': vr_1.VR.FL, | |
'460227': vr_1.VR.FL, | |
'460230': vr_1.VR.FL, | |
'460232': vr_1.VR.FL, | |
'460234': vr_1.VR.FL, | |
'460236': vr_1.VR.FL, | |
'460238': vr_1.VR.FL, | |
'460242': vr_1.VR.CS, | |
'460244': vr_1.VR.SQ, | |
'460247': vr_1.VR.FL, | |
'460248': vr_1.VR.CS, | |
'460249': vr_1.VR.FL, | |
'460250': vr_1.VR.FL, | |
'460251': vr_1.VR.FL, | |
'460252': vr_1.VR.FL, | |
'460253': vr_1.VR.FL, | |
'480001': vr_1.VR.FL, | |
'480002': vr_1.VR.FL, | |
'480003': vr_1.VR.FL, | |
'480006': vr_1.VR.UL, | |
'480007': vr_1.VR.UL, | |
'480008': vr_1.VR.SQ, | |
'480010': vr_1.VR.CS, | |
'480011': vr_1.VR.CS, | |
'480012': vr_1.VR.CS, | |
'480013': vr_1.VR.US, | |
'480014': vr_1.VR.FL, | |
'480015': vr_1.VR.US, | |
'480100': vr_1.VR.SQ, | |
'480102': vr_1.VR.DS, | |
'480105': vr_1.VR.SQ, | |
'480106': vr_1.VR.SH, | |
'480107': vr_1.VR.ST, | |
'480108': vr_1.VR.SQ, | |
'480110': vr_1.VR.SQ, | |
'480111': vr_1.VR.DS, | |
'480112': vr_1.VR.DS, | |
'480113': vr_1.VR.DS, | |
'480120': vr_1.VR.SQ, | |
'480200': vr_1.VR.SQ, | |
'480201': vr_1.VR.US, | |
'480202': vr_1.VR.US, | |
'480207': vr_1.VR.SQ, | |
'48021a': vr_1.VR.SQ, | |
'48021e': vr_1.VR.SL, | |
'48021f': vr_1.VR.SL, | |
'480301': vr_1.VR.CS, | |
'500004': vr_1.VR.CS, | |
'500010': vr_1.VR.SQ, | |
'500012': vr_1.VR.SQ, | |
'500013': vr_1.VR.FD, | |
'500014': vr_1.VR.DS, | |
'500015': vr_1.VR.FD, | |
'500016': vr_1.VR.DS, | |
'500017': vr_1.VR.CS, | |
'500018': vr_1.VR.DS, | |
'500019': vr_1.VR.DS, | |
'50001a': vr_1.VR.CS, | |
'50001b': vr_1.VR.LO, | |
'50001c': vr_1.VR.FD, | |
'50001d': vr_1.VR.FD, | |
'50001e': vr_1.VR.LO, | |
'500020': vr_1.VR.LO, | |
'520001': vr_1.VR.FL, | |
'520002': vr_1.VR.FD, | |
'520003': vr_1.VR.FD, | |
'520004': vr_1.VR.FD, | |
'520006': vr_1.VR.CS, | |
'520007': vr_1.VR.FD, | |
'520008': vr_1.VR.FD, | |
'520009': vr_1.VR.FD, | |
'520011': vr_1.VR.FD, | |
'520012': vr_1.VR.US, | |
'520013': vr_1.VR.FD, | |
'520014': vr_1.VR.FD, | |
'520016': vr_1.VR.SQ, | |
'520025': vr_1.VR.SQ, | |
'520026': vr_1.VR.CS, | |
'520027': vr_1.VR.SQ, | |
'520028': vr_1.VR.FD, | |
'520029': vr_1.VR.SQ, | |
'520030': vr_1.VR.SS, | |
'520031': vr_1.VR.CS, | |
'520033': vr_1.VR.FD, | |
'520034': vr_1.VR.FD, | |
'520036': vr_1.VR.US, | |
'520038': vr_1.VR.US, | |
'520039': vr_1.VR.CS, | |
'52003a': vr_1.VR.CS, | |
'540010': vr_1.VR.US, | |
'540011': vr_1.VR.US, | |
'540012': vr_1.VR.SQ, | |
'540013': vr_1.VR.SQ, | |
'540014': vr_1.VR.DS, | |
'540015': vr_1.VR.DS, | |
'540016': vr_1.VR.SQ, | |
'540017': vr_1.VR.IS, | |
'540018': vr_1.VR.SH, | |
'540020': vr_1.VR.US, | |
'540021': vr_1.VR.US, | |
'540022': vr_1.VR.SQ, | |
'540030': vr_1.VR.US, | |
'540031': vr_1.VR.US, | |
'540032': vr_1.VR.SQ, | |
'540033': vr_1.VR.US, | |
'540036': vr_1.VR.IS, | |
'540038': vr_1.VR.IS, | |
'540039': vr_1.VR.CS, | |
'540050': vr_1.VR.US, | |
'540051': vr_1.VR.US, | |
'540052': vr_1.VR.SQ, | |
'540053': vr_1.VR.US, | |
'540060': vr_1.VR.US, | |
'540061': vr_1.VR.US, | |
'540062': vr_1.VR.SQ, | |
'540063': vr_1.VR.SQ, | |
'540070': vr_1.VR.US, | |
'540071': vr_1.VR.US, | |
'540072': vr_1.VR.SQ, | |
'540073': vr_1.VR.DS, | |
'540080': vr_1.VR.US, | |
'540081': vr_1.VR.US, | |
'540090': vr_1.VR.US, | |
'540100': vr_1.VR.US, | |
'540101': vr_1.VR.US, | |
'540200': vr_1.VR.DS, | |
'540202': vr_1.VR.CS, | |
'540210': vr_1.VR.IS, | |
'540211': vr_1.VR.US, | |
'540220': vr_1.VR.SQ, | |
'540222': vr_1.VR.SQ, | |
'540300': vr_1.VR.SQ, | |
'540302': vr_1.VR.SQ, | |
'540304': vr_1.VR.SQ, | |
'540306': vr_1.VR.SQ, | |
'540308': vr_1.VR.US, | |
'540400': vr_1.VR.SH, | |
'540410': vr_1.VR.SQ, | |
'540412': vr_1.VR.SQ, | |
'540414': vr_1.VR.SQ, | |
'540500': vr_1.VR.CS, | |
'540501': vr_1.VR.CS, | |
'541000': vr_1.VR.CS, | |
'541001': vr_1.VR.CS, | |
'541002': vr_1.VR.CS, | |
'541004': vr_1.VR.CS, | |
'541006': vr_1.VR.CS, | |
'541100': vr_1.VR.CS, | |
'541101': vr_1.VR.LO, | |
'541102': vr_1.VR.CS, | |
'541103': vr_1.VR.LO, | |
'541104': vr_1.VR.LO, | |
'541105': vr_1.VR.LO, | |
'541200': vr_1.VR.DS, | |
'541201': vr_1.VR.IS, | |
'541202': vr_1.VR.IS, | |
'541203': vr_1.VR.DS, | |
'541210': vr_1.VR.DS, | |
'541220': vr_1.VR.CS, | |
'541300': vr_1.VR.DS, | |
'541310': vr_1.VR.IS, | |
'541311': vr_1.VR.IS, | |
'541320': vr_1.VR.DS, | |
'541321': vr_1.VR.DS, | |
'541322': vr_1.VR.DS, | |
'541323': vr_1.VR.DS, | |
'541324': vr_1.VR.DS, | |
'541330': vr_1.VR.US, | |
'541400': vr_1.VR.CS, | |
'541401': vr_1.VR.CS, | |
'603000': vr_1.VR.SQ, | |
'603002': vr_1.VR.US, | |
'603004': vr_1.VR.SS, | |
'603006': vr_1.VR.SS, | |
'603008': vr_1.VR.US, | |
'603010': vr_1.VR.LO, | |
'603020': vr_1.VR.UL, | |
'620001': vr_1.VR.CS, | |
'620002': vr_1.VR.SQ, | |
'620003': vr_1.VR.SQ, | |
'620004': vr_1.VR.US, | |
'620005': vr_1.VR.LO, | |
'620006': vr_1.VR.ST, | |
'620007': vr_1.VR.SQ, | |
'620008': vr_1.VR.CS, | |
'620009': vr_1.VR.LO, | |
'62000a': vr_1.VR.SQ, | |
'62000b': vr_1.VR.US, | |
'62000c': vr_1.VR.US, | |
'62000d': vr_1.VR.US, | |
'62000e': vr_1.VR.US, | |
'62000f': vr_1.VR.SQ, | |
'620010': vr_1.VR.CS, | |
'620011': vr_1.VR.SQ, | |
'620012': vr_1.VR.SQ, | |
'620020': vr_1.VR.UT, | |
'620021': vr_1.VR.UI, | |
'640002': vr_1.VR.SQ, | |
'640003': vr_1.VR.UI, | |
'640005': vr_1.VR.SQ, | |
'640007': vr_1.VR.UL, | |
'640008': vr_1.VR.FD, | |
'640009': vr_1.VR.OF, | |
'64000f': vr_1.VR.SQ, | |
'640010': vr_1.VR.SQ, | |
'660001': vr_1.VR.UL, | |
'660002': vr_1.VR.SQ, | |
'660003': vr_1.VR.UL, | |
'660004': vr_1.VR.LT, | |
'660009': vr_1.VR.CS, | |
'66000a': vr_1.VR.FL, | |
'66000b': vr_1.VR.LO, | |
'66000c': vr_1.VR.FL, | |
'66000d': vr_1.VR.CS, | |
'66000e': vr_1.VR.CS, | |
'660010': vr_1.VR.CS, | |
'660011': vr_1.VR.SQ, | |
'660012': vr_1.VR.SQ, | |
'660013': vr_1.VR.SQ, | |
'660015': vr_1.VR.UL, | |
'660016': vr_1.VR.OF, | |
'660017': vr_1.VR.FL, | |
'660018': vr_1.VR.FL, | |
'660019': vr_1.VR.FL, | |
'66001a': vr_1.VR.FL, | |
'66001b': vr_1.VR.FL, | |
'66001c': vr_1.VR.FL, | |
'66001e': vr_1.VR.UL, | |
'66001f': vr_1.VR.US, | |
'660020': vr_1.VR.FL, | |
'660021': vr_1.VR.OF, | |
'660023': vr_1.VR.OW, | |
'660024': vr_1.VR.OW, | |
'660025': vr_1.VR.OW, | |
'660026': vr_1.VR.SQ, | |
'660027': vr_1.VR.SQ, | |
'660028': vr_1.VR.SQ, | |
'660029': vr_1.VR.OW, | |
'66002a': vr_1.VR.UL, | |
'66002b': vr_1.VR.SQ, | |
'66002c': vr_1.VR.UL, | |
'66002d': vr_1.VR.SQ, | |
'66002e': vr_1.VR.SQ, | |
'66002f': vr_1.VR.SQ, | |
'660030': vr_1.VR.SQ, | |
'660031': vr_1.VR.LO, | |
'660032': vr_1.VR.LT, | |
'660034': vr_1.VR.SQ, | |
'660035': vr_1.VR.SQ, | |
'660036': vr_1.VR.LO, | |
'660037': vr_1.VR.FL, | |
'660038': vr_1.VR.FL, | |
'660040': vr_1.VR.OL, | |
'660041': vr_1.VR.OL, | |
'660042': vr_1.VR.OL, | |
'660043': vr_1.VR.OL, | |
'660101': vr_1.VR.SQ, | |
'660102': vr_1.VR.SQ, | |
'660103': vr_1.VR.OW, | |
'660104': vr_1.VR.SQ, | |
'660105': vr_1.VR.UL, | |
'660106': vr_1.VR.LO, | |
'660107': vr_1.VR.UT, | |
'660108': vr_1.VR.SQ, | |
'660121': vr_1.VR.SQ, | |
'660124': vr_1.VR.SQ, | |
'660125': vr_1.VR.OF, | |
'660129': vr_1.VR.OL, | |
'660130': vr_1.VR.SQ, | |
'660132': vr_1.VR.SQ, | |
'660133': vr_1.VR.SQ, | |
'660134': vr_1.VR.SQ, | |
'686210': vr_1.VR.LO, | |
'686221': vr_1.VR.LO, | |
'686222': vr_1.VR.SQ, | |
'686223': vr_1.VR.CS, | |
'686224': vr_1.VR.SQ, | |
'686225': vr_1.VR.SQ, | |
'686226': vr_1.VR.DT, | |
'686230': vr_1.VR.SQ, | |
'686260': vr_1.VR.SQ, | |
'686265': vr_1.VR.SQ, | |
'686270': vr_1.VR.DT, | |
'686280': vr_1.VR.ST, | |
'6862a0': vr_1.VR.SQ, | |
'6862a5': vr_1.VR.FD, | |
'6862c0': vr_1.VR.SQ, | |
'6862d0': vr_1.VR.US, | |
'6862d5': vr_1.VR.LO, | |
'6862e0': vr_1.VR.SQ, | |
'6862f0': vr_1.VR.SQ, | |
'6862f2': vr_1.VR.FD, | |
'686300': vr_1.VR.OB, | |
'686310': vr_1.VR.US, | |
'686320': vr_1.VR.SQ, | |
'686330': vr_1.VR.US, | |
'686340': vr_1.VR.LO, | |
'686345': vr_1.VR.ST, | |
'686346': vr_1.VR.FD, | |
'686347': vr_1.VR.FD, | |
'686350': vr_1.VR.US, | |
'686360': vr_1.VR.SQ, | |
'686380': vr_1.VR.LO, | |
'686390': vr_1.VR.FD, | |
'6863a0': vr_1.VR.SQ, | |
'6863a4': vr_1.VR.SQ, | |
'6863a8': vr_1.VR.SQ, | |
'6863ac': vr_1.VR.SQ, | |
'6863b0': vr_1.VR.SQ, | |
'6863c0': vr_1.VR.US, | |
'6863d0': vr_1.VR.LO, | |
'6863e0': vr_1.VR.SQ, | |
'6863f0': vr_1.VR.US, | |
'686400': vr_1.VR.SQ, | |
'686410': vr_1.VR.US, | |
'686420': vr_1.VR.CS, | |
'686430': vr_1.VR.SQ, | |
'686440': vr_1.VR.US, | |
'686450': vr_1.VR.FD, | |
'686460': vr_1.VR.FD, | |
'686470': vr_1.VR.SQ, | |
'686490': vr_1.VR.FD, | |
'6864a0': vr_1.VR.FD, | |
'6864c0': vr_1.VR.FD, | |
'6864d0': vr_1.VR.FD, | |
'6864f0': vr_1.VR.FD, | |
'686500': vr_1.VR.SQ, | |
'686510': vr_1.VR.SQ, | |
'686520': vr_1.VR.SQ, | |
'686530': vr_1.VR.US, | |
'686540': vr_1.VR.LO, | |
'686545': vr_1.VR.SQ, | |
'686550': vr_1.VR.SQ, | |
'686560': vr_1.VR.FD, | |
'686590': vr_1.VR.FD, | |
'6865a0': vr_1.VR.SQ, | |
'6865b0': vr_1.VR.FD, | |
'6865d0': vr_1.VR.FD, | |
'6865e0': vr_1.VR.SQ, | |
'6865f0': vr_1.VR.FD, | |
'686610': vr_1.VR.FD, | |
'686620': vr_1.VR.FD, | |
'700001': vr_1.VR.SQ, | |
'700002': vr_1.VR.CS, | |
'700003': vr_1.VR.CS, | |
'700004': vr_1.VR.CS, | |
'700005': vr_1.VR.CS, | |
'700006': vr_1.VR.ST, | |
'700008': vr_1.VR.SQ, | |
'700009': vr_1.VR.SQ, | |
'700010': vr_1.VR.FL, | |
'700011': vr_1.VR.FL, | |
'700012': vr_1.VR.CS, | |
'700014': vr_1.VR.FL, | |
'700015': vr_1.VR.CS, | |
'700020': vr_1.VR.US, | |
'700021': vr_1.VR.US, | |
'700022': vr_1.VR.FL, | |
'700023': vr_1.VR.CS, | |
'700024': vr_1.VR.CS, | |
'700040': vr_1.VR.IS, | |
'700041': vr_1.VR.CS, | |
'700042': vr_1.VR.US, | |
'700050': vr_1.VR.US, | |
'700051': vr_1.VR.US, | |
'700052': vr_1.VR.SL, | |
'700053': vr_1.VR.SL, | |
'70005a': vr_1.VR.SQ, | |
'700060': vr_1.VR.SQ, | |
'700062': vr_1.VR.IS, | |
'700066': vr_1.VR.US, | |
'700067': vr_1.VR.US, | |
'700068': vr_1.VR.LO, | |
'700080': vr_1.VR.CS, | |
'700081': vr_1.VR.LO, | |
'700082': vr_1.VR.DA, | |
'700083': vr_1.VR.TM, | |
'700084': vr_1.VR.PN, | |
'700086': vr_1.VR.SQ, | |
'700087': vr_1.VR.SQ, | |
'700100': vr_1.VR.CS, | |
'700101': vr_1.VR.DS, | |
'700102': vr_1.VR.IS, | |
'700103': vr_1.VR.FL, | |
'700207': vr_1.VR.LO, | |
'700208': vr_1.VR.ST, | |
'700209': vr_1.VR.SQ, | |
'700226': vr_1.VR.UL, | |
'700227': vr_1.VR.LO, | |
'700228': vr_1.VR.CS, | |
'700229': vr_1.VR.LO, | |
'700230': vr_1.VR.FD, | |
'700231': vr_1.VR.SQ, | |
'700232': vr_1.VR.SQ, | |
'700233': vr_1.VR.SQ, | |
'700234': vr_1.VR.SQ, | |
'700241': vr_1.VR.US, | |
'700242': vr_1.VR.CS, | |
'700243': vr_1.VR.CS, | |
'700244': vr_1.VR.CS, | |
'700245': vr_1.VR.FL, | |
'700246': vr_1.VR.FL, | |
'700247': vr_1.VR.US, | |
'700248': vr_1.VR.CS, | |
'700249': vr_1.VR.CS, | |
'700250': vr_1.VR.CS, | |
'700251': vr_1.VR.US, | |
'700252': vr_1.VR.US, | |
'700253': vr_1.VR.FL, | |
'700254': vr_1.VR.CS, | |
'700255': vr_1.VR.UL, | |
'700256': vr_1.VR.OB, | |
'700257': vr_1.VR.CS, | |
'700258': vr_1.VR.FL, | |
'700261': vr_1.VR.FL, | |
'700262': vr_1.VR.FL, | |
'700273': vr_1.VR.FL, | |
'700274': vr_1.VR.CS, | |
'700278': vr_1.VR.CS, | |
'700279': vr_1.VR.CS, | |
'700282': vr_1.VR.CS, | |
'700284': vr_1.VR.FL, | |
'700285': vr_1.VR.FL, | |
'700287': vr_1.VR.SQ, | |
'700288': vr_1.VR.FL, | |
'700289': vr_1.VR.SH, | |
'700294': vr_1.VR.CS, | |
'700295': vr_1.VR.UL, | |
'700306': vr_1.VR.CS, | |
'700308': vr_1.VR.SQ, | |
'700309': vr_1.VR.SQ, | |
'70030a': vr_1.VR.SQ, | |
'70030b': vr_1.VR.FD, | |
'70030c': vr_1.VR.CS, | |
'70030d': vr_1.VR.SQ, | |
'70030f': vr_1.VR.ST, | |
'700310': vr_1.VR.SH, | |
'700311': vr_1.VR.SQ, | |
'700312': vr_1.VR.FD, | |
'700314': vr_1.VR.SQ, | |
'700318': vr_1.VR.SQ, | |
'70031a': vr_1.VR.UI, | |
'70031b': vr_1.VR.UI, | |
'70031c': vr_1.VR.SQ, | |
'70031e': vr_1.VR.SQ, | |
'70031f': vr_1.VR.SQ, | |
'700401': vr_1.VR.US, | |
'700402': vr_1.VR.SQ, | |
'700403': vr_1.VR.FL, | |
'700404': vr_1.VR.SQ, | |
'700405': vr_1.VR.CS, | |
'701101': vr_1.VR.UI, | |
'701102': vr_1.VR.UI, | |
'701103': vr_1.VR.US, | |
'701104': vr_1.VR.SQ, | |
'701201': vr_1.VR.SQ, | |
'701202': vr_1.VR.CS, | |
'701203': vr_1.VR.US, | |
'701204': vr_1.VR.CS, | |
'701205': vr_1.VR.US, | |
'701206': vr_1.VR.CS, | |
'701207': vr_1.VR.US, | |
'701208': vr_1.VR.CS, | |
'701209': vr_1.VR.UI, | |
'70120a': vr_1.VR.SQ, | |
'70120b': vr_1.VR.CS, | |
'70120c': vr_1.VR.US, | |
'70120d': vr_1.VR.CS, | |
'701301': vr_1.VR.SQ, | |
'701302': vr_1.VR.CS, | |
'701303': vr_1.VR.FD, | |
'701304': vr_1.VR.SQ, | |
'701305': vr_1.VR.FD, | |
'701306': vr_1.VR.FD, | |
'701309': vr_1.VR.US, | |
'701501': vr_1.VR.CS, | |
'701502': vr_1.VR.CS, | |
'701503': vr_1.VR.FD, | |
'701505': vr_1.VR.FD, | |
'701507': vr_1.VR.FD, | |
'701508': vr_1.VR.FD, | |
'70150c': vr_1.VR.UL, | |
'70150d': vr_1.VR.OD, | |
'701511': vr_1.VR.FD, | |
'701512': vr_1.VR.FD, | |
'701602': vr_1.VR.CS, | |
'701603': vr_1.VR.FD, | |
'701604': vr_1.VR.FD, | |
'701605': vr_1.VR.FD, | |
'701606': vr_1.VR.FD, | |
'701607': vr_1.VR.FD, | |
'701701': vr_1.VR.CS, | |
'701702': vr_1.VR.FD, | |
'701703': vr_1.VR.FD, | |
'701704': vr_1.VR.FD, | |
'701705': vr_1.VR.FD, | |
'701706': vr_1.VR.FD, | |
'701801': vr_1.VR.SQ, | |
'701802': vr_1.VR.CS, | |
'701803': vr_1.VR.SQ, | |
'701804': vr_1.VR.US, | |
'701805': vr_1.VR.SQ, | |
'701806': vr_1.VR.SQ, | |
'701807': vr_1.VR.US, | |
'701808': vr_1.VR.OB, | |
'701901': vr_1.VR.SQ, | |
'701903': vr_1.VR.SQ, | |
'701904': vr_1.VR.UI, | |
'701905': vr_1.VR.SQ, | |
'701907': vr_1.VR.CS, | |
'701a01': vr_1.VR.CS, | |
'701a03': vr_1.VR.FD, | |
'701a04': vr_1.VR.SQ, | |
'701a05': vr_1.VR.FD, | |
'701a06': vr_1.VR.FD, | |
'701a07': vr_1.VR.OD, | |
'701a08': vr_1.VR.SQ, | |
'701a09': vr_1.VR.LO, | |
'701b01': vr_1.VR.SQ, | |
'701b02': vr_1.VR.US, | |
'701b03': vr_1.VR.SQ, | |
'701b04': vr_1.VR.SQ, | |
'701b06': vr_1.VR.CS, | |
'701b07': vr_1.VR.CS, | |
'701b08': vr_1.VR.CS, | |
'701b11': vr_1.VR.SQ, | |
'701b12': vr_1.VR.SQ, | |
'701b13': vr_1.VR.CS, | |
'701b14': vr_1.VR.FD, | |
'720002': vr_1.VR.SH, | |
'720004': vr_1.VR.LO, | |
'720006': vr_1.VR.CS, | |
'720008': vr_1.VR.LO, | |
'72000a': vr_1.VR.DT, | |
'72000c': vr_1.VR.SQ, | |
'72000e': vr_1.VR.SQ, | |
'720010': vr_1.VR.LO, | |
'720012': vr_1.VR.SQ, | |
'720014': vr_1.VR.US, | |
'720020': vr_1.VR.SQ, | |
'720022': vr_1.VR.SQ, | |
'720024': vr_1.VR.CS, | |
'720026': vr_1.VR.AT, | |
'720028': vr_1.VR.US, | |
'720030': vr_1.VR.SQ, | |
'720032': vr_1.VR.US, | |
'720034': vr_1.VR.CS, | |
'720038': vr_1.VR.US, | |
'72003a': vr_1.VR.CS, | |
'72003c': vr_1.VR.SS, | |
'72003e': vr_1.VR.SQ, | |
'720040': vr_1.VR.LO, | |
'720050': vr_1.VR.CS, | |
'720052': vr_1.VR.AT, | |
'720054': vr_1.VR.LO, | |
'720056': vr_1.VR.LO, | |
'72005e': vr_1.VR.AE, | |
'72005f': vr_1.VR.AS, | |
'720060': vr_1.VR.AT, | |
'720061': vr_1.VR.DA, | |
'720062': vr_1.VR.CS, | |
'720063': vr_1.VR.DT, | |
'720064': vr_1.VR.IS, | |
'720065': vr_1.VR.OB, | |
'720066': vr_1.VR.LO, | |
'720067': vr_1.VR.OF, | |
'720068': vr_1.VR.LT, | |
'720069': vr_1.VR.OW, | |
'72006a': vr_1.VR.PN, | |
'72006b': vr_1.VR.TM, | |
'72006c': vr_1.VR.SH, | |
'72006d': vr_1.VR.UN, | |
'72006e': vr_1.VR.ST, | |
'72006f': vr_1.VR.UC, | |
'720070': vr_1.VR.UT, | |
'720071': vr_1.VR.UR, | |
'720072': vr_1.VR.DS, | |
'720073': vr_1.VR.OD, | |
'720074': vr_1.VR.FD, | |
'720075': vr_1.VR.OL, | |
'720076': vr_1.VR.FL, | |
'720078': vr_1.VR.UL, | |
'72007a': vr_1.VR.US, | |
'72007c': vr_1.VR.SL, | |
'72007e': vr_1.VR.SS, | |
'72007f': vr_1.VR.UI, | |
'720080': vr_1.VR.SQ, | |
'720100': vr_1.VR.US, | |
'720102': vr_1.VR.SQ, | |
'720104': vr_1.VR.US, | |
'720106': vr_1.VR.US, | |
'720108': vr_1.VR.FD, | |
'72010a': vr_1.VR.US, | |
'72010c': vr_1.VR.US, | |
'72010e': vr_1.VR.US, | |
'720200': vr_1.VR.SQ, | |
'720202': vr_1.VR.US, | |
'720203': vr_1.VR.LO, | |
'720204': vr_1.VR.US, | |
'720206': vr_1.VR.LO, | |
'720208': vr_1.VR.CS, | |
'720210': vr_1.VR.SQ, | |
'720212': vr_1.VR.US, | |
'720214': vr_1.VR.SQ, | |
'720216': vr_1.VR.US, | |
'720218': vr_1.VR.US, | |
'720300': vr_1.VR.SQ, | |
'720302': vr_1.VR.US, | |
'720304': vr_1.VR.CS, | |
'720306': vr_1.VR.US, | |
'720308': vr_1.VR.US, | |
'720310': vr_1.VR.CS, | |
'720312': vr_1.VR.CS, | |
'720314': vr_1.VR.US, | |
'720316': vr_1.VR.CS, | |
'720318': vr_1.VR.US, | |
'720320': vr_1.VR.US, | |
'720330': vr_1.VR.FD, | |
'720400': vr_1.VR.SQ, | |
'720402': vr_1.VR.CS, | |
'720404': vr_1.VR.CS, | |
'720406': vr_1.VR.CS, | |
'720420': vr_1.VR.US, | |
'720421': vr_1.VR.US, | |
'720422': vr_1.VR.SQ, | |
'720424': vr_1.VR.SQ, | |
'720427': vr_1.VR.SQ, | |
'720430': vr_1.VR.SQ, | |
'720432': vr_1.VR.US, | |
'720434': vr_1.VR.CS, | |
'720500': vr_1.VR.CS, | |
'720510': vr_1.VR.CS, | |
'720512': vr_1.VR.FD, | |
'720514': vr_1.VR.FD, | |
'720516': vr_1.VR.CS, | |
'720520': vr_1.VR.CS, | |
'720600': vr_1.VR.SQ, | |
'720602': vr_1.VR.CS, | |
'720604': vr_1.VR.CS, | |
'720700': vr_1.VR.CS, | |
'720702': vr_1.VR.CS, | |
'720704': vr_1.VR.CS, | |
'720705': vr_1.VR.SQ, | |
'720706': vr_1.VR.CS, | |
'720710': vr_1.VR.CS, | |
'720712': vr_1.VR.CS, | |
'720714': vr_1.VR.CS, | |
'720716': vr_1.VR.CS, | |
'720717': vr_1.VR.CS, | |
'720718': vr_1.VR.CS, | |
'740120': vr_1.VR.FD, | |
'740121': vr_1.VR.FD, | |
'741000': vr_1.VR.CS, | |
'741002': vr_1.VR.SQ, | |
'741004': vr_1.VR.DS, | |
'741006': vr_1.VR.ST, | |
'741007': vr_1.VR.SQ, | |
'741008': vr_1.VR.SQ, | |
'74100a': vr_1.VR.UR, | |
'74100c': vr_1.VR.LO, | |
'74100e': vr_1.VR.SQ, | |
'741020': vr_1.VR.SQ, | |
'741022': vr_1.VR.CS, | |
'741024': vr_1.VR.IS, | |
'741025': vr_1.VR.CS, | |
'741026': vr_1.VR.FD, | |
'741027': vr_1.VR.FD, | |
'741028': vr_1.VR.FD, | |
'74102a': vr_1.VR.FD, | |
'74102b': vr_1.VR.FD, | |
'74102c': vr_1.VR.FD, | |
'74102d': vr_1.VR.FD, | |
'741030': vr_1.VR.SQ, | |
'741032': vr_1.VR.CS, | |
'741034': vr_1.VR.CS, | |
'741036': vr_1.VR.CS, | |
'741038': vr_1.VR.DS, | |
'74103a': vr_1.VR.DS, | |
'741040': vr_1.VR.SQ, | |
'741042': vr_1.VR.SQ, | |
'741044': vr_1.VR.SQ, | |
'741046': vr_1.VR.SQ, | |
'741048': vr_1.VR.SQ, | |
'74104a': vr_1.VR.SQ, | |
'74104c': vr_1.VR.SQ, | |
'74104e': vr_1.VR.SQ, | |
'741050': vr_1.VR.SQ, | |
'741052': vr_1.VR.AT, | |
'741054': vr_1.VR.UL, | |
'741056': vr_1.VR.LO, | |
'741057': vr_1.VR.IS, | |
'741200': vr_1.VR.CS, | |
'741202': vr_1.VR.LO, | |
'741204': vr_1.VR.LO, | |
'741210': vr_1.VR.SQ, | |
'741212': vr_1.VR.SQ, | |
'741216': vr_1.VR.SQ, | |
'741220': vr_1.VR.SQ, | |
'741222': vr_1.VR.LO, | |
'741224': vr_1.VR.SQ, | |
'741230': vr_1.VR.LO, | |
'741234': vr_1.VR.AE, | |
'741236': vr_1.VR.AE, | |
'741238': vr_1.VR.LT, | |
'741242': vr_1.VR.CS, | |
'741244': vr_1.VR.CS, | |
'741246': vr_1.VR.CS, | |
'741324': vr_1.VR.UL, | |
'741338': vr_1.VR.FD, | |
'74133a': vr_1.VR.FD, | |
'741401': vr_1.VR.SQ, | |
'741402': vr_1.VR.DS, | |
'741403': vr_1.VR.DS, | |
'741404': vr_1.VR.IS, | |
'741405': vr_1.VR.SQ, | |
'741406': vr_1.VR.IS, | |
'741407': vr_1.VR.DS, | |
'741408': vr_1.VR.DS, | |
'741409': vr_1.VR.SQ, | |
'74140a': vr_1.VR.CS, | |
'74140b': vr_1.VR.LO, | |
'74140c': vr_1.VR.IS, | |
'74140d': vr_1.VR.SQ, | |
'74140e': vr_1.VR.SQ, | |
'760001': vr_1.VR.LO, | |
'760003': vr_1.VR.LO, | |
'760006': vr_1.VR.LO, | |
'760008': vr_1.VR.SQ, | |
'76000a': vr_1.VR.CS, | |
'76000c': vr_1.VR.SQ, | |
'76000e': vr_1.VR.SQ, | |
'760010': vr_1.VR.SQ, | |
'760020': vr_1.VR.SQ, | |
'760030': vr_1.VR.LO, | |
'760032': vr_1.VR.SQ, | |
'760034': vr_1.VR.SQ, | |
'760036': vr_1.VR.CS, | |
'760038': vr_1.VR.CS, | |
'760040': vr_1.VR.SQ, | |
'760055': vr_1.VR.US, | |
'760060': vr_1.VR.SQ, | |
'760070': vr_1.VR.US, | |
'760080': vr_1.VR.US, | |
'760090': vr_1.VR.US, | |
'7600a0': vr_1.VR.US, | |
'7600b0': vr_1.VR.US, | |
'7600c0': vr_1.VR.US, | |
'780001': vr_1.VR.LO, | |
'780010': vr_1.VR.ST, | |
'780020': vr_1.VR.LO, | |
'780024': vr_1.VR.LO, | |
'780026': vr_1.VR.SQ, | |
'780028': vr_1.VR.SQ, | |
'78002a': vr_1.VR.SQ, | |
'78002e': vr_1.VR.US, | |
'780050': vr_1.VR.FD, | |
'780060': vr_1.VR.FD, | |
'780070': vr_1.VR.SQ, | |
'780090': vr_1.VR.FD, | |
'7800a0': vr_1.VR.FD, | |
'7800b0': vr_1.VR.SQ, | |
'7800b2': vr_1.VR.LO, | |
'7800b4': vr_1.VR.SQ, | |
'7800b6': vr_1.VR.US, | |
'7800b8': vr_1.VR.US, | |
'800001': vr_1.VR.SQ, | |
'800002': vr_1.VR.SQ, | |
'800003': vr_1.VR.SQ, | |
'800004': vr_1.VR.FD, | |
'800005': vr_1.VR.FD, | |
'800006': vr_1.VR.US, | |
'800007': vr_1.VR.US, | |
'800008': vr_1.VR.SQ, | |
'800009': vr_1.VR.SH, | |
'800010': vr_1.VR.OF, | |
'800011': vr_1.VR.OF, | |
'800012': vr_1.VR.SQ, | |
'800013': vr_1.VR.SQ, | |
'820001': vr_1.VR.CS, | |
'820003': vr_1.VR.UT, | |
'820004': vr_1.VR.SQ, | |
'820005': vr_1.VR.SQ, | |
'820006': vr_1.VR.UL, | |
'820007': vr_1.VR.SQ, | |
'820008': vr_1.VR.CS, | |
'82000a': vr_1.VR.UT, | |
'82000c': vr_1.VR.SQ, | |
'820010': vr_1.VR.SQ, | |
'820016': vr_1.VR.LO, | |
'820017': vr_1.VR.SQ, | |
'820018': vr_1.VR.LO, | |
'820019': vr_1.VR.LO, | |
'820021': vr_1.VR.SQ, | |
'820022': vr_1.VR.SQ, | |
'820023': vr_1.VR.LO, | |
'820032': vr_1.VR.CS, | |
'820033': vr_1.VR.UT, | |
'820034': vr_1.VR.SQ, | |
'820035': vr_1.VR.SQ, | |
'820036': vr_1.VR.CS, | |
'820037': vr_1.VR.UT, | |
'820038': vr_1.VR.CS, | |
'880130': vr_1.VR.SH, | |
'880140': vr_1.VR.UI, | |
'880200': vr_1.VR.SQ, | |
'880904': vr_1.VR.LO, | |
'880906': vr_1.VR.ST, | |
'880910': vr_1.VR.LO, | |
'880912': vr_1.VR.LO, | |
'1000410': vr_1.VR.CS, | |
'1000420': vr_1.VR.DT, | |
'1000424': vr_1.VR.LT, | |
'1000426': vr_1.VR.LO, | |
'4000005': vr_1.VR.US, | |
'4000010': vr_1.VR.UI, | |
'4000015': vr_1.VR.CS, | |
'4000020': vr_1.VR.AT, | |
'4000100': vr_1.VR.UI, | |
'4000105': vr_1.VR.DT, | |
'4000110': vr_1.VR.CS, | |
'4000115': vr_1.VR.OB, | |
'4000120': vr_1.VR.OB, | |
'4000305': vr_1.VR.CS, | |
'4000310': vr_1.VR.OB, | |
'4000401': vr_1.VR.SQ, | |
'4000402': vr_1.VR.SQ, | |
'4000403': vr_1.VR.SQ, | |
'4000404': vr_1.VR.OB, | |
'4000500': vr_1.VR.SQ, | |
'4000510': vr_1.VR.UI, | |
'4000520': vr_1.VR.OB, | |
'4000550': vr_1.VR.SQ, | |
'4000561': vr_1.VR.SQ, | |
'4000562': vr_1.VR.DT, | |
'4000563': vr_1.VR.LO, | |
'4000564': vr_1.VR.LO, | |
'4000565': vr_1.VR.CS, | |
'10000000': vr_1.VR.US, | |
'10000001': vr_1.VR.US, | |
'10000002': vr_1.VR.US, | |
'10000003': vr_1.VR.US, | |
'10000004': vr_1.VR.US, | |
'10000005': vr_1.VR.US, | |
'10100000': vr_1.VR.US, | |
'20000010': vr_1.VR.IS, | |
'2000001e': vr_1.VR.SQ, | |
'20000020': vr_1.VR.CS, | |
'20000030': vr_1.VR.CS, | |
'20000040': vr_1.VR.CS, | |
'20000050': vr_1.VR.LO, | |
'20000060': vr_1.VR.IS, | |
'20000061': vr_1.VR.IS, | |
'20000062': vr_1.VR.CS, | |
'20000063': vr_1.VR.CS, | |
'20000065': vr_1.VR.CS, | |
'20000067': vr_1.VR.CS, | |
'20000069': vr_1.VR.CS, | |
'2000006a': vr_1.VR.CS, | |
'200000a0': vr_1.VR.US, | |
'200000a1': vr_1.VR.US, | |
'200000a2': vr_1.VR.SQ, | |
'200000a4': vr_1.VR.SQ, | |
'200000a8': vr_1.VR.SQ, | |
'20000500': vr_1.VR.SQ, | |
'20000510': vr_1.VR.SQ, | |
'20100010': vr_1.VR.ST, | |
'20100030': vr_1.VR.CS, | |
'20100040': vr_1.VR.CS, | |
'20100050': vr_1.VR.CS, | |
'20100052': vr_1.VR.CS, | |
'20100054': vr_1.VR.CS, | |
'20100060': vr_1.VR.CS, | |
'20100080': vr_1.VR.CS, | |
'201000a6': vr_1.VR.CS, | |
'201000a7': vr_1.VR.CS, | |
'201000a8': vr_1.VR.CS, | |
'201000a9': vr_1.VR.CS, | |
'20100100': vr_1.VR.CS, | |
'20100110': vr_1.VR.CS, | |
'20100120': vr_1.VR.US, | |
'20100130': vr_1.VR.US, | |
'20100140': vr_1.VR.CS, | |
'20100150': vr_1.VR.ST, | |
'20100152': vr_1.VR.LT, | |
'20100154': vr_1.VR.IS, | |
'2010015e': vr_1.VR.US, | |
'20100160': vr_1.VR.US, | |
'20100376': vr_1.VR.DS, | |
'20100500': vr_1.VR.SQ, | |
'20100510': vr_1.VR.SQ, | |
'20100520': vr_1.VR.SQ, | |
'20200010': vr_1.VR.US, | |
'20200020': vr_1.VR.CS, | |
'20200030': vr_1.VR.DS, | |
'20200040': vr_1.VR.CS, | |
'20200050': vr_1.VR.CS, | |
'202000a0': vr_1.VR.CS, | |
'202000a2': vr_1.VR.CS, | |
'20200110': vr_1.VR.SQ, | |
'20200111': vr_1.VR.SQ, | |
'20200130': vr_1.VR.SQ, | |
'20200140': vr_1.VR.SQ, | |
'20300010': vr_1.VR.US, | |
'20300020': vr_1.VR.LO, | |
'20400010': vr_1.VR.SQ, | |
'20400011': vr_1.VR.US, | |
'20400020': vr_1.VR.SQ, | |
'20400060': vr_1.VR.CS, | |
'20400070': vr_1.VR.CS, | |
'20400072': vr_1.VR.CS, | |
'20400074': vr_1.VR.US, | |
'20400080': vr_1.VR.CS, | |
'20400082': vr_1.VR.CS, | |
'20400090': vr_1.VR.CS, | |
'20400100': vr_1.VR.CS, | |
'20400500': vr_1.VR.SQ, | |
'20500010': vr_1.VR.SQ, | |
'20500020': vr_1.VR.CS, | |
'20500500': vr_1.VR.SQ, | |
'21000010': vr_1.VR.SH, | |
'21000020': vr_1.VR.CS, | |
'21000030': vr_1.VR.CS, | |
'21000040': vr_1.VR.DA, | |
'21000050': vr_1.VR.TM, | |
'21000070': vr_1.VR.AE, | |
'21000140': vr_1.VR.AE, | |
'21000160': vr_1.VR.SH, | |
'21000170': vr_1.VR.IS, | |
'21000500': vr_1.VR.SQ, | |
'21100010': vr_1.VR.CS, | |
'21100020': vr_1.VR.CS, | |
'21100030': vr_1.VR.LO, | |
'21100099': vr_1.VR.SH, | |
'21200010': vr_1.VR.CS, | |
'21200050': vr_1.VR.SQ, | |
'21200070': vr_1.VR.SQ, | |
'21300010': vr_1.VR.SQ, | |
'21300015': vr_1.VR.SQ, | |
'21300030': vr_1.VR.SQ, | |
'21300040': vr_1.VR.SQ, | |
'21300050': vr_1.VR.SQ, | |
'21300060': vr_1.VR.SQ, | |
'21300080': vr_1.VR.SQ, | |
'213000a0': vr_1.VR.SQ, | |
'213000c0': vr_1.VR.SQ, | |
'22000001': vr_1.VR.CS, | |
'22000002': vr_1.VR.UT, | |
'22000003': vr_1.VR.CS, | |
'22000004': vr_1.VR.LT, | |
'22000005': vr_1.VR.LT, | |
'22000006': vr_1.VR.CS, | |
'22000007': vr_1.VR.CS, | |
'22000008': vr_1.VR.CS, | |
'22000009': vr_1.VR.CS, | |
'2200000a': vr_1.VR.CS, | |
'2200000b': vr_1.VR.US, | |
'2200000c': vr_1.VR.LO, | |
'2200000d': vr_1.VR.SQ, | |
'2200000e': vr_1.VR.AT, | |
'2200000f': vr_1.VR.CS, | |
'22000020': vr_1.VR.CS, | |
'30020002': vr_1.VR.SH, | |
'30020003': vr_1.VR.LO, | |
'30020004': vr_1.VR.ST, | |
'3002000a': vr_1.VR.CS, | |
'3002000c': vr_1.VR.CS, | |
'3002000d': vr_1.VR.DS, | |
'3002000e': vr_1.VR.DS, | |
'30020010': vr_1.VR.DS, | |
'30020011': vr_1.VR.DS, | |
'30020012': vr_1.VR.DS, | |
'30020020': vr_1.VR.SH, | |
'30020022': vr_1.VR.DS, | |
'30020024': vr_1.VR.DS, | |
'30020026': vr_1.VR.DS, | |
'30020028': vr_1.VR.DS, | |
'30020029': vr_1.VR.IS, | |
'30020030': vr_1.VR.SQ, | |
'30020032': vr_1.VR.DS, | |
'30020034': vr_1.VR.DS, | |
'30020040': vr_1.VR.SQ, | |
'30020041': vr_1.VR.CS, | |
'30020042': vr_1.VR.DS, | |
'30020050': vr_1.VR.SQ, | |
'30020051': vr_1.VR.CS, | |
'30020052': vr_1.VR.SH, | |
'30040001': vr_1.VR.CS, | |
'30040002': vr_1.VR.CS, | |
'30040004': vr_1.VR.CS, | |
'30040005': vr_1.VR.CS, | |
'30040006': vr_1.VR.LO, | |
'30040008': vr_1.VR.DS, | |
'3004000a': vr_1.VR.CS, | |
'3004000c': vr_1.VR.DS, | |
'3004000e': vr_1.VR.DS, | |
'30040010': vr_1.VR.SQ, | |
'30040012': vr_1.VR.DS, | |
'30040014': vr_1.VR.CS, | |
'30040040': vr_1.VR.DS, | |
'30040042': vr_1.VR.DS, | |
'30040050': vr_1.VR.SQ, | |
'30040052': vr_1.VR.DS, | |
'30040054': vr_1.VR.CS, | |
'30040056': vr_1.VR.IS, | |
'30040058': vr_1.VR.DS, | |
'30040060': vr_1.VR.SQ, | |
'30040062': vr_1.VR.CS, | |
'30040070': vr_1.VR.DS, | |
'30040072': vr_1.VR.DS, | |
'30040074': vr_1.VR.DS, | |
'30060002': vr_1.VR.SH, | |
'30060004': vr_1.VR.LO, | |
'30060006': vr_1.VR.ST, | |
'30060008': vr_1.VR.DA, | |
'30060009': vr_1.VR.TM, | |
'30060010': vr_1.VR.SQ, | |
'30060012': vr_1.VR.SQ, | |
'30060014': vr_1.VR.SQ, | |
'30060016': vr_1.VR.SQ, | |
'30060018': vr_1.VR.SQ, | |
'30060020': vr_1.VR.SQ, | |
'30060022': vr_1.VR.IS, | |
'30060024': vr_1.VR.UI, | |
'30060026': vr_1.VR.LO, | |
'30060028': vr_1.VR.ST, | |
'3006002a': vr_1.VR.IS, | |
'3006002c': vr_1.VR.DS, | |
'30060030': vr_1.VR.SQ, | |
'30060033': vr_1.VR.CS, | |
'30060036': vr_1.VR.CS, | |
'30060038': vr_1.VR.LO, | |
'30060039': vr_1.VR.SQ, | |
'30060040': vr_1.VR.SQ, | |
'30060042': vr_1.VR.CS, | |
'30060044': vr_1.VR.DS, | |
'30060045': vr_1.VR.DS, | |
'30060046': vr_1.VR.IS, | |
'30060048': vr_1.VR.IS, | |
'30060049': vr_1.VR.IS, | |
'30060050': vr_1.VR.DS, | |
'30060080': vr_1.VR.SQ, | |
'30060082': vr_1.VR.IS, | |
'30060084': vr_1.VR.IS, | |
'30060085': vr_1.VR.SH, | |
'30060086': vr_1.VR.SQ, | |
'30060088': vr_1.VR.ST, | |
'300600a0': vr_1.VR.SQ, | |
'300600a4': vr_1.VR.CS, | |
'300600a6': vr_1.VR.PN, | |
'300600b0': vr_1.VR.SQ, | |
'300600b2': vr_1.VR.CS, | |
'300600b4': vr_1.VR.DS, | |
'300600b6': vr_1.VR.SQ, | |
'300600b7': vr_1.VR.US, | |
'300600b8': vr_1.VR.FL, | |
'300600b9': vr_1.VR.SQ, | |
'300600c0': vr_1.VR.SQ, | |
'300600c2': vr_1.VR.UI, | |
'300600c4': vr_1.VR.CS, | |
'300600c6': vr_1.VR.DS, | |
'300600c8': vr_1.VR.LO, | |
'30080010': vr_1.VR.SQ, | |
'30080012': vr_1.VR.ST, | |
'30080014': vr_1.VR.CS, | |
'30080016': vr_1.VR.DS, | |
'30080020': vr_1.VR.SQ, | |
'30080021': vr_1.VR.SQ, | |
'30080022': vr_1.VR.IS, | |
'30080024': vr_1.VR.DA, | |
'30080025': vr_1.VR.TM, | |
'3008002a': vr_1.VR.CS, | |
'3008002b': vr_1.VR.SH, | |
'3008002c': vr_1.VR.CS, | |
'30080030': vr_1.VR.SQ, | |
'30080032': vr_1.VR.DS, | |
'30080033': vr_1.VR.DS, | |
'30080036': vr_1.VR.DS, | |
'30080037': vr_1.VR.DS, | |
'3008003a': vr_1.VR.DS, | |
'3008003b': vr_1.VR.DS, | |
'30080040': vr_1.VR.SQ, | |
'30080041': vr_1.VR.SQ, | |
'30080042': vr_1.VR.DS, | |
'30080044': vr_1.VR.DS, | |
'30080045': vr_1.VR.FL, | |
'30080046': vr_1.VR.FL, | |
'30080047': vr_1.VR.FL, | |
'30080048': vr_1.VR.DS, | |
'30080050': vr_1.VR.SQ, | |
'30080052': vr_1.VR.DS, | |
'30080054': vr_1.VR.DA, | |
'30080056': vr_1.VR.DA, | |
'3008005a': vr_1.VR.IS, | |
'30080060': vr_1.VR.SQ, | |
'30080061': vr_1.VR.AT, | |
'30080062': vr_1.VR.AT, | |
'30080063': vr_1.VR.IS, | |
'30080064': vr_1.VR.IS, | |
'30080065': vr_1.VR.AT, | |
'30080066': vr_1.VR.ST, | |
'30080067': vr_1.VR.US, | |
'30080068': vr_1.VR.SQ, | |
'3008006a': vr_1.VR.FL, | |
'30080070': vr_1.VR.SQ, | |
'30080072': vr_1.VR.IS, | |
'30080074': vr_1.VR.ST, | |
'30080076': vr_1.VR.DS, | |
'30080078': vr_1.VR.DS, | |
'3008007a': vr_1.VR.DS, | |
'30080080': vr_1.VR.SQ, | |
'30080082': vr_1.VR.IS, | |
'30080090': vr_1.VR.SQ, | |
'30080092': vr_1.VR.IS, | |
'300800a0': vr_1.VR.SQ, | |
'300800b0': vr_1.VR.SQ, | |
'300800c0': vr_1.VR.SQ, | |
'300800d0': vr_1.VR.SQ, | |
'300800e0': vr_1.VR.SQ, | |
'300800f0': vr_1.VR.SQ, | |
'300800f2': vr_1.VR.SQ, | |
'300800f4': vr_1.VR.SQ, | |
'300800f6': vr_1.VR.SQ, | |
'30080100': vr_1.VR.SQ, | |
'30080105': vr_1.VR.LO, | |
'30080110': vr_1.VR.SQ, | |
'30080116': vr_1.VR.CS, | |
'30080120': vr_1.VR.SQ, | |
'30080122': vr_1.VR.IS, | |
'30080130': vr_1.VR.SQ, | |
'30080132': vr_1.VR.DS, | |
'30080134': vr_1.VR.DS, | |
'30080136': vr_1.VR.IS, | |
'30080138': vr_1.VR.IS, | |
'3008013a': vr_1.VR.DS, | |
'3008013c': vr_1.VR.DS, | |
'30080140': vr_1.VR.SQ, | |
'30080142': vr_1.VR.IS, | |
'30080150': vr_1.VR.SQ, | |
'30080152': vr_1.VR.IS, | |
'30080160': vr_1.VR.SQ, | |
'30080162': vr_1.VR.DA, | |
'30080164': vr_1.VR.TM, | |
'30080166': vr_1.VR.DA, | |
'30080168': vr_1.VR.TM, | |
'30080171': vr_1.VR.SQ, | |
'30080172': vr_1.VR.US, | |
'30080173': vr_1.VR.SQ, | |
'30080200': vr_1.VR.CS, | |
'30080202': vr_1.VR.ST, | |
'30080220': vr_1.VR.SQ, | |
'30080223': vr_1.VR.IS, | |
'30080224': vr_1.VR.CS, | |
'30080230': vr_1.VR.CS, | |
'30080240': vr_1.VR.SQ, | |
'30080250': vr_1.VR.DA, | |
'30080251': vr_1.VR.TM, | |
'300a0002': vr_1.VR.SH, | |
'300a0003': vr_1.VR.LO, | |
'300a0004': vr_1.VR.ST, | |
'300a0006': vr_1.VR.DA, | |
'300a0007': vr_1.VR.TM, | |
'300a0009': vr_1.VR.LO, | |
'300a000a': vr_1.VR.CS, | |
'300a000b': vr_1.VR.LO, | |
'300a000c': vr_1.VR.CS, | |
'300a000e': vr_1.VR.ST, | |
'300a0010': vr_1.VR.SQ, | |
'300a0012': vr_1.VR.IS, | |
'300a0013': vr_1.VR.UI, | |
'300a0014': vr_1.VR.CS, | |
'300a0015': vr_1.VR.CS, | |
'300a0016': vr_1.VR.LO, | |
'300a0018': vr_1.VR.DS, | |
'300a001a': vr_1.VR.DS, | |
'300a0020': vr_1.VR.CS, | |
'300a0021': vr_1.VR.DS, | |
'300a0022': vr_1.VR.DS, | |
'300a0023': vr_1.VR.DS, | |
'300a0025': vr_1.VR.DS, | |
'300a0026': vr_1.VR.DS, | |
'300a0027': vr_1.VR.DS, | |
'300a0028': vr_1.VR.DS, | |
'300a002a': vr_1.VR.DS, | |
'300a002b': vr_1.VR.DS, | |
'300a002c': vr_1.VR.DS, | |
'300a002d': vr_1.VR.DS, | |
'300a0040': vr_1.VR.SQ, | |
'300a0042': vr_1.VR.IS, | |
'300a0043': vr_1.VR.SH, | |
'300a0044': vr_1.VR.DS, | |
'300a0046': vr_1.VR.DS, | |
'300a0048': vr_1.VR.SQ, | |
'300a004a': vr_1.VR.DS, | |
'300a004b': vr_1.VR.FL, | |
'300a004c': vr_1.VR.DS, | |
'300a004e': vr_1.VR.DS, | |
'300a004f': vr_1.VR.FL, | |
'300a0050': vr_1.VR.FL, | |
'300a0051': vr_1.VR.DS, | |
'300a0052': vr_1.VR.DS, | |
'300a0053': vr_1.VR.DS, | |
'300a0055': vr_1.VR.CS, | |
'300a0070': vr_1.VR.SQ, | |
'300a0071': vr_1.VR.IS, | |
'300a0072': vr_1.VR.LO, | |
'300a0078': vr_1.VR.IS, | |
'300a0079': vr_1.VR.IS, | |
'300a007a': vr_1.VR.IS, | |
'300a007b': vr_1.VR.LT, | |
'300a0080': vr_1.VR.IS, | |
'300a0082': vr_1.VR.DS, | |
'300a0083': vr_1.VR.UI, | |
'300a0084': vr_1.VR.DS, | |
'300a0086': vr_1.VR.DS, | |
'300a0088': vr_1.VR.FL, | |
'300a0089': vr_1.VR.FL, | |
'300a008a': vr_1.VR.FL, | |
'300a008b': vr_1.VR.CS, | |
'300a008c': vr_1.VR.SQ, | |
'300a008d': vr_1.VR.FL, | |
'300a008e': vr_1.VR.FL, | |
'300a008f': vr_1.VR.FL, | |
'300a0090': vr_1.VR.CS, | |
'300a0091': vr_1.VR.DS, | |
'300a0092': vr_1.VR.CS, | |
'300a0093': vr_1.VR.CS, | |
'300a00a0': vr_1.VR.IS, | |
'300a00a2': vr_1.VR.DS, | |
'300a00a4': vr_1.VR.DS, | |
'300a00b0': vr_1.VR.SQ, | |
'300a00b2': vr_1.VR.SH, | |
'300a00b3': vr_1.VR.CS, | |
'300a00b4': vr_1.VR.DS, | |
'300a00b6': vr_1.VR.SQ, | |
'300a00b8': vr_1.VR.CS, | |
'300a00ba': vr_1.VR.DS, | |
'300a00bb': vr_1.VR.FL, | |
'300a00bc': vr_1.VR.IS, | |
'300a00be': vr_1.VR.DS, | |
'300a00c0': vr_1.VR.IS, | |
'300a00c2': vr_1.VR.LO, | |
'300a00c3': vr_1.VR.ST, | |
'300a00c4': vr_1.VR.CS, | |
'300a00c5': vr_1.VR.FD, | |
'300a00c6': vr_1.VR.CS, | |
'300a00c7': vr_1.VR.CS, | |
'300a00c8': vr_1.VR.IS, | |
'300a00ca': vr_1.VR.SQ, | |
'300a00cc': vr_1.VR.LO, | |
'300a00ce': vr_1.VR.CS, | |
'300a00d0': vr_1.VR.IS, | |
'300a00d1': vr_1.VR.SQ, | |
'300a00d2': vr_1.VR.IS, | |
'300a00d3': vr_1.VR.CS, | |
'300a00d4': vr_1.VR.SH, | |
'300a00d5': vr_1.VR.IS, | |
'300a00d6': vr_1.VR.DS, | |
'300a00d7': vr_1.VR.FL, | |
'300a00d8': vr_1.VR.DS, | |
'300a00d9': vr_1.VR.FL, | |
'300a00da': vr_1.VR.DS, | |
'300a00db': vr_1.VR.FL, | |
'300a00dc': vr_1.VR.SH, | |
'300a00dd': vr_1.VR.ST, | |
'300a00de': vr_1.VR.DS, | |
'300a00e0': vr_1.VR.IS, | |
'300a00e1': vr_1.VR.SH, | |
'300a00e2': vr_1.VR.DS, | |
'300a00e3': vr_1.VR.SQ, | |
'300a00e4': vr_1.VR.IS, | |
'300a00e5': vr_1.VR.SH, | |
'300a00e6': vr_1.VR.DS, | |
'300a00e7': vr_1.VR.IS, | |
'300a00e8': vr_1.VR.IS, | |
'300a00e9': vr_1.VR.DS, | |
'300a00ea': vr_1.VR.DS, | |
'300a00eb': vr_1.VR.DS, | |
'300a00ec': vr_1.VR.DS, | |
'300a00ed': vr_1.VR.IS, | |
'300a00ee': vr_1.VR.CS, | |
'300a00ef': vr_1.VR.SH, | |
'300a00f0': vr_1.VR.IS, | |
'300a00f2': vr_1.VR.DS, | |
'300a00f3': vr_1.VR.FL, | |
'300a00f4': vr_1.VR.SQ, | |
'300a00f5': vr_1.VR.SH, | |
'300a00f6': vr_1.VR.DS, | |
'300a00f7': vr_1.VR.FL, | |
'300a00f8': vr_1.VR.CS, | |
'300a00f9': vr_1.VR.LO, | |
'300a00fa': vr_1.VR.CS, | |
'300a00fb': vr_1.VR.CS, | |
'300a00fc': vr_1.VR.IS, | |
'300a00fe': vr_1.VR.LO, | |
'300a0100': vr_1.VR.DS, | |
'300a0102': vr_1.VR.DS, | |
'300a0104': vr_1.VR.IS, | |
'300a0106': vr_1.VR.DS, | |
'300a0107': vr_1.VR.SQ, | |
'300a0108': vr_1.VR.SH, | |
'300a0109': vr_1.VR.CS, | |
'300a010a': vr_1.VR.LO, | |
'300a010c': vr_1.VR.DS, | |
'300a010e': vr_1.VR.DS, | |
'300a0110': vr_1.VR.IS, | |
'300a0111': vr_1.VR.SQ, | |
'300a0112': vr_1.VR.IS, | |
'300a0114': vr_1.VR.DS, | |
'300a0115': vr_1.VR.DS, | |
'300a0116': vr_1.VR.SQ, | |
'300a0118': vr_1.VR.CS, | |
'300a011a': vr_1.VR.SQ, | |
'300a011c': vr_1.VR.DS, | |
'300a011e': vr_1.VR.DS, | |
'300a011f': vr_1.VR.CS, | |
'300a0120': vr_1.VR.DS, | |
'300a0121': vr_1.VR.CS, | |
'300a0122': vr_1.VR.DS, | |
'300a0123': vr_1.VR.CS, | |
'300a0124': vr_1.VR.DS, | |
'300a0125': vr_1.VR.DS, | |
'300a0126': vr_1.VR.CS, | |
'300a0128': vr_1.VR.DS, | |
'300a0129': vr_1.VR.DS, | |
'300a012a': vr_1.VR.DS, | |
'300a012c': vr_1.VR.DS, | |
'300a012e': vr_1.VR.DS, | |
'300a0130': vr_1.VR.DS, | |
'300a0131': vr_1.VR.FL, | |
'300a0132': vr_1.VR.FL, | |
'300a0133': vr_1.VR.FL, | |
'300a0134': vr_1.VR.DS, | |
'300a0140': vr_1.VR.FL, | |
'300a0142': vr_1.VR.CS, | |
'300a0144': vr_1.VR.FL, | |
'300a0146': vr_1.VR.CS, | |
'300a0148': vr_1.VR.FL, | |
'300a014a': vr_1.VR.FL, | |
'300a014c': vr_1.VR.CS, | |
'300a014e': vr_1.VR.FL, | |
'300a0150': vr_1.VR.CS, | |
'300a0151': vr_1.VR.DS, | |
'300a0152': vr_1.VR.DS, | |
'300a0153': vr_1.VR.DS, | |
'300a0154': vr_1.VR.DS, | |
'300a0155': vr_1.VR.DS, | |
'300a0180': vr_1.VR.SQ, | |
'300a0182': vr_1.VR.IS, | |
'300a0183': vr_1.VR.LO, | |
'300a0184': vr_1.VR.LO, | |
'300a0190': vr_1.VR.SQ, | |
'300a0192': vr_1.VR.CS, | |
'300a0194': vr_1.VR.SH, | |
'300a0196': vr_1.VR.ST, | |
'300a0198': vr_1.VR.SH, | |
'300a0199': vr_1.VR.FL, | |
'300a019a': vr_1.VR.FL, | |
'300a01a0': vr_1.VR.SQ, | |
'300a01a2': vr_1.VR.CS, | |
'300a01a4': vr_1.VR.SH, | |
'300a01a6': vr_1.VR.ST, | |
'300a01a8': vr_1.VR.SH, | |
'300a01b0': vr_1.VR.CS, | |
'300a01b2': vr_1.VR.ST, | |
'300a01b4': vr_1.VR.SQ, | |
'300a01b6': vr_1.VR.CS, | |
'300a01b8': vr_1.VR.SH, | |
'300a01ba': vr_1.VR.ST, | |
'300a01bc': vr_1.VR.DS, | |
'300a01d0': vr_1.VR.ST, | |
'300a01d2': vr_1.VR.DS, | |
'300a01d4': vr_1.VR.DS, | |
'300a01d6': vr_1.VR.DS, | |
'300a0200': vr_1.VR.CS, | |
'300a0202': vr_1.VR.CS, | |
'300a0206': vr_1.VR.SQ, | |
'300a0210': vr_1.VR.SQ, | |
'300a0212': vr_1.VR.IS, | |
'300a0214': vr_1.VR.CS, | |
'300a0216': vr_1.VR.LO, | |
'300a0218': vr_1.VR.DS, | |
'300a021a': vr_1.VR.DS, | |
'300a021b': vr_1.VR.SH, | |
'300a021c': vr_1.VR.LO, | |
'300a0222': vr_1.VR.DS, | |
'300a0224': vr_1.VR.DS, | |
'300a0226': vr_1.VR.LO, | |
'300a0228': vr_1.VR.DS, | |
'300a0229': vr_1.VR.CS, | |
'300a022a': vr_1.VR.DS, | |
'300a022b': vr_1.VR.DS, | |
'300a022c': vr_1.VR.DA, | |
'300a022e': vr_1.VR.TM, | |
'300a0230': vr_1.VR.SQ, | |
'300a0232': vr_1.VR.CS, | |
'300a0234': vr_1.VR.IS, | |
'300a0236': vr_1.VR.LO, | |
'300a0238': vr_1.VR.LO, | |
'300a0240': vr_1.VR.IS, | |
'300a0242': vr_1.VR.SH, | |
'300a0244': vr_1.VR.LO, | |
'300a0250': vr_1.VR.DS, | |
'300a0260': vr_1.VR.SQ, | |
'300a0262': vr_1.VR.IS, | |
'300a0263': vr_1.VR.SH, | |
'300a0264': vr_1.VR.CS, | |
'300a0266': vr_1.VR.LO, | |
'300a026a': vr_1.VR.DS, | |
'300a026c': vr_1.VR.DS, | |
'300a0271': vr_1.VR.DS, | |
'300a0272': vr_1.VR.DS, | |
'300a0273': vr_1.VR.SH, | |
'300a0274': vr_1.VR.DS, | |
'300a0280': vr_1.VR.SQ, | |
'300a0282': vr_1.VR.IS, | |
'300a0284': vr_1.VR.DS, | |
'300a0286': vr_1.VR.DS, | |
'300a0288': vr_1.VR.CS, | |
'300a028a': vr_1.VR.IS, | |
'300a028c': vr_1.VR.DS, | |
'300a0290': vr_1.VR.IS, | |
'300a0291': vr_1.VR.SH, | |
'300a0292': vr_1.VR.CS, | |
'300a0294': vr_1.VR.LO, | |
'300a0296': vr_1.VR.DS, | |
'300a0298': vr_1.VR.LO, | |
'300a029c': vr_1.VR.DS, | |
'300a029e': vr_1.VR.DS, | |
'300a02a0': vr_1.VR.DS, | |
'300a02a2': vr_1.VR.IS, | |
'300a02a4': vr_1.VR.DS, | |
'300a02b0': vr_1.VR.SQ, | |
'300a02b2': vr_1.VR.IS, | |
'300a02b3': vr_1.VR.SH, | |
'300a02b4': vr_1.VR.LO, | |
'300a02b8': vr_1.VR.DS, | |
'300a02ba': vr_1.VR.DS, | |
'300a02c8': vr_1.VR.DS, | |
'300a02d0': vr_1.VR.SQ, | |
'300a02d2': vr_1.VR.DS, | |
'300a02d4': vr_1.VR.DS, | |
'300a02d6': vr_1.VR.DS, | |
'300a02e0': vr_1.VR.CS, | |
'300a02e1': vr_1.VR.CS, | |
'300a02e2': vr_1.VR.DS, | |
'300a02e3': vr_1.VR.FL, | |
'300a02e4': vr_1.VR.FL, | |
'300a02e5': vr_1.VR.FL, | |
'300a02e6': vr_1.VR.FL, | |
'300a02e7': vr_1.VR.FL, | |
'300a02e8': vr_1.VR.FL, | |
'300a02ea': vr_1.VR.SQ, | |
'300a02eb': vr_1.VR.LT, | |
'300a0302': vr_1.VR.IS, | |
'300a0304': vr_1.VR.IS, | |
'300a0306': vr_1.VR.SS, | |
'300a0308': vr_1.VR.CS, | |
'300a0309': vr_1.VR.CS, | |
'300a030a': vr_1.VR.FL, | |
'300a030c': vr_1.VR.SQ, | |
'300a030d': vr_1.VR.FL, | |
'300a030f': vr_1.VR.SH, | |
'300a0312': vr_1.VR.IS, | |
'300a0314': vr_1.VR.SQ, | |
'300a0316': vr_1.VR.IS, | |
'300a0318': vr_1.VR.SH, | |
'300a0320': vr_1.VR.CS, | |
'300a0322': vr_1.VR.LO, | |
'300a0330': vr_1.VR.IS, | |
'300a0332': vr_1.VR.SQ, | |
'300a0334': vr_1.VR.IS, | |
'300a0336': vr_1.VR.SH, | |
'300a0338': vr_1.VR.CS, | |
'300a033a': vr_1.VR.LO, | |
'300a033c': vr_1.VR.FL, | |
'300a0340': vr_1.VR.IS, | |
'300a0342': vr_1.VR.SQ, | |
'300a0344': vr_1.VR.IS, | |
'300a0346': vr_1.VR.SH, | |
'300a0348': vr_1.VR.CS, | |
'300a034a': vr_1.VR.LO, | |
'300a034c': vr_1.VR.SH, | |
'300a0350': vr_1.VR.CS, | |
'300a0352': vr_1.VR.SH, | |
'300a0354': vr_1.VR.LO, | |
'300a0355': vr_1.VR.LO, | |
'300a0356': vr_1.VR.FL, | |
'300a0358': vr_1.VR.FL, | |
'300a035a': vr_1.VR.FL, | |
'300a0360': vr_1.VR.SQ, | |
'300a0362': vr_1.VR.LO, | |
'300a0364': vr_1.VR.FL, | |
'300a0366': vr_1.VR.FL, | |
'300a0370': vr_1.VR.SQ, | |
'300a0372': vr_1.VR.LO, | |
'300a0374': vr_1.VR.FL, | |
'300a0380': vr_1.VR.SQ, | |
'300a0382': vr_1.VR.FL, | |
'300a0384': vr_1.VR.FL, | |
'300a0386': vr_1.VR.FL, | |
'300a0388': vr_1.VR.FL, | |
'300a038a': vr_1.VR.FL, | |
'300a038f': vr_1.VR.FL, | |
'300a0390': vr_1.VR.SH, | |
'300a0391': vr_1.VR.IS, | |
'300a0392': vr_1.VR.IS, | |
'300a0393': vr_1.VR.CS, | |
'300a0394': vr_1.VR.FL, | |
'300a0395': vr_1.VR.CS, | |
'300a0396': vr_1.VR.FL, | |
'300a0398': vr_1.VR.FL, | |
'300a039a': vr_1.VR.IS, | |
'300a03a0': vr_1.VR.SQ, | |
'300a03a2': vr_1.VR.SQ, | |
'300a03a4': vr_1.VR.SQ, | |
'300a03a6': vr_1.VR.SQ, | |
'300a03a8': vr_1.VR.SQ, | |
'300a03aa': vr_1.VR.SQ, | |
'300a03ac': vr_1.VR.SQ, | |
'300a0401': vr_1.VR.SQ, | |
'300a0402': vr_1.VR.ST, | |
'300a0410': vr_1.VR.SQ, | |
'300a0412': vr_1.VR.FL, | |
'300a0420': vr_1.VR.SQ, | |
'300a0421': vr_1.VR.SH, | |
'300a0422': vr_1.VR.ST, | |
'300a0423': vr_1.VR.CS, | |
'300a0424': vr_1.VR.IS, | |
'300a0425': vr_1.VR.FL, | |
'300a0431': vr_1.VR.SQ, | |
'300a0432': vr_1.VR.CS, | |
'300a0433': vr_1.VR.FL, | |
'300a0434': vr_1.VR.FL, | |
'300a0435': vr_1.VR.FL, | |
'300a0436': vr_1.VR.FL, | |
'300a0440': vr_1.VR.IS, | |
'300a0441': vr_1.VR.SQ, | |
'300a0442': vr_1.VR.DS, | |
'300a0443': vr_1.VR.US, | |
'300a0450': vr_1.VR.SQ, | |
'300a0451': vr_1.VR.CS, | |
'300a0452': vr_1.VR.CS, | |
'300a0453': vr_1.VR.SQ, | |
'300a0501': vr_1.VR.FL, | |
'300a0502': vr_1.VR.FL, | |
'300a0503': vr_1.VR.FL, | |
'300a0504': vr_1.VR.FL, | |
'300a0505': vr_1.VR.SQ, | |
'300a0506': vr_1.VR.SQ, | |
'300a0507': vr_1.VR.FL, | |
'300a0508': vr_1.VR.FL, | |
'300a0509': vr_1.VR.FL, | |
'300a0510': vr_1.VR.FL, | |
'300a0511': vr_1.VR.CS, | |
'300a0512': vr_1.VR.CS, | |
'300c0002': vr_1.VR.SQ, | |
'300c0004': vr_1.VR.SQ, | |
'300c0006': vr_1.VR.IS, | |
'300c0007': vr_1.VR.IS, | |
'300c0008': vr_1.VR.DS, | |
'300c0009': vr_1.VR.DS, | |
'300c000a': vr_1.VR.SQ, | |
'300c000c': vr_1.VR.IS, | |
'300c000e': vr_1.VR.IS, | |
'300c0020': vr_1.VR.SQ, | |
'300c0022': vr_1.VR.IS, | |
'300c0040': vr_1.VR.SQ, | |
'300c0042': vr_1.VR.SQ, | |
'300c0050': vr_1.VR.SQ, | |
'300c0051': vr_1.VR.IS, | |
'300c0055': vr_1.VR.SQ, | |
'300c0060': vr_1.VR.SQ, | |
'300c006a': vr_1.VR.IS, | |
'300c0080': vr_1.VR.SQ, | |
'300c00a0': vr_1.VR.IS, | |
'300c00b0': vr_1.VR.SQ, | |
'300c00c0': vr_1.VR.IS, | |
'300c00d0': vr_1.VR.IS, | |
'300c00e0': vr_1.VR.IS, | |
'300c00f0': vr_1.VR.IS, | |
'300c00f2': vr_1.VR.SQ, | |
'300c00f4': vr_1.VR.IS, | |
'300c00f6': vr_1.VR.IS, | |
'300c0100': vr_1.VR.IS, | |
'300c0102': vr_1.VR.IS, | |
'300c0104': vr_1.VR.IS, | |
'300c0111': vr_1.VR.SQ, | |
'300c0112': vr_1.VR.CS, | |
'300c0113': vr_1.VR.LO, | |
'300e0002': vr_1.VR.CS, | |
'300e0004': vr_1.VR.DA, | |
'300e0005': vr_1.VR.TM, | |
'300e0008': vr_1.VR.PN, | |
'40000010': vr_1.VR.LT, | |
'40004000': vr_1.VR.LT, | |
'40080040': vr_1.VR.SH, | |
'40080042': vr_1.VR.LO, | |
'40080050': vr_1.VR.SQ, | |
'400800ff': vr_1.VR.CS, | |
'40080100': vr_1.VR.DA, | |
'40080101': vr_1.VR.TM, | |
'40080102': vr_1.VR.PN, | |
'40080103': vr_1.VR.LO, | |
'40080108': vr_1.VR.DA, | |
'40080109': vr_1.VR.TM, | |
'4008010a': vr_1.VR.PN, | |
'4008010b': vr_1.VR.ST, | |
'4008010c': vr_1.VR.PN, | |
'40080111': vr_1.VR.SQ, | |
'40080112': vr_1.VR.DA, | |
'40080113': vr_1.VR.TM, | |
'40080114': vr_1.VR.PN, | |
'40080115': vr_1.VR.LT, | |
'40080117': vr_1.VR.SQ, | |
'40080118': vr_1.VR.SQ, | |
'40080119': vr_1.VR.PN, | |
'4008011a': vr_1.VR.LO, | |
'40080200': vr_1.VR.SH, | |
'40080202': vr_1.VR.LO, | |
'40080210': vr_1.VR.CS, | |
'40080212': vr_1.VR.CS, | |
'40080300': vr_1.VR.ST, | |
'40084000': vr_1.VR.ST, | |
'40100001': vr_1.VR.CS, | |
'40100002': vr_1.VR.CS, | |
'40100004': vr_1.VR.SQ, | |
'40101001': vr_1.VR.SQ, | |
'40101004': vr_1.VR.FL, | |
'40101005': vr_1.VR.FL, | |
'40101006': vr_1.VR.OB, | |
'40101007': vr_1.VR.SH, | |
'40101008': vr_1.VR.CS, | |
'40101009': vr_1.VR.CS, | |
'4010100a': vr_1.VR.SQ, | |
'40101010': vr_1.VR.US, | |
'40101011': vr_1.VR.SQ, | |
'40101012': vr_1.VR.CS, | |
'40101013': vr_1.VR.LT, | |
'40101014': vr_1.VR.CS, | |
'40101015': vr_1.VR.CS, | |
'40101016': vr_1.VR.FL, | |
'40101017': vr_1.VR.FL, | |
'40101018': vr_1.VR.FL, | |
'40101019': vr_1.VR.FL, | |
'4010101a': vr_1.VR.SH, | |
'4010101b': vr_1.VR.FL, | |
'4010101c': vr_1.VR.FL, | |
'4010101d': vr_1.VR.FL, | |
'4010101e': vr_1.VR.SH, | |
'4010101f': vr_1.VR.SH, | |
'40101020': vr_1.VR.CS, | |
'40101021': vr_1.VR.CS, | |
'40101023': vr_1.VR.FL, | |
'40101024': vr_1.VR.CS, | |
'40101025': vr_1.VR.DT, | |
'40101026': vr_1.VR.DT, | |
'40101027': vr_1.VR.CS, | |
'40101028': vr_1.VR.CS, | |
'40101029': vr_1.VR.LO, | |
'4010102a': vr_1.VR.SH, | |
'4010102b': vr_1.VR.DT, | |
'40101031': vr_1.VR.CS, | |
'40101033': vr_1.VR.US, | |
'40101034': vr_1.VR.US, | |
'40101037': vr_1.VR.SQ, | |
'40101038': vr_1.VR.SQ, | |
'40101039': vr_1.VR.CS, | |
'4010103a': vr_1.VR.CS, | |
'40101041': vr_1.VR.DT, | |
'40101042': vr_1.VR.CS, | |
'40101043': vr_1.VR.FL, | |
'40101044': vr_1.VR.CS, | |
'40101045': vr_1.VR.SQ, | |
'40101046': vr_1.VR.CS, | |
'40101047': vr_1.VR.SQ, | |
'40101048': vr_1.VR.CS, | |
'40101051': vr_1.VR.LO, | |
'40101052': vr_1.VR.SH, | |
'40101053': vr_1.VR.LO, | |
'40101054': vr_1.VR.SH, | |
'40101055': vr_1.VR.SH, | |
'40101056': vr_1.VR.CS, | |
'40101058': vr_1.VR.SH, | |
'40101059': vr_1.VR.CS, | |
'40101060': vr_1.VR.FL, | |
'40101061': vr_1.VR.FL, | |
'40101062': vr_1.VR.FL, | |
'40101064': vr_1.VR.SQ, | |
'40101067': vr_1.VR.CS, | |
'40101068': vr_1.VR.LT, | |
'40101069': vr_1.VR.FL, | |
'4010106c': vr_1.VR.OB, | |
'4010106d': vr_1.VR.CS, | |
'4010106e': vr_1.VR.CS, | |
'4010106f': vr_1.VR.SQ, | |
'40101070': vr_1.VR.CS, | |
'40101071': vr_1.VR.SQ, | |
'40101072': vr_1.VR.SQ, | |
'40101073': vr_1.VR.FD, | |
'40101075': vr_1.VR.DS, | |
'40101076': vr_1.VR.SQ, | |
'40101077': vr_1.VR.SQ, | |
'40101078': vr_1.VR.ST, | |
'40101079': vr_1.VR.SQ, | |
'4010107a': vr_1.VR.FL, | |
'4010107b': vr_1.VR.SQ, | |
'4010107c': vr_1.VR.CS, | |
'4010107d': vr_1.VR.SQ, | |
'4010107e': vr_1.VR.DS, | |
'4ffe0001': vr_1.VR.SQ, | |
'50000005': vr_1.VR.US, | |
'50000010': vr_1.VR.US, | |
'50000020': vr_1.VR.CS, | |
'50000022': vr_1.VR.LO, | |
'50000030': vr_1.VR.SH, | |
'50000040': vr_1.VR.SH, | |
'50000103': vr_1.VR.US, | |
'50000104': vr_1.VR.US, | |
'50000105': vr_1.VR.US, | |
'50000106': vr_1.VR.SH, | |
'50000110': vr_1.VR.US, | |
'50000112': vr_1.VR.US, | |
'50000114': vr_1.VR.US, | |
'50001001': vr_1.VR.CS, | |
'50002000': vr_1.VR.US, | |
'50002002': vr_1.VR.US, | |
'50002004': vr_1.VR.US, | |
'50002006': vr_1.VR.UL, | |
'50002008': vr_1.VR.UL, | |
'5000200a': vr_1.VR.UL, | |
'5000200c': vr_1.VR.OW, | |
'5000200e': vr_1.VR.LT, | |
'50002500': vr_1.VR.LO, | |
'50002600': vr_1.VR.SQ, | |
'50002610': vr_1.VR.US, | |
'50003000': vr_1.VR.OW, | |
'52009229': vr_1.VR.SQ, | |
'52009230': vr_1.VR.SQ, | |
'54000100': vr_1.VR.SQ, | |
'54000110': vr_1.VR.OW, | |
'54000112': vr_1.VR.OW, | |
'54001004': vr_1.VR.US, | |
'54001006': vr_1.VR.CS, | |
'5400100a': vr_1.VR.OW, | |
'54001010': vr_1.VR.OW, | |
'56000010': vr_1.VR.OF, | |
'56000020': vr_1.VR.OF, | |
'60000010': vr_1.VR.US, | |
'60000011': vr_1.VR.US, | |
'60000012': vr_1.VR.US, | |
'60000015': vr_1.VR.IS, | |
'60000022': vr_1.VR.LO, | |
'60000040': vr_1.VR.CS, | |
'60000045': vr_1.VR.LO, | |
'60000050': vr_1.VR.SS, | |
'60000051': vr_1.VR.US, | |
'60000052': vr_1.VR.US, | |
'60000060': vr_1.VR.CS, | |
'60000061': vr_1.VR.SH, | |
'60000062': vr_1.VR.SH, | |
'60000063': vr_1.VR.CS, | |
'60000066': vr_1.VR.AT, | |
'60000068': vr_1.VR.US, | |
'60000069': vr_1.VR.US, | |
'60000100': vr_1.VR.US, | |
'60000102': vr_1.VR.US, | |
'60000110': vr_1.VR.CS, | |
'60000200': vr_1.VR.US, | |
'60000800': vr_1.VR.CS, | |
'60000802': vr_1.VR.US, | |
'60000803': vr_1.VR.AT, | |
'60000804': vr_1.VR.US, | |
'60001001': vr_1.VR.CS, | |
'60001100': vr_1.VR.US, | |
'60001101': vr_1.VR.US, | |
'60001102': vr_1.VR.US, | |
'60001103': vr_1.VR.US, | |
'60001200': vr_1.VR.US, | |
'60001201': vr_1.VR.US, | |
'60001202': vr_1.VR.US, | |
'60001203': vr_1.VR.US, | |
'60001301': vr_1.VR.IS, | |
'60001302': vr_1.VR.DS, | |
'60001303': vr_1.VR.DS, | |
'60001500': vr_1.VR.LO, | |
'60003000': vr_1.VR.OW, | |
'60004000': vr_1.VR.LT, | |
'7f000010': vr_1.VR.OW, | |
'7f000011': vr_1.VR.US, | |
'7f000020': vr_1.VR.OW, | |
'7f000030': vr_1.VR.OW, | |
'7f000040': vr_1.VR.OW, | |
'7fe00008': vr_1.VR.OF, | |
'7fe00009': vr_1.VR.OD, | |
'7fe00010': vr_1.VR.OW, | |
'7fe00020': vr_1.VR.OW, | |
'7fe00030': vr_1.VR.OW, | |
'7fe00040': vr_1.VR.OW, | |
fffafffa: vr_1.VR.SQ, | |
fffcfffc: vr_1.VR.OB, | |
}; | |
exports.TagToVR = TagToVR; | |
/***/ }), | |
/***/ "./src/tag-tree.ts": | |
/*!*************************!*\ | |
!*** ./src/tag-tree.ts ***! | |
\*************************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.TagTreeItem = exports.TagTreeAnyItem = exports.TagTreeTag = exports.emptyTagTree = exports.TagTreeTrunk = exports.TagTree = void 0; | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
const tag_path_like_1 = __webpack_require__(/*! ./tag-path-like */ "./src/tag-path-like.ts"); | |
class TagTree extends tag_path_like_1.TagPathLike { | |
static fromTag(tag) { | |
return exports.emptyTagTree.thenTag(tag); | |
} | |
static fromAnyItem(tag) { | |
return exports.emptyTagTree.thenAnyItem(tag); | |
} | |
static fromItem(tag, item) { | |
return exports.emptyTagTree.thenItem(tag, item); | |
} | |
static fromPath(tagPath) { | |
let root; | |
const p = tagPath.head(); | |
if (p instanceof tag_path_1.TagPathTag) { | |
root = TagTree.fromTag(p.tag()); | |
} | |
else if (p instanceof tag_path_1.TagPathItem) { | |
root = TagTree.fromItem(p.tag(), p.item); | |
} | |
else if (p instanceof tag_path_1.TagPathItemEnd) { | |
root = TagTree.fromItem(p.tag(), p.item); | |
} | |
else if (p instanceof tag_path_1.TagPathSequence) { | |
root = TagTree.fromAnyItem(p.tag()); | |
} | |
else if (p instanceof tag_path_1.TagPathSequenceEnd) { | |
root = TagTree.fromAnyItem(p.tag()); | |
} | |
else { | |
root = exports.emptyTagTree; | |
} | |
return tagPath | |
.drop(1) | |
.toList() | |
.reduce((t, p1) => { | |
if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathTag) { | |
return t.thenTag(p1.tag()); | |
} | |
if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathItem) { | |
return t.thenItem(p1.tag(), p1.item); | |
} | |
if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathItemEnd) { | |
return t.thenItem(p1.tag(), p1.item); | |
} | |
if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathSequence) { | |
return t.thenAnyItem(p1.tag()); | |
} | |
if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathSequenceEnd) { | |
return t.thenAnyItem(p1.tag()); | |
} | |
return t; | |
}, root); | |
} | |
static parse(str) { | |
const isSeq = (s) => s[s.length - 1] === ']'; | |
const indexPart = (s) => s.substring(s.lastIndexOf('[') + 1, s.length - 1); | |
const tagPart = (s) => s.substring(0, s.indexOf('[')); | |
const parseTag = (s) => { | |
const tag = lookup_1.Lookup.tagOf(s); | |
if (!tag) { | |
if (s.length === 11 && s[0] === '(' && s[5] === ',' && s[10] === ')') { | |
const i = parseInt(s.substring(1, 5) + s.substring(6, 10), 16); | |
if (!isNaN(i)) { | |
return i; | |
} | |
} | |
throw Error(s + ' is not a tag or name string'); | |
} | |
return tag; | |
}; | |
const parseIndex = (s) => { | |
if (s === '*') { | |
return undefined; | |
} | |
const i = parseInt(s, 10); | |
if (isNaN(i)) { | |
throw Error(s + ' is not a number'); | |
} | |
return i; | |
}; | |
const createTag = (s) => TagTree.fromTag(parseTag(s)); | |
const addTag = (s, path) => path.thenTag(parseTag(s)); | |
const createSeq = (s) => { | |
const tag = parseTag(tagPart(s)); | |
const index = parseIndex(indexPart(s)); | |
return index === undefined ? TagTree.fromAnyItem(tag) : TagTree.fromItem(tag, index); | |
}; | |
const addSeq = (s, path) => { | |
const tag = parseTag(tagPart(s)); | |
const index = parseIndex(indexPart(s)); | |
return index === undefined ? path.thenAnyItem(tag) : path.thenItem(tag, index); | |
}; | |
const tags = str.indexOf('.') > 0 ? str.split('.') : [str]; | |
const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any | |
const lastTag = tags[tags.length - 1]; // tag or sequence | |
try { | |
const first = seqTags.length > 0 ? seqTags[0] : undefined; | |
if (first) { | |
const tree = seqTags | |
.slice(1, seqTags.length) | |
.reduce((tr, tag) => addSeq(tag, tr), createSeq(first)); | |
if (tree !== undefined) { | |
return isSeq(lastTag) ? addSeq(lastTag, tree) : addTag(lastTag, tree); | |
} | |
return isSeq(lastTag) ? createSeq(lastTag) : createTag(lastTag); | |
} | |
return createTag(lastTag); | |
} | |
catch (error) { | |
throw Error('Tag tree could not be parsed: ' + error.message); | |
} | |
} | |
constructor(tag, previous) { | |
super(); | |
this.tagVal = tag; | |
this.previousVal = previous; | |
} | |
tag() { | |
return this.tagVal; | |
} | |
previous() { | |
return this.previousVal; | |
} | |
isEmpty() { | |
return this === exports.emptyTagTree; | |
} | |
isEqualTo(that) { | |
if (this.isEmpty() && that.isEmpty()) { | |
return true; | |
} | |
if (this instanceof TagTreeTag && that instanceof TagTreeTag) { | |
return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagTreeItem && that instanceof TagTreeItem) { | |
return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
} | |
if (this instanceof TagTreeAnyItem && that instanceof TagTreeAnyItem) { | |
return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
} | |
return false; | |
} | |
isPath() { | |
if (this.isEmpty()) { | |
return true; | |
} | |
if (this instanceof TagTreeAnyItem) { | |
return false; | |
} | |
return this.previous().isPath(); | |
} | |
hasPath(tagPath) { | |
if (this.isEmpty() && tagPath.isEmpty()) { | |
return true; | |
} | |
if (this instanceof TagTreeTag && tagPath instanceof tag_path_1.TagPathTag) { | |
return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
} | |
if (this instanceof TagTreeItem && 'item' in tagPath) { | |
return (this.item === tagPath.item && | |
this.tag() === tagPath.tag() && | |
this.previous().hasPath(tagPath.previous())); | |
} | |
if (this instanceof TagTreeAnyItem && 'item' in tagPath) { | |
return (this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous())); | |
} | |
if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequence) { | |
return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
} | |
if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequenceEnd) { | |
return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
} | |
return false; | |
} | |
hasTrunk(tagPath) { | |
if (this.depth() >= tagPath.depth()) { | |
const thisList = this.toList(); | |
const thatList = tagPath.toList(); | |
for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
const t = thisList[i]; | |
const p = thatList[i]; | |
let check = false; | |
if (p.isEmpty()) { | |
check = true; | |
} | |
else if (t instanceof TagTreeItem && 'item' in p) { | |
check = t.tag() === p.tag() && t.item === p.item; | |
} | |
else if (t instanceof TagTreeItem && p instanceof tag_path_1.TagPathSequence) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeAnyItem && p.item !== undefined) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequence) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeTag && p instanceof tag_path_1.TagPathTag) { | |
check = t.tag() === p.tag(); | |
} | |
if (!check) { | |
return false; | |
} | |
} | |
return true; | |
} | |
else { | |
return false; | |
} | |
} | |
isTrunkOf(tagPath) { | |
if (this.depth() <= tagPath.depth()) { | |
const thisList = this.toList(); | |
const thatList = tagPath.toList(); | |
for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
const t = thisList[i]; | |
const p = thatList[i]; | |
let check = false; | |
if (p.isEmpty()) { | |
check = true; | |
} | |
else if (t instanceof TagTreeItem && 'item' in p) { | |
check = t.tag() === p.tag() && t.item === p.item; | |
} | |
else if (t instanceof TagTreeAnyItem && 'item' in p) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequence) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
check = t.tag() === p.tag(); | |
} | |
else if (t instanceof TagTreeTag && p instanceof tag_path_1.TagPathTag) { | |
check = t.tag() === p.tag(); | |
} | |
if (!check) { | |
return false; | |
} | |
} | |
return true; | |
} | |
else { | |
return false; | |
} | |
} | |
hasTwig(tagPath) { | |
let check = false; | |
if (this.isEmpty() && tagPath.isEmpty()) { | |
check = true; | |
} | |
else if (this instanceof TagTreeAnyItem && 'item' in tagPath) { | |
check = this.tag() === tagPath.tag(); | |
} | |
else if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequence) { | |
check = this.tag() === tagPath.tag(); | |
} | |
else if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequenceEnd) { | |
check = this.tag() === tagPath.tag(); | |
} | |
else if (this instanceof TagTreeItem && 'item' in tagPath) { | |
check = this.tag() === tagPath.tag() && this.item === tagPath.item; | |
} | |
else if (this instanceof TagTreeTag && tagPath instanceof tag_path_1.TagPathTag) { | |
check = this.tag() === tagPath.tag(); | |
} | |
if (tagPath.previous().isEmpty()) { | |
return check; | |
} | |
else if (this.previous().isEmpty()) { | |
return false; | |
} | |
return check && this.previous().hasTwig(tagPath.previous()); | |
} | |
drop(n) { | |
const dropRec = (tree, i) => { | |
if (i < 0) { | |
return exports.emptyTagTree; | |
} | |
if (i === 0) { | |
if (tree.isEmpty()) { | |
return exports.emptyTagTree; | |
} | |
if (tree instanceof TagTreeItem) { | |
return TagTree.fromItem(tree.tag(), tree.item); | |
} | |
if (tree instanceof TagTreeAnyItem) { | |
return TagTree.fromAnyItem(tree.tag()); | |
} | |
return TagTree.fromTag(tree.tag()); | |
} | |
const t = dropRec(tree.previous(), i - 1); | |
if (tree instanceof TagTreeItem) { | |
return t.thenItem(tree.tag(), tree.item); | |
} | |
if (tree instanceof TagTreeAnyItem) { | |
return t.thenAnyItem(tree.tag()); | |
} | |
if (tree instanceof TagTreeTag) { | |
return t.thenTag(tree.tag()); | |
} | |
return exports.emptyTagTree; | |
}; | |
return dropRec(this, this.depth() - n - 1); | |
} | |
toNamedString(lookup) { | |
const toTagString = (tag) => { | |
if (lookup) { | |
const keyword = lookup_1.Lookup.keywordOf(tag); | |
if (keyword) { | |
return keyword; | |
} | |
} | |
return (0, base_1.tagToString)(tag); | |
}; | |
const toTagTreeString = (tree, tail) => { | |
const itemIndexSuffix = tree instanceof TagTreeAnyItem ? '[*]' : 'item' in tree ? '[' + tree.item + ']' : ''; | |
const head = toTagString(tree.tag()) + itemIndexSuffix; | |
const part = head + tail; | |
return tree.isRoot() ? part : toTagTreeString(tree.previous(), '.' + part); | |
}; | |
return this.isEmpty() ? '<empty tree>' : toTagTreeString(this, ''); | |
} | |
} | |
exports.TagTree = TagTree; | |
class TagTreeTrunk extends TagTree { | |
thenTag(tag) { | |
return new TagTreeTag(tag, this); | |
} | |
thenAnyItem(tag) { | |
return new TagTreeAnyItem(tag, this); | |
} | |
thenItem(tag, item) { | |
return new TagTreeItem(tag, item, this); | |
} | |
} | |
exports.TagTreeTrunk = TagTreeTrunk; | |
class EmptyTagTree extends TagTreeTrunk { | |
tag() { | |
throw Error('Empty tag tree'); | |
} | |
previous() { | |
return exports.emptyTagTree; | |
} | |
} | |
exports.emptyTagTree = new EmptyTagTree(-1, null); | |
class TagTreeTag extends TagTree { | |
constructor(tag, previous) { | |
super(tag, previous); | |
} | |
} | |
exports.TagTreeTag = TagTreeTag; | |
class TagTreeAnyItem extends TagTreeTrunk { | |
constructor(tag, previous) { | |
super(tag, previous); | |
} | |
} | |
exports.TagTreeAnyItem = TagTreeAnyItem; | |
class TagTreeItem extends TagTreeTrunk { | |
constructor(tag, item, previous) { | |
super(tag, previous); | |
this.item = item; | |
} | |
} | |
exports.TagTreeItem = TagTreeItem; | |
/***/ }), | |
/***/ "./src/tag.ts": | |
/*!********************!*\ | |
!*** ./src/tag.ts ***! | |
\********************/ | |
/***/ ((__unused_webpack_module, exports) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.Tag = void 0; | |
exports.Tag = { | |
// command elements | |
CommandGroupLength: 0x00000000, | |
AffectedSOPClassUID: 0x00000002, | |
RequestedSOPClassUID: 0x00000003, | |
CommandField: 0x00000100, | |
MessageID: 0x00000110, | |
MessageIDBeingRespondedTo: 0x00000120, | |
MoveDestination: 0x00000600, | |
Priority: 0x00000700, | |
CommandDataSetType: 0x00000800, | |
Status: 0x00000900, | |
OffendingElement: 0x00000901, | |
ErrorComment: 0x00000902, | |
ErrorID: 0x00000903, | |
AffectedSOPInstanceUID: 0x00001000, | |
RequestedSOPInstanceUID: 0x00001001, | |
EventTypeID: 0x00001002, | |
AttributeIdentifierList: 0x00001005, | |
ActionTypeID: 0x00001008, | |
NumberOfRemainingSuboperations: 0x00001020, | |
NumberOfCompletedSuboperations: 0x00001021, | |
NumberOfFailedSuboperations: 0x00001022, | |
NumberOfWarningSuboperations: 0x00001023, | |
MoveOriginatorApplicationEntityTitle: 0x00001030, | |
MoveOriginatorMessageID: 0x00001031, | |
// file meta elements | |
FileMetaInformationGroupLength: 0x00020000, | |
FileMetaInformationVersion: 0x00020001, | |
MediaStorageSOPClassUID: 0x00020002, | |
MediaStorageSOPInstanceUID: 0x00020003, | |
TransferSyntaxUID: 0x00020010, | |
ImplementationClassUID: 0x00020012, | |
ImplementationVersionName: 0x00020013, | |
SourceApplicationEntityTitle: 0x00020016, | |
SendingApplicationEntityTitle: 0x00020017, | |
ReceivingApplicationEntityTitle: 0x00020018, | |
PrivateInformationCreatorUID: 0x00020100, | |
PrivateInformation: 0x00020102, | |
// directory elements | |
FileSetID: 0x00041130, | |
FileSetDescriptorFileID: 0x00041141, | |
SpecificCharacterSetOfFileSetDescriptorFile: 0x00041142, | |
OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity: 0x00041200, | |
OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity: 0x00041202, | |
FileSetConsistencyFlag: 0x00041212, | |
DirectoryRecordSequence: 0x00041220, | |
OffsetOfTheNextDirectoryRecord: 0x00041400, | |
RecordInUseFlag: 0x00041410, | |
OffsetOfReferencedLowerLevelDirectoryEntity: 0x00041420, | |
DirectoryRecordType: 0x00041430, | |
PrivateRecordUID: 0x00041432, | |
ReferencedFileID: 0x00041500, | |
MRDRDirectoryRecordOffset: 0x00041504, | |
ReferencedSOPClassUIDInFile: 0x00041510, | |
ReferencedSOPInstanceUIDInFile: 0x00041511, | |
ReferencedTransferSyntaxUIDInFile: 0x00041512, | |
ReferencedRelatedGeneralSOPClassUIDInFile: 0x0004151a, | |
NumberOfReferences: 0x00041600, | |
// data elements | |
LengthToEnd: 0x00080001, | |
SpecificCharacterSet: 0x00080005, | |
LanguageCodeSequence: 0x00080006, | |
ImageType: 0x00080008, | |
RecognitionCode: 0x00080010, | |
InstanceCreationDate: 0x00080012, | |
InstanceCreationTime: 0x00080013, | |
InstanceCreatorUID: 0x00080014, | |
InstanceCoercionDateTime: 0x00080015, | |
SOPClassUID: 0x00080016, | |
SOPInstanceUID: 0x00080018, | |
RelatedGeneralSOPClassUID: 0x0008001a, | |
OriginalSpecializedSOPClassUID: 0x0008001b, | |
StudyDate: 0x00080020, | |
SeriesDate: 0x00080021, | |
AcquisitionDate: 0x00080022, | |
ContentDate: 0x00080023, | |
OverlayDate: 0x00080024, | |
CurveDate: 0x00080025, | |
AcquisitionDateTime: 0x0008002a, | |
StudyTime: 0x00080030, | |
SeriesTime: 0x00080031, | |
AcquisitionTime: 0x00080032, | |
ContentTime: 0x00080033, | |
OverlayTime: 0x00080034, | |
CurveTime: 0x00080035, | |
DataSetType: 0x00080040, | |
DataSetSubtype: 0x00080041, | |
NuclearMedicineSeriesType: 0x00080042, | |
AccessionNumber: 0x00080050, | |
IssuerOfAccessionNumberSequence: 0x00080051, | |
QueryRetrieveLevel: 0x00080052, | |
QueryRetrieveView: 0x00080053, | |
RetrieveAETitle: 0x00080054, | |
StationAETitle: 0x00080055, | |
InstanceAvailability: 0x00080056, | |
FailedSOPInstanceUIDList: 0x00080058, | |
Modality: 0x00080060, | |
ModalitiesInStudy: 0x00080061, | |
SOPClassesInStudy: 0x00080062, | |
AnatomicRegionsInStudyCodeSequence: 0x00080063, | |
ConversionType: 0x00080064, | |
PresentationIntentType: 0x00080068, | |
Manufacturer: 0x00080070, | |
InstitutionName: 0x00080080, | |
InstitutionAddress: 0x00080081, | |
InstitutionCodeSequence: 0x00080082, | |
ReferringPhysicianName: 0x00080090, | |
ReferringPhysicianAddress: 0x00080092, | |
ReferringPhysicianTelephoneNumbers: 0x00080094, | |
ReferringPhysicianIdentificationSequence: 0x00080096, | |
ConsultingPhysicianName: 0x0008009c, | |
ConsultingPhysicianIdentificationSequence: 0x0008009d, | |
CodeValue: 0x00080100, | |
ExtendedCodeValue: 0x00080101, | |
CodingSchemeDesignator: 0x00080102, | |
CodingSchemeVersion: 0x00080103, | |
CodeMeaning: 0x00080104, | |
MappingResource: 0x00080105, | |
ContextGroupVersion: 0x00080106, | |
ContextGroupLocalVersion: 0x00080107, | |
ExtendedCodeMeaning: 0x00080108, | |
CodingSchemeResourcesSequence: 0x00080109, | |
CodingSchemeURLType: 0x0008010a, | |
ContextGroupExtensionFlag: 0x0008010b, | |
CodingSchemeUID: 0x0008010c, | |
ContextGroupExtensionCreatorUID: 0x0008010d, | |
CodingSchemeURL: 0x0008010e, | |
ContextIdentifier: 0x0008010f, | |
CodingSchemeIdentificationSequence: 0x00080110, | |
CodingSchemeRegistry: 0x00080112, | |
CodingSchemeExternalID: 0x00080114, | |
CodingSchemeName: 0x00080115, | |
CodingSchemeResponsibleOrganization: 0x00080116, | |
ContextUID: 0x00080117, | |
MappingResourceUID: 0x00080118, | |
LongCodeValue: 0x00080119, | |
URNCodeValue: 0x00080120, | |
EquivalentCodeSequence: 0x00080121, | |
MappingResourceName: 0x00080122, | |
ContextGroupIdentificationSequence: 0x00080123, | |
MappingResourceIdentificationSequence: 0x00080124, | |
TimezoneOffsetFromUTC: 0x00080201, | |
ResponsibleGroupCodeSequence: 0x00080220, | |
EquipmentModality: 0x00080221, | |
ManufacturerRelatedModelGroup: 0x00080222, | |
PrivateDataElementCharacteristicsSequence: 0x00080300, | |
PrivateGroupReference: 0x00080301, | |
PrivateCreatorReference: 0x00080302, | |
BlockIdentifyingInformationStatus: 0x00080303, | |
NonidentifyingPrivateElements: 0x00080304, | |
IdentifyingPrivateElements: 0x00080306, | |
DeidentificationActionSequence: 0x00080305, | |
DeidentificationAction: 0x00080307, | |
PrivateDataElement: 0x00080308, | |
PrivateDataElementValueMultiplicity: 0x00080309, | |
PrivateDataElementValueRepresentation: 0x0008030a, | |
PrivateDataElementNumberOfItems: 0x0008030b, | |
PrivateDataElementName: 0x0008030c, | |
PrivateDataElementKeyword: 0x0008030d, | |
PrivateDataElementDescription: 0x0008030e, | |
PrivateDataElementEncoding: 0x0008030f, | |
PrivateDataElementDefinitionSequence: 0x00080310, | |
NetworkID: 0x00081000, | |
StationName: 0x00081010, | |
StudyDescription: 0x00081030, | |
ProcedureCodeSequence: 0x00081032, | |
SeriesDescription: 0x0008103e, | |
SeriesDescriptionCodeSequence: 0x0008103f, | |
InstitutionalDepartmentName: 0x00081040, | |
PhysiciansOfRecord: 0x00081048, | |
PhysiciansOfRecordIdentificationSequence: 0x00081049, | |
PerformingPhysicianName: 0x00081050, | |
PerformingPhysicianIdentificationSequence: 0x00081052, | |
NameOfPhysiciansReadingStudy: 0x00081060, | |
PhysiciansReadingStudyIdentificationSequence: 0x00081062, | |
OperatorsName: 0x00081070, | |
OperatorIdentificationSequence: 0x00081072, | |
AdmittingDiagnosesDescription: 0x00081080, | |
AdmittingDiagnosesCodeSequence: 0x00081084, | |
ManufacturerModelName: 0x00081090, | |
ReferencedResultsSequence: 0x00081100, | |
ReferencedStudySequence: 0x00081110, | |
ReferencedPerformedProcedureStepSequence: 0x00081111, | |
ReferencedSeriesSequence: 0x00081115, | |
ReferencedPatientSequence: 0x00081120, | |
ReferencedVisitSequence: 0x00081125, | |
ReferencedOverlaySequence: 0x00081130, | |
ReferencedStereometricInstanceSequence: 0x00081134, | |
ReferencedWaveformSequence: 0x0008113a, | |
ReferencedImageSequence: 0x00081140, | |
ReferencedCurveSequence: 0x00081145, | |
ReferencedInstanceSequence: 0x0008114a, | |
ReferencedRealWorldValueMappingInstanceSequence: 0x0008114b, | |
ReferencedSOPClassUID: 0x00081150, | |
ReferencedSOPInstanceUID: 0x00081155, | |
DefinitionSourceSequence: 0x00081156, | |
SOPClassesSupported: 0x0008115a, | |
ReferencedFrameNumber: 0x00081160, | |
SimpleFrameList: 0x00081161, | |
CalculatedFrameList: 0x00081162, | |
TimeRange: 0x00081163, | |
FrameExtractionSequence: 0x00081164, | |
MultiFrameSourceSOPInstanceUID: 0x00081167, | |
RetrieveURL: 0x00081190, | |
TransactionUID: 0x00081195, | |
WarningReason: 0x00081196, | |
FailureReason: 0x00081197, | |
FailedSOPSequence: 0x00081198, | |
ReferencedSOPSequence: 0x00081199, | |
OtherFailuresSequence: 0x0008119a, | |
StudiesContainingOtherReferencedInstancesSequence: 0x00081200, | |
RelatedSeriesSequence: 0x00081250, | |
LossyImageCompressionRetired: 0x00082110, | |
DerivationDescription: 0x00082111, | |
SourceImageSequence: 0x00082112, | |
StageName: 0x00082120, | |
StageNumber: 0x00082122, | |
NumberOfStages: 0x00082124, | |
ViewName: 0x00082127, | |
ViewNumber: 0x00082128, | |
NumberOfEventTimers: 0x00082129, | |
NumberOfViewsInStage: 0x0008212a, | |
EventElapsedTimes: 0x00082130, | |
EventTimerNames: 0x00082132, | |
EventTimerSequence: 0x00082133, | |
EventTimeOffset: 0x00082134, | |
EventCodeSequence: 0x00082135, | |
StartTrim: 0x00082142, | |
StopTrim: 0x00082143, | |
RecommendedDisplayFrameRate: 0x00082144, | |
TransducerPosition: 0x00082200, | |
TransducerOrientation: 0x00082204, | |
AnatomicStructure: 0x00082208, | |
AnatomicRegionSequence: 0x00082218, | |
AnatomicRegionModifierSequence: 0x00082220, | |
PrimaryAnatomicStructureSequence: 0x00082228, | |
AnatomicStructureSpaceOrRegionSequence: 0x00082229, | |
PrimaryAnatomicStructureModifierSequence: 0x00082230, | |
TransducerPositionSequence: 0x00082240, | |
TransducerPositionModifierSequence: 0x00082242, | |
TransducerOrientationSequence: 0x00082244, | |
TransducerOrientationModifierSequence: 0x00082246, | |
AnatomicStructureSpaceOrRegionCodeSequenceTrial: 0x00082251, | |
AnatomicPortalOfEntranceCodeSequenceTrial: 0x00082253, | |
AnatomicApproachDirectionCodeSequenceTrial: 0x00082255, | |
AnatomicPerspectiveDescriptionTrial: 0x00082256, | |
AnatomicPerspectiveCodeSequenceTrial: 0x00082257, | |
AnatomicLocationOfExaminingInstrumentDescriptionTrial: 0x00082258, | |
AnatomicLocationOfExaminingInstrumentCodeSequenceTrial: 0x00082259, | |
AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial: 0x0008225a, | |
OnAxisBackgroundAnatomicStructureCodeSequenceTrial: 0x0008225c, | |
AlternateRepresentationSequence: 0x00083001, | |
IrradiationEventUID: 0x00083010, | |
SourceIrradiationEventSequence: 0x00083011, | |
RadiopharmaceuticalAdministrationEventUID: 0x00083012, | |
IdentifyingComments: 0x00084000, | |
FrameType: 0x00089007, | |
ReferencedImageEvidenceSequence: 0x00089092, | |
ReferencedRawDataSequence: 0x00089121, | |
CreatorVersionUID: 0x00089123, | |
DerivationImageSequence: 0x00089124, | |
SourceImageEvidenceSequence: 0x00089154, | |
PixelPresentation: 0x00089205, | |
VolumetricProperties: 0x00089206, | |
VolumeBasedCalculationTechnique: 0x00089207, | |
ComplexImageComponent: 0x00089208, | |
AcquisitionContrast: 0x00089209, | |
DerivationCodeSequence: 0x00089215, | |
ReferencedPresentationStateSequence: 0x00089237, | |
ReferencedOtherPlaneSequence: 0x00089410, | |
FrameDisplaySequence: 0x00089458, | |
RecommendedDisplayFrameRateInFloat: 0x00089459, | |
SkipFrameRangeFlag: 0x00089460, | |
PatientName: 0x00100010, | |
PatientID: 0x00100020, | |
IssuerOfPatientID: 0x00100021, | |
TypeOfPatientID: 0x00100022, | |
IssuerOfPatientIDQualifiersSequence: 0x00100024, | |
SourcePatientGroupIdentificationSequence: 0x00100026, | |
GroupOfPatientsIdentificationSequence: 0x00100027, | |
SubjectRelativePositionInImage: 0x00100028, | |
PatientBirthDate: 0x00100030, | |
PatientBirthTime: 0x00100032, | |
PatientBirthDateInAlternativeCalendar: 0x00100033, | |
PatientDeathDateInAlternativeCalendar: 0x00100034, | |
PatientAlternativeCalendar: 0x00100035, | |
PatientSex: 0x00100040, | |
PatientInsurancePlanCodeSequence: 0x00100050, | |
PatientPrimaryLanguageCodeSequence: 0x00100101, | |
PatientPrimaryLanguageModifierCodeSequence: 0x00100102, | |
QualityControlSubject: 0x00100200, | |
QualityControlSubjectTypeCodeSequence: 0x00100201, | |
StrainDescription: 0x00100212, | |
StrainNomenclature: 0x00100213, | |
StrainStockNumber: 0x00100214, | |
StrainSourceRegistryCodeSequence: 0x00100215, | |
StrainStockSequence: 0x00100216, | |
StrainSource: 0x00100217, | |
StrainAdditionalInformation: 0x00100218, | |
StrainCodeSequence: 0x00100219, | |
GeneticModificationsSequence: 0x00100221, | |
GeneticModificationsDescription: 0x00100222, | |
GeneticModificationsNomenclature: 0x00100223, | |
GeneticModificationsCodeSequence: 0x00100229, | |
OtherPatientIDs: 0x00101000, | |
OtherPatientNames: 0x00101001, | |
OtherPatientIDsSequence: 0x00101002, | |
PatientBirthName: 0x00101005, | |
PatientAge: 0x00101010, | |
PatientSize: 0x00101020, | |
PatientSizeCodeSequence: 0x00101021, | |
PatientBodyMassIndex: 0x00101022, | |
MeasuredAPDimension: 0x00101023, | |
MeasuredLateralDimension: 0x00101024, | |
PatientWeight: 0x00101030, | |
PatientAddress: 0x00101040, | |
InsurancePlanIdentification: 0x00101050, | |
PatientMotherBirthName: 0x00101060, | |
MilitaryRank: 0x00101080, | |
BranchOfService: 0x00101081, | |
MedicalRecordLocator: 0x00101090, | |
ReferencedPatientPhotoSequence: 0x00101100, | |
MedicalAlerts: 0x00102000, | |
Allergies: 0x00102110, | |
CountryOfResidence: 0x00102150, | |
RegionOfResidence: 0x00102152, | |
PatientTelephoneNumbers: 0x00102154, | |
PatientTelecomInformation: 0x00102155, | |
EthnicGroup: 0x00102160, | |
Occupation: 0x00102180, | |
SmokingStatus: 0x001021a0, | |
AdditionalPatientHistory: 0x001021b0, | |
PregnancyStatus: 0x001021c0, | |
LastMenstrualDate: 0x001021d0, | |
PatientReligiousPreference: 0x001021f0, | |
PatientSpeciesDescription: 0x00102201, | |
PatientSpeciesCodeSequence: 0x00102202, | |
PatientSexNeutered: 0x00102203, | |
AnatomicalOrientationType: 0x00102210, | |
PatientBreedDescription: 0x00102292, | |
PatientBreedCodeSequence: 0x00102293, | |
BreedRegistrationSequence: 0x00102294, | |
BreedRegistrationNumber: 0x00102295, | |
BreedRegistryCodeSequence: 0x00102296, | |
ResponsiblePerson: 0x00102297, | |
ResponsiblePersonRole: 0x00102298, | |
ResponsibleOrganization: 0x00102299, | |
PatientComments: 0x00104000, | |
ExaminedBodyThickness: 0x00109431, | |
ClinicalTrialSponsorName: 0x00120010, | |
ClinicalTrialProtocolID: 0x00120020, | |
ClinicalTrialProtocolName: 0x00120021, | |
ClinicalTrialSiteID: 0x00120030, | |
ClinicalTrialSiteName: 0x00120031, | |
ClinicalTrialSubjectID: 0x00120040, | |
ClinicalTrialSubjectReadingID: 0x00120042, | |
ClinicalTrialTimePointID: 0x00120050, | |
ClinicalTrialTimePointDescription: 0x00120051, | |
LongitudinalTemporalOffsetFromEvent: 0x00120052, | |
LongitudinalTemporalEventType: 0x00120053, | |
ClinicalTrialCoordinatingCenterName: 0x00120060, | |
PatientIdentityRemoved: 0x00120062, | |
DeidentificationMethod: 0x00120063, | |
DeidentificationMethodCodeSequence: 0x00120064, | |
ClinicalTrialSeriesID: 0x00120071, | |
ClinicalTrialSeriesDescription: 0x00120072, | |
ClinicalTrialProtocolEthicsCommitteeName: 0x00120081, | |
ClinicalTrialProtocolEthicsCommitteeApprovalNumber: 0x00120082, | |
ConsentForClinicalTrialUseSequence: 0x00120083, | |
DistributionType: 0x00120084, | |
ConsentForDistributionFlag: 0x00120085, | |
EthicsCommitteeApprovalEffectivenessStartDate: 0x00120086, | |
EthicsCommitteeApprovalEffectivenessEndDate: 0x00120087, | |
CADFileFormat: 0x00140023, | |
ComponentReferenceSystem: 0x00140024, | |
ComponentManufacturingProcedure: 0x00140025, | |
ComponentManufacturer: 0x00140028, | |
MaterialThickness: 0x00140030, | |
MaterialPipeDiameter: 0x00140032, | |
MaterialIsolationDiameter: 0x00140034, | |
MaterialGrade: 0x00140042, | |
MaterialPropertiesDescription: 0x00140044, | |
MaterialPropertiesFileFormatRetired: 0x00140045, | |
MaterialNotes: 0x00140046, | |
ComponentShape: 0x00140050, | |
CurvatureType: 0x00140052, | |
OuterDiameter: 0x00140054, | |
InnerDiameter: 0x00140056, | |
ComponentWelderIDs: 0x00140100, | |
SecondaryApprovalStatus: 0x00140101, | |
SecondaryReviewDate: 0x00140102, | |
SecondaryReviewTime: 0x00140103, | |
SecondaryReviewerName: 0x00140104, | |
RepairID: 0x00140105, | |
MultipleComponentApprovalSequence: 0x00140106, | |
OtherApprovalStatus: 0x00140107, | |
OtherSecondaryApprovalStatus: 0x00140108, | |
ActualEnvironmentalConditions: 0x00141010, | |
ExpiryDate: 0x00141020, | |
EnvironmentalConditions: 0x00141040, | |
EvaluatorSequence: 0x00142002, | |
EvaluatorNumber: 0x00142004, | |
EvaluatorName: 0x00142006, | |
EvaluationAttempt: 0x00142008, | |
IndicationSequence: 0x00142012, | |
IndicationNumber: 0x00142014, | |
IndicationLabel: 0x00142016, | |
IndicationDescription: 0x00142018, | |
IndicationType: 0x0014201a, | |
IndicationDisposition: 0x0014201c, | |
IndicationROISequence: 0x0014201e, | |
IndicationPhysicalPropertySequence: 0x00142030, | |
PropertyLabel: 0x00142032, | |
CoordinateSystemNumberOfAxes: 0x00142202, | |
CoordinateSystemAxesSequence: 0x00142204, | |
CoordinateSystemAxisDescription: 0x00142206, | |
CoordinateSystemDataSetMapping: 0x00142208, | |
CoordinateSystemAxisNumber: 0x0014220a, | |
CoordinateSystemAxisType: 0x0014220c, | |
CoordinateSystemAxisUnits: 0x0014220e, | |
CoordinateSystemAxisValues: 0x00142210, | |
CoordinateSystemTransformSequence: 0x00142220, | |
TransformDescription: 0x00142222, | |
TransformNumberOfAxes: 0x00142224, | |
TransformOrderOfAxes: 0x00142226, | |
TransformedAxisUnits: 0x00142228, | |
CoordinateSystemTransformRotationAndScaleMatrix: 0x0014222a, | |
CoordinateSystemTransformTranslationMatrix: 0x0014222c, | |
InternalDetectorFrameTime: 0x00143011, | |
NumberOfFramesIntegrated: 0x00143012, | |
DetectorTemperatureSequence: 0x00143020, | |
SensorName: 0x00143022, | |
HorizontalOffsetOfSensor: 0x00143024, | |
VerticalOffsetOfSensor: 0x00143026, | |
SensorTemperature: 0x00143028, | |
DarkCurrentSequence: 0x00143040, | |
DarkCurrentCounts: 0x00143050, | |
GainCorrectionReferenceSequence: 0x00143060, | |
AirCounts: 0x00143070, | |
KVUsedInGainCalibration: 0x00143071, | |
MAUsedInGainCalibration: 0x00143072, | |
NumberOfFramesUsedForIntegration: 0x00143073, | |
FilterMaterialUsedInGainCalibration: 0x00143074, | |
FilterThicknessUsedInGainCalibration: 0x00143075, | |
DateOfGainCalibration: 0x00143076, | |
TimeOfGainCalibration: 0x00143077, | |
BadPixelImage: 0x00143080, | |
CalibrationNotes: 0x00143099, | |
PulserEquipmentSequence: 0x00144002, | |
PulserType: 0x00144004, | |
PulserNotes: 0x00144006, | |
ReceiverEquipmentSequence: 0x00144008, | |
AmplifierType: 0x0014400a, | |
ReceiverNotes: 0x0014400c, | |
PreAmplifierEquipmentSequence: 0x0014400e, | |
PreAmplifierNotes: 0x0014400f, | |
TransmitTransducerSequence: 0x00144010, | |
ReceiveTransducerSequence: 0x00144011, | |
NumberOfElements: 0x00144012, | |
ElementShape: 0x00144013, | |
ElementDimensionA: 0x00144014, | |
ElementDimensionB: 0x00144015, | |
ElementPitchA: 0x00144016, | |
MeasuredBeamDimensionA: 0x00144017, | |
MeasuredBeamDimensionB: 0x00144018, | |
LocationOfMeasuredBeamDiameter: 0x00144019, | |
NominalFrequency: 0x0014401a, | |
MeasuredCenterFrequency: 0x0014401b, | |
MeasuredBandwidth: 0x0014401c, | |
ElementPitchB: 0x0014401d, | |
PulserSettingsSequence: 0x00144020, | |
PulseWidth: 0x00144022, | |
ExcitationFrequency: 0x00144024, | |
ModulationType: 0x00144026, | |
Damping: 0x00144028, | |
ReceiverSettingsSequence: 0x00144030, | |
AcquiredSoundpathLength: 0x00144031, | |
AcquisitionCompressionType: 0x00144032, | |
AcquisitionSampleSize: 0x00144033, | |
RectifierSmoothing: 0x00144034, | |
DACSequence: 0x00144035, | |
DACType: 0x00144036, | |
DACGainPoints: 0x00144038, | |
DACTimePoints: 0x0014403a, | |
DACAmplitude: 0x0014403c, | |
PreAmplifierSettingsSequence: 0x00144040, | |
TransmitTransducerSettingsSequence: 0x00144050, | |
ReceiveTransducerSettingsSequence: 0x00144051, | |
IncidentAngle: 0x00144052, | |
CouplingTechnique: 0x00144054, | |
CouplingMedium: 0x00144056, | |
CouplingVelocity: 0x00144057, | |
ProbeCenterLocationX: 0x00144058, | |
ProbeCenterLocationZ: 0x00144059, | |
SoundPathLength: 0x0014405a, | |
DelayLawIdentifier: 0x0014405c, | |
GateSettingsSequence: 0x00144060, | |
GateThreshold: 0x00144062, | |
VelocityOfSound: 0x00144064, | |
CalibrationSettingsSequence: 0x00144070, | |
CalibrationProcedure: 0x00144072, | |
ProcedureVersion: 0x00144074, | |
ProcedureCreationDate: 0x00144076, | |
ProcedureExpirationDate: 0x00144078, | |
ProcedureLastModifiedDate: 0x0014407a, | |
CalibrationTime: 0x0014407c, | |
CalibrationDate: 0x0014407e, | |
ProbeDriveEquipmentSequence: 0x00144080, | |
DriveType: 0x00144081, | |
ProbeDriveNotes: 0x00144082, | |
DriveProbeSequence: 0x00144083, | |
ProbeInductance: 0x00144084, | |
ProbeResistance: 0x00144085, | |
ReceiveProbeSequence: 0x00144086, | |
ProbeDriveSettingsSequence: 0x00144087, | |
BridgeResistors: 0x00144088, | |
ProbeOrientationAngle: 0x00144089, | |
UserSelectedGainY: 0x0014408b, | |
UserSelectedPhase: 0x0014408c, | |
UserSelectedOffsetX: 0x0014408d, | |
UserSelectedOffsetY: 0x0014408e, | |
ChannelSettingsSequence: 0x00144091, | |
ChannelThreshold: 0x00144092, | |
ScannerSettingsSequence: 0x0014409a, | |
ScanProcedure: 0x0014409b, | |
TranslationRateX: 0x0014409c, | |
TranslationRateY: 0x0014409d, | |
ChannelOverlap: 0x0014409f, | |
ImageQualityIndicatorType: 0x001440a0, | |
ImageQualityIndicatorMaterial: 0x001440a1, | |
ImageQualityIndicatorSize: 0x001440a2, | |
LINACEnergy: 0x00145002, | |
LINACOutput: 0x00145004, | |
ActiveAperture: 0x00145100, | |
TotalAperture: 0x00145101, | |
ApertureElevation: 0x00145102, | |
MainLobeAngle: 0x00145103, | |
MainRoofAngle: 0x00145104, | |
ConnectorType: 0x00145105, | |
WedgeModelNumber: 0x00145106, | |
WedgeAngleFloat: 0x00145107, | |
WedgeRoofAngle: 0x00145108, | |
WedgeElement1Position: 0x00145109, | |
WedgeMaterialVelocity: 0x0014510a, | |
WedgeMaterial: 0x0014510b, | |
WedgeOffsetZ: 0x0014510c, | |
WedgeOriginOffsetX: 0x0014510d, | |
WedgeTimeDelay: 0x0014510e, | |
WedgeName: 0x0014510f, | |
WedgeManufacturerName: 0x00145110, | |
WedgeDescription: 0x00145111, | |
NominalBeamAngle: 0x00145112, | |
WedgeOffsetX: 0x00145113, | |
WedgeOffsetY: 0x00145114, | |
WedgeTotalLength: 0x00145115, | |
WedgeInContactLength: 0x00145116, | |
WedgeFrontGap: 0x00145117, | |
WedgeTotalHeight: 0x00145118, | |
WedgeFrontHeight: 0x00145119, | |
WedgeRearHeight: 0x0014511a, | |
WedgeTotalWidth: 0x0014511b, | |
WedgeInContactWidth: 0x0014511c, | |
WedgeChamferHeight: 0x0014511d, | |
WedgeCurve: 0x0014511e, | |
RadiusAlongWedge: 0x0014511f, | |
ContrastBolusAgent: 0x00180010, | |
ContrastBolusAgentSequence: 0x00180012, | |
ContrastBolusT1Relaxivity: 0x00180013, | |
ContrastBolusAdministrationRouteSequence: 0x00180014, | |
BodyPartExamined: 0x00180015, | |
ScanningSequence: 0x00180020, | |
SequenceVariant: 0x00180021, | |
ScanOptions: 0x00180022, | |
MRAcquisitionType: 0x00180023, | |
SequenceName: 0x00180024, | |
AngioFlag: 0x00180025, | |
InterventionDrugInformationSequence: 0x00180026, | |
InterventionDrugStopTime: 0x00180027, | |
InterventionDrugDose: 0x00180028, | |
InterventionDrugCodeSequence: 0x00180029, | |
AdditionalDrugSequence: 0x0018002a, | |
Radionuclide: 0x00180030, | |
Radiopharmaceutical: 0x00180031, | |
EnergyWindowCenterline: 0x00180032, | |
EnergyWindowTotalWidth: 0x00180033, | |
InterventionDrugName: 0x00180034, | |
InterventionDrugStartTime: 0x00180035, | |
InterventionSequence: 0x00180036, | |
TherapyType: 0x00180037, | |
InterventionStatus: 0x00180038, | |
TherapyDescription: 0x00180039, | |
InterventionDescription: 0x0018003a, | |
CineRate: 0x00180040, | |
InitialCineRunState: 0x00180042, | |
SliceThickness: 0x00180050, | |
KVP: 0x00180060, | |
CountsAccumulated: 0x00180070, | |
AcquisitionTerminationCondition: 0x00180071, | |
EffectiveDuration: 0x00180072, | |
AcquisitionStartCondition: 0x00180073, | |
AcquisitionStartConditionData: 0x00180074, | |
AcquisitionTerminationConditionData: 0x00180075, | |
RepetitionTime: 0x00180080, | |
EchoTime: 0x00180081, | |
InversionTime: 0x00180082, | |
NumberOfAverages: 0x00180083, | |
ImagingFrequency: 0x00180084, | |
ImagedNucleus: 0x00180085, | |
EchoNumbers: 0x00180086, | |
MagneticFieldStrength: 0x00180087, | |
SpacingBetweenSlices: 0x00180088, | |
NumberOfPhaseEncodingSteps: 0x00180089, | |
DataCollectionDiameter: 0x00180090, | |
EchoTrainLength: 0x00180091, | |
PercentSampling: 0x00180093, | |
PercentPhaseFieldOfView: 0x00180094, | |
PixelBandwidth: 0x00180095, | |
DeviceSerialNumber: 0x00181000, | |
DeviceUID: 0x00181002, | |
DeviceID: 0x00181003, | |
PlateID: 0x00181004, | |
GeneratorID: 0x00181005, | |
GridID: 0x00181006, | |
CassetteID: 0x00181007, | |
GantryID: 0x00181008, | |
UniqueDeviceIdentifier: 0x00181009, | |
UDISequence: 0x0018100a, | |
SecondaryCaptureDeviceID: 0x00181010, | |
HardcopyCreationDeviceID: 0x00181011, | |
DateOfSecondaryCapture: 0x00181012, | |
TimeOfSecondaryCapture: 0x00181014, | |
SecondaryCaptureDeviceManufacturer: 0x00181016, | |
HardcopyDeviceManufacturer: 0x00181017, | |
SecondaryCaptureDeviceManufacturerModelName: 0x00181018, | |
SecondaryCaptureDeviceSoftwareVersions: 0x00181019, | |
HardcopyDeviceSoftwareVersion: 0x0018101a, | |
HardcopyDeviceManufacturerModelName: 0x0018101b, | |
SoftwareVersions: 0x00181020, | |
VideoImageFormatAcquired: 0x00181022, | |
DigitalImageFormatAcquired: 0x00181023, | |
ProtocolName: 0x00181030, | |
ContrastBolusRoute: 0x00181040, | |
ContrastBolusVolume: 0x00181041, | |
ContrastBolusStartTime: 0x00181042, | |
ContrastBolusStopTime: 0x00181043, | |
ContrastBolusTotalDose: 0x00181044, | |
SyringeCounts: 0x00181045, | |
ContrastFlowRate: 0x00181046, | |
ContrastFlowDuration: 0x00181047, | |
ContrastBolusIngredient: 0x00181048, | |
ContrastBolusIngredientConcentration: 0x00181049, | |
SpatialResolution: 0x00181050, | |
TriggerTime: 0x00181060, | |
TriggerSourceOrType: 0x00181061, | |
NominalInterval: 0x00181062, | |
FrameTime: 0x00181063, | |
CardiacFramingType: 0x00181064, | |
FrameTimeVector: 0x00181065, | |
FrameDelay: 0x00181066, | |
ImageTriggerDelay: 0x00181067, | |
MultiplexGroupTimeOffset: 0x00181068, | |
TriggerTimeOffset: 0x00181069, | |
SynchronizationTrigger: 0x0018106a, | |
SynchronizationChannel: 0x0018106c, | |
TriggerSamplePosition: 0x0018106e, | |
RadiopharmaceuticalRoute: 0x00181070, | |
RadiopharmaceuticalVolume: 0x00181071, | |
RadiopharmaceuticalStartTime: 0x00181072, | |
RadiopharmaceuticalStopTime: 0x00181073, | |
RadionuclideTotalDose: 0x00181074, | |
RadionuclideHalfLife: 0x00181075, | |
RadionuclidePositronFraction: 0x00181076, | |
RadiopharmaceuticalSpecificActivity: 0x00181077, | |
RadiopharmaceuticalStartDateTime: 0x00181078, | |
RadiopharmaceuticalStopDateTime: 0x00181079, | |
BeatRejectionFlag: 0x00181080, | |
LowRRValue: 0x00181081, | |
HighRRValue: 0x00181082, | |
IntervalsAcquired: 0x00181083, | |
IntervalsRejected: 0x00181084, | |
PVCRejection: 0x00181085, | |
SkipBeats: 0x00181086, | |
HeartRate: 0x00181088, | |
CardiacNumberOfImages: 0x00181090, | |
TriggerWindow: 0x00181094, | |
ReconstructionDiameter: 0x00181100, | |
DistanceSourceToDetector: 0x00181110, | |
DistanceSourceToPatient: 0x00181111, | |
EstimatedRadiographicMagnificationFactor: 0x00181114, | |
GantryDetectorTilt: 0x00181120, | |
GantryDetectorSlew: 0x00181121, | |
TableHeight: 0x00181130, | |
TableTraverse: 0x00181131, | |
TableMotion: 0x00181134, | |
TableVerticalIncrement: 0x00181135, | |
TableLateralIncrement: 0x00181136, | |
TableLongitudinalIncrement: 0x00181137, | |
TableAngle: 0x00181138, | |
TableType: 0x0018113a, | |
RotationDirection: 0x00181140, | |
AngularPosition: 0x00181141, | |
RadialPosition: 0x00181142, | |
ScanArc: 0x00181143, | |
AngularStep: 0x00181144, | |
CenterOfRotationOffset: 0x00181145, | |
RotationOffset: 0x00181146, | |
FieldOfViewShape: 0x00181147, | |
FieldOfViewDimensions: 0x00181149, | |
ExposureTime: 0x00181150, | |
XRayTubeCurrent: 0x00181151, | |
Exposure: 0x00181152, | |
ExposureInuAs: 0x00181153, | |
AveragePulseWidth: 0x00181154, | |
RadiationSetting: 0x00181155, | |
RectificationType: 0x00181156, | |
RadiationMode: 0x0018115a, | |
ImageAndFluoroscopyAreaDoseProduct: 0x0018115e, | |
FilterType: 0x00181160, | |
TypeOfFilters: 0x00181161, | |
IntensifierSize: 0x00181162, | |
ImagerPixelSpacing: 0x00181164, | |
Grid: 0x00181166, | |
GeneratorPower: 0x00181170, | |
CollimatorGridName: 0x00181180, | |
CollimatorType: 0x00181181, | |
FocalDistance: 0x00181182, | |
XFocusCenter: 0x00181183, | |
YFocusCenter: 0x00181184, | |
FocalSpots: 0x00181190, | |
AnodeTargetMaterial: 0x00181191, | |
BodyPartThickness: 0x001811a0, | |
CompressionForce: 0x001811a2, | |
CompressionPressure: 0x001811a3, | |
PaddleDescription: 0x001811a4, | |
CompressionContactArea: 0x001811a5, | |
DateOfLastCalibration: 0x00181200, | |
TimeOfLastCalibration: 0x00181201, | |
DateTimeOfLastCalibration: 0x00181202, | |
ConvolutionKernel: 0x00181210, | |
UpperLowerPixelValues: 0x00181240, | |
ActualFrameDuration: 0x00181242, | |
CountRate: 0x00181243, | |
PreferredPlaybackSequencing: 0x00181244, | |
ReceiveCoilName: 0x00181250, | |
TransmitCoilName: 0x00181251, | |
PlateType: 0x00181260, | |
PhosphorType: 0x00181261, | |
WaterEquivalentDiameter: 0x00181271, | |
WaterEquivalentDiameterCalculationMethodCodeSequence: 0x00181272, | |
ScanVelocity: 0x00181300, | |
WholeBodyTechnique: 0x00181301, | |
ScanLength: 0x00181302, | |
AcquisitionMatrix: 0x00181310, | |
InPlanePhaseEncodingDirection: 0x00181312, | |
FlipAngle: 0x00181314, | |
VariableFlipAngleFlag: 0x00181315, | |
SAR: 0x00181316, | |
dBdt: 0x00181318, | |
B1rms: 0x00181320, | |
AcquisitionDeviceProcessingDescription: 0x00181400, | |
AcquisitionDeviceProcessingCode: 0x00181401, | |
CassetteOrientation: 0x00181402, | |
CassetteSize: 0x00181403, | |
ExposuresOnPlate: 0x00181404, | |
RelativeXRayExposure: 0x00181405, | |
ExposureIndex: 0x00181411, | |
TargetExposureIndex: 0x00181412, | |
DeviationIndex: 0x00181413, | |
ColumnAngulation: 0x00181450, | |
TomoLayerHeight: 0x00181460, | |
TomoAngle: 0x00181470, | |
TomoTime: 0x00181480, | |
TomoType: 0x00181490, | |
TomoClass: 0x00181491, | |
NumberOfTomosynthesisSourceImages: 0x00181495, | |
PositionerMotion: 0x00181500, | |
PositionerType: 0x00181508, | |
PositionerPrimaryAngle: 0x00181510, | |
PositionerSecondaryAngle: 0x00181511, | |
PositionerPrimaryAngleIncrement: 0x00181520, | |
PositionerSecondaryAngleIncrement: 0x00181521, | |
DetectorPrimaryAngle: 0x00181530, | |
DetectorSecondaryAngle: 0x00181531, | |
ShutterShape: 0x00181600, | |
ShutterLeftVerticalEdge: 0x00181602, | |
ShutterRightVerticalEdge: 0x00181604, | |
ShutterUpperHorizontalEdge: 0x00181606, | |
ShutterLowerHorizontalEdge: 0x00181608, | |
CenterOfCircularShutter: 0x00181610, | |
RadiusOfCircularShutter: 0x00181612, | |
VerticesOfThePolygonalShutter: 0x00181620, | |
ShutterPresentationValue: 0x00181622, | |
ShutterOverlayGroup: 0x00181623, | |
ShutterPresentationColorCIELabValue: 0x00181624, | |
CollimatorShape: 0x00181700, | |
CollimatorLeftVerticalEdge: 0x00181702, | |
CollimatorRightVerticalEdge: 0x00181704, | |
CollimatorUpperHorizontalEdge: 0x00181706, | |
CollimatorLowerHorizontalEdge: 0x00181708, | |
CenterOfCircularCollimator: 0x00181710, | |
RadiusOfCircularCollimator: 0x00181712, | |
VerticesOfThePolygonalCollimator: 0x00181720, | |
AcquisitionTimeSynchronized: 0x00181800, | |
TimeSource: 0x00181801, | |
TimeDistributionProtocol: 0x00181802, | |
NTPSourceAddress: 0x00181803, | |
PageNumberVector: 0x00182001, | |
FrameLabelVector: 0x00182002, | |
FramePrimaryAngleVector: 0x00182003, | |
FrameSecondaryAngleVector: 0x00182004, | |
SliceLocationVector: 0x00182005, | |
DisplayWindowLabelVector: 0x00182006, | |
NominalScannedPixelSpacing: 0x00182010, | |
DigitizingDeviceTransportDirection: 0x00182020, | |
RotationOfScannedFilm: 0x00182030, | |
BiopsyTargetSequence: 0x00182041, | |
TargetUID: 0x00182042, | |
LocalizingCursorPosition: 0x00182043, | |
CalculatedTargetPosition: 0x00182044, | |
TargetLabel: 0x00182045, | |
DisplayedZValue: 0x00182046, | |
IVUSAcquisition: 0x00183100, | |
IVUSPullbackRate: 0x00183101, | |
IVUSGatedRate: 0x00183102, | |
IVUSPullbackStartFrameNumber: 0x00183103, | |
IVUSPullbackStopFrameNumber: 0x00183104, | |
LesionNumber: 0x00183105, | |
AcquisitionComments: 0x00184000, | |
OutputPower: 0x00185000, | |
TransducerData: 0x00185010, | |
FocusDepth: 0x00185012, | |
ProcessingFunction: 0x00185020, | |
PostprocessingFunction: 0x00185021, | |
MechanicalIndex: 0x00185022, | |
BoneThermalIndex: 0x00185024, | |
CranialThermalIndex: 0x00185026, | |
SoftTissueThermalIndex: 0x00185027, | |
SoftTissueFocusThermalIndex: 0x00185028, | |
SoftTissueSurfaceThermalIndex: 0x00185029, | |
DynamicRange: 0x00185030, | |
TotalGain: 0x00185040, | |
DepthOfScanField: 0x00185050, | |
PatientPosition: 0x00185100, | |
ViewPosition: 0x00185101, | |
ProjectionEponymousNameCodeSequence: 0x00185104, | |
ImageTransformationMatrix: 0x00185210, | |
ImageTranslationVector: 0x00185212, | |
Sensitivity: 0x00186000, | |
SequenceOfUltrasoundRegions: 0x00186011, | |
RegionSpatialFormat: 0x00186012, | |
RegionDataType: 0x00186014, | |
RegionFlags: 0x00186016, | |
RegionLocationMinX0: 0x00186018, | |
RegionLocationMinY0: 0x0018601a, | |
RegionLocationMaxX1: 0x0018601c, | |
RegionLocationMaxY1: 0x0018601e, | |
ReferencePixelX0: 0x00186020, | |
ReferencePixelY0: 0x00186022, | |
PhysicalUnitsXDirection: 0x00186024, | |
PhysicalUnitsYDirection: 0x00186026, | |
ReferencePixelPhysicalValueX: 0x00186028, | |
ReferencePixelPhysicalValueY: 0x0018602a, | |
PhysicalDeltaX: 0x0018602c, | |
PhysicalDeltaY: 0x0018602e, | |
TransducerFrequency: 0x00186030, | |
TransducerType: 0x00186031, | |
PulseRepetitionFrequency: 0x00186032, | |
DopplerCorrectionAngle: 0x00186034, | |
SteeringAngle: 0x00186036, | |
DopplerSampleVolumeXPositionRetired: 0x00186038, | |
DopplerSampleVolumeXPosition: 0x00186039, | |
DopplerSampleVolumeYPositionRetired: 0x0018603a, | |
DopplerSampleVolumeYPosition: 0x0018603b, | |
TMLinePositionX0Retired: 0x0018603c, | |
TMLinePositionX0: 0x0018603d, | |
TMLinePositionY0Retired: 0x0018603e, | |
TMLinePositionY0: 0x0018603f, | |
TMLinePositionX1Retired: 0x00186040, | |
TMLinePositionX1: 0x00186041, | |
TMLinePositionY1Retired: 0x00186042, | |
TMLinePositionY1: 0x00186043, | |
PixelComponentOrganization: 0x00186044, | |
PixelComponentMask: 0x00186046, | |
PixelComponentRangeStart: 0x00186048, | |
PixelComponentRangeStop: 0x0018604a, | |
PixelComponentPhysicalUnits: 0x0018604c, | |
PixelComponentDataType: 0x0018604e, | |
NumberOfTableBreakPoints: 0x00186050, | |
TableOfXBreakPoints: 0x00186052, | |
TableOfYBreakPoints: 0x00186054, | |
NumberOfTableEntries: 0x00186056, | |
TableOfPixelValues: 0x00186058, | |
TableOfParameterValues: 0x0018605a, | |
RWaveTimeVector: 0x00186060, | |
DetectorConditionsNominalFlag: 0x00187000, | |
DetectorTemperature: 0x00187001, | |
DetectorType: 0x00187004, | |
DetectorConfiguration: 0x00187005, | |
DetectorDescription: 0x00187006, | |
DetectorMode: 0x00187008, | |
DetectorID: 0x0018700a, | |
DateOfLastDetectorCalibration: 0x0018700c, | |
TimeOfLastDetectorCalibration: 0x0018700e, | |
ExposuresOnDetectorSinceLastCalibration: 0x00187010, | |
ExposuresOnDetectorSinceManufactured: 0x00187011, | |
DetectorTimeSinceLastExposure: 0x00187012, | |
DetectorActiveTime: 0x00187014, | |
DetectorActivationOffsetFromExposure: 0x00187016, | |
DetectorBinning: 0x0018701a, | |
DetectorElementPhysicalSize: 0x00187020, | |
DetectorElementSpacing: 0x00187022, | |
DetectorActiveShape: 0x00187024, | |
DetectorActiveDimensions: 0x00187026, | |
DetectorActiveOrigin: 0x00187028, | |
DetectorManufacturerName: 0x0018702a, | |
DetectorManufacturerModelName: 0x0018702b, | |
FieldOfViewOrigin: 0x00187030, | |
FieldOfViewRotation: 0x00187032, | |
FieldOfViewHorizontalFlip: 0x00187034, | |
PixelDataAreaOriginRelativeToFOV: 0x00187036, | |
PixelDataAreaRotationAngleRelativeToFOV: 0x00187038, | |
GridAbsorbingMaterial: 0x00187040, | |
GridSpacingMaterial: 0x00187041, | |
GridThickness: 0x00187042, | |
GridPitch: 0x00187044, | |
GridAspectRatio: 0x00187046, | |
GridPeriod: 0x00187048, | |
GridFocalDistance: 0x0018704c, | |
FilterMaterial: 0x00187050, | |
FilterThicknessMinimum: 0x00187052, | |
FilterThicknessMaximum: 0x00187054, | |
FilterBeamPathLengthMinimum: 0x00187056, | |
FilterBeamPathLengthMaximum: 0x00187058, | |
ExposureControlMode: 0x00187060, | |
ExposureControlModeDescription: 0x00187062, | |
ExposureStatus: 0x00187064, | |
PhototimerSetting: 0x00187065, | |
ExposureTimeInuS: 0x00188150, | |
XRayTubeCurrentInuA: 0x00188151, | |
ContentQualification: 0x00189004, | |
PulseSequenceName: 0x00189005, | |
MRImagingModifierSequence: 0x00189006, | |
EchoPulseSequence: 0x00189008, | |
InversionRecovery: 0x00189009, | |
FlowCompensation: 0x00189010, | |
MultipleSpinEcho: 0x00189011, | |
MultiPlanarExcitation: 0x00189012, | |
PhaseContrast: 0x00189014, | |
TimeOfFlightContrast: 0x00189015, | |
Spoiling: 0x00189016, | |
SteadyStatePulseSequence: 0x00189017, | |
EchoPlanarPulseSequence: 0x00189018, | |
TagAngleFirstAxis: 0x00189019, | |
MagnetizationTransfer: 0x00189020, | |
T2Preparation: 0x00189021, | |
BloodSignalNulling: 0x00189022, | |
SaturationRecovery: 0x00189024, | |
SpectrallySelectedSuppression: 0x00189025, | |
SpectrallySelectedExcitation: 0x00189026, | |
SpatialPresaturation: 0x00189027, | |
Tagging: 0x00189028, | |
OversamplingPhase: 0x00189029, | |
TagSpacingFirstDimension: 0x00189030, | |
GeometryOfKSpaceTraversal: 0x00189032, | |
SegmentedKSpaceTraversal: 0x00189033, | |
RectilinearPhaseEncodeReordering: 0x00189034, | |
TagThickness: 0x00189035, | |
PartialFourierDirection: 0x00189036, | |
CardiacSynchronizationTechnique: 0x00189037, | |
ReceiveCoilManufacturerName: 0x00189041, | |
MRReceiveCoilSequence: 0x00189042, | |
ReceiveCoilType: 0x00189043, | |
QuadratureReceiveCoil: 0x00189044, | |
MultiCoilDefinitionSequence: 0x00189045, | |
MultiCoilConfiguration: 0x00189046, | |
MultiCoilElementName: 0x00189047, | |
MultiCoilElementUsed: 0x00189048, | |
MRTransmitCoilSequence: 0x00189049, | |
TransmitCoilManufacturerName: 0x00189050, | |
TransmitCoilType: 0x00189051, | |
SpectralWidth: 0x00189052, | |
ChemicalShiftReference: 0x00189053, | |
VolumeLocalizationTechnique: 0x00189054, | |
MRAcquisitionFrequencyEncodingSteps: 0x00189058, | |
Decoupling: 0x00189059, | |
DecoupledNucleus: 0x00189060, | |
DecouplingFrequency: 0x00189061, | |
DecouplingMethod: 0x00189062, | |
DecouplingChemicalShiftReference: 0x00189063, | |
KSpaceFiltering: 0x00189064, | |
TimeDomainFiltering: 0x00189065, | |
NumberOfZeroFills: 0x00189066, | |
BaselineCorrection: 0x00189067, | |
ParallelReductionFactorInPlane: 0x00189069, | |
CardiacRRIntervalSpecified: 0x00189070, | |
AcquisitionDuration: 0x00189073, | |
FrameAcquisitionDateTime: 0x00189074, | |
DiffusionDirectionality: 0x00189075, | |
DiffusionGradientDirectionSequence: 0x00189076, | |
ParallelAcquisition: 0x00189077, | |
ParallelAcquisitionTechnique: 0x00189078, | |
InversionTimes: 0x00189079, | |
MetaboliteMapDescription: 0x00189080, | |
PartialFourier: 0x00189081, | |
EffectiveEchoTime: 0x00189082, | |
MetaboliteMapCodeSequence: 0x00189083, | |
ChemicalShiftSequence: 0x00189084, | |
CardiacSignalSource: 0x00189085, | |
DiffusionBValue: 0x00189087, | |
DiffusionGradientOrientation: 0x00189089, | |
VelocityEncodingDirection: 0x00189090, | |
VelocityEncodingMinimumValue: 0x00189091, | |
VelocityEncodingAcquisitionSequence: 0x00189092, | |
NumberOfKSpaceTrajectories: 0x00189093, | |
CoverageOfKSpace: 0x00189094, | |
SpectroscopyAcquisitionPhaseRows: 0x00189095, | |
ParallelReductionFactorInPlaneRetired: 0x00189096, | |
TransmitterFrequency: 0x00189098, | |
ResonantNucleus: 0x00189100, | |
FrequencyCorrection: 0x00189101, | |
MRSpectroscopyFOVGeometrySequence: 0x00189103, | |
SlabThickness: 0x00189104, | |
SlabOrientation: 0x00189105, | |
MidSlabPosition: 0x00189106, | |
MRSpatialSaturationSequence: 0x00189107, | |
MRTimingAndRelatedParametersSequence: 0x00189112, | |
MREchoSequence: 0x00189114, | |
MRModifierSequence: 0x00189115, | |
MRDiffusionSequence: 0x00189117, | |
CardiacSynchronizationSequence: 0x00189118, | |
MRAveragesSequence: 0x00189119, | |
MRFOVGeometrySequence: 0x00189125, | |
VolumeLocalizationSequence: 0x00189126, | |
SpectroscopyAcquisitionDataColumns: 0x00189127, | |
DiffusionAnisotropyType: 0x00189147, | |
FrameReferenceDateTime: 0x00189151, | |
MRMetaboliteMapSequence: 0x00189152, | |
ParallelReductionFactorOutOfPlane: 0x00189155, | |
SpectroscopyAcquisitionOutOfPlanePhaseSteps: 0x00189159, | |
BulkMotionStatus: 0x00189166, | |
ParallelReductionFactorSecondInPlane: 0x00189168, | |
CardiacBeatRejectionTechnique: 0x00189169, | |
RespiratoryMotionCompensationTechnique: 0x00189170, | |
RespiratorySignalSource: 0x00189171, | |
BulkMotionCompensationTechnique: 0x00189172, | |
BulkMotionSignalSource: 0x00189173, | |
ApplicableSafetyStandardAgency: 0x00189174, | |
ApplicableSafetyStandardDescription: 0x00189175, | |
OperatingModeSequence: 0x00189176, | |
OperatingModeType: 0x00189177, | |
OperatingMode: 0x00189178, | |
SpecificAbsorptionRateDefinition: 0x00189179, | |
GradientOutputType: 0x00189180, | |
SpecificAbsorptionRateValue: 0x00189181, | |
GradientOutput: 0x00189182, | |
FlowCompensationDirection: 0x00189183, | |
TaggingDelay: 0x00189184, | |
RespiratoryMotionCompensationTechniqueDescription: 0x00189185, | |
RespiratorySignalSourceID: 0x00189186, | |
ChemicalShiftMinimumIntegrationLimitInHz: 0x00189195, | |
ChemicalShiftMaximumIntegrationLimitInHz: 0x00189196, | |
MRVelocityEncodingSequence: 0x00189197, | |
FirstOrderPhaseCorrection: 0x00189198, | |
WaterReferencedPhaseCorrection: 0x00189199, | |
MRSpectroscopyAcquisitionType: 0x00189200, | |
RespiratoryCyclePosition: 0x00189214, | |
VelocityEncodingMaximumValue: 0x00189217, | |
TagSpacingSecondDimension: 0x00189218, | |
TagAngleSecondAxis: 0x00189219, | |
FrameAcquisitionDuration: 0x00189220, | |
MRImageFrameTypeSequence: 0x00189226, | |
MRSpectroscopyFrameTypeSequence: 0x00189227, | |
MRAcquisitionPhaseEncodingStepsInPlane: 0x00189231, | |
MRAcquisitionPhaseEncodingStepsOutOfPlane: 0x00189232, | |
SpectroscopyAcquisitionPhaseColumns: 0x00189234, | |
CardiacCyclePosition: 0x00189236, | |
SpecificAbsorptionRateSequence: 0x00189239, | |
RFEchoTrainLength: 0x00189240, | |
GradientEchoTrainLength: 0x00189241, | |
ArterialSpinLabelingContrast: 0x00189250, | |
MRArterialSpinLabelingSequence: 0x00189251, | |
ASLTechniqueDescription: 0x00189252, | |
ASLSlabNumber: 0x00189253, | |
ASLSlabThickness: 0x00189254, | |
ASLSlabOrientation: 0x00189255, | |
ASLMidSlabPosition: 0x00189256, | |
ASLContext: 0x00189257, | |
ASLPulseTrainDuration: 0x00189258, | |
ASLCrusherFlag: 0x00189259, | |
ASLCrusherFlowLimit: 0x0018925a, | |
ASLCrusherDescription: 0x0018925b, | |
ASLBolusCutoffFlag: 0x0018925c, | |
ASLBolusCutoffTimingSequence: 0x0018925d, | |
ASLBolusCutoffTechnique: 0x0018925e, | |
ASLBolusCutoffDelayTime: 0x0018925f, | |
ASLSlabSequence: 0x00189260, | |
ChemicalShiftMinimumIntegrationLimitInppm: 0x00189295, | |
ChemicalShiftMaximumIntegrationLimitInppm: 0x00189296, | |
WaterReferenceAcquisition: 0x00189297, | |
EchoPeakPosition: 0x00189298, | |
CTAcquisitionTypeSequence: 0x00189301, | |
AcquisitionType: 0x00189302, | |
TubeAngle: 0x00189303, | |
CTAcquisitionDetailsSequence: 0x00189304, | |
RevolutionTime: 0x00189305, | |
SingleCollimationWidth: 0x00189306, | |
TotalCollimationWidth: 0x00189307, | |
CTTableDynamicsSequence: 0x00189308, | |
TableSpeed: 0x00189309, | |
TableFeedPerRotation: 0x00189310, | |
SpiralPitchFactor: 0x00189311, | |
CTGeometrySequence: 0x00189312, | |
DataCollectionCenterPatient: 0x00189313, | |
CTReconstructionSequence: 0x00189314, | |
ReconstructionAlgorithm: 0x00189315, | |
ConvolutionKernelGroup: 0x00189316, | |
ReconstructionFieldOfView: 0x00189317, | |
ReconstructionTargetCenterPatient: 0x00189318, | |
ReconstructionAngle: 0x00189319, | |
ImageFilter: 0x00189320, | |
CTExposureSequence: 0x00189321, | |
ReconstructionPixelSpacing: 0x00189322, | |
ExposureModulationType: 0x00189323, | |
EstimatedDoseSaving: 0x00189324, | |
CTXRayDetailsSequence: 0x00189325, | |
CTPositionSequence: 0x00189326, | |
TablePosition: 0x00189327, | |
ExposureTimeInms: 0x00189328, | |
CTImageFrameTypeSequence: 0x00189329, | |
XRayTubeCurrentInmA: 0x00189330, | |
ExposureInmAs: 0x00189332, | |
ConstantVolumeFlag: 0x00189333, | |
FluoroscopyFlag: 0x00189334, | |
DistanceSourceToDataCollectionCenter: 0x00189335, | |
ContrastBolusAgentNumber: 0x00189337, | |
ContrastBolusIngredientCodeSequence: 0x00189338, | |
ContrastAdministrationProfileSequence: 0x00189340, | |
ContrastBolusUsageSequence: 0x00189341, | |
ContrastBolusAgentAdministered: 0x00189342, | |
ContrastBolusAgentDetected: 0x00189343, | |
ContrastBolusAgentPhase: 0x00189344, | |
CTDIvol: 0x00189345, | |
CTDIPhantomTypeCodeSequence: 0x00189346, | |
CalciumScoringMassFactorPatient: 0x00189351, | |
CalciumScoringMassFactorDevice: 0x00189352, | |
EnergyWeightingFactor: 0x00189353, | |
CTAdditionalXRaySourceSequence: 0x00189360, | |
ProjectionPixelCalibrationSequence: 0x00189401, | |
DistanceSourceToIsocenter: 0x00189402, | |
DistanceObjectToTableTop: 0x00189403, | |
ObjectPixelSpacingInCenterOfBeam: 0x00189404, | |
PositionerPositionSequence: 0x00189405, | |
TablePositionSequence: 0x00189406, | |
CollimatorShapeSequence: 0x00189407, | |
PlanesInAcquisition: 0x00189410, | |
XAXRFFrameCharacteristicsSequence: 0x00189412, | |
FrameAcquisitionSequence: 0x00189417, | |
XRayReceptorType: 0x00189420, | |
AcquisitionProtocolName: 0x00189423, | |
AcquisitionProtocolDescription: 0x00189424, | |
ContrastBolusIngredientOpaque: 0x00189425, | |
DistanceReceptorPlaneToDetectorHousing: 0x00189426, | |
IntensifierActiveShape: 0x00189427, | |
IntensifierActiveDimensions: 0x00189428, | |
PhysicalDetectorSize: 0x00189429, | |
PositionOfIsocenterProjection: 0x00189430, | |
FieldOfViewSequence: 0x00189432, | |
FieldOfViewDescription: 0x00189433, | |
ExposureControlSensingRegionsSequence: 0x00189434, | |
ExposureControlSensingRegionShape: 0x00189435, | |
ExposureControlSensingRegionLeftVerticalEdge: 0x00189436, | |
ExposureControlSensingRegionRightVerticalEdge: 0x00189437, | |
ExposureControlSensingRegionUpperHorizontalEdge: 0x00189438, | |
ExposureControlSensingRegionLowerHorizontalEdge: 0x00189439, | |
CenterOfCircularExposureControlSensingRegion: 0x00189440, | |
RadiusOfCircularExposureControlSensingRegion: 0x00189441, | |
VerticesOfThePolygonalExposureControlSensingRegion: 0x00189442, | |
ColumnAngulationPatient: 0x00189447, | |
BeamAngle: 0x00189449, | |
FrameDetectorParametersSequence: 0x00189451, | |
CalculatedAnatomyThickness: 0x00189452, | |
CalibrationSequence: 0x00189455, | |
ObjectThicknessSequence: 0x00189456, | |
PlaneIdentification: 0x00189457, | |
FieldOfViewDimensionsInFloat: 0x00189461, | |
IsocenterReferenceSystemSequence: 0x00189462, | |
PositionerIsocenterPrimaryAngle: 0x00189463, | |
PositionerIsocenterSecondaryAngle: 0x00189464, | |
PositionerIsocenterDetectorRotationAngle: 0x00189465, | |
TableXPositionToIsocenter: 0x00189466, | |
TableYPositionToIsocenter: 0x00189467, | |
TableZPositionToIsocenter: 0x00189468, | |
TableHorizontalRotationAngle: 0x00189469, | |
TableHeadTiltAngle: 0x00189470, | |
TableCradleTiltAngle: 0x00189471, | |
FrameDisplayShutterSequence: 0x00189472, | |
AcquiredImageAreaDoseProduct: 0x00189473, | |
CArmPositionerTabletopRelationship: 0x00189474, | |
XRayGeometrySequence: 0x00189476, | |
IrradiationEventIdentificationSequence: 0x00189477, | |
XRay3DFrameTypeSequence: 0x00189504, | |
ContributingSourcesSequence: 0x00189506, | |
XRay3DAcquisitionSequence: 0x00189507, | |
PrimaryPositionerScanArc: 0x00189508, | |
SecondaryPositionerScanArc: 0x00189509, | |
PrimaryPositionerScanStartAngle: 0x00189510, | |
SecondaryPositionerScanStartAngle: 0x00189511, | |
PrimaryPositionerIncrement: 0x00189514, | |
SecondaryPositionerIncrement: 0x00189515, | |
StartAcquisitionDateTime: 0x00189516, | |
EndAcquisitionDateTime: 0x00189517, | |
PrimaryPositionerIncrementSign: 0x00189518, | |
SecondaryPositionerIncrementSign: 0x00189519, | |
ApplicationName: 0x00189524, | |
ApplicationVersion: 0x00189525, | |
ApplicationManufacturer: 0x00189526, | |
AlgorithmType: 0x00189527, | |
AlgorithmDescription: 0x00189528, | |
XRay3DReconstructionSequence: 0x00189530, | |
ReconstructionDescription: 0x00189531, | |
PerProjectionAcquisitionSequence: 0x00189538, | |
DetectorPositionSequence: 0x00189541, | |
XRayAcquisitionDoseSequence: 0x00189542, | |
XRaySourceIsocenterPrimaryAngle: 0x00189543, | |
XRaySourceIsocenterSecondaryAngle: 0x00189544, | |
BreastSupportIsocenterPrimaryAngle: 0x00189545, | |
BreastSupportIsocenterSecondaryAngle: 0x00189546, | |
BreastSupportXPositionToIsocenter: 0x00189547, | |
BreastSupportYPositionToIsocenter: 0x00189548, | |
BreastSupportZPositionToIsocenter: 0x00189549, | |
DetectorIsocenterPrimaryAngle: 0x00189550, | |
DetectorIsocenterSecondaryAngle: 0x00189551, | |
DetectorXPositionToIsocenter: 0x00189552, | |
DetectorYPositionToIsocenter: 0x00189553, | |
DetectorZPositionToIsocenter: 0x00189554, | |
XRayGridSequence: 0x00189555, | |
XRayFilterSequence: 0x00189556, | |
DetectorActiveAreaTLHCPosition: 0x00189557, | |
DetectorActiveAreaOrientation: 0x00189558, | |
PositionerPrimaryAngleDirection: 0x00189559, | |
DiffusionBMatrixSequence: 0x00189601, | |
DiffusionBValueXX: 0x00189602, | |
DiffusionBValueXY: 0x00189603, | |
DiffusionBValueXZ: 0x00189604, | |
DiffusionBValueYY: 0x00189605, | |
DiffusionBValueYZ: 0x00189606, | |
DiffusionBValueZZ: 0x00189607, | |
FunctionalMRSequence: 0x00189621, | |
FunctionalSettlingPhaseFramesPresent: 0x00189622, | |
FunctionalSyncPulse: 0x00189623, | |
SettlingPhaseFrame: 0x00189624, | |
DecayCorrectionDateTime: 0x00189701, | |
StartDensityThreshold: 0x00189715, | |
StartRelativeDensityDifferenceThreshold: 0x00189716, | |
StartCardiacTriggerCountThreshold: 0x00189717, | |
StartRespiratoryTriggerCountThreshold: 0x00189718, | |
TerminationCountsThreshold: 0x00189719, | |
TerminationDensityThreshold: 0x00189720, | |
TerminationRelativeDensityThreshold: 0x00189721, | |
TerminationTimeThreshold: 0x00189722, | |
TerminationCardiacTriggerCountThreshold: 0x00189723, | |
TerminationRespiratoryTriggerCountThreshold: 0x00189724, | |
DetectorGeometry: 0x00189725, | |
TransverseDetectorSeparation: 0x00189726, | |
AxialDetectorDimension: 0x00189727, | |
RadiopharmaceuticalAgentNumber: 0x00189729, | |
PETFrameAcquisitionSequence: 0x00189732, | |
PETDetectorMotionDetailsSequence: 0x00189733, | |
PETTableDynamicsSequence: 0x00189734, | |
PETPositionSequence: 0x00189735, | |
PETFrameCorrectionFactorsSequence: 0x00189736, | |
RadiopharmaceuticalUsageSequence: 0x00189737, | |
AttenuationCorrectionSource: 0x00189738, | |
NumberOfIterations: 0x00189739, | |
NumberOfSubsets: 0x00189740, | |
PETReconstructionSequence: 0x00189749, | |
PETFrameTypeSequence: 0x00189751, | |
TimeOfFlightInformationUsed: 0x00189755, | |
ReconstructionType: 0x00189756, | |
DecayCorrected: 0x00189758, | |
AttenuationCorrected: 0x00189759, | |
ScatterCorrected: 0x00189760, | |
DeadTimeCorrected: 0x00189761, | |
GantryMotionCorrected: 0x00189762, | |
PatientMotionCorrected: 0x00189763, | |
CountLossNormalizationCorrected: 0x00189764, | |
RandomsCorrected: 0x00189765, | |
NonUniformRadialSamplingCorrected: 0x00189766, | |
SensitivityCalibrated: 0x00189767, | |
DetectorNormalizationCorrection: 0x00189768, | |
IterativeReconstructionMethod: 0x00189769, | |
AttenuationCorrectionTemporalRelationship: 0x00189770, | |
PatientPhysiologicalStateSequence: 0x00189771, | |
PatientPhysiologicalStateCodeSequence: 0x00189772, | |
DepthsOfFocus: 0x00189801, | |
ExcludedIntervalsSequence: 0x00189803, | |
ExclusionStartDateTime: 0x00189804, | |
ExclusionDuration: 0x00189805, | |
USImageDescriptionSequence: 0x00189806, | |
ImageDataTypeSequence: 0x00189807, | |
DataType: 0x00189808, | |
TransducerScanPatternCodeSequence: 0x00189809, | |
AliasedDataType: 0x0018980b, | |
PositionMeasuringDeviceUsed: 0x0018980c, | |
TransducerGeometryCodeSequence: 0x0018980d, | |
TransducerBeamSteeringCodeSequence: 0x0018980e, | |
TransducerApplicationCodeSequence: 0x0018980f, | |
ZeroVelocityPixelValue: 0x00189810, | |
ReferenceLocationLabel: 0x00189900, | |
ReferenceLocationDescription: 0x00189901, | |
ReferenceBasisCodeSequence: 0x00189902, | |
ReferenceGeometryCodeSequence: 0x00189903, | |
OffsetDistance: 0x00189904, | |
OffsetDirection: 0x00189905, | |
PotentialScheduledProtocolCodeSequence: 0x00189906, | |
PotentialRequestedProcedureCodeSequence: 0x00189907, | |
PotentialReasonsForProcedure: 0x00189908, | |
PotentialReasonsForProcedureCodeSequence: 0x00189909, | |
PotentialDiagnosticTasks: 0x0018990a, | |
ContraindicationsCodeSequence: 0x0018990b, | |
ReferencedDefinedProtocolSequence: 0x0018990c, | |
ReferencedPerformedProtocolSequence: 0x0018990d, | |
PredecessorProtocolSequence: 0x0018990e, | |
ProtocolPlanningInformation: 0x0018990f, | |
ProtocolDesignRationale: 0x00189910, | |
PatientSpecificationSequence: 0x00189911, | |
ModelSpecificationSequence: 0x00189912, | |
ParametersSpecificationSequence: 0x00189913, | |
InstructionSequence: 0x00189914, | |
InstructionIndex: 0x00189915, | |
InstructionText: 0x00189916, | |
InstructionDescription: 0x00189917, | |
InstructionPerformedFlag: 0x00189918, | |
InstructionPerformedDateTime: 0x00189919, | |
InstructionPerformanceComment: 0x0018991a, | |
PatientPositioningInstructionSequence: 0x0018991b, | |
PositioningMethodCodeSequence: 0x0018991c, | |
PositioningLandmarkSequence: 0x0018991d, | |
TargetFrameOfReferenceUID: 0x0018991e, | |
AcquisitionProtocolElementSpecificationSequence: 0x0018991f, | |
AcquisitionProtocolElementSequence: 0x00189920, | |
ProtocolElementNumber: 0x00189921, | |
ProtocolElementName: 0x00189922, | |
ProtocolElementCharacteristicsSummary: 0x00189923, | |
ProtocolElementPurpose: 0x00189924, | |
AcquisitionMotion: 0x00189930, | |
AcquisitionStartLocationSequence: 0x00189931, | |
AcquisitionEndLocationSequence: 0x00189932, | |
ReconstructionProtocolElementSpecificationSequence: 0x00189933, | |
ReconstructionProtocolElementSequence: 0x00189934, | |
StorageProtocolElementSpecificationSequence: 0x00189935, | |
StorageProtocolElementSequence: 0x00189936, | |
RequestedSeriesDescription: 0x00189937, | |
SourceAcquisitionProtocolElementNumber: 0x00189938, | |
SourceAcquisitionBeamNumber: 0x00189939, | |
SourceReconstructionProtocolElementNumber: 0x0018993a, | |
ReconstructionStartLocationSequence: 0x0018993b, | |
ReconstructionEndLocationSequence: 0x0018993c, | |
ReconstructionAlgorithmSequence: 0x0018993d, | |
ReconstructionTargetCenterLocationSequence: 0x0018993e, | |
ImageFilterDescription: 0x00189941, | |
CTDIvolNotificationTrigger: 0x00189942, | |
DLPNotificationTrigger: 0x00189943, | |
AutoKVPSelectionType: 0x00189944, | |
AutoKVPUpperBound: 0x00189945, | |
AutoKVPLowerBound: 0x00189946, | |
ProtocolDefinedPatientPosition: 0x00189947, | |
ContributingEquipmentSequence: 0x0018a001, | |
ContributionDateTime: 0x0018a002, | |
ContributionDescription: 0x0018a003, | |
StudyInstanceUID: 0x0020000d, | |
SeriesInstanceUID: 0x0020000e, | |
StudyID: 0x00200010, | |
SeriesNumber: 0x00200011, | |
AcquisitionNumber: 0x00200012, | |
InstanceNumber: 0x00200013, | |
IsotopeNumber: 0x00200014, | |
PhaseNumber: 0x00200015, | |
IntervalNumber: 0x00200016, | |
TimeSlotNumber: 0x00200017, | |
AngleNumber: 0x00200018, | |
ItemNumber: 0x00200019, | |
PatientOrientation: 0x00200020, | |
OverlayNumber: 0x00200022, | |
CurveNumber: 0x00200024, | |
LUTNumber: 0x00200026, | |
ImagePosition: 0x00200030, | |
ImagePositionPatient: 0x00200032, | |
ImageOrientation: 0x00200035, | |
ImageOrientationPatient: 0x00200037, | |
Location: 0x00200050, | |
FrameOfReferenceUID: 0x00200052, | |
Laterality: 0x00200060, | |
ImageLaterality: 0x00200062, | |
ImageGeometryType: 0x00200070, | |
MaskingImage: 0x00200080, | |
ReportNumber: 0x002000aa, | |
TemporalPositionIdentifier: 0x00200100, | |
NumberOfTemporalPositions: 0x00200105, | |
TemporalResolution: 0x00200110, | |
SynchronizationFrameOfReferenceUID: 0x00200200, | |
SOPInstanceUIDOfConcatenationSource: 0x00200242, | |
SeriesInStudy: 0x00201000, | |
AcquisitionsInSeries: 0x00201001, | |
ImagesInAcquisition: 0x00201002, | |
ImagesInSeries: 0x00201003, | |
AcquisitionsInStudy: 0x00201004, | |
ImagesInStudy: 0x00201005, | |
Reference: 0x00201020, | |
TargetPositionReferenceIndicator: 0x0020103f, | |
PositionReferenceIndicator: 0x00201040, | |
SliceLocation: 0x00201041, | |
OtherStudyNumbers: 0x00201070, | |
NumberOfPatientRelatedStudies: 0x00201200, | |
NumberOfPatientRelatedSeries: 0x00201202, | |
NumberOfPatientRelatedInstances: 0x00201204, | |
NumberOfStudyRelatedSeries: 0x00201206, | |
NumberOfStudyRelatedInstances: 0x00201208, | |
NumberOfSeriesRelatedInstances: 0x00201209, | |
SourceImageIDs: 0x00203100, | |
ModifyingDeviceID: 0x00203401, | |
ModifiedImageID: 0x00203402, | |
ModifiedImageDate: 0x00203403, | |
ModifyingDeviceManufacturer: 0x00203404, | |
ModifiedImageTime: 0x00203405, | |
ModifiedImageDescription: 0x00203406, | |
ImageComments: 0x00204000, | |
OriginalImageIdentification: 0x00205000, | |
OriginalImageIdentificationNomenclature: 0x00205002, | |
StackID: 0x00209056, | |
InStackPositionNumber: 0x00209057, | |
FrameAnatomySequence: 0x00209071, | |
FrameLaterality: 0x00209072, | |
FrameContentSequence: 0x00209111, | |
PlanePositionSequence: 0x00209113, | |
PlaneOrientationSequence: 0x00209116, | |
TemporalPositionIndex: 0x00209128, | |
NominalCardiacTriggerDelayTime: 0x00209153, | |
NominalCardiacTriggerTimePriorToRPeak: 0x00209154, | |
ActualCardiacTriggerTimePriorToRPeak: 0x00209155, | |
FrameAcquisitionNumber: 0x00209156, | |
DimensionIndexValues: 0x00209157, | |
FrameComments: 0x00209158, | |
ConcatenationUID: 0x00209161, | |
InConcatenationNumber: 0x00209162, | |
InConcatenationTotalNumber: 0x00209163, | |
DimensionOrganizationUID: 0x00209164, | |
DimensionIndexPointer: 0x00209165, | |
FunctionalGroupPointer: 0x00209167, | |
UnassignedSharedConvertedAttributesSequence: 0x00209170, | |
UnassignedPerFrameConvertedAttributesSequence: 0x00209171, | |
ConversionSourceAttributesSequence: 0x00209172, | |
DimensionIndexPrivateCreator: 0x00209213, | |
DimensionOrganizationSequence: 0x00209221, | |
DimensionIndexSequence: 0x00209222, | |
ConcatenationFrameOffsetNumber: 0x00209228, | |
FunctionalGroupPrivateCreator: 0x00209238, | |
NominalPercentageOfCardiacPhase: 0x00209241, | |
NominalPercentageOfRespiratoryPhase: 0x00209245, | |
StartingRespiratoryAmplitude: 0x00209246, | |
StartingRespiratoryPhase: 0x00209247, | |
EndingRespiratoryAmplitude: 0x00209248, | |
EndingRespiratoryPhase: 0x00209249, | |
RespiratoryTriggerType: 0x00209250, | |
RRIntervalTimeNominal: 0x00209251, | |
ActualCardiacTriggerDelayTime: 0x00209252, | |
RespiratorySynchronizationSequence: 0x00209253, | |
RespiratoryIntervalTime: 0x00209254, | |
NominalRespiratoryTriggerDelayTime: 0x00209255, | |
RespiratoryTriggerDelayThreshold: 0x00209256, | |
ActualRespiratoryTriggerDelayTime: 0x00209257, | |
ImagePositionVolume: 0x00209301, | |
ImageOrientationVolume: 0x00209302, | |
UltrasoundAcquisitionGeometry: 0x00209307, | |
ApexPosition: 0x00209308, | |
VolumeToTransducerMappingMatrix: 0x00209309, | |
VolumeToTableMappingMatrix: 0x0020930a, | |
VolumeToTransducerRelationship: 0x0020930b, | |
PatientFrameOfReferenceSource: 0x0020930c, | |
TemporalPositionTimeOffset: 0x0020930d, | |
PlanePositionVolumeSequence: 0x0020930e, | |
PlaneOrientationVolumeSequence: 0x0020930f, | |
TemporalPositionSequence: 0x00209310, | |
DimensionOrganizationType: 0x00209311, | |
VolumeFrameOfReferenceUID: 0x00209312, | |
TableFrameOfReferenceUID: 0x00209313, | |
DimensionDescriptionLabel: 0x00209421, | |
PatientOrientationInFrameSequence: 0x00209450, | |
FrameLabel: 0x00209453, | |
AcquisitionIndex: 0x00209518, | |
ContributingSOPInstancesReferenceSequence: 0x00209529, | |
ReconstructionIndex: 0x00209536, | |
LightPathFilterPassThroughWavelength: 0x00220001, | |
LightPathFilterPassBand: 0x00220002, | |
ImagePathFilterPassThroughWavelength: 0x00220003, | |
ImagePathFilterPassBand: 0x00220004, | |
PatientEyeMovementCommanded: 0x00220005, | |
PatientEyeMovementCommandCodeSequence: 0x00220006, | |
SphericalLensPower: 0x00220007, | |
CylinderLensPower: 0x00220008, | |
CylinderAxis: 0x00220009, | |
EmmetropicMagnification: 0x0022000a, | |
IntraOcularPressure: 0x0022000b, | |
HorizontalFieldOfView: 0x0022000c, | |
PupilDilated: 0x0022000d, | |
DegreeOfDilation: 0x0022000e, | |
StereoBaselineAngle: 0x00220010, | |
StereoBaselineDisplacement: 0x00220011, | |
StereoHorizontalPixelOffset: 0x00220012, | |
StereoVerticalPixelOffset: 0x00220013, | |
StereoRotation: 0x00220014, | |
AcquisitionDeviceTypeCodeSequence: 0x00220015, | |
IlluminationTypeCodeSequence: 0x00220016, | |
LightPathFilterTypeStackCodeSequence: 0x00220017, | |
ImagePathFilterTypeStackCodeSequence: 0x00220018, | |
LensesCodeSequence: 0x00220019, | |
ChannelDescriptionCodeSequence: 0x0022001a, | |
RefractiveStateSequence: 0x0022001b, | |
MydriaticAgentCodeSequence: 0x0022001c, | |
RelativeImagePositionCodeSequence: 0x0022001d, | |
CameraAngleOfView: 0x0022001e, | |
StereoPairsSequence: 0x00220020, | |
LeftImageSequence: 0x00220021, | |
RightImageSequence: 0x00220022, | |
StereoPairsPresent: 0x00220028, | |
AxialLengthOfTheEye: 0x00220030, | |
OphthalmicFrameLocationSequence: 0x00220031, | |
ReferenceCoordinates: 0x00220032, | |
DepthSpatialResolution: 0x00220035, | |
MaximumDepthDistortion: 0x00220036, | |
AlongScanSpatialResolution: 0x00220037, | |
MaximumAlongScanDistortion: 0x00220038, | |
OphthalmicImageOrientation: 0x00220039, | |
DepthOfTransverseImage: 0x00220041, | |
MydriaticAgentConcentrationUnitsSequence: 0x00220042, | |
AcrossScanSpatialResolution: 0x00220048, | |
MaximumAcrossScanDistortion: 0x00220049, | |
MydriaticAgentConcentration: 0x0022004e, | |
IlluminationWaveLength: 0x00220055, | |
IlluminationPower: 0x00220056, | |
IlluminationBandwidth: 0x00220057, | |
MydriaticAgentSequence: 0x00220058, | |
OphthalmicAxialMeasurementsRightEyeSequence: 0x00221007, | |
OphthalmicAxialMeasurementsLeftEyeSequence: 0x00221008, | |
OphthalmicAxialMeasurementsDeviceType: 0x00221009, | |
OphthalmicAxialLengthMeasurementsType: 0x00221010, | |
OphthalmicAxialLengthSequence: 0x00221012, | |
OphthalmicAxialLength: 0x00221019, | |
LensStatusCodeSequence: 0x00221024, | |
VitreousStatusCodeSequence: 0x00221025, | |
IOLFormulaCodeSequence: 0x00221028, | |
IOLFormulaDetail: 0x00221029, | |
KeratometerIndex: 0x00221033, | |
SourceOfOphthalmicAxialLengthCodeSequence: 0x00221035, | |
TargetRefraction: 0x00221037, | |
RefractiveProcedureOccurred: 0x00221039, | |
RefractiveSurgeryTypeCodeSequence: 0x00221040, | |
OphthalmicUltrasoundMethodCodeSequence: 0x00221044, | |
OphthalmicAxialLengthMeasurementsSequence: 0x00221050, | |
IOLPower: 0x00221053, | |
PredictedRefractiveError: 0x00221054, | |
OphthalmicAxialLengthVelocity: 0x00221059, | |
LensStatusDescription: 0x00221065, | |
VitreousStatusDescription: 0x00221066, | |
IOLPowerSequence: 0x00221090, | |
LensConstantSequence: 0x00221092, | |
IOLManufacturer: 0x00221093, | |
LensConstantDescription: 0x00221094, | |
ImplantName: 0x00221095, | |
KeratometryMeasurementTypeCodeSequence: 0x00221096, | |
ImplantPartNumber: 0x00221097, | |
ReferencedOphthalmicAxialMeasurementsSequence: 0x00221100, | |
OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence: 0x00221101, | |
RefractiveErrorBeforeRefractiveSurgeryCodeSequence: 0x00221103, | |
IOLPowerForExactEmmetropia: 0x00221121, | |
IOLPowerForExactTargetRefraction: 0x00221122, | |
AnteriorChamberDepthDefinitionCodeSequence: 0x00221125, | |
LensThicknessSequence: 0x00221127, | |
AnteriorChamberDepthSequence: 0x00221128, | |
LensThickness: 0x00221130, | |
AnteriorChamberDepth: 0x00221131, | |
SourceOfLensThicknessDataCodeSequence: 0x00221132, | |
SourceOfAnteriorChamberDepthDataCodeSequence: 0x00221133, | |
SourceOfRefractiveMeasurementsSequence: 0x00221134, | |
SourceOfRefractiveMeasurementsCodeSequence: 0x00221135, | |
OphthalmicAxialLengthMeasurementModified: 0x00221140, | |
OphthalmicAxialLengthDataSourceCodeSequence: 0x00221150, | |
OphthalmicAxialLengthAcquisitionMethodCodeSequence: 0x00221153, | |
SignalToNoiseRatio: 0x00221155, | |
OphthalmicAxialLengthDataSourceDescription: 0x00221159, | |
OphthalmicAxialLengthMeasurementsTotalLengthSequence: 0x00221210, | |
OphthalmicAxialLengthMeasurementsSegmentalLengthSequence: 0x00221211, | |
OphthalmicAxialLengthMeasurementsLengthSummationSequence: 0x00221212, | |
UltrasoundOphthalmicAxialLengthMeasurementsSequence: 0x00221220, | |
OpticalOphthalmicAxialLengthMeasurementsSequence: 0x00221225, | |
UltrasoundSelectedOphthalmicAxialLengthSequence: 0x00221230, | |
OphthalmicAxialLengthSelectionMethodCodeSequence: 0x00221250, | |
OpticalSelectedOphthalmicAxialLengthSequence: 0x00221255, | |
SelectedSegmentalOphthalmicAxialLengthSequence: 0x00221257, | |
SelectedTotalOphthalmicAxialLengthSequence: 0x00221260, | |
OphthalmicAxialLengthQualityMetricSequence: 0x00221262, | |
OphthalmicAxialLengthQualityMetricTypeCodeSequence: 0x00221265, | |
OphthalmicAxialLengthQualityMetricTypeDescription: 0x00221273, | |
IntraocularLensCalculationsRightEyeSequence: 0x00221300, | |
IntraocularLensCalculationsLeftEyeSequence: 0x00221310, | |
ReferencedOphthalmicAxialLengthMeasurementQCImageSequence: 0x00221330, | |
OphthalmicMappingDeviceType: 0x00221415, | |
AcquisitionMethodCodeSequence: 0x00221420, | |
AcquisitionMethodAlgorithmSequence: 0x00221423, | |
OphthalmicThicknessMapTypeCodeSequence: 0x00221436, | |
OphthalmicThicknessMappingNormalsSequence: 0x00221443, | |
RetinalThicknessDefinitionCodeSequence: 0x00221445, | |
PixelValueMappingToCodedConceptSequence: 0x00221450, | |
MappedPixelValue: 0x00221452, | |
PixelValueMappingExplanation: 0x00221454, | |
OphthalmicThicknessMapQualityThresholdSequence: 0x00221458, | |
OphthalmicThicknessMapThresholdQualityRating: 0x00221460, | |
AnatomicStructureReferencePoint: 0x00221463, | |
RegistrationToLocalizerSequence: 0x00221465, | |
RegisteredLocalizerUnits: 0x00221466, | |
RegisteredLocalizerTopLeftHandCorner: 0x00221467, | |
RegisteredLocalizerBottomRightHandCorner: 0x00221468, | |
OphthalmicThicknessMapQualityRatingSequence: 0x00221470, | |
RelevantOPTAttributesSequence: 0x00221472, | |
TransformationMethodCodeSequence: 0x00221512, | |
TransformationAlgorithmSequence: 0x00221513, | |
OphthalmicAxialLengthMethod: 0x00221515, | |
OphthalmicFOV: 0x00221517, | |
TwoDimensionalToThreeDimensionalMapSequence: 0x00221518, | |
WideFieldOphthalmicPhotographyQualityRatingSequence: 0x00221525, | |
WideFieldOphthalmicPhotographyQualityThresholdSequence: 0x00221526, | |
WideFieldOphthalmicPhotographyThresholdQualityRating: 0x00221527, | |
XCoordinatesCenterPixelViewAngle: 0x00221528, | |
YCoordinatesCenterPixelViewAngle: 0x00221529, | |
NumberOfMapPoints: 0x00221530, | |
TwoDimensionalToThreeDimensionalMapData: 0x00221531, | |
DerivationAlgorithmSequence: 0x00221612, | |
OphthalmicImageTypeCodeSequence: 0x00221615, | |
OphthalmicImageTypeDescription: 0x00221616, | |
ScanPatternTypeCodeSequence: 0x00221618, | |
ReferencedSurfaceMeshIdentificationSequence: 0x00221620, | |
OphthalmicVolumetricPropertiesFlag: 0x00221622, | |
OphthalmicAnatomicReferencePointXCoordinate: 0x00221624, | |
OphthalmicAnatomicReferencePointYCoordinate: 0x00221626, | |
OphthalmicEnFaceImageQualityRatingSequence: 0x00221628, | |
QualityThreshold: 0x00221630, | |
OCTBscanAnalysisAcquisitionParametersSequence: 0x00221640, | |
NumberofBscansPerFrame: 0x00221642, | |
BscanSlabThickness: 0x00221643, | |
DistanceBetweenBscanSlabs: 0x00221644, | |
BscanCycleTime: 0x00221645, | |
BscanCycleTimeVector: 0x00221646, | |
AscanRate: 0x00221649, | |
BscanRate: 0x00221650, | |
SurfaceMeshZPixelOffset: 0x00221658, | |
VisualFieldHorizontalExtent: 0x00240010, | |
VisualFieldVerticalExtent: 0x00240011, | |
VisualFieldShape: 0x00240012, | |
ScreeningTestModeCodeSequence: 0x00240016, | |
MaximumStimulusLuminance: 0x00240018, | |
BackgroundLuminance: 0x00240020, | |
StimulusColorCodeSequence: 0x00240021, | |
BackgroundIlluminationColorCodeSequence: 0x00240024, | |
StimulusArea: 0x00240025, | |
StimulusPresentationTime: 0x00240028, | |
FixationSequence: 0x00240032, | |
FixationMonitoringCodeSequence: 0x00240033, | |
VisualFieldCatchTrialSequence: 0x00240034, | |
FixationCheckedQuantity: 0x00240035, | |
PatientNotProperlyFixatedQuantity: 0x00240036, | |
PresentedVisualStimuliDataFlag: 0x00240037, | |
NumberOfVisualStimuli: 0x00240038, | |
ExcessiveFixationLossesDataFlag: 0x00240039, | |
ExcessiveFixationLosses: 0x00240040, | |
StimuliRetestingQuantity: 0x00240042, | |
CommentsOnPatientPerformanceOfVisualField: 0x00240044, | |
FalseNegativesEstimateFlag: 0x00240045, | |
FalseNegativesEstimate: 0x00240046, | |
NegativeCatchTrialsQuantity: 0x00240048, | |
FalseNegativesQuantity: 0x00240050, | |
ExcessiveFalseNegativesDataFlag: 0x00240051, | |
ExcessiveFalseNegatives: 0x00240052, | |
FalsePositivesEstimateFlag: 0x00240053, | |
FalsePositivesEstimate: 0x00240054, | |
CatchTrialsDataFlag: 0x00240055, | |
PositiveCatchTrialsQuantity: 0x00240056, | |
TestPointNormalsDataFlag: 0x00240057, | |
TestPointNormalsSequence: 0x00240058, | |
GlobalDeviationProbabilityNormalsFlag: 0x00240059, | |
FalsePositivesQuantity: 0x00240060, | |
ExcessiveFalsePositivesDataFlag: 0x00240061, | |
ExcessiveFalsePositives: 0x00240062, | |
VisualFieldTestNormalsFlag: 0x00240063, | |
ResultsNormalsSequence: 0x00240064, | |
AgeCorrectedSensitivityDeviationAlgorithmSequence: 0x00240065, | |
GlobalDeviationFromNormal: 0x00240066, | |
GeneralizedDefectSensitivityDeviationAlgorithmSequence: 0x00240067, | |
LocalizedDeviationFromNormal: 0x00240068, | |
PatientReliabilityIndicator: 0x00240069, | |
VisualFieldMeanSensitivity: 0x00240070, | |
GlobalDeviationProbability: 0x00240071, | |
LocalDeviationProbabilityNormalsFlag: 0x00240072, | |
LocalizedDeviationProbability: 0x00240073, | |
ShortTermFluctuationCalculated: 0x00240074, | |
ShortTermFluctuation: 0x00240075, | |
ShortTermFluctuationProbabilityCalculated: 0x00240076, | |
ShortTermFluctuationProbability: 0x00240077, | |
CorrectedLocalizedDeviationFromNormalCalculated: 0x00240078, | |
CorrectedLocalizedDeviationFromNormal: 0x00240079, | |
CorrectedLocalizedDeviationFromNormalProbabilityCalculated: 0x00240080, | |
CorrectedLocalizedDeviationFromNormalProbability: 0x00240081, | |
GlobalDeviationProbabilitySequence: 0x00240083, | |
LocalizedDeviationProbabilitySequence: 0x00240085, | |
FovealSensitivityMeasured: 0x00240086, | |
FovealSensitivity: 0x00240087, | |
VisualFieldTestDuration: 0x00240088, | |
VisualFieldTestPointSequence: 0x00240089, | |
VisualFieldTestPointXCoordinate: 0x00240090, | |
VisualFieldTestPointYCoordinate: 0x00240091, | |
AgeCorrectedSensitivityDeviationValue: 0x00240092, | |
StimulusResults: 0x00240093, | |
SensitivityValue: 0x00240094, | |
RetestStimulusSeen: 0x00240095, | |
RetestSensitivityValue: 0x00240096, | |
VisualFieldTestPointNormalsSequence: 0x00240097, | |
QuantifiedDefect: 0x00240098, | |
AgeCorrectedSensitivityDeviationProbabilityValue: 0x00240100, | |
GeneralizedDefectCorrectedSensitivityDeviationFlag: 0x00240102, | |
GeneralizedDefectCorrectedSensitivityDeviationValue: 0x00240103, | |
GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue: 0x00240104, | |
MinimumSensitivityValue: 0x00240105, | |
BlindSpotLocalized: 0x00240106, | |
BlindSpotXCoordinate: 0x00240107, | |
BlindSpotYCoordinate: 0x00240108, | |
VisualAcuityMeasurementSequence: 0x00240110, | |
RefractiveParametersUsedOnPatientSequence: 0x00240112, | |
MeasurementLaterality: 0x00240113, | |
OphthalmicPatientClinicalInformationLeftEyeSequence: 0x00240114, | |
OphthalmicPatientClinicalInformationRightEyeSequence: 0x00240115, | |
FovealPointNormativeDataFlag: 0x00240117, | |
FovealPointProbabilityValue: 0x00240118, | |
ScreeningBaselineMeasured: 0x00240120, | |
ScreeningBaselineMeasuredSequence: 0x00240122, | |
ScreeningBaselineType: 0x00240124, | |
ScreeningBaselineValue: 0x00240126, | |
AlgorithmSource: 0x00240202, | |
DataSetName: 0x00240306, | |
DataSetVersion: 0x00240307, | |
DataSetSource: 0x00240308, | |
DataSetDescription: 0x00240309, | |
VisualFieldTestReliabilityGlobalIndexSequence: 0x00240317, | |
VisualFieldGlobalResultsIndexSequence: 0x00240320, | |
DataObservationSequence: 0x00240325, | |
IndexNormalsFlag: 0x00240338, | |
IndexProbability: 0x00240341, | |
IndexProbabilitySequence: 0x00240344, | |
SamplesPerPixel: 0x00280002, | |
SamplesPerPixelUsed: 0x00280003, | |
PhotometricInterpretation: 0x00280004, | |
ImageDimensions: 0x00280005, | |
PlanarConfiguration: 0x00280006, | |
NumberOfFrames: 0x00280008, | |
FrameIncrementPointer: 0x00280009, | |
FrameDimensionPointer: 0x0028000a, | |
Rows: 0x00280010, | |
Columns: 0x00280011, | |
Planes: 0x00280012, | |
UltrasoundColorDataPresent: 0x00280014, | |
PixelSpacing: 0x00280030, | |
ZoomFactor: 0x00280031, | |
ZoomCenter: 0x00280032, | |
PixelAspectRatio: 0x00280034, | |
ImageFormat: 0x00280040, | |
ManipulatedImage: 0x00280050, | |
CorrectedImage: 0x00280051, | |
CompressionRecognitionCode: 0x0028005f, | |
CompressionCode: 0x00280060, | |
CompressionOriginator: 0x00280061, | |
CompressionLabel: 0x00280062, | |
CompressionDescription: 0x00280063, | |
CompressionSequence: 0x00280065, | |
CompressionStepPointers: 0x00280066, | |
RepeatInterval: 0x00280068, | |
BitsGrouped: 0x00280069, | |
PerimeterTable: 0x00280070, | |
PerimeterValue: 0x00280071, | |
PredictorRows: 0x00280080, | |
PredictorColumns: 0x00280081, | |
PredictorConstants: 0x00280082, | |
BlockedPixels: 0x00280090, | |
BlockRows: 0x00280091, | |
BlockColumns: 0x00280092, | |
RowOverlap: 0x00280093, | |
ColumnOverlap: 0x00280094, | |
BitsAllocated: 0x00280100, | |
BitsStored: 0x00280101, | |
HighBit: 0x00280102, | |
PixelRepresentation: 0x00280103, | |
SmallestValidPixelValue: 0x00280104, | |
LargestValidPixelValue: 0x00280105, | |
SmallestImagePixelValue: 0x00280106, | |
LargestImagePixelValue: 0x00280107, | |
SmallestPixelValueInSeries: 0x00280108, | |
LargestPixelValueInSeries: 0x00280109, | |
SmallestImagePixelValueInPlane: 0x00280110, | |
LargestImagePixelValueInPlane: 0x00280111, | |
PixelPaddingValue: 0x00280120, | |
PixelPaddingRangeLimit: 0x00280121, | |
FloatPixelPaddingValue: 0x00280122, | |
DoubleFloatPixelPaddingValue: 0x00280123, | |
FloatPixelPaddingRangeLimit: 0x00280124, | |
DoubleFloatPixelPaddingRangeLimit: 0x00280125, | |
ImageLocation: 0x00280200, | |
QualityControlImage: 0x00280300, | |
BurnedInAnnotation: 0x00280301, | |
RecognizableVisualFeatures: 0x00280302, | |
LongitudinalTemporalInformationModified: 0x00280303, | |
ReferencedColorPaletteInstanceUID: 0x00280304, | |
TransformLabel: 0x00280400, | |
TransformVersionNumber: 0x00280401, | |
NumberOfTransformSteps: 0x00280402, | |
SequenceOfCompressedData: 0x00280403, | |
DetailsOfCoefficients: 0x00280404, | |
RowsForNthOrderCoefficients: 0x00280400, | |
ColumnsForNthOrderCoefficients: 0x00280401, | |
CoefficientCoding: 0x00280402, | |
CoefficientCodingPointers: 0x00280403, | |
DCTLabel: 0x00280700, | |
DataBlockDescription: 0x00280701, | |
DataBlock: 0x00280702, | |
NormalizationFactorFormat: 0x00280710, | |
ZonalMapNumberFormat: 0x00280720, | |
ZonalMapLocation: 0x00280721, | |
ZonalMapFormat: 0x00280722, | |
AdaptiveMapFormat: 0x00280730, | |
CodeNumberFormat: 0x00280740, | |
CodeLabel: 0x00280800, | |
NumberOfTables: 0x00280802, | |
CodeTableLocation: 0x00280803, | |
BitsForCodeWord: 0x00280804, | |
ImageDataLocation: 0x00280808, | |
PixelSpacingCalibrationType: 0x00280a02, | |
PixelSpacingCalibrationDescription: 0x00280a04, | |
PixelIntensityRelationship: 0x00281040, | |
PixelIntensityRelationshipSign: 0x00281041, | |
WindowCenter: 0x00281050, | |
WindowWidth: 0x00281051, | |
RescaleIntercept: 0x00281052, | |
RescaleSlope: 0x00281053, | |
RescaleType: 0x00281054, | |
WindowCenterWidthExplanation: 0x00281055, | |
VOILUTFunction: 0x00281056, | |
GrayScale: 0x00281080, | |
RecommendedViewingMode: 0x00281090, | |
GrayLookupTableDescriptor: 0x00281100, | |
RedPaletteColorLookupTableDescriptor: 0x00281101, | |
GreenPaletteColorLookupTableDescriptor: 0x00281102, | |
BluePaletteColorLookupTableDescriptor: 0x00281103, | |
AlphaPaletteColorLookupTableDescriptor: 0x00281104, | |
LargeRedPaletteColorLookupTableDescriptor: 0x00281111, | |
LargeGreenPaletteColorLookupTableDescriptor: 0x00281112, | |
LargeBluePaletteColorLookupTableDescriptor: 0x00281113, | |
PaletteColorLookupTableUID: 0x00281199, | |
GrayLookupTableData: 0x00281200, | |
RedPaletteColorLookupTableData: 0x00281201, | |
GreenPaletteColorLookupTableData: 0x00281202, | |
BluePaletteColorLookupTableData: 0x00281203, | |
AlphaPaletteColorLookupTableData: 0x00281204, | |
LargeRedPaletteColorLookupTableData: 0x00281211, | |
LargeGreenPaletteColorLookupTableData: 0x00281212, | |
LargeBluePaletteColorLookupTableData: 0x00281213, | |
LargePaletteColorLookupTableUID: 0x00281214, | |
SegmentedRedPaletteColorLookupTableData: 0x00281221, | |
SegmentedGreenPaletteColorLookupTableData: 0x00281222, | |
SegmentedBluePaletteColorLookupTableData: 0x00281223, | |
SegmentedAlphaPaletteColorLookupTableData: 0x00281224, | |
StoredValueColorRangeSequence: 0x00281230, | |
MinimumStoredValueMapped: 0x00281231, | |
MaximumStoredValueMapped: 0x00281232, | |
BreastImplantPresent: 0x00281300, | |
PartialView: 0x00281350, | |
PartialViewDescription: 0x00281351, | |
PartialViewCodeSequence: 0x00281352, | |
SpatialLocationsPreserved: 0x0028135a, | |
DataFrameAssignmentSequence: 0x00281401, | |
DataPathAssignment: 0x00281402, | |
BitsMappedToColorLookupTable: 0x00281403, | |
BlendingLUT1Sequence: 0x00281404, | |
BlendingLUT1TransferFunction: 0x00281405, | |
BlendingWeightConstant: 0x00281406, | |
BlendingLookupTableDescriptor: 0x00281407, | |
BlendingLookupTableData: 0x00281408, | |
EnhancedPaletteColorLookupTableSequence: 0x0028140b, | |
BlendingLUT2Sequence: 0x0028140c, | |
BlendingLUT2TransferFunction: 0x0028140d, | |
DataPathID: 0x0028140e, | |
RGBLUTTransferFunction: 0x0028140f, | |
AlphaLUTTransferFunction: 0x00281410, | |
ICCProfile: 0x00282000, | |
ColorSpace: 0x00282002, | |
LossyImageCompression: 0x00282110, | |
LossyImageCompressionRatio: 0x00282112, | |
LossyImageCompressionMethod: 0x00282114, | |
ModalityLUTSequence: 0x00283000, | |
LUTDescriptor: 0x00283002, | |
LUTExplanation: 0x00283003, | |
ModalityLUTType: 0x00283004, | |
LUTData: 0x00283006, | |
VOILUTSequence: 0x00283010, | |
SoftcopyVOILUTSequence: 0x00283110, | |
ImagePresentationComments: 0x00284000, | |
BiPlaneAcquisitionSequence: 0x00285000, | |
RepresentativeFrameNumber: 0x00286010, | |
FrameNumbersOfInterest: 0x00286020, | |
FrameOfInterestDescription: 0x00286022, | |
FrameOfInterestType: 0x00286023, | |
MaskPointers: 0x00286030, | |
RWavePointer: 0x00286040, | |
MaskSubtractionSequence: 0x00286100, | |
MaskOperation: 0x00286101, | |
ApplicableFrameRange: 0x00286102, | |
MaskFrameNumbers: 0x00286110, | |
ContrastFrameAveraging: 0x00286112, | |
MaskSubPixelShift: 0x00286114, | |
TIDOffset: 0x00286120, | |
MaskOperationExplanation: 0x00286190, | |
EquipmentAdministratorSequence: 0x00287000, | |
NumberOfDisplaySubsystems: 0x00287001, | |
CurrentConfigurationID: 0x00287002, | |
DisplaySubsystemID: 0x00287003, | |
DisplaySubsystemName: 0x00287004, | |
DisplaySubsystemDescription: 0x00287005, | |
SystemStatus: 0x00287006, | |
SystemStatusComment: 0x00287007, | |
TargetLuminanceCharacteristicsSequence: 0x00287008, | |
LuminanceCharacteristicsID: 0x00287009, | |
DisplaySubsystemConfigurationSequence: 0x0028700a, | |
ConfigurationID: 0x0028700b, | |
ConfigurationName: 0x0028700c, | |
ConfigurationDescription: 0x0028700d, | |
ReferencedTargetLuminanceCharacteristicsID: 0x0028700e, | |
QAResultsSequence: 0x0028700f, | |
DisplaySubsystemQAResultsSequence: 0x00287010, | |
ConfigurationQAResultsSequence: 0x00287011, | |
MeasurementEquipmentSequence: 0x00287012, | |
MeasurementFunctions: 0x00287013, | |
MeasurementEquipmentType: 0x00287014, | |
VisualEvaluationResultSequence: 0x00287015, | |
DisplayCalibrationResultSequence: 0x00287016, | |
DDLValue: 0x00287017, | |
CIExyWhitePoint: 0x00287018, | |
DisplayFunctionType: 0x00287019, | |
GammaValue: 0x0028701a, | |
NumberOfLuminancePoints: 0x0028701b, | |
LuminanceResponseSequence: 0x0028701c, | |
TargetMinimumLuminance: 0x0028701d, | |
TargetMaximumLuminance: 0x0028701e, | |
LuminanceValue: 0x0028701f, | |
LuminanceResponseDescription: 0x00287020, | |
WhitePointFlag: 0x00287021, | |
DisplayDeviceTypeCodeSequence: 0x00287022, | |
DisplaySubsystemSequence: 0x00287023, | |
LuminanceResultSequence: 0x00287024, | |
AmbientLightValueSource: 0x00287025, | |
MeasuredCharacteristics: 0x00287026, | |
LuminanceUniformityResultSequence: 0x00287027, | |
VisualEvaluationTestSequence: 0x00287028, | |
TestResult: 0x00287029, | |
TestResultComment: 0x0028702a, | |
TestImageValidation: 0x0028702b, | |
TestPatternCodeSequence: 0x0028702c, | |
MeasurementPatternCodeSequence: 0x0028702d, | |
VisualEvaluationMethodCodeSequence: 0x0028702e, | |
PixelDataProviderURL: 0x00287fe0, | |
DataPointRows: 0x00289001, | |
DataPointColumns: 0x00289002, | |
SignalDomainColumns: 0x00289003, | |
LargestMonochromePixelValue: 0x00289099, | |
DataRepresentation: 0x00289108, | |
PixelMeasuresSequence: 0x00289110, | |
FrameVOILUTSequence: 0x00289132, | |
PixelValueTransformationSequence: 0x00289145, | |
SignalDomainRows: 0x00289235, | |
DisplayFilterPercentage: 0x00289411, | |
FramePixelShiftSequence: 0x00289415, | |
SubtractionItemID: 0x00289416, | |
PixelIntensityRelationshipLUTSequence: 0x00289422, | |
FramePixelDataPropertiesSequence: 0x00289443, | |
GeometricalProperties: 0x00289444, | |
GeometricMaximumDistortion: 0x00289445, | |
ImageProcessingApplied: 0x00289446, | |
MaskSelectionMode: 0x00289454, | |
LUTFunction: 0x00289474, | |
MaskVisibilityPercentage: 0x00289478, | |
PixelShiftSequence: 0x00289501, | |
RegionPixelShiftSequence: 0x00289502, | |
VerticesOfTheRegion: 0x00289503, | |
MultiFramePresentationSequence: 0x00289505, | |
PixelShiftFrameRange: 0x00289506, | |
LUTFrameRange: 0x00289507, | |
ImageToEquipmentMappingMatrix: 0x00289520, | |
EquipmentCoordinateSystemIdentification: 0x00289537, | |
StudyStatusID: 0x0032000a, | |
StudyPriorityID: 0x0032000c, | |
StudyIDIssuer: 0x00320012, | |
StudyVerifiedDate: 0x00320032, | |
StudyVerifiedTime: 0x00320033, | |
StudyReadDate: 0x00320034, | |
StudyReadTime: 0x00320035, | |
ScheduledStudyStartDate: 0x00321000, | |
ScheduledStudyStartTime: 0x00321001, | |
ScheduledStudyStopDate: 0x00321010, | |
ScheduledStudyStopTime: 0x00321011, | |
ScheduledStudyLocation: 0x00321020, | |
ScheduledStudyLocationAETitle: 0x00321021, | |
ReasonForStudy: 0x00321030, | |
RequestingPhysicianIdentificationSequence: 0x00321031, | |
RequestingPhysician: 0x00321032, | |
RequestingService: 0x00321033, | |
RequestingServiceCodeSequence: 0x00321034, | |
StudyArrivalDate: 0x00321040, | |
StudyArrivalTime: 0x00321041, | |
StudyCompletionDate: 0x00321050, | |
StudyCompletionTime: 0x00321051, | |
StudyComponentStatusID: 0x00321055, | |
RequestedProcedureDescription: 0x00321060, | |
RequestedProcedureCodeSequence: 0x00321064, | |
RequestedContrastAgent: 0x00321070, | |
StudyComments: 0x00324000, | |
ReferencedPatientAliasSequence: 0x00380004, | |
VisitStatusID: 0x00380008, | |
AdmissionID: 0x00380010, | |
IssuerOfAdmissionID: 0x00380011, | |
IssuerOfAdmissionIDSequence: 0x00380014, | |
RouteOfAdmissions: 0x00380016, | |
ScheduledAdmissionDate: 0x0038001a, | |
ScheduledAdmissionTime: 0x0038001b, | |
ScheduledDischargeDate: 0x0038001c, | |
ScheduledDischargeTime: 0x0038001d, | |
ScheduledPatientInstitutionResidence: 0x0038001e, | |
AdmittingDate: 0x00380020, | |
AdmittingTime: 0x00380021, | |
DischargeDate: 0x00380030, | |
DischargeTime: 0x00380032, | |
DischargeDiagnosisDescription: 0x00380040, | |
DischargeDiagnosisCodeSequence: 0x00380044, | |
SpecialNeeds: 0x00380050, | |
ServiceEpisodeID: 0x00380060, | |
IssuerOfServiceEpisodeID: 0x00380061, | |
ServiceEpisodeDescription: 0x00380062, | |
IssuerOfServiceEpisodeIDSequence: 0x00380064, | |
PertinentDocumentsSequence: 0x00380100, | |
PertinentResourcesSequence: 0x00380101, | |
ResourceDescription: 0x00380102, | |
CurrentPatientLocation: 0x00380300, | |
PatientInstitutionResidence: 0x00380400, | |
PatientState: 0x00380500, | |
PatientClinicalTrialParticipationSequence: 0x00380502, | |
VisitComments: 0x00384000, | |
WaveformOriginality: 0x003a0004, | |
NumberOfWaveformChannels: 0x003a0005, | |
NumberOfWaveformSamples: 0x003a0010, | |
SamplingFrequency: 0x003a001a, | |
MultiplexGroupLabel: 0x003a0020, | |
ChannelDefinitionSequence: 0x003a0200, | |
WaveformChannelNumber: 0x003a0202, | |
ChannelLabel: 0x003a0203, | |
ChannelStatus: 0x003a0205, | |
ChannelSourceSequence: 0x003a0208, | |
ChannelSourceModifiersSequence: 0x003a0209, | |
SourceWaveformSequence: 0x003a020a, | |
ChannelDerivationDescription: 0x003a020c, | |
ChannelSensitivity: 0x003a0210, | |
ChannelSensitivityUnitsSequence: 0x003a0211, | |
ChannelSensitivityCorrectionFactor: 0x003a0212, | |
ChannelBaseline: 0x003a0213, | |
ChannelTimeSkew: 0x003a0214, | |
ChannelSampleSkew: 0x003a0215, | |
ChannelOffset: 0x003a0218, | |
WaveformBitsStored: 0x003a021a, | |
FilterLowFrequency: 0x003a0220, | |
FilterHighFrequency: 0x003a0221, | |
NotchFilterFrequency: 0x003a0222, | |
NotchFilterBandwidth: 0x003a0223, | |
WaveformDataDisplayScale: 0x003a0230, | |
WaveformDisplayBackgroundCIELabValue: 0x003a0231, | |
WaveformPresentationGroupSequence: 0x003a0240, | |
PresentationGroupNumber: 0x003a0241, | |
ChannelDisplaySequence: 0x003a0242, | |
ChannelRecommendedDisplayCIELabValue: 0x003a0244, | |
ChannelPosition: 0x003a0245, | |
DisplayShadingFlag: 0x003a0246, | |
FractionalChannelDisplayScale: 0x003a0247, | |
AbsoluteChannelDisplayScale: 0x003a0248, | |
MultiplexedAudioChannelsDescriptionCodeSequence: 0x003a0300, | |
ChannelIdentificationCode: 0x003a0301, | |
ChannelMode: 0x003a0302, | |
ScheduledStationAETitle: 0x00400001, | |
ScheduledProcedureStepStartDate: 0x00400002, | |
ScheduledProcedureStepStartTime: 0x00400003, | |
ScheduledProcedureStepEndDate: 0x00400004, | |
ScheduledProcedureStepEndTime: 0x00400005, | |
ScheduledPerformingPhysicianName: 0x00400006, | |
ScheduledProcedureStepDescription: 0x00400007, | |
ScheduledProtocolCodeSequence: 0x00400008, | |
ScheduledProcedureStepID: 0x00400009, | |
StageCodeSequence: 0x0040000a, | |
ScheduledPerformingPhysicianIdentificationSequence: 0x0040000b, | |
ScheduledStationName: 0x00400010, | |
ScheduledProcedureStepLocation: 0x00400011, | |
PreMedication: 0x00400012, | |
ScheduledProcedureStepStatus: 0x00400020, | |
OrderPlacerIdentifierSequence: 0x00400026, | |
OrderFillerIdentifierSequence: 0x00400027, | |
LocalNamespaceEntityID: 0x00400031, | |
UniversalEntityID: 0x00400032, | |
UniversalEntityIDType: 0x00400033, | |
IdentifierTypeCode: 0x00400035, | |
AssigningFacilitySequence: 0x00400036, | |
AssigningJurisdictionCodeSequence: 0x00400039, | |
AssigningAgencyOrDepartmentCodeSequence: 0x0040003a, | |
ScheduledProcedureStepSequence: 0x00400100, | |
ReferencedNonImageCompositeSOPInstanceSequence: 0x00400220, | |
PerformedStationAETitle: 0x00400241, | |
PerformedStationName: 0x00400242, | |
PerformedLocation: 0x00400243, | |
PerformedProcedureStepStartDate: 0x00400244, | |
PerformedProcedureStepStartTime: 0x00400245, | |
PerformedProcedureStepEndDate: 0x00400250, | |
PerformedProcedureStepEndTime: 0x00400251, | |
PerformedProcedureStepStatus: 0x00400252, | |
PerformedProcedureStepID: 0x00400253, | |
PerformedProcedureStepDescription: 0x00400254, | |
PerformedProcedureTypeDescription: 0x00400255, | |
PerformedProtocolCodeSequence: 0x00400260, | |
PerformedProtocolType: 0x00400261, | |
ScheduledStepAttributesSequence: 0x00400270, | |
RequestAttributesSequence: 0x00400275, | |
CommentsOnThePerformedProcedureStep: 0x00400280, | |
PerformedProcedureStepDiscontinuationReasonCodeSequence: 0x00400281, | |
QuantitySequence: 0x00400293, | |
Quantity: 0x00400294, | |
MeasuringUnitsSequence: 0x00400295, | |
BillingItemSequence: 0x00400296, | |
TotalTimeOfFluoroscopy: 0x00400300, | |
TotalNumberOfExposures: 0x00400301, | |
EntranceDose: 0x00400302, | |
ExposedArea: 0x00400303, | |
DistanceSourceToEntrance: 0x00400306, | |
DistanceSourceToSupport: 0x00400307, | |
ExposureDoseSequence: 0x0040030e, | |
CommentsOnRadiationDose: 0x00400310, | |
XRayOutput: 0x00400312, | |
HalfValueLayer: 0x00400314, | |
OrganDose: 0x00400316, | |
OrganExposed: 0x00400318, | |
BillingProcedureStepSequence: 0x00400320, | |
FilmConsumptionSequence: 0x00400321, | |
BillingSuppliesAndDevicesSequence: 0x00400324, | |
ReferencedProcedureStepSequence: 0x00400330, | |
PerformedSeriesSequence: 0x00400340, | |
CommentsOnTheScheduledProcedureStep: 0x00400400, | |
ProtocolContextSequence: 0x00400440, | |
ContentItemModifierSequence: 0x00400441, | |
ScheduledSpecimenSequence: 0x00400500, | |
SpecimenAccessionNumber: 0x0040050a, | |
ContainerIdentifier: 0x00400512, | |
IssuerOfTheContainerIdentifierSequence: 0x00400513, | |
AlternateContainerIdentifierSequence: 0x00400515, | |
ContainerTypeCodeSequence: 0x00400518, | |
ContainerDescription: 0x0040051a, | |
ContainerComponentSequence: 0x00400520, | |
SpecimenSequence: 0x00400550, | |
SpecimenIdentifier: 0x00400551, | |
SpecimenDescriptionSequenceTrial: 0x00400552, | |
SpecimenDescriptionTrial: 0x00400553, | |
SpecimenUID: 0x00400554, | |
AcquisitionContextSequence: 0x00400555, | |
AcquisitionContextDescription: 0x00400556, | |
SpecimenTypeCodeSequence: 0x0040059a, | |
SpecimenDescriptionSequence: 0x00400560, | |
IssuerOfTheSpecimenIdentifierSequence: 0x00400562, | |
SpecimenShortDescription: 0x00400600, | |
SpecimenDetailedDescription: 0x00400602, | |
SpecimenPreparationSequence: 0x00400610, | |
SpecimenPreparationStepContentItemSequence: 0x00400612, | |
SpecimenLocalizationContentItemSequence: 0x00400620, | |
SlideIdentifier: 0x004006fa, | |
ImageCenterPointCoordinatesSequence: 0x0040071a, | |
XOffsetInSlideCoordinateSystem: 0x0040072a, | |
YOffsetInSlideCoordinateSystem: 0x0040073a, | |
ZOffsetInSlideCoordinateSystem: 0x0040074a, | |
PixelSpacingSequence: 0x004008d8, | |
CoordinateSystemAxisCodeSequence: 0x004008da, | |
MeasurementUnitsCodeSequence: 0x004008ea, | |
VitalStainCodeSequenceTrial: 0x004009f8, | |
RequestedProcedureID: 0x00401001, | |
ReasonForTheRequestedProcedure: 0x00401002, | |
RequestedProcedurePriority: 0x00401003, | |
PatientTransportArrangements: 0x00401004, | |
RequestedProcedureLocation: 0x00401005, | |
PlacerOrderNumberProcedure: 0x00401006, | |
FillerOrderNumberProcedure: 0x00401007, | |
ConfidentialityCode: 0x00401008, | |
ReportingPriority: 0x00401009, | |
ReasonForRequestedProcedureCodeSequence: 0x0040100a, | |
NamesOfIntendedRecipientsOfResults: 0x00401010, | |
IntendedRecipientsOfResultsIdentificationSequence: 0x00401011, | |
ReasonForPerformedProcedureCodeSequence: 0x00401012, | |
RequestedProcedureDescriptionTrial: 0x00401060, | |
PersonIdentificationCodeSequence: 0x00401101, | |
PersonAddress: 0x00401102, | |
PersonTelephoneNumbers: 0x00401103, | |
PersonTelecomInformation: 0x00401104, | |
RequestedProcedureComments: 0x00401400, | |
ReasonForTheImagingServiceRequest: 0x00402001, | |
IssueDateOfImagingServiceRequest: 0x00402004, | |
IssueTimeOfImagingServiceRequest: 0x00402005, | |
PlacerOrderNumberImagingServiceRequestRetired: 0x00402006, | |
FillerOrderNumberImagingServiceRequestRetired: 0x00402007, | |
OrderEnteredBy: 0x00402008, | |
OrderEntererLocation: 0x00402009, | |
OrderCallbackPhoneNumber: 0x00402010, | |
OrderCallbackTelecomInformation: 0x00402011, | |
PlacerOrderNumberImagingServiceRequest: 0x00402016, | |
FillerOrderNumberImagingServiceRequest: 0x00402017, | |
ImagingServiceRequestComments: 0x00402400, | |
ConfidentialityConstraintOnPatientDataDescription: 0x00403001, | |
GeneralPurposeScheduledProcedureStepStatus: 0x00404001, | |
GeneralPurposePerformedProcedureStepStatus: 0x00404002, | |
GeneralPurposeScheduledProcedureStepPriority: 0x00404003, | |
ScheduledProcessingApplicationsCodeSequence: 0x00404004, | |
ScheduledProcedureStepStartDateTime: 0x00404005, | |
MultipleCopiesFlag: 0x00404006, | |
PerformedProcessingApplicationsCodeSequence: 0x00404007, | |
HumanPerformerCodeSequence: 0x00404009, | |
ScheduledProcedureStepModificationDateTime: 0x00404010, | |
ExpectedCompletionDateTime: 0x00404011, | |
ResultingGeneralPurposePerformedProcedureStepsSequence: 0x00404015, | |
ReferencedGeneralPurposeScheduledProcedureStepSequence: 0x00404016, | |
ScheduledWorkitemCodeSequence: 0x00404018, | |
PerformedWorkitemCodeSequence: 0x00404019, | |
InputAvailabilityFlag: 0x00404020, | |
InputInformationSequence: 0x00404021, | |
RelevantInformationSequence: 0x00404022, | |
ReferencedGeneralPurposeScheduledProcedureStepTransactionUID: 0x00404023, | |
ScheduledStationNameCodeSequence: 0x00404025, | |
ScheduledStationClassCodeSequence: 0x00404026, | |
ScheduledStationGeographicLocationCodeSequence: 0x00404027, | |
PerformedStationNameCodeSequence: 0x00404028, | |
PerformedStationClassCodeSequence: 0x00404029, | |
PerformedStationGeographicLocationCodeSequence: 0x00404030, | |
RequestedSubsequentWorkitemCodeSequence: 0x00404031, | |
NonDICOMOutputCodeSequence: 0x00404032, | |
OutputInformationSequence: 0x00404033, | |
ScheduledHumanPerformersSequence: 0x00404034, | |
ActualHumanPerformersSequence: 0x00404035, | |
HumanPerformerOrganization: 0x00404036, | |
HumanPerformerName: 0x00404037, | |
RawDataHandling: 0x00404040, | |
InputReadinessState: 0x00404041, | |
PerformedProcedureStepStartDateTime: 0x00404050, | |
PerformedProcedureStepEndDateTime: 0x00404051, | |
ProcedureStepCancellationDateTime: 0x00404052, | |
OutputDestinationSequence: 0x00404070, | |
DICOMStorageSequence: 0x00404071, | |
STOWRSStorageSequence: 0x00404072, | |
StorageURL: 0x00404073, | |
XDSStorageSequence: 0x00404074, | |
EntranceDoseInmGy: 0x00408302, | |
EntranceDoseDerivation: 0x00408303, | |
ParametricMapFrameTypeSequence: 0x00409092, | |
ReferencedImageRealWorldValueMappingSequence: 0x00409094, | |
RealWorldValueMappingSequence: 0x00409096, | |
PixelValueMappingCodeSequence: 0x00409098, | |
LUTLabel: 0x00409210, | |
RealWorldValueLastValueMapped: 0x00409211, | |
RealWorldValueLUTData: 0x00409212, | |
DoubleFloatRealWorldValueLastValueMapped: 0x00409213, | |
DoubleFloatRealWorldValueFirstValueMapped: 0x00409214, | |
RealWorldValueFirstValueMapped: 0x00409216, | |
QuantityDefinitionSequence: 0x00409220, | |
RealWorldValueIntercept: 0x00409224, | |
RealWorldValueSlope: 0x00409225, | |
FindingsFlagTrial: 0x0040a007, | |
RelationshipType: 0x0040a010, | |
FindingsSequenceTrial: 0x0040a020, | |
FindingsGroupUIDTrial: 0x0040a021, | |
ReferencedFindingsGroupUIDTrial: 0x0040a022, | |
FindingsGroupRecordingDateTrial: 0x0040a023, | |
FindingsGroupRecordingTimeTrial: 0x0040a024, | |
FindingsSourceCategoryCodeSequenceTrial: 0x0040a026, | |
VerifyingOrganization: 0x0040a027, | |
DocumentingOrganizationIdentifierCodeSequenceTrial: 0x0040a028, | |
VerificationDateTime: 0x0040a030, | |
ObservationDateTime: 0x0040a032, | |
ValueType: 0x0040a040, | |
ConceptNameCodeSequence: 0x0040a043, | |
MeasurementPrecisionDescriptionTrial: 0x0040a047, | |
ContinuityOfContent: 0x0040a050, | |
UrgencyOrPriorityAlertsTrial: 0x0040a057, | |
SequencingIndicatorTrial: 0x0040a060, | |
DocumentIdentifierCodeSequenceTrial: 0x0040a066, | |
DocumentAuthorTrial: 0x0040a067, | |
DocumentAuthorIdentifierCodeSequenceTrial: 0x0040a068, | |
IdentifierCodeSequenceTrial: 0x0040a070, | |
VerifyingObserverSequence: 0x0040a073, | |
ObjectBinaryIdentifierTrial: 0x0040a074, | |
VerifyingObserverName: 0x0040a075, | |
DocumentingObserverIdentifierCodeSequenceTrial: 0x0040a076, | |
AuthorObserverSequence: 0x0040a078, | |
ParticipantSequence: 0x0040a07a, | |
CustodialOrganizationSequence: 0x0040a07c, | |
ParticipationType: 0x0040a080, | |
ParticipationDateTime: 0x0040a082, | |
ObserverType: 0x0040a084, | |
ProcedureIdentifierCodeSequenceTrial: 0x0040a085, | |
VerifyingObserverIdentificationCodeSequence: 0x0040a088, | |
ObjectDirectoryBinaryIdentifierTrial: 0x0040a089, | |
EquivalentCDADocumentSequence: 0x0040a090, | |
ReferencedWaveformChannels: 0x0040a0b0, | |
DateOfDocumentOrVerbalTransactionTrial: 0x0040a110, | |
TimeOfDocumentCreationOrVerbalTransactionTrial: 0x0040a112, | |
DateTime: 0x0040a120, | |
Date: 0x0040a121, | |
Time: 0x0040a122, | |
PersonName: 0x0040a123, | |
UID: 0x0040a124, | |
ReportStatusIDTrial: 0x0040a125, | |
TemporalRangeType: 0x0040a130, | |
ReferencedSamplePositions: 0x0040a132, | |
ReferencedFrameNumbers: 0x0040a136, | |
ReferencedTimeOffsets: 0x0040a138, | |
ReferencedDateTime: 0x0040a13a, | |
TextValue: 0x0040a160, | |
FloatingPointValue: 0x0040a161, | |
RationalNumeratorValue: 0x0040a162, | |
RationalDenominatorValue: 0x0040a163, | |
ObservationCategoryCodeSequenceTrial: 0x0040a167, | |
ConceptCodeSequence: 0x0040a168, | |
BibliographicCitationTrial: 0x0040a16a, | |
PurposeOfReferenceCodeSequence: 0x0040a170, | |
ObservationUID: 0x0040a171, | |
ReferencedObservationUIDTrial: 0x0040a172, | |
ReferencedObservationClassTrial: 0x0040a173, | |
ReferencedObjectObservationClassTrial: 0x0040a174, | |
AnnotationGroupNumber: 0x0040a180, | |
ObservationDateTrial: 0x0040a192, | |
ObservationTimeTrial: 0x0040a193, | |
MeasurementAutomationTrial: 0x0040a194, | |
ModifierCodeSequence: 0x0040a195, | |
IdentificationDescriptionTrial: 0x0040a224, | |
CoordinatesSetGeometricTypeTrial: 0x0040a290, | |
AlgorithmCodeSequenceTrial: 0x0040a296, | |
AlgorithmDescriptionTrial: 0x0040a297, | |
PixelCoordinatesSetTrial: 0x0040a29a, | |
MeasuredValueSequence: 0x0040a300, | |
NumericValueQualifierCodeSequence: 0x0040a301, | |
CurrentObserverTrial: 0x0040a307, | |
NumericValue: 0x0040a30a, | |
ReferencedAccessionSequenceTrial: 0x0040a313, | |
ReportStatusCommentTrial: 0x0040a33a, | |
ProcedureContextSequenceTrial: 0x0040a340, | |
VerbalSourceTrial: 0x0040a352, | |
AddressTrial: 0x0040a353, | |
TelephoneNumberTrial: 0x0040a354, | |
VerbalSourceIdentifierCodeSequenceTrial: 0x0040a358, | |
PredecessorDocumentsSequence: 0x0040a360, | |
ReferencedRequestSequence: 0x0040a370, | |
PerformedProcedureCodeSequence: 0x0040a372, | |
CurrentRequestedProcedureEvidenceSequence: 0x0040a375, | |
ReportDetailSequenceTrial: 0x0040a380, | |
PertinentOtherEvidenceSequence: 0x0040a385, | |
HL7StructuredDocumentReferenceSequence: 0x0040a390, | |
ObservationSubjectUIDTrial: 0x0040a402, | |
ObservationSubjectClassTrial: 0x0040a403, | |
ObservationSubjectTypeCodeSequenceTrial: 0x0040a404, | |
CompletionFlag: 0x0040a491, | |
CompletionFlagDescription: 0x0040a492, | |
VerificationFlag: 0x0040a493, | |
ArchiveRequested: 0x0040a494, | |
PreliminaryFlag: 0x0040a496, | |
ContentTemplateSequence: 0x0040a504, | |
IdenticalDocumentsSequence: 0x0040a525, | |
ObservationSubjectContextFlagTrial: 0x0040a600, | |
ObserverContextFlagTrial: 0x0040a601, | |
ProcedureContextFlagTrial: 0x0040a603, | |
ContentSequence: 0x0040a730, | |
RelationshipSequenceTrial: 0x0040a731, | |
RelationshipTypeCodeSequenceTrial: 0x0040a732, | |
LanguageCodeSequenceTrial: 0x0040a744, | |
UniformResourceLocatorTrial: 0x0040a992, | |
WaveformAnnotationSequence: 0x0040b020, | |
TemplateIdentifier: 0x0040db00, | |
TemplateVersion: 0x0040db06, | |
TemplateLocalVersion: 0x0040db07, | |
TemplateExtensionFlag: 0x0040db0b, | |
TemplateExtensionOrganizationUID: 0x0040db0c, | |
TemplateExtensionCreatorUID: 0x0040db0d, | |
ReferencedContentItemIdentifier: 0x0040db73, | |
HL7InstanceIdentifier: 0x0040e001, | |
HL7DocumentEffectiveTime: 0x0040e004, | |
HL7DocumentTypeCodeSequence: 0x0040e006, | |
DocumentClassCodeSequence: 0x0040e008, | |
RetrieveURI: 0x0040e010, | |
RetrieveLocationUID: 0x0040e011, | |
TypeOfInstances: 0x0040e020, | |
DICOMRetrievalSequence: 0x0040e021, | |
DICOMMediaRetrievalSequence: 0x0040e022, | |
WADORetrievalSequence: 0x0040e023, | |
XDSRetrievalSequence: 0x0040e024, | |
WADORSRetrievalSequence: 0x0040e025, | |
RepositoryUniqueID: 0x0040e030, | |
HomeCommunityID: 0x0040e031, | |
DocumentTitle: 0x00420010, | |
EncapsulatedDocument: 0x00420011, | |
MIMETypeOfEncapsulatedDocument: 0x00420012, | |
SourceInstanceSequence: 0x00420013, | |
ListOfMIMETypes: 0x00420014, | |
ProductPackageIdentifier: 0x00440001, | |
SubstanceAdministrationApproval: 0x00440002, | |
ApprovalStatusFurtherDescription: 0x00440003, | |
ApprovalStatusDateTime: 0x00440004, | |
ProductTypeCodeSequence: 0x00440007, | |
ProductName: 0x00440008, | |
ProductDescription: 0x00440009, | |
ProductLotIdentifier: 0x0044000a, | |
ProductExpirationDateTime: 0x0044000b, | |
SubstanceAdministrationDateTime: 0x00440010, | |
SubstanceAdministrationNotes: 0x00440011, | |
SubstanceAdministrationDeviceID: 0x00440012, | |
ProductParameterSequence: 0x00440013, | |
SubstanceAdministrationParameterSequence: 0x00440019, | |
ApprovalSequence: 0x00440100, | |
AssertionCodeSequence: 0x00440101, | |
AssertionUID: 0x00440102, | |
AsserterIdentificationSequence: 0x00440103, | |
AssertionDateTime: 0x00440104, | |
AssertionExpirationDateTime: 0x00440105, | |
AssertionComments: 0x00440106, | |
RelatedAssertionSequence: 0x00440107, | |
ReferencedAssertionUID: 0x00440108, | |
ApprovalSubjectSequence: 0x00440109, | |
OrganizationalRoleCodeSequence: 0x0044010a, | |
LensDescription: 0x00460012, | |
RightLensSequence: 0x00460014, | |
LeftLensSequence: 0x00460015, | |
UnspecifiedLateralityLensSequence: 0x00460016, | |
CylinderSequence: 0x00460018, | |
PrismSequence: 0x00460028, | |
HorizontalPrismPower: 0x00460030, | |
HorizontalPrismBase: 0x00460032, | |
VerticalPrismPower: 0x00460034, | |
VerticalPrismBase: 0x00460036, | |
LensSegmentType: 0x00460038, | |
OpticalTransmittance: 0x00460040, | |
ChannelWidth: 0x00460042, | |
PupilSize: 0x00460044, | |
CornealSize: 0x00460046, | |
AutorefractionRightEyeSequence: 0x00460050, | |
AutorefractionLeftEyeSequence: 0x00460052, | |
DistancePupillaryDistance: 0x00460060, | |
NearPupillaryDistance: 0x00460062, | |
IntermediatePupillaryDistance: 0x00460063, | |
OtherPupillaryDistance: 0x00460064, | |
KeratometryRightEyeSequence: 0x00460070, | |
KeratometryLeftEyeSequence: 0x00460071, | |
SteepKeratometricAxisSequence: 0x00460074, | |
RadiusOfCurvature: 0x00460075, | |
KeratometricPower: 0x00460076, | |
KeratometricAxis: 0x00460077, | |
FlatKeratometricAxisSequence: 0x00460080, | |
BackgroundColor: 0x00460092, | |
Optotype: 0x00460094, | |
OptotypePresentation: 0x00460095, | |
SubjectiveRefractionRightEyeSequence: 0x00460097, | |
SubjectiveRefractionLeftEyeSequence: 0x00460098, | |
AddNearSequence: 0x00460100, | |
AddIntermediateSequence: 0x00460101, | |
AddOtherSequence: 0x00460102, | |
AddPower: 0x00460104, | |
ViewingDistance: 0x00460106, | |
VisualAcuityTypeCodeSequence: 0x00460121, | |
VisualAcuityRightEyeSequence: 0x00460122, | |
VisualAcuityLeftEyeSequence: 0x00460123, | |
VisualAcuityBothEyesOpenSequence: 0x00460124, | |
ViewingDistanceType: 0x00460125, | |
VisualAcuityModifiers: 0x00460135, | |
DecimalVisualAcuity: 0x00460137, | |
OptotypeDetailedDefinition: 0x00460139, | |
ReferencedRefractiveMeasurementsSequence: 0x00460145, | |
SpherePower: 0x00460146, | |
CylinderPower: 0x00460147, | |
CornealTopographySurface: 0x00460201, | |
CornealVertexLocation: 0x00460202, | |
PupilCentroidXCoordinate: 0x00460203, | |
PupilCentroidYCoordinate: 0x00460204, | |
EquivalentPupilRadius: 0x00460205, | |
CornealTopographyMapTypeCodeSequence: 0x00460207, | |
VerticesOfTheOutlineOfPupil: 0x00460208, | |
CornealTopographyMappingNormalsSequence: 0x00460210, | |
MaximumCornealCurvatureSequence: 0x00460211, | |
MaximumCornealCurvature: 0x00460212, | |
MaximumCornealCurvatureLocation: 0x00460213, | |
MinimumKeratometricSequence: 0x00460215, | |
SimulatedKeratometricCylinderSequence: 0x00460218, | |
AverageCornealPower: 0x00460220, | |
CornealISValue: 0x00460224, | |
AnalyzedArea: 0x00460227, | |
SurfaceRegularityIndex: 0x00460230, | |
SurfaceAsymmetryIndex: 0x00460232, | |
CornealEccentricityIndex: 0x00460234, | |
KeratoconusPredictionIndex: 0x00460236, | |
DecimalPotentialVisualAcuity: 0x00460238, | |
CornealTopographyMapQualityEvaluation: 0x00460242, | |
SourceImageCornealProcessedDataSequence: 0x00460244, | |
CornealPointLocation: 0x00460247, | |
CornealPointEstimated: 0x00460248, | |
AxialPower: 0x00460249, | |
TangentialPower: 0x00460250, | |
RefractivePower: 0x00460251, | |
RelativeElevation: 0x00460252, | |
CornealWavefront: 0x00460253, | |
ImagedVolumeWidth: 0x00480001, | |
ImagedVolumeHeight: 0x00480002, | |
ImagedVolumeDepth: 0x00480003, | |
TotalPixelMatrixColumns: 0x00480006, | |
TotalPixelMatrixRows: 0x00480007, | |
TotalPixelMatrixOriginSequence: 0x00480008, | |
SpecimenLabelInImage: 0x00480010, | |
FocusMethod: 0x00480011, | |
ExtendedDepthOfField: 0x00480012, | |
NumberOfFocalPlanes: 0x00480013, | |
DistanceBetweenFocalPlanes: 0x00480014, | |
RecommendedAbsentPixelCIELabValue: 0x00480015, | |
IlluminatorTypeCodeSequence: 0x00480100, | |
ImageOrientationSlide: 0x00480102, | |
OpticalPathSequence: 0x00480105, | |
OpticalPathIdentifier: 0x00480106, | |
OpticalPathDescription: 0x00480107, | |
IlluminationColorCodeSequence: 0x00480108, | |
SpecimenReferenceSequence: 0x00480110, | |
CondenserLensPower: 0x00480111, | |
ObjectiveLensPower: 0x00480112, | |
ObjectiveLensNumericalAperture: 0x00480113, | |
PaletteColorLookupTableSequence: 0x00480120, | |
ReferencedImageNavigationSequence: 0x00480200, | |
TopLeftHandCornerOfLocalizerArea: 0x00480201, | |
BottomRightHandCornerOfLocalizerArea: 0x00480202, | |
OpticalPathIdentificationSequence: 0x00480207, | |
PlanePositionSlideSequence: 0x0048021a, | |
ColumnPositionInTotalImagePixelMatrix: 0x0048021e, | |
RowPositionInTotalImagePixelMatrix: 0x0048021f, | |
PixelOriginInterpretation: 0x00480301, | |
CalibrationImage: 0x00500004, | |
DeviceSequence: 0x00500010, | |
ContainerComponentTypeCodeSequence: 0x00500012, | |
ContainerComponentThickness: 0x00500013, | |
DeviceLength: 0x00500014, | |
ContainerComponentWidth: 0x00500015, | |
DeviceDiameter: 0x00500016, | |
DeviceDiameterUnits: 0x00500017, | |
DeviceVolume: 0x00500018, | |
InterMarkerDistance: 0x00500019, | |
ContainerComponentMaterial: 0x0050001a, | |
ContainerComponentID: 0x0050001b, | |
ContainerComponentLength: 0x0050001c, | |
ContainerComponentDiameter: 0x0050001d, | |
ContainerComponentDescription: 0x0050001e, | |
DeviceDescription: 0x00500020, | |
ContrastBolusIngredientPercentByVolume: 0x00520001, | |
OCTFocalDistance: 0x00520002, | |
BeamSpotSize: 0x00520003, | |
EffectiveRefractiveIndex: 0x00520004, | |
OCTAcquisitionDomain: 0x00520006, | |
OCTOpticalCenterWavelength: 0x00520007, | |
AxialResolution: 0x00520008, | |
RangingDepth: 0x00520009, | |
ALineRate: 0x00520011, | |
ALinesPerFrame: 0x00520012, | |
CatheterRotationalRate: 0x00520013, | |
ALinePixelSpacing: 0x00520014, | |
ModeOfPercutaneousAccessSequence: 0x00520016, | |
IntravascularOCTFrameTypeSequence: 0x00520025, | |
OCTZOffsetApplied: 0x00520026, | |
IntravascularFrameContentSequence: 0x00520027, | |
IntravascularLongitudinalDistance: 0x00520028, | |
IntravascularOCTFrameContentSequence: 0x00520029, | |
OCTZOffsetCorrection: 0x00520030, | |
CatheterDirectionOfRotation: 0x00520031, | |
SeamLineLocation: 0x00520033, | |
FirstALineLocation: 0x00520034, | |
SeamLineIndex: 0x00520036, | |
NumberOfPaddedALines: 0x00520038, | |
InterpolationType: 0x00520039, | |
RefractiveIndexApplied: 0x0052003a, | |
EnergyWindowVector: 0x00540010, | |
NumberOfEnergyWindows: 0x00540011, | |
EnergyWindowInformationSequence: 0x00540012, | |
EnergyWindowRangeSequence: 0x00540013, | |
EnergyWindowLowerLimit: 0x00540014, | |
EnergyWindowUpperLimit: 0x00540015, | |
RadiopharmaceuticalInformationSequence: 0x00540016, | |
ResidualSyringeCounts: 0x00540017, | |
EnergyWindowName: 0x00540018, | |
DetectorVector: 0x00540020, | |
NumberOfDetectors: 0x00540021, | |
DetectorInformationSequence: 0x00540022, | |
PhaseVector: 0x00540030, | |
NumberOfPhases: 0x00540031, | |
PhaseInformationSequence: 0x00540032, | |
NumberOfFramesInPhase: 0x00540033, | |
PhaseDelay: 0x00540036, | |
PauseBetweenFrames: 0x00540038, | |
PhaseDescription: 0x00540039, | |
RotationVector: 0x00540050, | |
NumberOfRotations: 0x00540051, | |
RotationInformationSequence: 0x00540052, | |
NumberOfFramesInRotation: 0x00540053, | |
RRIntervalVector: 0x00540060, | |
NumberOfRRIntervals: 0x00540061, | |
GatedInformationSequence: 0x00540062, | |
DataInformationSequence: 0x00540063, | |
TimeSlotVector: 0x00540070, | |
NumberOfTimeSlots: 0x00540071, | |
TimeSlotInformationSequence: 0x00540072, | |
TimeSlotTime: 0x00540073, | |
SliceVector: 0x00540080, | |
NumberOfSlices: 0x00540081, | |
AngularViewVector: 0x00540090, | |
TimeSliceVector: 0x00540100, | |
NumberOfTimeSlices: 0x00540101, | |
StartAngle: 0x00540200, | |
TypeOfDetectorMotion: 0x00540202, | |
TriggerVector: 0x00540210, | |
NumberOfTriggersInPhase: 0x00540211, | |
ViewCodeSequence: 0x00540220, | |
ViewModifierCodeSequence: 0x00540222, | |
RadionuclideCodeSequence: 0x00540300, | |
AdministrationRouteCodeSequence: 0x00540302, | |
RadiopharmaceuticalCodeSequence: 0x00540304, | |
CalibrationDataSequence: 0x00540306, | |
EnergyWindowNumber: 0x00540308, | |
ImageID: 0x00540400, | |
PatientOrientationCodeSequence: 0x00540410, | |
PatientOrientationModifierCodeSequence: 0x00540412, | |
PatientGantryRelationshipCodeSequence: 0x00540414, | |
SliceProgressionDirection: 0x00540500, | |
ScanProgressionDirection: 0x00540501, | |
SeriesType: 0x00541000, | |
Units: 0x00541001, | |
CountsSource: 0x00541002, | |
ReprojectionMethod: 0x00541004, | |
SUVType: 0x00541006, | |
RandomsCorrectionMethod: 0x00541100, | |
AttenuationCorrectionMethod: 0x00541101, | |
DecayCorrection: 0x00541102, | |
ReconstructionMethod: 0x00541103, | |
DetectorLinesOfResponseUsed: 0x00541104, | |
ScatterCorrectionMethod: 0x00541105, | |
AxialAcceptance: 0x00541200, | |
AxialMash: 0x00541201, | |
TransverseMash: 0x00541202, | |
DetectorElementSize: 0x00541203, | |
CoincidenceWindowWidth: 0x00541210, | |
SecondaryCountsType: 0x00541220, | |
FrameReferenceTime: 0x00541300, | |
PrimaryPromptsCountsAccumulated: 0x00541310, | |
SecondaryCountsAccumulated: 0x00541311, | |
SliceSensitivityFactor: 0x00541320, | |
DecayFactor: 0x00541321, | |
DoseCalibrationFactor: 0x00541322, | |
ScatterFractionFactor: 0x00541323, | |
DeadTimeFactor: 0x00541324, | |
ImageIndex: 0x00541330, | |
CountsIncluded: 0x00541400, | |
DeadTimeCorrectionFlag: 0x00541401, | |
HistogramSequence: 0x00603000, | |
HistogramNumberOfBins: 0x00603002, | |
HistogramFirstBinValue: 0x00603004, | |
HistogramLastBinValue: 0x00603006, | |
HistogramBinWidth: 0x00603008, | |
HistogramExplanation: 0x00603010, | |
HistogramData: 0x00603020, | |
SegmentationType: 0x00620001, | |
SegmentSequence: 0x00620002, | |
SegmentedPropertyCategoryCodeSequence: 0x00620003, | |
SegmentNumber: 0x00620004, | |
SegmentLabel: 0x00620005, | |
SegmentDescription: 0x00620006, | |
SegmentationAlgorithmIdentificationSequence: 0x00620007, | |
SegmentAlgorithmType: 0x00620008, | |
SegmentAlgorithmName: 0x00620009, | |
SegmentIdentificationSequence: 0x0062000a, | |
ReferencedSegmentNumber: 0x0062000b, | |
RecommendedDisplayGrayscaleValue: 0x0062000c, | |
RecommendedDisplayCIELabValue: 0x0062000d, | |
MaximumFractionalValue: 0x0062000e, | |
SegmentedPropertyTypeCodeSequence: 0x0062000f, | |
SegmentationFractionalType: 0x00620010, | |
SegmentedPropertyTypeModifierCodeSequence: 0x00620011, | |
UsedSegmentsSequence: 0x00620012, | |
TrackingID: 0x00620020, | |
TrackingUID: 0x00620021, | |
DeformableRegistrationSequence: 0x00640002, | |
SourceFrameOfReferenceUID: 0x00640003, | |
DeformableRegistrationGridSequence: 0x00640005, | |
GridDimensions: 0x00640007, | |
GridResolution: 0x00640008, | |
VectorGridData: 0x00640009, | |
PreDeformationMatrixRegistrationSequence: 0x0064000f, | |
PostDeformationMatrixRegistrationSequence: 0x00640010, | |
NumberOfSurfaces: 0x00660001, | |
SurfaceSequence: 0x00660002, | |
SurfaceNumber: 0x00660003, | |
SurfaceComments: 0x00660004, | |
SurfaceProcessing: 0x00660009, | |
SurfaceProcessingRatio: 0x0066000a, | |
SurfaceProcessingDescription: 0x0066000b, | |
RecommendedPresentationOpacity: 0x0066000c, | |
RecommendedPresentationType: 0x0066000d, | |
FiniteVolume: 0x0066000e, | |
Manifold: 0x00660010, | |
SurfacePointsSequence: 0x00660011, | |
SurfacePointsNormalsSequence: 0x00660012, | |
SurfaceMeshPrimitivesSequence: 0x00660013, | |
NumberOfSurfacePoints: 0x00660015, | |
PointCoordinatesData: 0x00660016, | |
PointPositionAccuracy: 0x00660017, | |
MeanPointDistance: 0x00660018, | |
MaximumPointDistance: 0x00660019, | |
PointsBoundingBoxCoordinates: 0x0066001a, | |
AxisOfRotation: 0x0066001b, | |
CenterOfRotation: 0x0066001c, | |
NumberOfVectors: 0x0066001e, | |
VectorDimensionality: 0x0066001f, | |
VectorAccuracy: 0x00660020, | |
VectorCoordinateData: 0x00660021, | |
TrianglePointIndexList: 0x00660023, | |
EdgePointIndexList: 0x00660024, | |
VertexPointIndexList: 0x00660025, | |
TriangleStripSequence: 0x00660026, | |
TriangleFanSequence: 0x00660027, | |
LineSequence: 0x00660028, | |
PrimitivePointIndexList: 0x00660029, | |
SurfaceCount: 0x0066002a, | |
ReferencedSurfaceSequence: 0x0066002b, | |
ReferencedSurfaceNumber: 0x0066002c, | |
SegmentSurfaceGenerationAlgorithmIdentificationSequence: 0x0066002d, | |
SegmentSurfaceSourceInstanceSequence: 0x0066002e, | |
AlgorithmFamilyCodeSequence: 0x0066002f, | |
AlgorithmNameCodeSequence: 0x00660030, | |
AlgorithmVersion: 0x00660031, | |
AlgorithmParameters: 0x00660032, | |
FacetSequence: 0x00660034, | |
SurfaceProcessingAlgorithmIdentificationSequence: 0x00660035, | |
AlgorithmName: 0x00660036, | |
RecommendedPointRadius: 0x00660037, | |
RecommendedLineThickness: 0x00660038, | |
LongPrimitivePointIndexList: 0x00660040, | |
LongTrianglePointIndexList: 0x00660041, | |
LongEdgePointIndexList: 0x00660042, | |
LongVertexPointIndexList: 0x00660043, | |
TrackSetSequence: 0x00660101, | |
TrackSequence: 0x00660102, | |
RecommendedDisplayCIELabValueList: 0x00660103, | |
TrackingAlgorithmIdentificationSequence: 0x00660104, | |
TrackSetNumber: 0x00660105, | |
TrackSetLabel: 0x00660106, | |
TrackSetDescription: 0x00660107, | |
TrackSetAnatomicalTypeCodeSequence: 0x00660108, | |
MeasurementsSequence: 0x00660121, | |
TrackSetStatisticsSequence: 0x00660124, | |
FloatingPointValues: 0x00660125, | |
TrackPointIndexList: 0x00660129, | |
TrackStatisticsSequence: 0x00660130, | |
MeasurementValuesSequence: 0x00660132, | |
DiffusionAcquisitionCodeSequence: 0x00660133, | |
DiffusionModelCodeSequence: 0x00660134, | |
ImplantSize: 0x00686210, | |
ImplantTemplateVersion: 0x00686221, | |
ReplacedImplantTemplateSequence: 0x00686222, | |
ImplantType: 0x00686223, | |
DerivationImplantTemplateSequence: 0x00686224, | |
OriginalImplantTemplateSequence: 0x00686225, | |
EffectiveDateTime: 0x00686226, | |
ImplantTargetAnatomySequence: 0x00686230, | |
InformationFromManufacturerSequence: 0x00686260, | |
NotificationFromManufacturerSequence: 0x00686265, | |
InformationIssueDateTime: 0x00686270, | |
InformationSummary: 0x00686280, | |
ImplantRegulatoryDisapprovalCodeSequence: 0x006862a0, | |
OverallTemplateSpatialTolerance: 0x006862a5, | |
HPGLDocumentSequence: 0x006862c0, | |
HPGLDocumentID: 0x006862d0, | |
HPGLDocumentLabel: 0x006862d5, | |
ViewOrientationCodeSequence: 0x006862e0, | |
ViewOrientationModifierCodeSequence: 0x006862f0, | |
HPGLDocumentScaling: 0x006862f2, | |
HPGLDocument: 0x00686300, | |
HPGLContourPenNumber: 0x00686310, | |
HPGLPenSequence: 0x00686320, | |
HPGLPenNumber: 0x00686330, | |
HPGLPenLabel: 0x00686340, | |
HPGLPenDescription: 0x00686345, | |
RecommendedRotationPoint: 0x00686346, | |
BoundingRectangle: 0x00686347, | |
ImplantTemplate3DModelSurfaceNumber: 0x00686350, | |
SurfaceModelDescriptionSequence: 0x00686360, | |
SurfaceModelLabel: 0x00686380, | |
SurfaceModelScalingFactor: 0x00686390, | |
MaterialsCodeSequence: 0x006863a0, | |
CoatingMaterialsCodeSequence: 0x006863a4, | |
ImplantTypeCodeSequence: 0x006863a8, | |
FixationMethodCodeSequence: 0x006863ac, | |
MatingFeatureSetsSequence: 0x006863b0, | |
MatingFeatureSetID: 0x006863c0, | |
MatingFeatureSetLabel: 0x006863d0, | |
MatingFeatureSequence: 0x006863e0, | |
MatingFeatureID: 0x006863f0, | |
MatingFeatureDegreeOfFreedomSequence: 0x00686400, | |
DegreeOfFreedomID: 0x00686410, | |
DegreeOfFreedomType: 0x00686420, | |
TwoDMatingFeatureCoordinatesSequence: 0x00686430, | |
ReferencedHPGLDocumentID: 0x00686440, | |
TwoDMatingPoint: 0x00686450, | |
TwoDMatingAxes: 0x00686460, | |
TwoDDegreeOfFreedomSequence: 0x00686470, | |
ThreeDDegreeOfFreedomAxis: 0x00686490, | |
RangeOfFreedom: 0x006864a0, | |
ThreeDMatingPoint: 0x006864c0, | |
ThreeDMatingAxes: 0x006864d0, | |
TwoDDegreeOfFreedomAxis: 0x006864f0, | |
PlanningLandmarkPointSequence: 0x00686500, | |
PlanningLandmarkLineSequence: 0x00686510, | |
PlanningLandmarkPlaneSequence: 0x00686520, | |
PlanningLandmarkID: 0x00686530, | |
PlanningLandmarkDescription: 0x00686540, | |
PlanningLandmarkIdentificationCodeSequence: 0x00686545, | |
TwoDPointCoordinatesSequence: 0x00686550, | |
TwoDPointCoordinates: 0x00686560, | |
ThreeDPointCoordinates: 0x00686590, | |
TwoDLineCoordinatesSequence: 0x006865a0, | |
TwoDLineCoordinates: 0x006865b0, | |
ThreeDLineCoordinates: 0x006865d0, | |
TwoDPlaneCoordinatesSequence: 0x006865e0, | |
TwoDPlaneIntersection: 0x006865f0, | |
ThreeDPlaneOrigin: 0x00686610, | |
ThreeDPlaneNormal: 0x00686620, | |
GraphicAnnotationSequence: 0x00700001, | |
GraphicLayer: 0x00700002, | |
BoundingBoxAnnotationUnits: 0x00700003, | |
AnchorPointAnnotationUnits: 0x00700004, | |
GraphicAnnotationUnits: 0x00700005, | |
UnformattedTextValue: 0x00700006, | |
TextObjectSequence: 0x00700008, | |
GraphicObjectSequence: 0x00700009, | |
BoundingBoxTopLeftHandCorner: 0x00700010, | |
BoundingBoxBottomRightHandCorner: 0x00700011, | |
BoundingBoxTextHorizontalJustification: 0x00700012, | |
AnchorPoint: 0x00700014, | |
AnchorPointVisibility: 0x00700015, | |
GraphicDimensions: 0x00700020, | |
NumberOfGraphicPoints: 0x00700021, | |
GraphicData: 0x00700022, | |
GraphicType: 0x00700023, | |
GraphicFilled: 0x00700024, | |
ImageRotationRetired: 0x00700040, | |
ImageHorizontalFlip: 0x00700041, | |
ImageRotation: 0x00700042, | |
DisplayedAreaTopLeftHandCornerTrial: 0x00700050, | |
DisplayedAreaBottomRightHandCornerTrial: 0x00700051, | |
DisplayedAreaTopLeftHandCorner: 0x00700052, | |
DisplayedAreaBottomRightHandCorner: 0x00700053, | |
DisplayedAreaSelectionSequence: 0x0070005a, | |
GraphicLayerSequence: 0x00700060, | |
GraphicLayerOrder: 0x00700062, | |
GraphicLayerRecommendedDisplayGrayscaleValue: 0x00700066, | |
GraphicLayerRecommendedDisplayRGBValue: 0x00700067, | |
GraphicLayerDescription: 0x00700068, | |
ContentLabel: 0x00700080, | |
ContentDescription: 0x00700081, | |
PresentationCreationDate: 0x00700082, | |
PresentationCreationTime: 0x00700083, | |
ContentCreatorName: 0x00700084, | |
ContentCreatorIdentificationCodeSequence: 0x00700086, | |
AlternateContentDescriptionSequence: 0x00700087, | |
PresentationSizeMode: 0x00700100, | |
PresentationPixelSpacing: 0x00700101, | |
PresentationPixelAspectRatio: 0x00700102, | |
PresentationPixelMagnificationRatio: 0x00700103, | |
GraphicGroupLabel: 0x00700207, | |
GraphicGroupDescription: 0x00700208, | |
CompoundGraphicSequence: 0x00700209, | |
CompoundGraphicInstanceID: 0x00700226, | |
FontName: 0x00700227, | |
FontNameType: 0x00700228, | |
CSSFontName: 0x00700229, | |
RotationAngle: 0x00700230, | |
TextStyleSequence: 0x00700231, | |
LineStyleSequence: 0x00700232, | |
FillStyleSequence: 0x00700233, | |
GraphicGroupSequence: 0x00700234, | |
TextColorCIELabValue: 0x00700241, | |
HorizontalAlignment: 0x00700242, | |
VerticalAlignment: 0x00700243, | |
ShadowStyle: 0x00700244, | |
ShadowOffsetX: 0x00700245, | |
ShadowOffsetY: 0x00700246, | |
ShadowColorCIELabValue: 0x00700247, | |
Underlined: 0x00700248, | |
Bold: 0x00700249, | |
Italic: 0x00700250, | |
PatternOnColorCIELabValue: 0x00700251, | |
PatternOffColorCIELabValue: 0x00700252, | |
LineThickness: 0x00700253, | |
LineDashingStyle: 0x00700254, | |
LinePattern: 0x00700255, | |
FillPattern: 0x00700256, | |
FillMode: 0x00700257, | |
ShadowOpacity: 0x00700258, | |
GapLength: 0x00700261, | |
DiameterOfVisibility: 0x00700262, | |
RotationPoint: 0x00700273, | |
TickAlignment: 0x00700274, | |
ShowTickLabel: 0x00700278, | |
TickLabelAlignment: 0x00700279, | |
CompoundGraphicUnits: 0x00700282, | |
PatternOnOpacity: 0x00700284, | |
PatternOffOpacity: 0x00700285, | |
MajorTicksSequence: 0x00700287, | |
TickPosition: 0x00700288, | |
TickLabel: 0x00700289, | |
CompoundGraphicType: 0x00700294, | |
GraphicGroupID: 0x00700295, | |
ShapeType: 0x00700306, | |
RegistrationSequence: 0x00700308, | |
MatrixRegistrationSequence: 0x00700309, | |
MatrixSequence: 0x0070030a, | |
FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix: 0x0070030b, | |
FrameOfReferenceTransformationMatrixType: 0x0070030c, | |
RegistrationTypeCodeSequence: 0x0070030d, | |
FiducialDescription: 0x0070030f, | |
FiducialIdentifier: 0x00700310, | |
FiducialIdentifierCodeSequence: 0x00700311, | |
ContourUncertaintyRadius: 0x00700312, | |
UsedFiducialsSequence: 0x00700314, | |
GraphicCoordinatesDataSequence: 0x00700318, | |
FiducialUID: 0x0070031a, | |
ReferencedFiducialUID: 0x0070031b, | |
FiducialSetSequence: 0x0070031c, | |
FiducialSequence: 0x0070031e, | |
FiducialsPropertyCategoryCodeSequence: 0x0070031f, | |
GraphicLayerRecommendedDisplayCIELabValue: 0x00700401, | |
BlendingSequence: 0x00700402, | |
RelativeOpacity: 0x00700403, | |
ReferencedSpatialRegistrationSequence: 0x00700404, | |
BlendingPosition: 0x00700405, | |
PresentationDisplayCollectionUID: 0x00701101, | |
PresentationSequenceCollectionUID: 0x00701102, | |
PresentationSequencePositionIndex: 0x00701103, | |
RenderedImageReferenceSequence: 0x00701104, | |
VolumetricPresentationStateInputSequence: 0x00701201, | |
PresentationInputType: 0x00701202, | |
InputSequencePositionIndex: 0x00701203, | |
Crop: 0x00701204, | |
CroppingSpecificationIndex: 0x00701205, | |
CompositingMethod: 0x00701206, | |
VolumetricPresentationInputNumber: 0x00701207, | |
ImageVolumeGeometry: 0x00701208, | |
VolumetricPresentationInputSetUID: 0x00701209, | |
VolumetricPresentationInputSetSequence: 0x0070120a, | |
GlobalCrop: 0x0070120b, | |
GlobalCroppingSpecificationIndex: 0x0070120c, | |
RenderingMethod: 0x0070120d, | |
VolumeCroppingSequence: 0x00701301, | |
VolumeCroppingMethod: 0x00701302, | |
BoundingBoxCrop: 0x00701303, | |
ObliqueCroppingPlaneSequence: 0x00701304, | |
Plane: 0x00701305, | |
PlaneNormal: 0x00701306, | |
CroppingSpecificationNumber: 0x00701309, | |
MultiPlanarReconstructionStyle: 0x00701501, | |
MPRThicknessType: 0x00701502, | |
MPRSlabThickness: 0x00701503, | |
MPRTopLeftHandCorner: 0x00701505, | |
MPRViewWidthDirection: 0x00701507, | |
MPRViewWidth: 0x00701508, | |
NumberOfVolumetricCurvePoints: 0x0070150c, | |
VolumetricCurvePoints: 0x0070150d, | |
MPRViewHeightDirection: 0x00701511, | |
MPRViewHeight: 0x00701512, | |
RenderProjection: 0x00701602, | |
ViewpointPosition: 0x00701603, | |
ViewpointLookAtPoint: 0x00701604, | |
ViewpointUpDirection: 0x00701605, | |
RenderFieldOfView: 0x00701606, | |
SamplingStepSize: 0x00701607, | |
ShadingStyle: 0x00701701, | |
AmbientReflectionIntensity: 0x00701702, | |
LightDirection: 0x00701703, | |
DiffuseReflectionIntensity: 0x00701704, | |
SpecularReflectionIntensity: 0x00701705, | |
Shininess: 0x00701706, | |
PresentationStateClassificationComponentSequence: 0x00701801, | |
ComponentType: 0x00701802, | |
ComponentInputSequence: 0x00701803, | |
VolumetricPresentationInputIndex: 0x00701804, | |
PresentationStateCompositorComponentSequence: 0x00701805, | |
WeightingTransferFunctionSequence: 0x00701806, | |
WeightingLookupTableDescriptor: 0x00701807, | |
WeightingLookupTableData: 0x00701808, | |
VolumetricAnnotationSequence: 0x00701901, | |
ReferencedStructuredContextSequence: 0x00701903, | |
ReferencedContentItem: 0x00701904, | |
VolumetricPresentationInputAnnotationSequence: 0x00701905, | |
AnnotationClipping: 0x00701907, | |
PresentationAnimationStyle: 0x00701a01, | |
RecommendedAnimationRate: 0x00701a03, | |
AnimationCurveSequence: 0x00701a04, | |
AnimationStepSize: 0x00701a05, | |
SwivelRange: 0x00701a06, | |
VolumetricCurveUpDirections: 0x00701a07, | |
VolumeStreamSequence: 0x00701a08, | |
RGBATransferFunctionDescription: 0x00701a09, | |
AdvancedBlendingSequence: 0x00701b01, | |
BlendingInputNumber: 0x00701b02, | |
BlendingDisplayInputSequence: 0x00701b03, | |
BlendingDisplaySequence: 0x00701b04, | |
BlendingMode: 0x00701b06, | |
TimeSeriesBlending: 0x00701b07, | |
GeometryForDisplay: 0x00701b08, | |
ThresholdSequence: 0x00701b11, | |
ThresholdValueSequence: 0x00701b12, | |
ThresholdType: 0x00701b13, | |
ThresholdValue: 0x00701b14, | |
HangingProtocolName: 0x00720002, | |
HangingProtocolDescription: 0x00720004, | |
HangingProtocolLevel: 0x00720006, | |
HangingProtocolCreator: 0x00720008, | |
HangingProtocolCreationDateTime: 0x0072000a, | |
HangingProtocolDefinitionSequence: 0x0072000c, | |
HangingProtocolUserIdentificationCodeSequence: 0x0072000e, | |
HangingProtocolUserGroupName: 0x00720010, | |
SourceHangingProtocolSequence: 0x00720012, | |
NumberOfPriorsReferenced: 0x00720014, | |
ImageSetsSequence: 0x00720020, | |
ImageSetSelectorSequence: 0x00720022, | |
ImageSetSelectorUsageFlag: 0x00720024, | |
SelectorAttribute: 0x00720026, | |
SelectorValueNumber: 0x00720028, | |
TimeBasedImageSetsSequence: 0x00720030, | |
ImageSetNumber: 0x00720032, | |
ImageSetSelectorCategory: 0x00720034, | |
RelativeTime: 0x00720038, | |
RelativeTimeUnits: 0x0072003a, | |
AbstractPriorValue: 0x0072003c, | |
AbstractPriorCodeSequence: 0x0072003e, | |
ImageSetLabel: 0x00720040, | |
SelectorAttributeVR: 0x00720050, | |
SelectorSequencePointer: 0x00720052, | |
SelectorSequencePointerPrivateCreator: 0x00720054, | |
SelectorAttributePrivateCreator: 0x00720056, | |
SelectorAEValue: 0x0072005e, | |
SelectorASValue: 0x0072005f, | |
SelectorATValue: 0x00720060, | |
SelectorDAValue: 0x00720061, | |
SelectorCSValue: 0x00720062, | |
SelectorDTValue: 0x00720063, | |
SelectorISValue: 0x00720064, | |
SelectorOBValue: 0x00720065, | |
SelectorLOValue: 0x00720066, | |
SelectorOFValue: 0x00720067, | |
SelectorLTValue: 0x00720068, | |
SelectorOWValue: 0x00720069, | |
SelectorPNValue: 0x0072006a, | |
SelectorTMValue: 0x0072006b, | |
SelectorSHValue: 0x0072006c, | |
SelectorUNValue: 0x0072006d, | |
SelectorSTValue: 0x0072006e, | |
SelectorUCValue: 0x0072006f, | |
SelectorUTValue: 0x00720070, | |
SelectorURValue: 0x00720071, | |
SelectorDSValue: 0x00720072, | |
SelectorODValue: 0x00720073, | |
SelectorFDValue: 0x00720074, | |
SelectorOLValue: 0x00720075, | |
SelectorFLValue: 0x00720076, | |
SelectorULValue: 0x00720078, | |
SelectorUSValue: 0x0072007a, | |
SelectorSLValue: 0x0072007c, | |
SelectorSSValue: 0x0072007e, | |
SelectorUIValue: 0x0072007f, | |
SelectorCodeSequenceValue: 0x00720080, | |
NumberOfScreens: 0x00720100, | |
NominalScreenDefinitionSequence: 0x00720102, | |
NumberOfVerticalPixels: 0x00720104, | |
NumberOfHorizontalPixels: 0x00720106, | |
DisplayEnvironmentSpatialPosition: 0x00720108, | |
ScreenMinimumGrayscaleBitDepth: 0x0072010a, | |
ScreenMinimumColorBitDepth: 0x0072010c, | |
ApplicationMaximumRepaintTime: 0x0072010e, | |
DisplaySetsSequence: 0x00720200, | |
DisplaySetNumber: 0x00720202, | |
DisplaySetLabel: 0x00720203, | |
DisplaySetPresentationGroup: 0x00720204, | |
DisplaySetPresentationGroupDescription: 0x00720206, | |
PartialDataDisplayHandling: 0x00720208, | |
SynchronizedScrollingSequence: 0x00720210, | |
DisplaySetScrollingGroup: 0x00720212, | |
NavigationIndicatorSequence: 0x00720214, | |
NavigationDisplaySet: 0x00720216, | |
ReferenceDisplaySets: 0x00720218, | |
ImageBoxesSequence: 0x00720300, | |
ImageBoxNumber: 0x00720302, | |
ImageBoxLayoutType: 0x00720304, | |
ImageBoxTileHorizontalDimension: 0x00720306, | |
ImageBoxTileVerticalDimension: 0x00720308, | |
ImageBoxScrollDirection: 0x00720310, | |
ImageBoxSmallScrollType: 0x00720312, | |
ImageBoxSmallScrollAmount: 0x00720314, | |
ImageBoxLargeScrollType: 0x00720316, | |
ImageBoxLargeScrollAmount: 0x00720318, | |
ImageBoxOverlapPriority: 0x00720320, | |
CineRelativeToRealTime: 0x00720330, | |
FilterOperationsSequence: 0x00720400, | |
FilterByCategory: 0x00720402, | |
FilterByAttributePresence: 0x00720404, | |
FilterByOperator: 0x00720406, | |
StructuredDisplayBackgroundCIELabValue: 0x00720420, | |
EmptyImageBoxCIELabValue: 0x00720421, | |
StructuredDisplayImageBoxSequence: 0x00720422, | |
StructuredDisplayTextBoxSequence: 0x00720424, | |
ReferencedFirstFrameSequence: 0x00720427, | |
ImageBoxSynchronizationSequence: 0x00720430, | |
SynchronizedImageBoxList: 0x00720432, | |
TypeOfSynchronization: 0x00720434, | |
BlendingOperationType: 0x00720500, | |
ReformattingOperationType: 0x00720510, | |
ReformattingThickness: 0x00720512, | |
ReformattingInterval: 0x00720514, | |
ReformattingOperationInitialViewDirection: 0x00720516, | |
ThreeDRenderingType: 0x00720520, | |
SortingOperationsSequence: 0x00720600, | |
SortByCategory: 0x00720602, | |
SortingDirection: 0x00720604, | |
DisplaySetPatientOrientation: 0x00720700, | |
VOIType: 0x00720702, | |
PseudoColorType: 0x00720704, | |
PseudoColorPaletteInstanceReferenceSequence: 0x00720705, | |
ShowGrayscaleInverted: 0x00720706, | |
ShowImageTrueSizeFlag: 0x00720710, | |
ShowGraphicAnnotationFlag: 0x00720712, | |
ShowPatientDemographicsFlag: 0x00720714, | |
ShowAcquisitionTechniquesFlag: 0x00720716, | |
DisplaySetHorizontalJustification: 0x00720717, | |
DisplaySetVerticalJustification: 0x00720718, | |
ContinuationStartMeterset: 0x00740120, | |
ContinuationEndMeterset: 0x00740121, | |
ProcedureStepState: 0x00741000, | |
ProcedureStepProgressInformationSequence: 0x00741002, | |
ProcedureStepProgress: 0x00741004, | |
ProcedureStepProgressDescription: 0x00741006, | |
ProcedureStepProgressParametersSequence: 0x00741007, | |
ProcedureStepCommunicationsURISequence: 0x00741008, | |
ContactURI: 0x0074100a, | |
ContactDisplayName: 0x0074100c, | |
ProcedureStepDiscontinuationReasonCodeSequence: 0x0074100e, | |
BeamTaskSequence: 0x00741020, | |
BeamTaskType: 0x00741022, | |
BeamOrderIndexTrial: 0x00741024, | |
AutosequenceFlag: 0x00741025, | |
TableTopVerticalAdjustedPosition: 0x00741026, | |
TableTopLongitudinalAdjustedPosition: 0x00741027, | |
TableTopLateralAdjustedPosition: 0x00741028, | |
PatientSupportAdjustedAngle: 0x0074102a, | |
TableTopEccentricAdjustedAngle: 0x0074102b, | |
TableTopPitchAdjustedAngle: 0x0074102c, | |
TableTopRollAdjustedAngle: 0x0074102d, | |
DeliveryVerificationImageSequence: 0x00741030, | |
VerificationImageTiming: 0x00741032, | |
DoubleExposureFlag: 0x00741034, | |
DoubleExposureOrdering: 0x00741036, | |
DoubleExposureMetersetTrial: 0x00741038, | |
DoubleExposureFieldDeltaTrial: 0x0074103a, | |
RelatedReferenceRTImageSequence: 0x00741040, | |
GeneralMachineVerificationSequence: 0x00741042, | |
ConventionalMachineVerificationSequence: 0x00741044, | |
IonMachineVerificationSequence: 0x00741046, | |
FailedAttributesSequence: 0x00741048, | |
OverriddenAttributesSequence: 0x0074104a, | |
ConventionalControlPointVerificationSequence: 0x0074104c, | |
IonControlPointVerificationSequence: 0x0074104e, | |
AttributeOccurrenceSequence: 0x00741050, | |
AttributeOccurrencePointer: 0x00741052, | |
AttributeItemSelector: 0x00741054, | |
AttributeOccurrencePrivateCreator: 0x00741056, | |
SelectorSequencePointerItems: 0x00741057, | |
ScheduledProcedureStepPriority: 0x00741200, | |
WorklistLabel: 0x00741202, | |
ProcedureStepLabel: 0x00741204, | |
ScheduledProcessingParametersSequence: 0x00741210, | |
PerformedProcessingParametersSequence: 0x00741212, | |
UnifiedProcedureStepPerformedProcedureSequence: 0x00741216, | |
RelatedProcedureStepSequence: 0x00741220, | |
ProcedureStepRelationshipType: 0x00741222, | |
ReplacedProcedureStepSequence: 0x00741224, | |
DeletionLock: 0x00741230, | |
ReceivingAE: 0x00741234, | |
RequestingAE: 0x00741236, | |
ReasonForCancellation: 0x00741238, | |
SCPStatus: 0x00741242, | |
SubscriptionListStatus: 0x00741244, | |
UnifiedProcedureStepListStatus: 0x00741246, | |
BeamOrderIndex: 0x00741324, | |
DoubleExposureMeterset: 0x00741338, | |
DoubleExposureFieldDelta: 0x0074133a, | |
BrachyTaskSequence: 0x00741401, | |
ContinuationStartTotalReferenceAirKerma: 0x00741402, | |
ContinuationEndTotalReferenceAirKerma: 0x00741403, | |
ContinuationPulseNumber: 0x00741404, | |
ChannelDeliveryOrderSequence: 0x00741405, | |
ReferencedChannelNumber: 0x00741406, | |
StartCumulativeTimeWeight: 0x00741407, | |
EndCumulativeTimeWeight: 0x00741408, | |
OmittedChannelSequence: 0x00741409, | |
ReasonForChannelOmission: 0x0074140a, | |
ReasonForChannelOmissionDescription: 0x0074140b, | |
ChannelDeliveryOrderIndex: 0x0074140c, | |
ChannelDeliveryContinuationSequence: 0x0074140d, | |
OmittedApplicationSetupSequence: 0x0074140e, | |
ImplantAssemblyTemplateName: 0x00760001, | |
ImplantAssemblyTemplateIssuer: 0x00760003, | |
ImplantAssemblyTemplateVersion: 0x00760006, | |
ReplacedImplantAssemblyTemplateSequence: 0x00760008, | |
ImplantAssemblyTemplateType: 0x0076000a, | |
OriginalImplantAssemblyTemplateSequence: 0x0076000c, | |
DerivationImplantAssemblyTemplateSequence: 0x0076000e, | |
ImplantAssemblyTemplateTargetAnatomySequence: 0x00760010, | |
ProcedureTypeCodeSequence: 0x00760020, | |
SurgicalTechnique: 0x00760030, | |
ComponentTypesSequence: 0x00760032, | |
ComponentTypeCodeSequence: 0x00760034, | |
ExclusiveComponentType: 0x00760036, | |
MandatoryComponentType: 0x00760038, | |
ComponentSequence: 0x00760040, | |
ComponentID: 0x00760055, | |
ComponentAssemblySequence: 0x00760060, | |
Component1ReferencedID: 0x00760070, | |
Component1ReferencedMatingFeatureSetID: 0x00760080, | |
Component1ReferencedMatingFeatureID: 0x00760090, | |
Component2ReferencedID: 0x007600a0, | |
Component2ReferencedMatingFeatureSetID: 0x007600b0, | |
Component2ReferencedMatingFeatureID: 0x007600c0, | |
ImplantTemplateGroupName: 0x00780001, | |
ImplantTemplateGroupDescription: 0x00780010, | |
ImplantTemplateGroupIssuer: 0x00780020, | |
ImplantTemplateGroupVersion: 0x00780024, | |
ReplacedImplantTemplateGroupSequence: 0x00780026, | |
ImplantTemplateGroupTargetAnatomySequence: 0x00780028, | |
ImplantTemplateGroupMembersSequence: 0x0078002a, | |
ImplantTemplateGroupMemberID: 0x0078002e, | |
ThreeDImplantTemplateGroupMemberMatchingPoint: 0x00780050, | |
ThreeDImplantTemplateGroupMemberMatchingAxes: 0x00780060, | |
ImplantTemplateGroupMemberMatching2DCoordinatesSequence: 0x00780070, | |
TwoDImplantTemplateGroupMemberMatchingPoint: 0x00780090, | |
TwoDImplantTemplateGroupMemberMatchingAxes: 0x007800a0, | |
ImplantTemplateGroupVariationDimensionSequence: 0x007800b0, | |
ImplantTemplateGroupVariationDimensionName: 0x007800b2, | |
ImplantTemplateGroupVariationDimensionRankSequence: 0x007800b4, | |
ReferencedImplantTemplateGroupMemberID: 0x007800b6, | |
ImplantTemplateGroupVariationDimensionRank: 0x007800b8, | |
SurfaceScanAcquisitionTypeCodeSequence: 0x00800001, | |
SurfaceScanModeCodeSequence: 0x00800002, | |
RegistrationMethodCodeSequence: 0x00800003, | |
ShotDurationTime: 0x00800004, | |
ShotOffsetTime: 0x00800005, | |
SurfacePointPresentationValueData: 0x00800006, | |
SurfacePointColorCIELabValueData: 0x00800007, | |
UVMappingSequence: 0x00800008, | |
TextureLabel: 0x00800009, | |
UValueData: 0x00800010, | |
VValueData: 0x00800011, | |
ReferencedTextureSequence: 0x00800012, | |
ReferencedSurfaceDataSequence: 0x00800013, | |
AssessmentSummary: 0x00820001, | |
AssessmentSummaryDescription: 0x00820003, | |
AssessedSOPInstanceSequence: 0x00820004, | |
ReferencedComparisonSOPInstanceSequence: 0x00820005, | |
NumberOfAssessmentObservations: 0x00820006, | |
AssessmentObservationsSequence: 0x00820007, | |
ObservationSignificance: 0x00820008, | |
ObservationDescription: 0x0082000a, | |
StructuredConstraintObservationSequence: 0x0082000c, | |
AssessedAttributeValueSequence: 0x00820010, | |
AssessmentSetID: 0x00820016, | |
AssessmentRequesterSequence: 0x00820017, | |
SelectorAttributeName: 0x00820018, | |
SelectorAttributeKeyword: 0x00820019, | |
AssessmentTypeCodeSequence: 0x00820021, | |
ObservationBasisCodeSequence: 0x00820022, | |
AssessmentLabel: 0x00820023, | |
ConstraintType: 0x00820032, | |
SpecificationSelectionGuidance: 0x00820033, | |
ConstraintValueSequence: 0x00820034, | |
RecommendedDefaultValueSequence: 0x00820035, | |
ConstraintViolationSignificance: 0x00820036, | |
ConstraintViolationCondition: 0x00820037, | |
ModifiableConstraintFlag: 0x00820038, | |
StorageMediaFileSetID: 0x00880130, | |
StorageMediaFileSetUID: 0x00880140, | |
IconImageSequence: 0x00880200, | |
TopicTitle: 0x00880904, | |
TopicSubject: 0x00880906, | |
TopicAuthor: 0x00880910, | |
TopicKeywords: 0x00880912, | |
SOPInstanceStatus: 0x01000410, | |
SOPAuthorizationDateTime: 0x01000420, | |
SOPAuthorizationComment: 0x01000424, | |
AuthorizationEquipmentCertificationNumber: 0x01000426, | |
MACIDNumber: 0x04000005, | |
MACCalculationTransferSyntaxUID: 0x04000010, | |
MACAlgorithm: 0x04000015, | |
DataElementsSigned: 0x04000020, | |
DigitalSignatureUID: 0x04000100, | |
DigitalSignatureDateTime: 0x04000105, | |
CertificateType: 0x04000110, | |
CertificateOfSigner: 0x04000115, | |
Signature: 0x04000120, | |
CertifiedTimestampType: 0x04000305, | |
CertifiedTimestamp: 0x04000310, | |
DigitalSignaturePurposeCodeSequence: 0x04000401, | |
ReferencedDigitalSignatureSequence: 0x04000402, | |
ReferencedSOPInstanceMACSequence: 0x04000403, | |
MAC: 0x04000404, | |
EncryptedAttributesSequence: 0x04000500, | |
EncryptedContentTransferSyntaxUID: 0x04000510, | |
EncryptedContent: 0x04000520, | |
ModifiedAttributesSequence: 0x04000550, | |
OriginalAttributesSequence: 0x04000561, | |
AttributeModificationDateTime: 0x04000562, | |
ModifyingSystem: 0x04000563, | |
SourceOfPreviousValues: 0x04000564, | |
ReasonForTheAttributeModification: 0x04000565, | |
EscapeTriplet: 0x10000000, | |
RunLengthTriplet: 0x10000001, | |
HuffmanTableSize: 0x10000002, | |
HuffmanTableTriplet: 0x10000003, | |
ShiftTableSize: 0x10000004, | |
ShiftTableTriplet: 0x10000005, | |
ZonalMap: 0x10100000, | |
NumberOfCopies: 0x20000010, | |
PrinterConfigurationSequence: 0x2000001e, | |
PrintPriority: 0x20000020, | |
MediumType: 0x20000030, | |
FilmDestination: 0x20000040, | |
FilmSessionLabel: 0x20000050, | |
MemoryAllocation: 0x20000060, | |
MaximumMemoryAllocation: 0x20000061, | |
ColorImagePrintingFlag: 0x20000062, | |
CollationFlag: 0x20000063, | |
AnnotationFlag: 0x20000065, | |
ImageOverlayFlag: 0x20000067, | |
PresentationLUTFlag: 0x20000069, | |
ImageBoxPresentationLUTFlag: 0x2000006a, | |
MemoryBitDepth: 0x200000a0, | |
PrintingBitDepth: 0x200000a1, | |
MediaInstalledSequence: 0x200000a2, | |
OtherMediaAvailableSequence: 0x200000a4, | |
SupportedImageDisplayFormatsSequence: 0x200000a8, | |
ReferencedFilmBoxSequence: 0x20000500, | |
ReferencedStoredPrintSequence: 0x20000510, | |
ImageDisplayFormat: 0x20100010, | |
AnnotationDisplayFormatID: 0x20100030, | |
FilmOrientation: 0x20100040, | |
FilmSizeID: 0x20100050, | |
PrinterResolutionID: 0x20100052, | |
DefaultPrinterResolutionID: 0x20100054, | |
MagnificationType: 0x20100060, | |
SmoothingType: 0x20100080, | |
DefaultMagnificationType: 0x201000a6, | |
OtherMagnificationTypesAvailable: 0x201000a7, | |
DefaultSmoothingType: 0x201000a8, | |
OtherSmoothingTypesAvailable: 0x201000a9, | |
BorderDensity: 0x20100100, | |
EmptyImageDensity: 0x20100110, | |
MinDensity: 0x20100120, | |
MaxDensity: 0x20100130, | |
Trim: 0x20100140, | |
ConfigurationInformation: 0x20100150, | |
ConfigurationInformationDescription: 0x20100152, | |
MaximumCollatedFilms: 0x20100154, | |
Illumination: 0x2010015e, | |
ReflectedAmbientLight: 0x20100160, | |
PrinterPixelSpacing: 0x20100376, | |
ReferencedFilmSessionSequence: 0x20100500, | |
ReferencedImageBoxSequence: 0x20100510, | |
ReferencedBasicAnnotationBoxSequence: 0x20100520, | |
ImageBoxPosition: 0x20200010, | |
Polarity: 0x20200020, | |
RequestedImageSize: 0x20200030, | |
RequestedDecimateCropBehavior: 0x20200040, | |
RequestedResolutionID: 0x20200050, | |
RequestedImageSizeFlag: 0x202000a0, | |
DecimateCropResult: 0x202000a2, | |
BasicGrayscaleImageSequence: 0x20200110, | |
BasicColorImageSequence: 0x20200111, | |
ReferencedImageOverlayBoxSequence: 0x20200130, | |
ReferencedVOILUTBoxSequence: 0x20200140, | |
AnnotationPosition: 0x20300010, | |
TextString: 0x20300020, | |
ReferencedOverlayPlaneSequence: 0x20400010, | |
ReferencedOverlayPlaneGroups: 0x20400011, | |
OverlayPixelDataSequence: 0x20400020, | |
OverlayMagnificationType: 0x20400060, | |
OverlaySmoothingType: 0x20400070, | |
OverlayOrImageMagnification: 0x20400072, | |
MagnifyToNumberOfColumns: 0x20400074, | |
OverlayForegroundDensity: 0x20400080, | |
OverlayBackgroundDensity: 0x20400082, | |
OverlayMode: 0x20400090, | |
ThresholdDensity: 0x20400100, | |
ReferencedImageBoxSequenceRetired: 0x20400500, | |
PresentationLUTSequence: 0x20500010, | |
PresentationLUTShape: 0x20500020, | |
ReferencedPresentationLUTSequence: 0x20500500, | |
PrintJobID: 0x21000010, | |
ExecutionStatus: 0x21000020, | |
ExecutionStatusInfo: 0x21000030, | |
CreationDate: 0x21000040, | |
CreationTime: 0x21000050, | |
Originator: 0x21000070, | |
DestinationAE: 0x21000140, | |
OwnerID: 0x21000160, | |
NumberOfFilms: 0x21000170, | |
ReferencedPrintJobSequencePullStoredPrint: 0x21000500, | |
PrinterStatus: 0x21100010, | |
PrinterStatusInfo: 0x21100020, | |
PrinterName: 0x21100030, | |
PrintQueueID: 0x21100099, | |
QueueStatus: 0x21200010, | |
PrintJobDescriptionSequence: 0x21200050, | |
ReferencedPrintJobSequence: 0x21200070, | |
PrintManagementCapabilitiesSequence: 0x21300010, | |
PrinterCharacteristicsSequence: 0x21300015, | |
FilmBoxContentSequence: 0x21300030, | |
ImageBoxContentSequence: 0x21300040, | |
AnnotationContentSequence: 0x21300050, | |
ImageOverlayBoxContentSequence: 0x21300060, | |
PresentationLUTContentSequence: 0x21300080, | |
ProposedStudySequence: 0x213000a0, | |
OriginalImageSequence: 0x213000c0, | |
LabelUsingInformationExtractedFromInstances: 0x22000001, | |
LabelText: 0x22000002, | |
LabelStyleSelection: 0x22000003, | |
MediaDisposition: 0x22000004, | |
BarcodeValue: 0x22000005, | |
BarcodeSymbology: 0x22000006, | |
AllowMediaSplitting: 0x22000007, | |
IncludeNonDICOMObjects: 0x22000008, | |
IncludeDisplayApplication: 0x22000009, | |
PreserveCompositeInstancesAfterMediaCreation: 0x2200000a, | |
TotalNumberOfPiecesOfMediaCreated: 0x2200000b, | |
RequestedMediaApplicationProfile: 0x2200000c, | |
ReferencedStorageMediaSequence: 0x2200000d, | |
FailureAttributes: 0x2200000e, | |
AllowLossyCompression: 0x2200000f, | |
RequestPriority: 0x22000020, | |
RTImageLabel: 0x30020002, | |
RTImageName: 0x30020003, | |
RTImageDescription: 0x30020004, | |
ReportedValuesOrigin: 0x3002000a, | |
RTImagePlane: 0x3002000c, | |
XRayImageReceptorTranslation: 0x3002000d, | |
XRayImageReceptorAngle: 0x3002000e, | |
RTImageOrientation: 0x30020010, | |
ImagePlanePixelSpacing: 0x30020011, | |
RTImagePosition: 0x30020012, | |
RadiationMachineName: 0x30020020, | |
RadiationMachineSAD: 0x30020022, | |
RadiationMachineSSD: 0x30020024, | |
RTImageSID: 0x30020026, | |
SourceToReferenceObjectDistance: 0x30020028, | |
FractionNumber: 0x30020029, | |
ExposureSequence: 0x30020030, | |
MetersetExposure: 0x30020032, | |
DiaphragmPosition: 0x30020034, | |
FluenceMapSequence: 0x30020040, | |
FluenceDataSource: 0x30020041, | |
FluenceDataScale: 0x30020042, | |
PrimaryFluenceModeSequence: 0x30020050, | |
FluenceMode: 0x30020051, | |
FluenceModeID: 0x30020052, | |
DVHType: 0x30040001, | |
DoseUnits: 0x30040002, | |
DoseType: 0x30040004, | |
SpatialTransformOfDose: 0x30040005, | |
DoseComment: 0x30040006, | |
NormalizationPoint: 0x30040008, | |
DoseSummationType: 0x3004000a, | |
GridFrameOffsetVector: 0x3004000c, | |
DoseGridScaling: 0x3004000e, | |
RTDoseROISequence: 0x30040010, | |
DoseValue: 0x30040012, | |
TissueHeterogeneityCorrection: 0x30040014, | |
DVHNormalizationPoint: 0x30040040, | |
DVHNormalizationDoseValue: 0x30040042, | |
DVHSequence: 0x30040050, | |
DVHDoseScaling: 0x30040052, | |
DVHVolumeUnits: 0x30040054, | |
DVHNumberOfBins: 0x30040056, | |
DVHData: 0x30040058, | |
DVHReferencedROISequence: 0x30040060, | |
DVHROIContributionType: 0x30040062, | |
DVHMinimumDose: 0x30040070, | |
DVHMaximumDose: 0x30040072, | |
DVHMeanDose: 0x30040074, | |
StructureSetLabel: 0x30060002, | |
StructureSetName: 0x30060004, | |
StructureSetDescription: 0x30060006, | |
StructureSetDate: 0x30060008, | |
StructureSetTime: 0x30060009, | |
ReferencedFrameOfReferenceSequence: 0x30060010, | |
RTReferencedStudySequence: 0x30060012, | |
RTReferencedSeriesSequence: 0x30060014, | |
ContourImageSequence: 0x30060016, | |
PredecessorStructureSetSequence: 0x30060018, | |
StructureSetROISequence: 0x30060020, | |
ROINumber: 0x30060022, | |
ReferencedFrameOfReferenceUID: 0x30060024, | |
ROIName: 0x30060026, | |
ROIDescription: 0x30060028, | |
ROIDisplayColor: 0x3006002a, | |
ROIVolume: 0x3006002c, | |
RTRelatedROISequence: 0x30060030, | |
RTROIRelationship: 0x30060033, | |
ROIGenerationAlgorithm: 0x30060036, | |
ROIGenerationDescription: 0x30060038, | |
ROIContourSequence: 0x30060039, | |
ContourSequence: 0x30060040, | |
ContourGeometricType: 0x30060042, | |
ContourSlabThickness: 0x30060044, | |
ContourOffsetVector: 0x30060045, | |
NumberOfContourPoints: 0x30060046, | |
ContourNumber: 0x30060048, | |
AttachedContours: 0x30060049, | |
ContourData: 0x30060050, | |
RTROIObservationsSequence: 0x30060080, | |
ObservationNumber: 0x30060082, | |
ReferencedROINumber: 0x30060084, | |
ROIObservationLabel: 0x30060085, | |
RTROIIdentificationCodeSequence: 0x30060086, | |
ROIObservationDescription: 0x30060088, | |
RelatedRTROIObservationsSequence: 0x300600a0, | |
RTROIInterpretedType: 0x300600a4, | |
ROIInterpreter: 0x300600a6, | |
ROIPhysicalPropertiesSequence: 0x300600b0, | |
ROIPhysicalProperty: 0x300600b2, | |
ROIPhysicalPropertyValue: 0x300600b4, | |
ROIElementalCompositionSequence: 0x300600b6, | |
ROIElementalCompositionAtomicNumber: 0x300600b7, | |
ROIElementalCompositionAtomicMassFraction: 0x300600b8, | |
AdditionalRTROIIdentificationCodeSequence: 0x300600b9, | |
FrameOfReferenceRelationshipSequence: 0x300600c0, | |
RelatedFrameOfReferenceUID: 0x300600c2, | |
FrameOfReferenceTransformationType: 0x300600c4, | |
FrameOfReferenceTransformationMatrix: 0x300600c6, | |
FrameOfReferenceTransformationComment: 0x300600c8, | |
MeasuredDoseReferenceSequence: 0x30080010, | |
MeasuredDoseDescription: 0x30080012, | |
MeasuredDoseType: 0x30080014, | |
MeasuredDoseValue: 0x30080016, | |
TreatmentSessionBeamSequence: 0x30080020, | |
TreatmentSessionIonBeamSequence: 0x30080021, | |
CurrentFractionNumber: 0x30080022, | |
TreatmentControlPointDate: 0x30080024, | |
TreatmentControlPointTime: 0x30080025, | |
TreatmentTerminationStatus: 0x3008002a, | |
TreatmentTerminationCode: 0x3008002b, | |
TreatmentVerificationStatus: 0x3008002c, | |
ReferencedTreatmentRecordSequence: 0x30080030, | |
SpecifiedPrimaryMeterset: 0x30080032, | |
SpecifiedSecondaryMeterset: 0x30080033, | |
DeliveredPrimaryMeterset: 0x30080036, | |
DeliveredSecondaryMeterset: 0x30080037, | |
SpecifiedTreatmentTime: 0x3008003a, | |
DeliveredTreatmentTime: 0x3008003b, | |
ControlPointDeliverySequence: 0x30080040, | |
IonControlPointDeliverySequence: 0x30080041, | |
SpecifiedMeterset: 0x30080042, | |
DeliveredMeterset: 0x30080044, | |
MetersetRateSet: 0x30080045, | |
MetersetRateDelivered: 0x30080046, | |
ScanSpotMetersetsDelivered: 0x30080047, | |
DoseRateDelivered: 0x30080048, | |
TreatmentSummaryCalculatedDoseReferenceSequence: 0x30080050, | |
CumulativeDoseToDoseReference: 0x30080052, | |
FirstTreatmentDate: 0x30080054, | |
MostRecentTreatmentDate: 0x30080056, | |
NumberOfFractionsDelivered: 0x3008005a, | |
OverrideSequence: 0x30080060, | |
ParameterSequencePointer: 0x30080061, | |
OverrideParameterPointer: 0x30080062, | |
ParameterItemIndex: 0x30080063, | |
MeasuredDoseReferenceNumber: 0x30080064, | |
ParameterPointer: 0x30080065, | |
OverrideReason: 0x30080066, | |
ParameterValueNumber: 0x30080067, | |
CorrectedParameterSequence: 0x30080068, | |
CorrectionValue: 0x3008006a, | |
CalculatedDoseReferenceSequence: 0x30080070, | |
CalculatedDoseReferenceNumber: 0x30080072, | |
CalculatedDoseReferenceDescription: 0x30080074, | |
CalculatedDoseReferenceDoseValue: 0x30080076, | |
StartMeterset: 0x30080078, | |
EndMeterset: 0x3008007a, | |
ReferencedMeasuredDoseReferenceSequence: 0x30080080, | |
ReferencedMeasuredDoseReferenceNumber: 0x30080082, | |
ReferencedCalculatedDoseReferenceSequence: 0x30080090, | |
ReferencedCalculatedDoseReferenceNumber: 0x30080092, | |
BeamLimitingDeviceLeafPairsSequence: 0x300800a0, | |
RecordedWedgeSequence: 0x300800b0, | |
RecordedCompensatorSequence: 0x300800c0, | |
RecordedBlockSequence: 0x300800d0, | |
TreatmentSummaryMeasuredDoseReferenceSequence: 0x300800e0, | |
RecordedSnoutSequence: 0x300800f0, | |
RecordedRangeShifterSequence: 0x300800f2, | |
RecordedLateralSpreadingDeviceSequence: 0x300800f4, | |
RecordedRangeModulatorSequence: 0x300800f6, | |
RecordedSourceSequence: 0x30080100, | |
SourceSerialNumber: 0x30080105, | |
TreatmentSessionApplicationSetupSequence: 0x30080110, | |
ApplicationSetupCheck: 0x30080116, | |
RecordedBrachyAccessoryDeviceSequence: 0x30080120, | |
ReferencedBrachyAccessoryDeviceNumber: 0x30080122, | |
RecordedChannelSequence: 0x30080130, | |
SpecifiedChannelTotalTime: 0x30080132, | |
DeliveredChannelTotalTime: 0x30080134, | |
SpecifiedNumberOfPulses: 0x30080136, | |
DeliveredNumberOfPulses: 0x30080138, | |
SpecifiedPulseRepetitionInterval: 0x3008013a, | |
DeliveredPulseRepetitionInterval: 0x3008013c, | |
RecordedSourceApplicatorSequence: 0x30080140, | |
ReferencedSourceApplicatorNumber: 0x30080142, | |
RecordedChannelShieldSequence: 0x30080150, | |
ReferencedChannelShieldNumber: 0x30080152, | |
BrachyControlPointDeliveredSequence: 0x30080160, | |
SafePositionExitDate: 0x30080162, | |
SafePositionExitTime: 0x30080164, | |
SafePositionReturnDate: 0x30080166, | |
SafePositionReturnTime: 0x30080168, | |
PulseSpecificBrachyControlPointDeliveredSequence: 0x30080171, | |
PulseNumber: 0x30080172, | |
BrachyPulseControlPointDeliveredSequence: 0x30080173, | |
CurrentTreatmentStatus: 0x30080200, | |
TreatmentStatusComment: 0x30080202, | |
FractionGroupSummarySequence: 0x30080220, | |
ReferencedFractionNumber: 0x30080223, | |
FractionGroupType: 0x30080224, | |
BeamStopperPosition: 0x30080230, | |
FractionStatusSummarySequence: 0x30080240, | |
TreatmentDate: 0x30080250, | |
TreatmentTime: 0x30080251, | |
RTPlanLabel: 0x300a0002, | |
RTPlanName: 0x300a0003, | |
RTPlanDescription: 0x300a0004, | |
RTPlanDate: 0x300a0006, | |
RTPlanTime: 0x300a0007, | |
TreatmentProtocols: 0x300a0009, | |
PlanIntent: 0x300a000a, | |
TreatmentSites: 0x300a000b, | |
RTPlanGeometry: 0x300a000c, | |
PrescriptionDescription: 0x300a000e, | |
DoseReferenceSequence: 0x300a0010, | |
DoseReferenceNumber: 0x300a0012, | |
DoseReferenceUID: 0x300a0013, | |
DoseReferenceStructureType: 0x300a0014, | |
NominalBeamEnergyUnit: 0x300a0015, | |
DoseReferenceDescription: 0x300a0016, | |
DoseReferencePointCoordinates: 0x300a0018, | |
NominalPriorDose: 0x300a001a, | |
DoseReferenceType: 0x300a0020, | |
ConstraintWeight: 0x300a0021, | |
DeliveryWarningDose: 0x300a0022, | |
DeliveryMaximumDose: 0x300a0023, | |
TargetMinimumDose: 0x300a0025, | |
TargetPrescriptionDose: 0x300a0026, | |
TargetMaximumDose: 0x300a0027, | |
TargetUnderdoseVolumeFraction: 0x300a0028, | |
OrganAtRiskFullVolumeDose: 0x300a002a, | |
OrganAtRiskLimitDose: 0x300a002b, | |
OrganAtRiskMaximumDose: 0x300a002c, | |
OrganAtRiskOverdoseVolumeFraction: 0x300a002d, | |
ToleranceTableSequence: 0x300a0040, | |
ToleranceTableNumber: 0x300a0042, | |
ToleranceTableLabel: 0x300a0043, | |
GantryAngleTolerance: 0x300a0044, | |
BeamLimitingDeviceAngleTolerance: 0x300a0046, | |
BeamLimitingDeviceToleranceSequence: 0x300a0048, | |
BeamLimitingDevicePositionTolerance: 0x300a004a, | |
SnoutPositionTolerance: 0x300a004b, | |
PatientSupportAngleTolerance: 0x300a004c, | |
TableTopEccentricAngleTolerance: 0x300a004e, | |
TableTopPitchAngleTolerance: 0x300a004f, | |
TableTopRollAngleTolerance: 0x300a0050, | |
TableTopVerticalPositionTolerance: 0x300a0051, | |
TableTopLongitudinalPositionTolerance: 0x300a0052, | |
TableTopLateralPositionTolerance: 0x300a0053, | |
RTPlanRelationship: 0x300a0055, | |
FractionGroupSequence: 0x300a0070, | |
FractionGroupNumber: 0x300a0071, | |
FractionGroupDescription: 0x300a0072, | |
NumberOfFractionsPlanned: 0x300a0078, | |
NumberOfFractionPatternDigitsPerDay: 0x300a0079, | |
RepeatFractionCycleLength: 0x300a007a, | |
FractionPattern: 0x300a007b, | |
NumberOfBeams: 0x300a0080, | |
BeamDoseSpecificationPoint: 0x300a0082, | |
ReferencedDoseReferenceUID: 0x300a0083, | |
BeamDose: 0x300a0084, | |
BeamMeterset: 0x300a0086, | |
BeamDosePointDepth: 0x300a0088, | |
BeamDosePointEquivalentDepth: 0x300a0089, | |
BeamDosePointSSD: 0x300a008a, | |
BeamDoseMeaning: 0x300a008b, | |
BeamDoseVerificationControlPointSequence: 0x300a008c, | |
AverageBeamDosePointDepth: 0x300a008d, | |
AverageBeamDosePointEquivalentDepth: 0x300a008e, | |
AverageBeamDosePointSSD: 0x300a008f, | |
BeamDoseType: 0x300a0090, | |
AlternateBeamDose: 0x300a0091, | |
AlternateBeamDoseType: 0x300a0092, | |
DepthValueAveragingFlag: 0x300a0093, | |
NumberOfBrachyApplicationSetups: 0x300a00a0, | |
BrachyApplicationSetupDoseSpecificationPoint: 0x300a00a2, | |
BrachyApplicationSetupDose: 0x300a00a4, | |
BeamSequence: 0x300a00b0, | |
TreatmentMachineName: 0x300a00b2, | |
PrimaryDosimeterUnit: 0x300a00b3, | |
SourceAxisDistance: 0x300a00b4, | |
BeamLimitingDeviceSequence: 0x300a00b6, | |
RTBeamLimitingDeviceType: 0x300a00b8, | |
SourceToBeamLimitingDeviceDistance: 0x300a00ba, | |
IsocenterToBeamLimitingDeviceDistance: 0x300a00bb, | |
NumberOfLeafJawPairs: 0x300a00bc, | |
LeafPositionBoundaries: 0x300a00be, | |
BeamNumber: 0x300a00c0, | |
BeamName: 0x300a00c2, | |
BeamDescription: 0x300a00c3, | |
BeamType: 0x300a00c4, | |
BeamDeliveryDurationLimit: 0x300a00c5, | |
RadiationType: 0x300a00c6, | |
HighDoseTechniqueType: 0x300a00c7, | |
ReferenceImageNumber: 0x300a00c8, | |
PlannedVerificationImageSequence: 0x300a00ca, | |
ImagingDeviceSpecificAcquisitionParameters: 0x300a00cc, | |
TreatmentDeliveryType: 0x300a00ce, | |
NumberOfWedges: 0x300a00d0, | |
WedgeSequence: 0x300a00d1, | |
WedgeNumber: 0x300a00d2, | |
WedgeType: 0x300a00d3, | |
WedgeID: 0x300a00d4, | |
WedgeAngle: 0x300a00d5, | |
WedgeFactor: 0x300a00d6, | |
TotalWedgeTrayWaterEquivalentThickness: 0x300a00d7, | |
WedgeOrientation: 0x300a00d8, | |
IsocenterToWedgeTrayDistance: 0x300a00d9, | |
SourceToWedgeTrayDistance: 0x300a00da, | |
WedgeThinEdgePosition: 0x300a00db, | |
BolusID: 0x300a00dc, | |
BolusDescription: 0x300a00dd, | |
EffectiveWedgeAngle: 0x300a00de, | |
NumberOfCompensators: 0x300a00e0, | |
MaterialID: 0x300a00e1, | |
TotalCompensatorTrayFactor: 0x300a00e2, | |
CompensatorSequence: 0x300a00e3, | |
CompensatorNumber: 0x300a00e4, | |
CompensatorID: 0x300a00e5, | |
SourceToCompensatorTrayDistance: 0x300a00e6, | |
CompensatorRows: 0x300a00e7, | |
CompensatorColumns: 0x300a00e8, | |
CompensatorPixelSpacing: 0x300a00e9, | |
CompensatorPosition: 0x300a00ea, | |
CompensatorTransmissionData: 0x300a00eb, | |
CompensatorThicknessData: 0x300a00ec, | |
NumberOfBoli: 0x300a00ed, | |
CompensatorType: 0x300a00ee, | |
CompensatorTrayID: 0x300a00ef, | |
NumberOfBlocks: 0x300a00f0, | |
TotalBlockTrayFactor: 0x300a00f2, | |
TotalBlockTrayWaterEquivalentThickness: 0x300a00f3, | |
BlockSequence: 0x300a00f4, | |
BlockTrayID: 0x300a00f5, | |
SourceToBlockTrayDistance: 0x300a00f6, | |
IsocenterToBlockTrayDistance: 0x300a00f7, | |
BlockType: 0x300a00f8, | |
AccessoryCode: 0x300a00f9, | |
BlockDivergence: 0x300a00fa, | |
BlockMountingPosition: 0x300a00fb, | |
BlockNumber: 0x300a00fc, | |
BlockName: 0x300a00fe, | |
BlockThickness: 0x300a0100, | |
BlockTransmission: 0x300a0102, | |
BlockNumberOfPoints: 0x300a0104, | |
BlockData: 0x300a0106, | |
ApplicatorSequence: 0x300a0107, | |
ApplicatorID: 0x300a0108, | |
ApplicatorType: 0x300a0109, | |
ApplicatorDescription: 0x300a010a, | |
CumulativeDoseReferenceCoefficient: 0x300a010c, | |
FinalCumulativeMetersetWeight: 0x300a010e, | |
NumberOfControlPoints: 0x300a0110, | |
ControlPointSequence: 0x300a0111, | |
ControlPointIndex: 0x300a0112, | |
NominalBeamEnergy: 0x300a0114, | |
DoseRateSet: 0x300a0115, | |
WedgePositionSequence: 0x300a0116, | |
WedgePosition: 0x300a0118, | |
BeamLimitingDevicePositionSequence: 0x300a011a, | |
LeafJawPositions: 0x300a011c, | |
GantryAngle: 0x300a011e, | |
GantryRotationDirection: 0x300a011f, | |
BeamLimitingDeviceAngle: 0x300a0120, | |
BeamLimitingDeviceRotationDirection: 0x300a0121, | |
PatientSupportAngle: 0x300a0122, | |
PatientSupportRotationDirection: 0x300a0123, | |
TableTopEccentricAxisDistance: 0x300a0124, | |
TableTopEccentricAngle: 0x300a0125, | |
TableTopEccentricRotationDirection: 0x300a0126, | |
TableTopVerticalPosition: 0x300a0128, | |
TableTopLongitudinalPosition: 0x300a0129, | |
TableTopLateralPosition: 0x300a012a, | |
IsocenterPosition: 0x300a012c, | |
SurfaceEntryPoint: 0x300a012e, | |
SourceToSurfaceDistance: 0x300a0130, | |
AverageBeamDosePointSourceToExternalContourDistance: 0x300a0131, | |
SourceToExternalContourDistance: 0x300a0132, | |
ExternalContourEntryPoint: 0x300a0133, | |
CumulativeMetersetWeight: 0x300a0134, | |
TableTopPitchAngle: 0x300a0140, | |
TableTopPitchRotationDirection: 0x300a0142, | |
TableTopRollAngle: 0x300a0144, | |
TableTopRollRotationDirection: 0x300a0146, | |
HeadFixationAngle: 0x300a0148, | |
GantryPitchAngle: 0x300a014a, | |
GantryPitchRotationDirection: 0x300a014c, | |
GantryPitchAngleTolerance: 0x300a014e, | |
FixationEye: 0x300a0150, | |
ChairHeadFramePosition: 0x300a0151, | |
HeadFixationAngleTolerance: 0x300a0152, | |
ChairHeadFramePositionTolerance: 0x300a0153, | |
FixationLightAzimuthalAngleTolerance: 0x300a0154, | |
FixationLightPolarAngleTolerance: 0x300a0155, | |
PatientSetupSequence: 0x300a0180, | |
PatientSetupNumber: 0x300a0182, | |
PatientSetupLabel: 0x300a0183, | |
PatientAdditionalPosition: 0x300a0184, | |
FixationDeviceSequence: 0x300a0190, | |
FixationDeviceType: 0x300a0192, | |
FixationDeviceLabel: 0x300a0194, | |
FixationDeviceDescription: 0x300a0196, | |
FixationDevicePosition: 0x300a0198, | |
FixationDevicePitchAngle: 0x300a0199, | |
FixationDeviceRollAngle: 0x300a019a, | |
ShieldingDeviceSequence: 0x300a01a0, | |
ShieldingDeviceType: 0x300a01a2, | |
ShieldingDeviceLabel: 0x300a01a4, | |
ShieldingDeviceDescription: 0x300a01a6, | |
ShieldingDevicePosition: 0x300a01a8, | |
SetupTechnique: 0x300a01b0, | |
SetupTechniqueDescription: 0x300a01b2, | |
SetupDeviceSequence: 0x300a01b4, | |
SetupDeviceType: 0x300a01b6, | |
SetupDeviceLabel: 0x300a01b8, | |
SetupDeviceDescription: 0x300a01ba, | |
SetupDeviceParameter: 0x300a01bc, | |
SetupReferenceDescription: 0x300a01d0, | |
TableTopVerticalSetupDisplacement: 0x300a01d2, | |
TableTopLongitudinalSetupDisplacement: 0x300a01d4, | |
TableTopLateralSetupDisplacement: 0x300a01d6, | |
BrachyTreatmentTechnique: 0x300a0200, | |
BrachyTreatmentType: 0x300a0202, | |
TreatmentMachineSequence: 0x300a0206, | |
SourceSequence: 0x300a0210, | |
SourceNumber: 0x300a0212, | |
SourceType: 0x300a0214, | |
SourceManufacturer: 0x300a0216, | |
ActiveSourceDiameter: 0x300a0218, | |
ActiveSourceLength: 0x300a021a, | |
SourceModelID: 0x300a021b, | |
SourceDescription: 0x300a021c, | |
SourceEncapsulationNominalThickness: 0x300a0222, | |
SourceEncapsulationNominalTransmission: 0x300a0224, | |
SourceIsotopeName: 0x300a0226, | |
SourceIsotopeHalfLife: 0x300a0228, | |
SourceStrengthUnits: 0x300a0229, | |
ReferenceAirKermaRate: 0x300a022a, | |
SourceStrength: 0x300a022b, | |
SourceStrengthReferenceDate: 0x300a022c, | |
SourceStrengthReferenceTime: 0x300a022e, | |
ApplicationSetupSequence: 0x300a0230, | |
ApplicationSetupType: 0x300a0232, | |
ApplicationSetupNumber: 0x300a0234, | |
ApplicationSetupName: 0x300a0236, | |
ApplicationSetupManufacturer: 0x300a0238, | |
TemplateNumber: 0x300a0240, | |
TemplateType: 0x300a0242, | |
TemplateName: 0x300a0244, | |
TotalReferenceAirKerma: 0x300a0250, | |
BrachyAccessoryDeviceSequence: 0x300a0260, | |
BrachyAccessoryDeviceNumber: 0x300a0262, | |
BrachyAccessoryDeviceID: 0x300a0263, | |
BrachyAccessoryDeviceType: 0x300a0264, | |
BrachyAccessoryDeviceName: 0x300a0266, | |
BrachyAccessoryDeviceNominalThickness: 0x300a026a, | |
BrachyAccessoryDeviceNominalTransmission: 0x300a026c, | |
ChannelEffectiveLength: 0x300a0271, | |
ChannelInnerLength: 0x300a0272, | |
AfterloaderChannelID: 0x300a0273, | |
SourceApplicatorTipLength: 0x300a0274, | |
ChannelSequence: 0x300a0280, | |
ChannelNumber: 0x300a0282, | |
ChannelLength: 0x300a0284, | |
ChannelTotalTime: 0x300a0286, | |
SourceMovementType: 0x300a0288, | |
NumberOfPulses: 0x300a028a, | |
PulseRepetitionInterval: 0x300a028c, | |
SourceApplicatorNumber: 0x300a0290, | |
SourceApplicatorID: 0x300a0291, | |
SourceApplicatorType: 0x300a0292, | |
SourceApplicatorName: 0x300a0294, | |
SourceApplicatorLength: 0x300a0296, | |
SourceApplicatorManufacturer: 0x300a0298, | |
SourceApplicatorWallNominalThickness: 0x300a029c, | |
SourceApplicatorWallNominalTransmission: 0x300a029e, | |
SourceApplicatorStepSize: 0x300a02a0, | |
TransferTubeNumber: 0x300a02a2, | |
TransferTubeLength: 0x300a02a4, | |
ChannelShieldSequence: 0x300a02b0, | |
ChannelShieldNumber: 0x300a02b2, | |
ChannelShieldID: 0x300a02b3, | |
ChannelShieldName: 0x300a02b4, | |
ChannelShieldNominalThickness: 0x300a02b8, | |
ChannelShieldNominalTransmission: 0x300a02ba, | |
FinalCumulativeTimeWeight: 0x300a02c8, | |
BrachyControlPointSequence: 0x300a02d0, | |
ControlPointRelativePosition: 0x300a02d2, | |
ControlPoint3DPosition: 0x300a02d4, | |
CumulativeTimeWeight: 0x300a02d6, | |
CompensatorDivergence: 0x300a02e0, | |
CompensatorMountingPosition: 0x300a02e1, | |
SourceToCompensatorDistance: 0x300a02e2, | |
TotalCompensatorTrayWaterEquivalentThickness: 0x300a02e3, | |
IsocenterToCompensatorTrayDistance: 0x300a02e4, | |
CompensatorColumnOffset: 0x300a02e5, | |
IsocenterToCompensatorDistances: 0x300a02e6, | |
CompensatorRelativeStoppingPowerRatio: 0x300a02e7, | |
CompensatorMillingToolDiameter: 0x300a02e8, | |
IonRangeCompensatorSequence: 0x300a02ea, | |
CompensatorDescription: 0x300a02eb, | |
RadiationMassNumber: 0x300a0302, | |
RadiationAtomicNumber: 0x300a0304, | |
RadiationChargeState: 0x300a0306, | |
ScanMode: 0x300a0308, | |
ModulatedScanModeType: 0x300a0309, | |
VirtualSourceAxisDistances: 0x300a030a, | |
SnoutSequence: 0x300a030c, | |
SnoutPosition: 0x300a030d, | |
SnoutID: 0x300a030f, | |
NumberOfRangeShifters: 0x300a0312, | |
RangeShifterSequence: 0x300a0314, | |
RangeShifterNumber: 0x300a0316, | |
RangeShifterID: 0x300a0318, | |
RangeShifterType: 0x300a0320, | |
RangeShifterDescription: 0x300a0322, | |
NumberOfLateralSpreadingDevices: 0x300a0330, | |
LateralSpreadingDeviceSequence: 0x300a0332, | |
LateralSpreadingDeviceNumber: 0x300a0334, | |
LateralSpreadingDeviceID: 0x300a0336, | |
LateralSpreadingDeviceType: 0x300a0338, | |
LateralSpreadingDeviceDescription: 0x300a033a, | |
LateralSpreadingDeviceWaterEquivalentThickness: 0x300a033c, | |
NumberOfRangeModulators: 0x300a0340, | |
RangeModulatorSequence: 0x300a0342, | |
RangeModulatorNumber: 0x300a0344, | |
RangeModulatorID: 0x300a0346, | |
RangeModulatorType: 0x300a0348, | |
RangeModulatorDescription: 0x300a034a, | |
BeamCurrentModulationID: 0x300a034c, | |
PatientSupportType: 0x300a0350, | |
PatientSupportID: 0x300a0352, | |
PatientSupportAccessoryCode: 0x300a0354, | |
TrayAccessoryCode: 0x300a0355, | |
FixationLightAzimuthalAngle: 0x300a0356, | |
FixationLightPolarAngle: 0x300a0358, | |
MetersetRate: 0x300a035a, | |
RangeShifterSettingsSequence: 0x300a0360, | |
RangeShifterSetting: 0x300a0362, | |
IsocenterToRangeShifterDistance: 0x300a0364, | |
RangeShifterWaterEquivalentThickness: 0x300a0366, | |
LateralSpreadingDeviceSettingsSequence: 0x300a0370, | |
LateralSpreadingDeviceSetting: 0x300a0372, | |
IsocenterToLateralSpreadingDeviceDistance: 0x300a0374, | |
RangeModulatorSettingsSequence: 0x300a0380, | |
RangeModulatorGatingStartValue: 0x300a0382, | |
RangeModulatorGatingStopValue: 0x300a0384, | |
RangeModulatorGatingStartWaterEquivalentThickness: 0x300a0386, | |
RangeModulatorGatingStopWaterEquivalentThickness: 0x300a0388, | |
IsocenterToRangeModulatorDistance: 0x300a038a, | |
ScanSpotTimeOffset: 0x300a038f, | |
ScanSpotTuneID: 0x300a0390, | |
ScanSpotPrescribedIndices: 0x300a0391, | |
NumberOfScanSpotPositions: 0x300a0392, | |
ScanSpotReordered: 0x300a0393, | |
ScanSpotPositionMap: 0x300a0394, | |
ScanSpotReorderingAllowed: 0x300a0395, | |
ScanSpotMetersetWeights: 0x300a0396, | |
ScanningSpotSize: 0x300a0398, | |
NumberOfPaintings: 0x300a039a, | |
IonToleranceTableSequence: 0x300a03a0, | |
IonBeamSequence: 0x300a03a2, | |
IonBeamLimitingDeviceSequence: 0x300a03a4, | |
IonBlockSequence: 0x300a03a6, | |
IonControlPointSequence: 0x300a03a8, | |
IonWedgeSequence: 0x300a03aa, | |
IonWedgePositionSequence: 0x300a03ac, | |
ReferencedSetupImageSequence: 0x300a0401, | |
SetupImageComment: 0x300a0402, | |
MotionSynchronizationSequence: 0x300a0410, | |
ControlPointOrientation: 0x300a0412, | |
GeneralAccessorySequence: 0x300a0420, | |
GeneralAccessoryID: 0x300a0421, | |
GeneralAccessoryDescription: 0x300a0422, | |
GeneralAccessoryType: 0x300a0423, | |
GeneralAccessoryNumber: 0x300a0424, | |
SourceToGeneralAccessoryDistance: 0x300a0425, | |
ApplicatorGeometrySequence: 0x300a0431, | |
ApplicatorApertureShape: 0x300a0432, | |
ApplicatorOpening: 0x300a0433, | |
ApplicatorOpeningX: 0x300a0434, | |
ApplicatorOpeningY: 0x300a0435, | |
SourceToApplicatorMountingPositionDistance: 0x300a0436, | |
NumberOfBlockSlabItems: 0x300a0440, | |
BlockSlabSequence: 0x300a0441, | |
BlockSlabThickness: 0x300a0442, | |
BlockSlabNumber: 0x300a0443, | |
DeviceMotionControlSequence: 0x300a0450, | |
DeviceMotionExecutionMode: 0x300a0451, | |
DeviceMotionObservationMode: 0x300a0452, | |
DeviceMotionParameterCodeSequence: 0x300a0453, | |
DistalDepthFraction: 0x300a0501, | |
DistalDepth: 0x300a0502, | |
NominalRangeModulationFractions: 0x300a0503, | |
NominalRangeModulatedRegionDepths: 0x300a0504, | |
DepthDoseParametersSequence: 0x300a0505, | |
DeliveredDepthDoseParametersSequence: 0x300a0506, | |
DeliveredDistalDepthFraction: 0x300a0507, | |
DeliveredDistalDepth: 0x300a0508, | |
DeliveredNominalRangeModulationFractions: 0x300a0509, | |
DeliveredNominalRangeModulatedRegionDepths: 0x300a0510, | |
DeliveredReferenceDoseDefinition: 0x300a0511, | |
ReferenceDoseDefinition: 0x300a0512, | |
ReferencedRTPlanSequence: 0x300c0002, | |
ReferencedBeamSequence: 0x300c0004, | |
ReferencedBeamNumber: 0x300c0006, | |
ReferencedReferenceImageNumber: 0x300c0007, | |
StartCumulativeMetersetWeight: 0x300c0008, | |
EndCumulativeMetersetWeight: 0x300c0009, | |
ReferencedBrachyApplicationSetupSequence: 0x300c000a, | |
ReferencedBrachyApplicationSetupNumber: 0x300c000c, | |
ReferencedSourceNumber: 0x300c000e, | |
ReferencedFractionGroupSequence: 0x300c0020, | |
ReferencedFractionGroupNumber: 0x300c0022, | |
ReferencedVerificationImageSequence: 0x300c0040, | |
ReferencedReferenceImageSequence: 0x300c0042, | |
ReferencedDoseReferenceSequence: 0x300c0050, | |
ReferencedDoseReferenceNumber: 0x300c0051, | |
BrachyReferencedDoseReferenceSequence: 0x300c0055, | |
ReferencedStructureSetSequence: 0x300c0060, | |
ReferencedPatientSetupNumber: 0x300c006a, | |
ReferencedDoseSequence: 0x300c0080, | |
ReferencedToleranceTableNumber: 0x300c00a0, | |
ReferencedBolusSequence: 0x300c00b0, | |
ReferencedWedgeNumber: 0x300c00c0, | |
ReferencedCompensatorNumber: 0x300c00d0, | |
ReferencedBlockNumber: 0x300c00e0, | |
ReferencedControlPointIndex: 0x300c00f0, | |
ReferencedControlPointSequence: 0x300c00f2, | |
ReferencedStartControlPointIndex: 0x300c00f4, | |
ReferencedStopControlPointIndex: 0x300c00f6, | |
ReferencedRangeShifterNumber: 0x300c0100, | |
ReferencedLateralSpreadingDeviceNumber: 0x300c0102, | |
ReferencedRangeModulatorNumber: 0x300c0104, | |
OmittedBeamTaskSequence: 0x300c0111, | |
ReasonForOmission: 0x300c0112, | |
ReasonForOmissionDescription: 0x300c0113, | |
ApprovalStatus: 0x300e0002, | |
ReviewDate: 0x300e0004, | |
ReviewTime: 0x300e0005, | |
ReviewerName: 0x300e0008, | |
Arbitrary: 0x40000010, | |
TextComments: 0x40004000, | |
ResultsID: 0x40080040, | |
ResultsIDIssuer: 0x40080042, | |
ReferencedInterpretationSequence: 0x40080050, | |
ReportProductionStatusTrial: 0x400800ff, | |
InterpretationRecordedDate: 0x40080100, | |
InterpretationRecordedTime: 0x40080101, | |
InterpretationRecorder: 0x40080102, | |
ReferenceToRecordedSound: 0x40080103, | |
InterpretationTranscriptionDate: 0x40080108, | |
InterpretationTranscriptionTime: 0x40080109, | |
InterpretationTranscriber: 0x4008010a, | |
InterpretationText: 0x4008010b, | |
InterpretationAuthor: 0x4008010c, | |
InterpretationApproverSequence: 0x40080111, | |
InterpretationApprovalDate: 0x40080112, | |
InterpretationApprovalTime: 0x40080113, | |
PhysicianApprovingInterpretation: 0x40080114, | |
InterpretationDiagnosisDescription: 0x40080115, | |
InterpretationDiagnosisCodeSequence: 0x40080117, | |
ResultsDistributionListSequence: 0x40080118, | |
DistributionName: 0x40080119, | |
DistributionAddress: 0x4008011a, | |
InterpretationID: 0x40080200, | |
InterpretationIDIssuer: 0x40080202, | |
InterpretationTypeID: 0x40080210, | |
InterpretationStatusID: 0x40080212, | |
Impressions: 0x40080300, | |
ResultsComments: 0x40084000, | |
LowEnergyDetectors: 0x40100001, | |
HighEnergyDetectors: 0x40100002, | |
DetectorGeometrySequence: 0x40100004, | |
ThreatROIVoxelSequence: 0x40101001, | |
ThreatROIBase: 0x40101004, | |
ThreatROIExtents: 0x40101005, | |
ThreatROIBitmap: 0x40101006, | |
RouteSegmentID: 0x40101007, | |
GantryType: 0x40101008, | |
OOIOwnerType: 0x40101009, | |
RouteSegmentSequence: 0x4010100a, | |
PotentialThreatObjectID: 0x40101010, | |
ThreatSequence: 0x40101011, | |
ThreatCategory: 0x40101012, | |
ThreatCategoryDescription: 0x40101013, | |
ATDAbilityAssessment: 0x40101014, | |
ATDAssessmentFlag: 0x40101015, | |
ATDAssessmentProbability: 0x40101016, | |
Mass: 0x40101017, | |
Density: 0x40101018, | |
ZEffective: 0x40101019, | |
BoardingPassID: 0x4010101a, | |
CenterOfMass: 0x4010101b, | |
CenterOfPTO: 0x4010101c, | |
BoundingPolygon: 0x4010101d, | |
RouteSegmentStartLocationID: 0x4010101e, | |
RouteSegmentEndLocationID: 0x4010101f, | |
RouteSegmentLocationIDType: 0x40101020, | |
AbortReason: 0x40101021, | |
VolumeOfPTO: 0x40101023, | |
AbortFlag: 0x40101024, | |
RouteSegmentStartTime: 0x40101025, | |
RouteSegmentEndTime: 0x40101026, | |
TDRType: 0x40101027, | |
InternationalRouteSegment: 0x40101028, | |
ThreatDetectionAlgorithmandVersion: 0x40101029, | |
AssignedLocation: 0x4010102a, | |
AlarmDecisionTime: 0x4010102b, | |
AlarmDecision: 0x40101031, | |
NumberOfTotalObjects: 0x40101033, | |
NumberOfAlarmObjects: 0x40101034, | |
PTORepresentationSequence: 0x40101037, | |
ATDAssessmentSequence: 0x40101038, | |
TIPType: 0x40101039, | |
DICOSVersion: 0x4010103a, | |
OOIOwnerCreationTime: 0x40101041, | |
OOIType: 0x40101042, | |
OOISize: 0x40101043, | |
AcquisitionStatus: 0x40101044, | |
BasisMaterialsCodeSequence: 0x40101045, | |
PhantomType: 0x40101046, | |
OOIOwnerSequence: 0x40101047, | |
ScanType: 0x40101048, | |
ItineraryID: 0x40101051, | |
ItineraryIDType: 0x40101052, | |
ItineraryIDAssigningAuthority: 0x40101053, | |
RouteID: 0x40101054, | |
RouteIDAssigningAuthority: 0x40101055, | |
InboundArrivalType: 0x40101056, | |
CarrierID: 0x40101058, | |
CarrierIDAssigningAuthority: 0x40101059, | |
SourceOrientation: 0x40101060, | |
SourcePosition: 0x40101061, | |
BeltHeight: 0x40101062, | |
AlgorithmRoutingCodeSequence: 0x40101064, | |
TransportClassification: 0x40101067, | |
OOITypeDescriptor: 0x40101068, | |
TotalProcessingTime: 0x40101069, | |
DetectorCalibrationData: 0x4010106c, | |
AdditionalScreeningPerformed: 0x4010106d, | |
AdditionalInspectionSelectionCriteria: 0x4010106e, | |
AdditionalInspectionMethodSequence: 0x4010106f, | |
AITDeviceType: 0x40101070, | |
QRMeasurementsSequence: 0x40101071, | |
TargetMaterialSequence: 0x40101072, | |
SNRThreshold: 0x40101073, | |
ImageScaleRepresentation: 0x40101075, | |
ReferencedPTOSequence: 0x40101076, | |
ReferencedTDRInstanceSequence: 0x40101077, | |
PTOLocationDescription: 0x40101078, | |
AnomalyLocatorIndicatorSequence: 0x40101079, | |
AnomalyLocatorIndicator: 0x4010107a, | |
PTORegionSequence: 0x4010107b, | |
InspectionSelectionCriteria: 0x4010107c, | |
SecondaryInspectionMethodSequence: 0x4010107d, | |
PRCSToRCSOrientation: 0x4010107e, | |
MACParametersSequence: 0x4ffe0001, | |
CurveDimensions: 0x50000005, | |
NumberOfPoints: 0x50000010, | |
TypeOfData: 0x50000020, | |
CurveDescription: 0x50000022, | |
AxisUnits: 0x50000030, | |
AxisLabels: 0x50000040, | |
DataValueRepresentation: 0x50000103, | |
MinimumCoordinateValue: 0x50000104, | |
MaximumCoordinateValue: 0x50000105, | |
CurveRange: 0x50000106, | |
CurveDataDescriptor: 0x50000110, | |
CoordinateStartValue: 0x50000112, | |
CoordinateStepValue: 0x50000114, | |
CurveActivationLayer: 0x50001001, | |
AudioType: 0x50002000, | |
AudioSampleFormat: 0x50002002, | |
NumberOfChannels: 0x50002004, | |
NumberOfSamples: 0x50002006, | |
SampleRate: 0x50002008, | |
TotalTime: 0x5000200a, | |
AudioSampleData: 0x5000200c, | |
AudioComments: 0x5000200e, | |
CurveLabel: 0x50002500, | |
CurveReferencedOverlaySequence: 0x50002600, | |
CurveReferencedOverlayGroup: 0x50002610, | |
CurveData: 0x50003000, | |
SharedFunctionalGroupsSequence: 0x52009229, | |
PerFrameFunctionalGroupsSequence: 0x52009230, | |
WaveformSequence: 0x54000100, | |
ChannelMinimumValue: 0x54000110, | |
ChannelMaximumValue: 0x54000112, | |
WaveformBitsAllocated: 0x54001004, | |
WaveformSampleInterpretation: 0x54001006, | |
WaveformPaddingValue: 0x5400100a, | |
WaveformData: 0x54001010, | |
FirstOrderPhaseCorrectionAngle: 0x56000010, | |
SpectroscopyData: 0x56000020, | |
OverlayRows: 0x60000010, | |
OverlayColumns: 0x60000011, | |
OverlayPlanes: 0x60000012, | |
NumberOfFramesInOverlay: 0x60000015, | |
OverlayDescription: 0x60000022, | |
OverlayType: 0x60000040, | |
OverlaySubtype: 0x60000045, | |
OverlayOrigin: 0x60000050, | |
ImageFrameOrigin: 0x60000051, | |
OverlayPlaneOrigin: 0x60000052, | |
OverlayCompressionCode: 0x60000060, | |
OverlayCompressionOriginator: 0x60000061, | |
OverlayCompressionLabel: 0x60000062, | |
OverlayCompressionDescription: 0x60000063, | |
OverlayCompressionStepPointers: 0x60000066, | |
OverlayRepeatInterval: 0x60000068, | |
OverlayBitsGrouped: 0x60000069, | |
OverlayBitsAllocated: 0x60000100, | |
OverlayBitPosition: 0x60000102, | |
OverlayFormat: 0x60000110, | |
OverlayLocation: 0x60000200, | |
OverlayCodeLabel: 0x60000800, | |
OverlayNumberOfTables: 0x60000802, | |
OverlayCodeTableLocation: 0x60000803, | |
OverlayBitsForCodeWord: 0x60000804, | |
OverlayActivationLayer: 0x60001001, | |
OverlayDescriptorGray: 0x60001100, | |
OverlayDescriptorRed: 0x60001101, | |
OverlayDescriptorGreen: 0x60001102, | |
OverlayDescriptorBlue: 0x60001103, | |
OverlaysGray: 0x60001200, | |
OverlaysRed: 0x60001201, | |
OverlaysGreen: 0x60001202, | |
OverlaysBlue: 0x60001203, | |
ROIArea: 0x60001301, | |
ROIMean: 0x60001302, | |
ROIStandardDeviation: 0x60001303, | |
OverlayLabel: 0x60001500, | |
OverlayData: 0x60003000, | |
OverlayComments: 0x60004000, | |
FloatPixelData: 0x7fe00008, | |
DoubleFloatPixelData: 0x7fe00009, | |
PixelData: 0x7fe00010, | |
CoefficientsSDVN: 0x7fe00020, | |
CoefficientsSDHN: 0x7fe00030, | |
CoefficientsSDDN: 0x7fe00040, | |
VariablePixelData: 0x7f000010, | |
VariableNextDataGroup: 0x7f000011, | |
VariableCoefficientsSDVN: 0x7f000020, | |
VariableCoefficientsSDHN: 0x7f000030, | |
VariableCoefficientsSDDN: 0x7f000040, | |
DigitalSignaturesSequence: 0xfffafffa, | |
DataSetTrailingPadding: 0xfffcfffc, | |
Item: 0xfffee000, | |
ItemDelimitationItem: 0xfffee00d, | |
SequenceDelimitationItem: 0xfffee0dd, | |
// private tags | |
PhilipsSUVScaleFactor: 0x70531000, | |
PhilipsActivityConcentrationFactor: 0x70531009, | |
PhilipsCreatorDataElements: 0x70530010, | |
}; | |
/***/ }), | |
/***/ "./src/uid-to-name.ts": | |
/*!****************************!*\ | |
!*** ./src/uid-to-name.ts ***! | |
\****************************/ | |
/***/ ((__unused_webpack_module, exports) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.UIDToName = void 0; | |
class UIDToName { | |
static nameOf(uid) { | |
return UIDToName.dict[uid]; | |
} | |
} | |
UIDToName.dict = { | |
'1.2.840.10008.1.1': 'Verification SOP Class', | |
'1.2.840.10008.1.2': 'Implicit VR Little Endian', | |
'1.2.840.10008.1.2.1': 'Explicit VR Little Endian', | |
'1.2.840.10008.1.2.1.99': 'Deflated Explicit VR Little Endian', | |
'1.2.840.10008.1.2.2': 'Explicit VR Big Endian (Retired,', | |
'1.2.840.10008.1.2.4.50': 'JPEG Baseline (Process 1,', | |
'1.2.840.10008.1.2.4.51': 'JPEG Extended (Process 2 & 4,', | |
'1.2.840.10008.1.2.4.52': 'JPEG Extended (Process 3 & 5, (Retired,', | |
'1.2.840.10008.1.2.4.53': 'JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8, (Retired,', | |
'1.2.840.10008.1.2.4.54': 'JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9, (Retired,', | |
'1.2.840.10008.1.2.4.55': 'JPEG Full Progression, Non-Hierarchical (Process 10 & 12, (Retired,', | |
'1.2.840.10008.1.2.4.56': 'JPEG Full Progression, Non-Hierarchical (Process 11 & 13, (Retired,', | |
'1.2.840.10008.1.2.4.57': 'JPEG Lossless, Non-Hierarchical (Process 14,', | |
'1.2.840.10008.1.2.4.58': 'JPEG Lossless, Non-Hierarchical (Process 15, (Retired,', | |
'1.2.840.10008.1.2.4.59': 'JPEG Extended, Hierarchical (Process 16 & 18, (Retired,', | |
'1.2.840.10008.1.2.4.60': 'JPEG Extended, Hierarchical (Process 17 & 19, (Retired,', | |
'1.2.840.10008.1.2.4.61': 'JPEG Spectral Selection, Hierarchical (Process 20 & 22, (Retired,', | |
'1.2.840.10008.1.2.4.62': 'JPEG Spectral Selection, Hierarchical (Process 21 & 23, (Retired,', | |
'1.2.840.10008.1.2.4.63': 'JPEG Full Progression, Hierarchical (Process 24 & 26, (Retired,', | |
'1.2.840.10008.1.2.4.64': 'JPEG Full Progression, Hierarchical (Process 25 & 27, (Retired,', | |
'1.2.840.10008.1.2.4.65': 'JPEG Lossless, Hierarchical (Process 28, (Retired,', | |
'1.2.840.10008.1.2.4.66': 'JPEG Lossless, Hierarchical (Process 29, (Retired,', | |
'1.2.840.10008.1.2.4.70': 'JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1],', | |
'1.2.840.10008.1.2.4.80': 'JPEG-LS Lossless Image Compression', | |
'1.2.840.10008.1.2.4.81': 'JPEG-LS Lossy (Near-Lossless, Image Compression', | |
'1.2.840.10008.1.2.4.90': 'JPEG 2000 Image Compression (Lossless Only,', | |
'1.2.840.10008.1.2.4.91': 'JPEG 2000 Image Compression', | |
'1.2.840.10008.1.2.4.92': 'JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only,', | |
'1.2.840.10008.1.2.4.93': 'JPEG 2000 Part 2 Multi-component Image Compression', | |
'1.2.840.10008.1.2.4.94': 'JPIP Referenced', | |
'1.2.840.10008.1.2.4.95': 'JPIP Referenced Deflate', | |
'1.2.840.10008.1.2.4.100': 'MPEG2 Main Profile / Main Level', | |
'1.2.840.10008.1.2.4.101': 'MPEG2 Main Profile / High Level', | |
'1.2.840.10008.1.2.4.102': 'MPEG-4 AVC/H.264 High Profile / Level 4.1', | |
'1.2.840.10008.1.2.4.103': 'MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1', | |
'1.2.840.10008.1.2.4.104': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video', | |
'1.2.840.10008.1.2.4.105': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video', | |
'1.2.840.10008.1.2.4.106': 'MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2', | |
'1.2.840.10008.1.2.4.107': 'HEVC/H.265 Main Profile / Level 5.1', | |
'1.2.840.10008.1.2.4.108': 'HEVC/H.265 Main 10 Profile / Level 5.1', | |
'1.2.840.10008.1.2.5': 'RLE Lossless', | |
'1.2.840.10008.1.2.6.1': 'RFC 2557 MIME encapsulation (Retired,', | |
'1.2.840.10008.1.2.6.2': 'XML Encoding (Retired,', | |
'1.2.840.10008.1.3.10': 'Media Storage Directory Storage', | |
'1.2.840.10008.1.4.1.1': 'Talairach Brain Atlas Frame of Reference', | |
'1.2.840.10008.1.4.1.2': 'SPM2 T1 Frame of Reference', | |
'1.2.840.10008.1.4.1.3': 'SPM2 T2 Frame of Reference', | |
'1.2.840.10008.1.4.1.4': 'SPM2 PD Frame of Reference', | |
'1.2.840.10008.1.4.1.5': 'SPM2 EPI Frame of Reference', | |
'1.2.840.10008.1.4.1.6': 'SPM2 FIL T1 Frame of Reference', | |
'1.2.840.10008.1.4.1.7': 'SPM2 PET Frame of Reference', | |
'1.2.840.10008.1.4.1.8': 'SPM2 TRANSM Frame of Reference', | |
'1.2.840.10008.1.4.1.9': 'SPM2 SPECT Frame of Reference', | |
'1.2.840.10008.1.4.1.10': 'SPM2 GRAY Frame of Reference', | |
'1.2.840.10008.1.4.1.11': 'SPM2 WHITE Frame of Reference', | |
'1.2.840.10008.1.4.1.12': 'SPM2 CSF Frame of Reference', | |
'1.2.840.10008.1.4.1.13': 'SPM2 BRAINMASK Frame of Reference', | |
'1.2.840.10008.1.4.1.14': 'SPM2 AVG305T1 Frame of Reference', | |
'1.2.840.10008.1.4.1.15': 'SPM2 AVG152T1 Frame of Reference', | |
'1.2.840.10008.1.4.1.16': 'SPM2 AVG152T2 Frame of Reference', | |
'1.2.840.10008.1.4.1.17': 'SPM2 AVG152PD Frame of Reference', | |
'1.2.840.10008.1.4.1.18': 'SPM2 SINGLESUBJT1 Frame of Reference', | |
'1.2.840.10008.1.4.2.1': 'ICBM 452 T1 Frame of Reference', | |
'1.2.840.10008.1.4.2.2': 'ICBM Single Subject MRI Frame of Reference', | |
'1.2.840.10008.1.5.1': 'Hot Iron Color Palette SOP Instance', | |
'1.2.840.10008.1.5.2': 'PET Color Palette SOP Instance', | |
'1.2.840.10008.1.5.3': 'Hot Metal Blue Color Palette SOP Instance', | |
'1.2.840.10008.1.5.4': 'PET 20 Step Color Palette SOP Instance', | |
'1.2.840.10008.1.5.5': 'Spring Color Palette SOP Instance', | |
'1.2.840.10008.1.5.6': 'Summer Color Palette SOP Instance', | |
'1.2.840.10008.1.5.7': 'Fall Color Palette SOP Instance', | |
'1.2.840.10008.1.5.8': 'Winter Color Palette SOP Instance', | |
'1.2.840.10008.1.9': 'Basic Study Content Notification SOP Class (Retired,', | |
'1.2.840.10008.1.20': 'Papyrus 3 Implicit VR Little Endian (Retired,', | |
'1.2.840.10008.1.20.1': 'Storage Commitment Push Model SOP Class', | |
'1.2.840.10008.1.20.1.1': 'Storage Commitment Push Model SOP Instance', | |
'1.2.840.10008.1.20.2': 'Storage Commitment Pull Model SOP Class (Retired,', | |
'1.2.840.10008.1.20.2.1': 'Storage Commitment Pull Model SOP Instance (Retired,', | |
'1.2.840.10008.1.40': 'Procedural Event Logging SOP Class', | |
'1.2.840.10008.1.40.1': 'Procedural Event Logging SOP Instance', | |
'1.2.840.10008.1.42': 'Substance Administration Logging SOP Class', | |
'1.2.840.10008.1.42.1': 'Substance Administration Logging SOP Instance', | |
'1.2.840.10008.2.6.1': 'DICOM UID Registry', | |
'1.2.840.10008.2.16.4': 'DICOM Controlled Terminology', | |
'1.2.840.10008.2.16.5': 'Adult Mouse Anatomy Ontology', | |
'1.2.840.10008.2.16.6': 'Uberon Ontology', | |
'1.2.840.10008.2.16.7': 'Integrated Taxonomic Information System', | |
'1.2.840.10008.2.16.8': 'Mouse Genome Initiative (MGI,', | |
'1.2.840.10008.2.16.9': 'PubChem Compound CID', | |
'1.2.840.10008.2.16.10': 'ICD-11', | |
'1.2.840.10008.2.16.11': 'New York University Melanoma Clinical Cooperative Group', | |
'1.2.840.10008.2.16.12': 'Mayo Clinic Non-radiological Images Specific Body Structure Anatomical Surface Region Guide', | |
'1.2.840.10008.2.16.13': 'Image Biomarker Standardisation Initiative', | |
'1.2.840.10008.2.16.14': 'Radiomics Ontology', | |
'1.2.840.10008.3.1.1.1': 'DICOM Application Context Name', | |
'1.2.840.10008.3.1.2.1.1': 'Detached Patient Management SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.1.4': 'Detached Patient Management Meta SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.2.1': 'Detached Visit Management SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.3.1': 'Detached Study Management SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.3.2': 'Study Component Management SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.3.3': 'Modality Performed Procedure Step SOP Class', | |
'1.2.840.10008.3.1.2.3.4': 'Modality Performed Procedure Step Retrieve SOP Class', | |
'1.2.840.10008.3.1.2.3.5': 'Modality Performed Procedure Step Notification SOP Class', | |
'1.2.840.10008.3.1.2.5.1': 'Detached Results Management SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.5.4': 'Detached Results Management Meta SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.5.5': 'Detached Study Management Meta SOP Class (Retired,', | |
'1.2.840.10008.3.1.2.6.1': 'Detached Interpretation Management SOP Class (Retired,', | |
'1.2.840.10008.4.2': 'Storage Service Class', | |
'1.2.840.10008.5.1.1.1': 'Basic Film Session SOP Class', | |
'1.2.840.10008.5.1.1.2': 'Basic Film Box SOP Class', | |
'1.2.840.10008.5.1.1.4': 'Basic Grayscale Image Box SOP Class', | |
'1.2.840.10008.5.1.1.4.1': 'Basic Color Image Box SOP Class', | |
'1.2.840.10008.5.1.1.4.2': 'Referenced Image Box SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.9': 'Basic Grayscale Print Management Meta SOP Class', | |
'1.2.840.10008.5.1.1.9.1': 'Referenced Grayscale Print Management Meta SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.14': 'Print Job SOP Class', | |
'1.2.840.10008.5.1.1.15': 'Basic Annotation Box SOP Class', | |
'1.2.840.10008.5.1.1.16': 'Printer SOP Class', | |
'1.2.840.10008.5.1.1.16.376': 'Printer Configuration Retrieval SOP Class', | |
'1.2.840.10008.5.1.1.17': 'Printer SOP Instance', | |
'1.2.840.10008.5.1.1.17.376': 'Printer Configuration Retrieval SOP Instance', | |
'1.2.840.10008.5.1.1.18': 'Basic Color Print Management Meta SOP Class', | |
'1.2.840.10008.5.1.1.18.1': 'Referenced Color Print Management Meta SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.22': 'VOI LUT Box SOP Class', | |
'1.2.840.10008.5.1.1.23': 'Presentation LUT SOP Class', | |
'1.2.840.10008.5.1.1.24': 'Image Overlay Box SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.24.1': 'Basic Print Image Overlay Box SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.25': 'Print Queue SOP Instance (Retired,', | |
'1.2.840.10008.5.1.1.26': 'Print Queue Management SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.27': 'Stored Print Storage SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.29': 'Hardcopy Grayscale Image Storage SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.30': 'Hardcopy Color Image Storage SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.31': 'Pull Print Request SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.32': 'Pull Stored Print Management Meta SOP Class (Retired,', | |
'1.2.840.10008.5.1.1.33': 'Media Creation Management SOP Class UID', | |
'1.2.840.10008.5.1.1.40': 'Display System SOP Class', | |
'1.2.840.10008.5.1.1.40.1': 'Display System SOP Instance', | |
'1.2.840.10008.5.1.4.1.1.1': 'Computed Radiography Image Storage', | |
'1.2.840.10008.5.1.4.1.1.1.1': 'Digital X-Ray Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.1.1.1': 'Digital X-Ray Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.1.2': 'Digital Mammography X-Ray Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.1.2.1': 'Digital Mammography X-Ray Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.1.3': 'Digital Intra-Oral X-Ray Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.1.3.1': 'Digital Intra-Oral X-Ray Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.2': 'CT Image Storage', | |
'1.2.840.10008.5.1.4.1.1.2.1': 'Enhanced CT Image Storage', | |
'1.2.840.10008.5.1.4.1.1.2.2': 'Legacy Converted Enhanced CT Image Storage', | |
'1.2.840.10008.5.1.4.1.1.3': 'Ultrasound Multi-frame Image Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.3.1': 'Ultrasound Multi-frame Image Storage', | |
'1.2.840.10008.5.1.4.1.1.4': 'MR Image Storage', | |
'1.2.840.10008.5.1.4.1.1.4.1': 'Enhanced MR Image Storage', | |
'1.2.840.10008.5.1.4.1.1.4.2': 'MR Spectroscopy Storage', | |
'1.2.840.10008.5.1.4.1.1.4.3': 'Enhanced MR Color Image Storage', | |
'1.2.840.10008.5.1.4.1.1.4.4': 'Legacy Converted Enhanced MR Image Storage', | |
'1.2.840.10008.5.1.4.1.1.5': 'Nuclear Medicine Image Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.6': 'Ultrasound Image Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.6.1': 'Ultrasound Image Storage', | |
'1.2.840.10008.5.1.4.1.1.6.2': 'Enhanced US Volume Storage', | |
'1.2.840.10008.5.1.4.1.1.7': 'Secondary Capture Image Storage', | |
'1.2.840.10008.5.1.4.1.1.7.1': 'Multi-frame Single Bit Secondary Capture Image Storage', | |
'1.2.840.10008.5.1.4.1.1.7.2': 'Multi-frame Grayscale Byte Secondary Capture Image Storage', | |
'1.2.840.10008.5.1.4.1.1.7.3': 'Multi-frame Grayscale Word Secondary Capture Image Storage', | |
'1.2.840.10008.5.1.4.1.1.7.4': 'Multi-frame True Color Secondary Capture Image Storage', | |
'1.2.840.10008.5.1.4.1.1.8': 'Standalone Overlay Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.9': 'Standalone Curve Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.9.1': 'Waveform Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.9.1.1': '12-lead ECG Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.1.2': 'General ECG Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.1.3': 'Ambulatory ECG Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.2.1': 'Hemodynamic Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.3.1': 'Cardiac Electrophysiology Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.4.1': 'Basic Voice Audio Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.4.2': 'General Audio Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.5.1': 'Arterial Pulse Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.9.6.1': 'Respiratory Waveform Storage', | |
'1.2.840.10008.5.1.4.1.1.10': 'Standalone Modality LUT Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.11': 'Standalone VOI LUT Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.11.1': 'Grayscale Softcopy Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.2': 'Color Softcopy Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.3': 'Pseudo-Color Softcopy Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.4': 'Blending Softcopy Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.5': 'XA/XRF Grayscale Softcopy Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.6': 'Grayscale Planar MPR Volumetric Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.7': 'Compositing Planar MPR Volumetric Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.8': 'Advanced Blending Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.9': 'Volume Rendering Volumetric Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.10': 'Segmented Volume Rendering Volumetric Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.11.11': 'Multiple Volume Rendering Volumetric Presentation State Storage', | |
'1.2.840.10008.5.1.4.1.1.12.1': 'X-Ray Angiographic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.12.1.1': 'Enhanced XA Image Storage', | |
'1.2.840.10008.5.1.4.1.1.12.2': 'X-Ray Radiofluoroscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.12.2.1': 'Enhanced XRF Image Storage', | |
'1.2.840.10008.5.1.4.1.1.12.3': 'X-Ray Angiographic Bi-Plane Image Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.12.77': '(Retired,', | |
'1.2.840.10008.5.1.4.1.1.13.1.1': 'X-Ray 3D Angiographic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.13.1.2': 'X-Ray 3D Craniofacial Image Storage', | |
'1.2.840.10008.5.1.4.1.1.13.1.3': 'Breast Tomosynthesis Image Storage', | |
'1.2.840.10008.5.1.4.1.1.13.1.4': 'Breast Projection X-Ray Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.13.1.5': 'Breast Projection X-Ray Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.14.1': 'Intravascular Optical Coherence Tomography Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.14.2': 'Intravascular Optical Coherence Tomography Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.20': 'Nuclear Medicine Image Storage', | |
'1.2.840.10008.5.1.4.1.1.30': 'Parametric Map Storage', | |
'1.2.840.10008.5.1.4.1.1.40': '(Retired,', | |
'1.2.840.10008.5.1.4.1.1.66': 'Raw Data Storage', | |
'1.2.840.10008.5.1.4.1.1.66.1': 'Spatial Registration Storage', | |
'1.2.840.10008.5.1.4.1.1.66.2': 'Spatial Fiducials Storage', | |
'1.2.840.10008.5.1.4.1.1.66.3': 'Deformable Spatial Registration Storage', | |
'1.2.840.10008.5.1.4.1.1.66.4': 'Segmentation Storage', | |
'1.2.840.10008.5.1.4.1.1.66.5': 'Surface Segmentation Storage', | |
'1.2.840.10008.5.1.4.1.1.66.6': 'Tractography Results Storage', | |
'1.2.840.10008.5.1.4.1.1.67': 'Real World Value Mapping Storage', | |
'1.2.840.10008.5.1.4.1.1.68.1': 'Surface Scan Mesh Storage', | |
'1.2.840.10008.5.1.4.1.1.68.2': 'Surface Scan Point Cloud Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1': 'VL Image Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.77.2': 'VL Multi-frame Image Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.77.1.1': 'VL Endoscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.1.1': 'Video Endoscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.2': 'VL Microscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.2.1': 'Video Microscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.3': 'VL Slide-Coordinates Microscopic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.4': 'VL Photographic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.4.1': 'Video Photographic Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.1': 'Ophthalmic Photography 8 Bit Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.2': 'Ophthalmic Photography 16 Bit Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.3': 'Stereometric Relationship Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.4': 'Ophthalmic Tomography Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.5': 'Wide Field Ophthalmic Photography Stereographic Projection Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.6': 'Wide Field Ophthalmic Photography 3D Coordinates Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.7': 'Ophthalmic Optical Coherence Tomography En Face Image Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.5.8': 'Ophthalmic Optical Coherence Tomography B-scan Volume Analysis Storage', | |
'1.2.840.10008.5.1.4.1.1.77.1.6': 'VL Whole Slide Microscopy Image Storage', | |
'1.2.840.10008.5.1.4.1.1.78.1': 'Lensometry Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.2': 'Autorefraction Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.3': 'Keratometry Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.4': 'Subjective Refraction Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.5': 'Visual Acuity Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.6': 'Spectacle Prescription Report Storage', | |
'1.2.840.10008.5.1.4.1.1.78.7': 'Ophthalmic Axial Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.78.8': 'Intraocular Lens Calculations Storage', | |
'1.2.840.10008.5.1.4.1.1.79.1': 'Macular Grid Thickness and Volume Report Storage', | |
'1.2.840.10008.5.1.4.1.1.80.1': 'Ophthalmic Visual Field Static Perimetry Measurements Storage', | |
'1.2.840.10008.5.1.4.1.1.81.1': 'Ophthalmic Thickness Map Storage', | |
'1.2.840.10008.5.1.4.1.1.82.1': 'Corneal Topography Map Storage', | |
'1.2.840.10008.5.1.4.1.1.88.1': 'Text SR Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.88.2': 'Audio SR Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.88.3': 'Detail SR Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.88.4': 'Comprehensive SR Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.1.1.88.11': 'Basic Text SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.22': 'Enhanced SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.33': 'Comprehensive SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.34': 'Comprehensive 3D SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.35': 'Extensible SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.40': 'Procedure Log Storage', | |
'1.2.840.10008.5.1.4.1.1.88.50': 'Mammography CAD SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.59': 'Key Object Selection Document Storage', | |
'1.2.840.10008.5.1.4.1.1.88.65': 'Chest CAD SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.67': 'X-Ray Radiation Dose SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.68': 'Radiopharmaceutical Radiation Dose SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.69': 'Colon CAD SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.70': 'Implantation Plan SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.71': 'Acquisition Context SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.72': 'Simplified Adult Echo SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.73': 'Patient Radiation Dose SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.74': 'Planned Imaging Agent Administration SR Storage', | |
'1.2.840.10008.5.1.4.1.1.88.75': 'Performed Imaging Agent Administration SR Storage', | |
'1.2.840.10008.5.1.4.1.1.90.1': 'Content Assessment Results Storage', | |
'1.2.840.10008.5.1.4.1.1.104.1': 'Encapsulated PDF Storage', | |
'1.2.840.10008.5.1.4.1.1.104.2': 'Encapsulated CDA Storage', | |
'1.2.840.10008.5.1.4.1.1.104.3': 'Encapsulated STL Storage', | |
'1.2.840.10008.5.1.4.1.1.128': 'Positron Emission Tomography Image Storage', | |
'1.2.840.10008.5.1.4.1.1.128.1': 'Legacy Converted Enhanced PET Image Storage', | |
'1.2.840.10008.5.1.4.1.1.129': 'Standalone PET Curve Storage (Retired,', | |
'1.2.840.10008.5.1.4.1.1.130': 'Enhanced PET Image Storage', | |
'1.2.840.10008.5.1.4.1.1.131': 'Basic Structured Display Storage', | |
'1.2.840.10008.5.1.4.1.1.200.1': 'CT Defined Procedure Protocol Storage', | |
'1.2.840.10008.5.1.4.1.1.200.2': 'CT Performed Procedure Protocol Storage', | |
'1.2.840.10008.5.1.4.1.1.200.3': 'Protocol Approval Storage', | |
'1.2.840.10008.5.1.4.1.1.200.4': 'Protocol Approval Information Model - FIND', | |
'1.2.840.10008.5.1.4.1.1.200.5': 'Protocol Approval Information Model - MOVE', | |
'1.2.840.10008.5.1.4.1.1.200.6': 'Protocol Approval Information Model - GET', | |
'1.2.840.10008.5.1.4.1.1.481.1': 'RT Image Storage', | |
'1.2.840.10008.5.1.4.1.1.481.2': 'RT Dose Storage', | |
'1.2.840.10008.5.1.4.1.1.481.3': 'RT Structure Set Storage', | |
'1.2.840.10008.5.1.4.1.1.481.4': 'RT Beams Treatment Record Storage', | |
'1.2.840.10008.5.1.4.1.1.481.5': 'RT Plan Storage', | |
'1.2.840.10008.5.1.4.1.1.481.6': 'RT Brachy Treatment Record Storage', | |
'1.2.840.10008.5.1.4.1.1.481.7': 'RT Treatment Summary Record Storage', | |
'1.2.840.10008.5.1.4.1.1.481.8': 'RT Ion Plan Storage', | |
'1.2.840.10008.5.1.4.1.1.481.9': 'RT Ion Beams Treatment Record Storage', | |
'1.2.840.10008.5.1.4.1.1.481.10': 'RT Physician Intent Storage', | |
'1.2.840.10008.5.1.4.1.1.481.11': 'RT Segment Annotation Storage', | |
'1.2.840.10008.5.1.4.1.1.501.1': 'DICOS CT Image Storage', | |
'1.2.840.10008.5.1.4.1.1.501.2.1': 'DICOS Digital X-Ray Image Storage - For Presentation', | |
'1.2.840.10008.5.1.4.1.1.501.2.2': 'DICOS Digital X-Ray Image Storage - For Processing', | |
'1.2.840.10008.5.1.4.1.1.501.3': 'DICOS Threat Detection Report Storage', | |
'1.2.840.10008.5.1.4.1.1.501.4': 'DICOS 2D AIT Storage', | |
'1.2.840.10008.5.1.4.1.1.501.5': 'DICOS 3D AIT Storage', | |
'1.2.840.10008.5.1.4.1.1.501.6': 'DICOS Quadrupole Resonance (QR, Storage', | |
'1.2.840.10008.5.1.4.1.1.601.1': 'Eddy Current Image Storage', | |
'1.2.840.10008.5.1.4.1.1.601.2': 'Eddy Current Multi-frame Image Storage', | |
'1.2.840.10008.5.1.4.1.2.1.1': 'Patient Root Query/Retrieve Information Model - FIND', | |
'1.2.840.10008.5.1.4.1.2.1.2': 'Patient Root Query/Retrieve Information Model - MOVE', | |
'1.2.840.10008.5.1.4.1.2.1.3': 'Patient Root Query/Retrieve Information Model - GET', | |
'1.2.840.10008.5.1.4.1.2.2.1': 'Study Root Query/Retrieve Information Model - FIND', | |
'1.2.840.10008.5.1.4.1.2.2.2': 'Study Root Query/Retrieve Information Model - MOVE', | |
'1.2.840.10008.5.1.4.1.2.2.3': 'Study Root Query/Retrieve Information Model - GET', | |
'1.2.840.10008.5.1.4.1.2.3.1': 'Patient/Study Only Query/Retrieve Information Model - FIND (Retired,', | |
'1.2.840.10008.5.1.4.1.2.3.2': 'Patient/Study Only Query/Retrieve Information Model - MOVE (Retired,', | |
'1.2.840.10008.5.1.4.1.2.3.3': 'Patient/Study Only Query/Retrieve Information Model - GET (Retired,', | |
'1.2.840.10008.5.1.4.1.2.4.2': 'Composite Instance Root Retrieve - MOVE', | |
'1.2.840.10008.5.1.4.1.2.4.3': 'Composite Instance Root Retrieve - GET', | |
'1.2.840.10008.5.1.4.1.2.5.3': 'Composite Instance Retrieve Without Bulk Data - GET', | |
'1.2.840.10008.5.1.4.20.1': 'Defined Procedure Protocol Information Model - FIND', | |
'1.2.840.10008.5.1.4.20.2': 'Defined Procedure Protocol Information Model - MOVE', | |
'1.2.840.10008.5.1.4.20.3': 'Defined Procedure Protocol Information Model - GET', | |
'1.2.840.10008.5.1.4.31': 'Modality Worklist Information Model - FIND', | |
'1.2.840.10008.5.1.4.32': 'General Purpose Worklist Management Meta SOP Class (Retired,', | |
'1.2.840.10008.5.1.4.32.1': 'General Purpose Worklist Information Model - FIND (Retired,', | |
'1.2.840.10008.5.1.4.32.2': 'General Purpose Scheduled Procedure Step SOP Class (Retired,', | |
'1.2.840.10008.5.1.4.32.3': 'General Purpose Performed Procedure Step SOP Class (Retired,', | |
'1.2.840.10008.5.1.4.33': 'Instance Availability Notification SOP Class', | |
'1.2.840.10008.5.1.4.34.1': 'RT Beams Delivery Instruction Storage - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.2': 'RT Conventional Machine Verification - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.3': 'RT Ion Machine Verification - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.4': 'Unified Worklist and Procedure Step Service Class - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.4.1': 'Unified Procedure Step - Push SOP Class - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.4.2': 'Unified Procedure Step - Watch SOP Class - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.4.3': 'Unified Procedure Step - Pull SOP Class - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.4.4': 'Unified Procedure Step - Event SOP Class - Trial (Retired,', | |
'1.2.840.10008.5.1.4.34.5': 'UPS Global Subscription SOP Instance', | |
'1.2.840.10008.5.1.4.34.5.1': 'UPS Filtered Global Subscription SOP Instance', | |
'1.2.840.10008.5.1.4.34.6': 'Unified Worklist and Procedure Step Service Class', | |
'1.2.840.10008.5.1.4.34.6.1': 'Unified Procedure Step - Push SOP Class', | |
'1.2.840.10008.5.1.4.34.6.2': 'Unified Procedure Step - Watch SOP Class', | |
'1.2.840.10008.5.1.4.34.6.3': 'Unified Procedure Step - Pull SOP Class', | |
'1.2.840.10008.5.1.4.34.6.4': 'Unified Procedure Step - Event SOP Class', | |
'1.2.840.10008.5.1.4.34.7': 'RT Beams Delivery Instruction Storage', | |
'1.2.840.10008.5.1.4.34.8': 'RT Conventional Machine Verification', | |
'1.2.840.10008.5.1.4.34.9': 'RT Ion Machine Verification', | |
'1.2.840.10008.5.1.4.34.10': 'RT Brachy Application Setup Delivery Instruction Storage', | |
'1.2.840.10008.5.1.4.37.1': 'General Relevant Patient Information Query', | |
'1.2.840.10008.5.1.4.37.2': 'Breast Imaging Relevant Patient Information Query', | |
'1.2.840.10008.5.1.4.37.3': 'Cardiac Relevant Patient Information Query', | |
'1.2.840.10008.5.1.4.38.1': 'Hanging Protocol Storage', | |
'1.2.840.10008.5.1.4.38.2': 'Hanging Protocol Information Model - FIND', | |
'1.2.840.10008.5.1.4.38.3': 'Hanging Protocol Information Model - MOVE', | |
'1.2.840.10008.5.1.4.38.4': 'Hanging Protocol Information Model - GET', | |
'1.2.840.10008.5.1.4.39.1': 'Color Palette Storage', | |
'1.2.840.10008.5.1.4.39.2': 'Color Palette Query/Retrieve Information Model - FIND', | |
'1.2.840.10008.5.1.4.39.3': 'Color Palette Query/Retrieve Information Model - MOVE', | |
'1.2.840.10008.5.1.4.39.4': 'Color Palette Query/Retrieve Information Model - GET', | |
'1.2.840.10008.5.1.4.41': 'Product Characteristics Query SOP Class', | |
'1.2.840.10008.5.1.4.42': 'Substance Approval Query SOP Class', | |
'1.2.840.10008.5.1.4.43.1': 'Generic Implant Template Storage', | |
'1.2.840.10008.5.1.4.43.2': 'Generic Implant Template Information Model - FIND', | |
'1.2.840.10008.5.1.4.43.3': 'Generic Implant Template Information Model - MOVE', | |
'1.2.840.10008.5.1.4.43.4': 'Generic Implant Template Information Model - GET', | |
'1.2.840.10008.5.1.4.44.1': 'Implant Assembly Template Storage', | |
'1.2.840.10008.5.1.4.44.2': 'Implant Assembly Template Information Model - FIND', | |
'1.2.840.10008.5.1.4.44.3': 'Implant Assembly Template Information Model - MOVE', | |
'1.2.840.10008.5.1.4.44.4': 'Implant Assembly Template Information Model - GET', | |
'1.2.840.10008.5.1.4.45.1': 'Implant Template Group Storage', | |
'1.2.840.10008.5.1.4.45.2': 'Implant Template Group Information Model - FIND', | |
'1.2.840.10008.5.1.4.45.3': 'Implant Template Group Information Model - MOVE', | |
'1.2.840.10008.5.1.4.45.4': 'Implant Template Group Information Model - GET', | |
'1.2.840.10008.7.1.1': 'Native DICOM Model', | |
'1.2.840.10008.7.1.2': 'Abstract Multi-Dimensional Image Model', | |
'1.2.840.10008.8.1.1': 'DICOM Content Mapping Resource', | |
'1.2.840.10008.15.0.3.1': 'dicomDeviceName', | |
'1.2.840.10008.15.0.3.2': 'dicomDescription', | |
'1.2.840.10008.15.0.3.3': 'dicomManufacturer', | |
'1.2.840.10008.15.0.3.4': 'dicomManufacturerModelName', | |
'1.2.840.10008.15.0.3.5': 'dicomSoftwareVersion', | |
'1.2.840.10008.15.0.3.6': 'dicomVendorData', | |
'1.2.840.10008.15.0.3.7': 'dicomAETitle', | |
'1.2.840.10008.15.0.3.8': 'dicomNetworkConnectionReference', | |
'1.2.840.10008.15.0.3.9': 'dicomApplicationCluster', | |
'1.2.840.10008.15.0.3.10': 'dicomAssociationInitiator', | |
'1.2.840.10008.15.0.3.11': 'dicomAssociationAcceptor', | |
'1.2.840.10008.15.0.3.12': 'dicomHostname', | |
'1.2.840.10008.15.0.3.13': 'dicomPort', | |
'1.2.840.10008.15.0.3.14': 'dicomSOPClass', | |
'1.2.840.10008.15.0.3.15': 'dicomTransferRole', | |
'1.2.840.10008.15.0.3.16': 'dicomTransferSyntax', | |
'1.2.840.10008.15.0.3.17': 'dicomPrimaryDeviceType', | |
'1.2.840.10008.15.0.3.18': 'dicomRelatedDeviceReference', | |
'1.2.840.10008.15.0.3.19': 'dicomPreferredCalledAETitle', | |
'1.2.840.10008.15.0.3.20': 'dicomTLSCyphersuite', | |
'1.2.840.10008.15.0.3.21': 'dicomAuthorizedNodeCertificateReference', | |
'1.2.840.10008.15.0.3.22': 'dicomThisNodeCertificateReference', | |
'1.2.840.10008.15.0.3.23': 'dicomInstalled', | |
'1.2.840.10008.15.0.3.24': 'dicomStationName', | |
'1.2.840.10008.15.0.3.25': 'dicomDeviceSerialNumber', | |
'1.2.840.10008.15.0.3.26': 'dicomInstitutionName', | |
'1.2.840.10008.15.0.3.27': 'dicomInstitutionAddress', | |
'1.2.840.10008.15.0.3.28': 'dicomInstitutionDepartmentName', | |
'1.2.840.10008.15.0.3.29': 'dicomIssuerOfPatientID', | |
'1.2.840.10008.15.0.3.30': 'dicomPreferredCallingAETitle', | |
'1.2.840.10008.15.0.3.31': 'dicomSupportedCharacterSet', | |
'1.2.840.10008.15.0.4.1': 'dicomConfigurationRoot', | |
'1.2.840.10008.15.0.4.2': 'dicomDevicesRoot', | |
'1.2.840.10008.15.0.4.3': 'dicomUniqueAETitlesRegistryRoot', | |
'1.2.840.10008.15.0.4.4': 'dicomDevice', | |
'1.2.840.10008.15.0.4.5': 'dicomNetworkAE', | |
'1.2.840.10008.15.0.4.6': 'dicomNetworkConnection', | |
'1.2.840.10008.15.0.4.7': 'dicomUniqueAETitle', | |
'1.2.840.10008.15.0.4.8': 'dicomTransferCapability', | |
'1.2.840.10008.15.1.1': 'Universal Coordinated Time', | |
}; | |
exports.UIDToName = UIDToName; | |
/***/ }), | |
/***/ "./src/uid.ts": | |
/*!********************!*\ | |
!*** ./src/uid.ts ***! | |
\********************/ | |
/***/ ((__unused_webpack_module, exports) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.UID = void 0; | |
exports.UID = { | |
VerificationSOPClass: '1.2.840.10008.1.1', | |
ImplicitVRLittleEndian: '1.2.840.10008.1.2', | |
ExplicitVRLittleEndian: '1.2.840.10008.1.2.1', | |
DeflatedExplicitVRLittleEndian: '1.2.840.10008.1.2.1.99', | |
ExplicitVRBigEndianRetired: '1.2.840.10008.1.2.2', | |
JPEGBaselineProcess1: '1.2.840.10008.1.2.4.50', | |
JPEGExtendedProcess24: '1.2.840.10008.1.2.4.51', | |
JPEGExtendedProcess35Retired: '1.2.840.10008.1.2.4.52', | |
JPEGSpectralSelectionNonHierarchicalProcess68Retired: '1.2.840.10008.1.2.4.53', | |
JPEGSpectralSelectionNonHierarchicalProcess79Retired: '1.2.840.10008.1.2.4.54', | |
JPEGFullProgressionNonHierarchicalProcess1012Retired: '1.2.840.10008.1.2.4.55', | |
JPEGFullProgressionNonHierarchicalProcess1113Retired: '1.2.840.10008.1.2.4.56', | |
JPEGLosslessNonHierarchicalProcess14: '1.2.840.10008.1.2.4.57', | |
JPEGLosslessNonHierarchicalProcess15Retired: '1.2.840.10008.1.2.4.58', | |
JPEGExtendedHierarchicalProcess1618Retired: '1.2.840.10008.1.2.4.59', | |
JPEGExtendedHierarchicalProcess1719Retired: '1.2.840.10008.1.2.4.60', | |
JPEGSpectralSelectionHierarchicalProcess2022Retired: '1.2.840.10008.1.2.4.61', | |
JPEGSpectralSelectionHierarchicalProcess2123Retired: '1.2.840.10008.1.2.4.62', | |
JPEGFullProgressionHierarchicalProcess2426Retired: '1.2.840.10008.1.2.4.63', | |
JPEGFullProgressionHierarchicalProcess2527Retired: '1.2.840.10008.1.2.4.64', | |
JPEGLosslessHierarchicalProcess28Retired: '1.2.840.10008.1.2.4.65', | |
JPEGLosslessHierarchicalProcess29Retired: '1.2.840.10008.1.2.4.66', | |
JPEGLosslessNonHierarchicalFirstOrderPredictionProcess14SelectionValue1: '1.2.840.10008.1.2.4.70', | |
JPEGLSLosslessImageCompression: '1.2.840.10008.1.2.4.80', | |
JPEGLSLossyNearLosslessImageCompression: '1.2.840.10008.1.2.4.81', | |
JPEG2000ImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.90', | |
JPEG2000ImageCompression: '1.2.840.10008.1.2.4.91', | |
JPEG2000Part2MulticomponentImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.92', | |
JPEG2000Part2MulticomponentImageCompression: '1.2.840.10008.1.2.4.93', | |
JPIPReferenced: '1.2.840.10008.1.2.4.94', | |
JPIPReferencedDeflate: '1.2.840.10008.1.2.4.95', | |
MPEG2MainProfileMainLevel: '1.2.840.10008.1.2.4.100', | |
MPEG2MainProfileHighLevel: '1.2.840.10008.1.2.4.101', | |
MPEG4AVCH264HighProfileLevel41: '1.2.840.10008.1.2.4.102', | |
MPEG4AVCH264BDcompatibleHighProfileLevel41: '1.2.840.10008.1.2.4.103', | |
MPEG4AVCH264HighProfileLevel42For2DVideo: '1.2.840.10008.1.2.4.104', | |
MPEG4AVCH264HighProfileLevel42For3DVideo: '1.2.840.10008.1.2.4.105', | |
MPEG4AVCH264StereoHighProfileLevel42: '1.2.840.10008.1.2.4.106', | |
HEVCH265MainProfileLevel51: '1.2.840.10008.1.2.4.107', | |
HEVCH265Main10ProfileLevel51: '1.2.840.10008.1.2.4.108', | |
RLELossless: '1.2.840.10008.1.2.5', | |
RFC2557MIMEencapsulation: '1.2.840.10008.1.2.6.1', | |
XMLEncoding: '1.2.840.10008.1.2.6.2', | |
MediaStorageDirectoryStorage: '1.2.840.10008.1.3.10', | |
TalairachBrainAtlasFrameofReference: '1.2.840.10008.1.4.1.1', | |
SPM2T1FrameofReference: '1.2.840.10008.1.4.1.2', | |
SPM2T2FrameofReference: '1.2.840.10008.1.4.1.3', | |
SPM2PDFrameofReference: '1.2.840.10008.1.4.1.4', | |
SPM2EPIFrameofReference: '1.2.840.10008.1.4.1.5', | |
SPM2FILT1FrameofReference: '1.2.840.10008.1.4.1.6', | |
SPM2PETFrameofReference: '1.2.840.10008.1.4.1.7', | |
SPM2TRANSMFrameofReference: '1.2.840.10008.1.4.1.8', | |
SPM2SPECTFrameofReference: '1.2.840.10008.1.4.1.9', | |
SPM2GRAYFrameofReference: '1.2.840.10008.1.4.1.10', | |
SPM2WHITEFrameofReference: '1.2.840.10008.1.4.1.11', | |
SPM2CSFFrameofReference: '1.2.840.10008.1.4.1.12', | |
SPM2BRAINMASKFrameofReference: '1.2.840.10008.1.4.1.13', | |
SPM2AVG305T1FrameofReference: '1.2.840.10008.1.4.1.14', | |
SPM2AVG152T1FrameofReference: '1.2.840.10008.1.4.1.15', | |
SPM2AVG152T2FrameofReference: '1.2.840.10008.1.4.1.16', | |
SPM2AVG152PDFrameofReference: '1.2.840.10008.1.4.1.17', | |
SPM2SINGLESUBJT1FrameofReference: '1.2.840.10008.1.4.1.18', | |
ICBM452T1FrameofReference: '1.2.840.10008.1.4.2.1', | |
ICBMSingleSubjectMRIFrameofReference: '1.2.840.10008.1.4.2.2', | |
HotIronColorPaletteSOPInstance: '1.2.840.10008.1.5.1', | |
PETColorPaletteSOPInstance: '1.2.840.10008.1.5.2', | |
HotMetalBlueColorPaletteSOPInstance: '1.2.840.10008.1.5.3', | |
PET20StepColorPaletteSOPInstance: '1.2.840.10008.1.5.4', | |
SpringColorPaletteSOPInstance: '1.2.840.10008.1.5.5', | |
SummerColorPaletteSOPInstance: '1.2.840.10008.1.5.6', | |
FallColorPaletteSOPInstance: '1.2.840.10008.1.5.7', | |
WinterColorPaletteSOPInstance: '1.2.840.10008.1.5.8', | |
BasicStudyContentNotificationSOPClassRetired: '1.2.840.10008.1.9', | |
Papyrus3ImplicitVRLittleEndianRetired: '1.2.840.10008.1.20', | |
StorageCommitmentPushModelSOPClass: '1.2.840.10008.1.20.1', | |
StorageCommitmentPushModelSOPInstance: '1.2.840.10008.1.20.1.1', | |
StorageCommitmentPullModelSOPClassRetired: '1.2.840.10008.1.20.2', | |
StorageCommitmentPullModelSOPInstanceRetired: '1.2.840.10008.1.20.2.1', | |
ProceduralEventLoggingSOPClass: '1.2.840.10008.1.40', | |
ProceduralEventLoggingSOPInstance: '1.2.840.10008.1.40.1', | |
SubstanceAdministrationLoggingSOPClass: '1.2.840.10008.1.42', | |
SubstanceAdministrationLoggingSOPInstance: '1.2.840.10008.1.42.1', | |
DICOMUIDRegistry: '1.2.840.10008.2.6.1', | |
DICOMControlledTerminology: '1.2.840.10008.2.16.4', | |
AdultMouseAnatomyOntology: '1.2.840.10008.2.16.5', | |
UberonOntology: '1.2.840.10008.2.16.6', | |
IntegratedTaxonomicInformationSystemITISTaxonomicSerialNumberTSN: '1.2.840.10008.2.16.7', | |
MouseGenomeInitiativeMGI: '1.2.840.10008.2.16.8', | |
PubChemCompoundCID: '1.2.840.10008.2.16.9', | |
DICOMApplicationContextName: '1.2.840.10008.3.1.1.1', | |
DetachedPatientManagementSOPClassRetired: '1.2.840.10008.3.1.2.1.1', | |
DetachedPatientManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.1.4', | |
DetachedVisitManagementSOPClassRetired: '1.2.840.10008.3.1.2.2.1', | |
DetachedStudyManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.1', | |
StudyComponentManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.2', | |
ModalityPerformedProcedureStepSOPClass: '1.2.840.10008.3.1.2.3.3', | |
ModalityPerformedProcedureStepRetrieveSOPClass: '1.2.840.10008.3.1.2.3.4', | |
ModalityPerformedProcedureStepNotificationSOPClass: '1.2.840.10008.3.1.2.3.5', | |
DetachedResultsManagementSOPClassRetired: '1.2.840.10008.3.1.2.5.1', | |
DetachedResultsManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.4', | |
DetachedStudyManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.5', | |
DetachedInterpretationManagementSOPClassRetired: '1.2.840.10008.3.1.2.6.1', | |
StorageServiceClass: '1.2.840.10008.4.2', | |
BasicFilmSessionSOPClass: '1.2.840.10008.5.1.1.1', | |
BasicFilmBoxSOPClass: '1.2.840.10008.5.1.1.2', | |
BasicGrayscaleImageBoxSOPClass: '1.2.840.10008.5.1.1.4', | |
BasicColorImageBoxSOPClass: '1.2.840.10008.5.1.1.4.1', | |
ReferencedImageBoxSOPClassRetired: '1.2.840.10008.5.1.1.4.2', | |
BasicGrayscalePrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.9', | |
ReferencedGrayscalePrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.9.1', | |
PrintJobSOPClass: '1.2.840.10008.5.1.1.14', | |
BasicAnnotationBoxSOPClass: '1.2.840.10008.5.1.1.15', | |
PrinterSOPClass: '1.2.840.10008.5.1.1.16', | |
PrinterConfigurationRetrievalSOPClass: '1.2.840.10008.5.1.1.16.376', | |
PrinterSOPInstance: '1.2.840.10008.5.1.1.17', | |
PrinterConfigurationRetrievalSOPInstance: '1.2.840.10008.5.1.1.17.376', | |
BasicColorPrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.18', | |
ReferencedColorPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.18.1', | |
VOILUTBoxSOPClass: '1.2.840.10008.5.1.1.22', | |
PresentationLUTSOPClass: '1.2.840.10008.5.1.1.23', | |
ImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24', | |
BasicPrintImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24.1', | |
PrintQueueSOPInstanceRetired: '1.2.840.10008.5.1.1.25', | |
PrintQueueManagementSOPClassRetired: '1.2.840.10008.5.1.1.26', | |
StoredPrintStorageSOPClassRetired: '1.2.840.10008.5.1.1.27', | |
HardcopyGrayscaleImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.29', | |
HardcopyColorImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.30', | |
PullPrintRequestSOPClassRetired: '1.2.840.10008.5.1.1.31', | |
PullStoredPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.32', | |
MediaCreationManagementSOPClassUID: '1.2.840.10008.5.1.1.33', | |
DisplaySystemSOPClass: '1.2.840.10008.5.1.1.40', | |
DisplaySystemSOPInstance: '1.2.840.10008.5.1.1.40.1', | |
ComputedRadiographyImageStorage: '1.2.840.10008.5.1.4.1.1.1', | |
DigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.1', | |
DigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.1.1', | |
DigitalMammographyXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.2', | |
DigitalMammographyXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.2.1', | |
DigitalIntraOralXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.3', | |
DigitalIntraOralXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.3.1', | |
CTImageStorage: '1.2.840.10008.5.1.4.1.1.2', | |
EnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.1', | |
LegacyConvertedEnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.2', | |
UltrasoundMultiframeImageStorageRetired: '1.2.840.10008.5.1.4.1.1.3', | |
UltrasoundMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.3.1', | |
MRImageStorage: '1.2.840.10008.5.1.4.1.1.4', | |
EnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.1', | |
MRSpectroscopyStorage: '1.2.840.10008.5.1.4.1.1.4.2', | |
EnhancedMRColorImageStorage: '1.2.840.10008.5.1.4.1.1.4.3', | |
LegacyConvertedEnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.4', | |
NuclearMedicineImageStorageRetired: '1.2.840.10008.5.1.4.1.1.5', | |
UltrasoundImageStorageRetired: '1.2.840.10008.5.1.4.1.1.6', | |
UltrasoundImageStorage: '1.2.840.10008.5.1.4.1.1.6.1', | |
EnhancedUSVolumeStorage: '1.2.840.10008.5.1.4.1.1.6.2', | |
SecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7', | |
MultiframeSingleBitSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.1', | |
MultiframeGrayscaleByteSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.2', | |
MultiframeGrayscaleWordSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.3', | |
MultiframeTrueColorSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.4', | |
StandaloneOverlayStorageRetired: '1.2.840.10008.5.1.4.1.1.8', | |
StandaloneCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.9', | |
WaveformStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.9.1', | |
TwelveleadECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.1', | |
GeneralECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.2', | |
AmbulatoryECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.3', | |
HemodynamicWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.2.1', | |
CardiacElectrophysiologyWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.3.1', | |
BasicVoiceAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.1', | |
GeneralAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.2', | |
ArterialPulseWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.5.1', | |
RespiratoryWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.6.1', | |
StandaloneModalityLUTStorageRetired: '1.2.840.10008.5.1.4.1.1.10', | |
StandaloneVOILUTStorageRetired: '1.2.840.10008.5.1.4.1.1.11', | |
GrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.1', | |
ColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.2', | |
PseudoColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.3', | |
BlendingSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.4', | |
XAXRFGrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.5', | |
GrayscalePlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.6', | |
CompositingPlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.7', | |
AdvancedBlendingPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.8', | |
VolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.9', | |
SegmentedVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.10', | |
MultipleVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.11', | |
XRayAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.12.1', | |
EnhancedXAImageStorage: '1.2.840.10008.5.1.4.1.1.12.1.1', | |
XRayRadiofluoroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.12.2', | |
EnhancedXRFImageStorage: '1.2.840.10008.5.1.4.1.1.12.2.1', | |
XRayAngiographicBiPlaneImageStorageRetired: '1.2.840.10008.5.1.4.1.1.12.3', | |
XRay3DAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.1', | |
XRay3DCraniofacialImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.2', | |
BreastTomosynthesisImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.3', | |
BreastProjectionXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.13.1.4', | |
BreastProjectionXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.13.1.5', | |
IntravascularOpticalCoherenceTomographyImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.14.1', | |
IntravascularOpticalCoherenceTomographyImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.14.2', | |
NuclearMedicineImageStorage: '1.2.840.10008.5.1.4.1.1.20', | |
ParametricMapStorage: '1.2.840.10008.5.1.4.1.1.30', | |
RawDataStorage: '1.2.840.10008.5.1.4.1.1.66', | |
SpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.1', | |
SpatialFiducialsStorage: '1.2.840.10008.5.1.4.1.1.66.2', | |
DeformableSpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.3', | |
SegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.4', | |
SurfaceSegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.5', | |
TractographyResultsStorage: '1.2.840.10008.5.1.4.1.1.66.6', | |
RealWorldValueMappingStorage: '1.2.840.10008.5.1.4.1.1.67', | |
SurfaceScanMeshStorage: '1.2.840.10008.5.1.4.1.1.68.1', | |
SurfaceScanPointCloudStorage: '1.2.840.10008.5.1.4.1.1.68.2', | |
VLImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.1', | |
VLMultiframeImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.2', | |
VLEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1', | |
VideoEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1.1', | |
VLMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2', | |
VideoMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2.1', | |
VLSlideCoordinatesMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.3', | |
VLPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4', | |
VideoPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4.1', | |
OphthalmicPhotography8BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.1', | |
OphthalmicPhotography16BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.2', | |
StereometricRelationshipStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.3', | |
OphthalmicTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.4', | |
WideFieldOphthalmicPhotographyStereographicProjectionImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.5', | |
WideFieldOphthalmicPhotography3DCoordinatesImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.6', | |
OphthalmicOpticalCoherenceTomographyEnFaceImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.7', | |
OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.8', | |
VLWholeSlideMicroscopyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.6', | |
LensometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.1', | |
AutorefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.2', | |
KeratometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.3', | |
SubjectiveRefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.4', | |
VisualAcuityMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.5', | |
SpectaclePrescriptionReportStorage: '1.2.840.10008.5.1.4.1.1.78.6', | |
OphthalmicAxialMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.7', | |
IntraocularLensCalculationsStorage: '1.2.840.10008.5.1.4.1.1.78.8', | |
MacularGridThicknessandVolumeReportStorage: '1.2.840.10008.5.1.4.1.1.79.1', | |
OphthalmicVisualFieldStaticPerimetryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.80.1', | |
OphthalmicThicknessMapStorage: '1.2.840.10008.5.1.4.1.1.81.1', | |
CornealTopographyMapStorage: '1.2.840.10008.5.1.4.1.1.82.1', | |
TextSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.1', | |
AudioSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.2', | |
DetailSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.3', | |
ComprehensiveSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.4', | |
BasicTextSRStorage: '1.2.840.10008.5.1.4.1.1.88.11', | |
EnhancedSRStorage: '1.2.840.10008.5.1.4.1.1.88.22', | |
ComprehensiveSRStorage: '1.2.840.10008.5.1.4.1.1.88.33', | |
Comprehensive3DSRStorage: '1.2.840.10008.5.1.4.1.1.88.34', | |
ExtensibleSRStorage: '1.2.840.10008.5.1.4.1.1.88.35', | |
ProcedureLogStorage: '1.2.840.10008.5.1.4.1.1.88.40', | |
MammographyCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.50', | |
KeyObjectSelectionDocumentStorage: '1.2.840.10008.5.1.4.1.1.88.59', | |
ChestCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.65', | |
XRayRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.67', | |
RadiopharmaceuticalRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.68', | |
ColonCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.69', | |
ImplantationPlanSRStorage: '1.2.840.10008.5.1.4.1.1.88.70', | |
AcquisitionContextSRStorage: '1.2.840.10008.5.1.4.1.1.88.71', | |
SimplifiedAdultEchoSRStorage: '1.2.840.10008.5.1.4.1.1.88.72', | |
PatientRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.73', | |
ContentAssessmentResultsStorage: '1.2.840.10008.5.1.4.1.1.90.1', | |
EncapsulatedPDFStorage: '1.2.840.10008.5.1.4.1.1.104.1', | |
EncapsulatedCDAStorage: '1.2.840.10008.5.1.4.1.1.104.2', | |
PositronEmissionTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.128', | |
LegacyConvertedEnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.128.1', | |
StandalonePETCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.129', | |
EnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.130', | |
BasicStructuredDisplayStorage: '1.2.840.10008.5.1.4.1.1.131', | |
CTDefinedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.1', | |
CTPerformedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.2', | |
ProtocolApprovalStorage: '1.2.840.10008.5.1.4.1.1.200.3', | |
ProtocolApprovalInformationModelFIND: '1.2.840.10008.5.1.4.1.1.200.4', | |
ProtocolApprovalInformationModelMOVE: '1.2.840.10008.5.1.4.1.1.200.5', | |
ProtocolApprovalInformationModelGET: '1.2.840.10008.5.1.4.1.1.200.6', | |
RTImageStorage: '1.2.840.10008.5.1.4.1.1.481.1', | |
RTDoseStorage: '1.2.840.10008.5.1.4.1.1.481.2', | |
RTStructureSetStorage: '1.2.840.10008.5.1.4.1.1.481.3', | |
RTBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.4', | |
RTPlanStorage: '1.2.840.10008.5.1.4.1.1.481.5', | |
RTBrachyTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.6', | |
RTTreatmentSummaryRecordStorage: '1.2.840.10008.5.1.4.1.1.481.7', | |
RTIonPlanStorage: '1.2.840.10008.5.1.4.1.1.481.8', | |
RTIonBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.9', | |
DICOSCTImageStorage: '1.2.840.10008.5.1.4.1.1.501.1', | |
DICOSDigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.501.2.1', | |
DICOSDigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.501.2.2', | |
DICOSThreatDetectionReportStorage: '1.2.840.10008.5.1.4.1.1.501.3', | |
DICOS2DAITStorage: '1.2.840.10008.5.1.4.1.1.501.4', | |
DICOS3DAITStorage: '1.2.840.10008.5.1.4.1.1.501.5', | |
DICOSQuadrupoleResonanceQRStorage: '1.2.840.10008.5.1.4.1.1.501.6', | |
EddyCurrentImageStorage: '1.2.840.10008.5.1.4.1.1.601.1', | |
EddyCurrentMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.601.2', | |
PatientRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.1.1', | |
PatientRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.1.2', | |
PatientRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.1.3', | |
StudyRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.2.1', | |
StudyRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.2.2', | |
StudyRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.2.3', | |
PatientStudyOnlyQueryRetrieveInformationModelFINDRetired: '1.2.840.10008.5.1.4.1.2.3.1', | |
PatientStudyOnlyQueryRetrieveInformationModelMOVERetired: '1.2.840.10008.5.1.4.1.2.3.2', | |
PatientStudyOnlyQueryRetrieveInformationModelGETRetired: '1.2.840.10008.5.1.4.1.2.3.3', | |
CompositeInstanceRootRetrieveMOVE: '1.2.840.10008.5.1.4.1.2.4.2', | |
CompositeInstanceRootRetrieveGET: '1.2.840.10008.5.1.4.1.2.4.3', | |
CompositeInstanceRetrieveWithoutBulkDataGET: '1.2.840.10008.5.1.4.1.2.5.3', | |
DefinedProcedureProtocolInformationModelFIND: '1.2.840.10008.5.1.4.20.1', | |
DefinedProcedureProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.20.2', | |
DefinedProcedureProtocolInformationModelGET: '1.2.840.10008.5.1.4.20.3', | |
ModalityWorklistInformationModelFIND: '1.2.840.10008.5.1.4.31', | |
GeneralPurposeWorklistManagementMetaSOPClassRetired: '1.2.840.10008.5.1.4.32', | |
GeneralPurposeWorklistInformationModelFINDRetired: '1.2.840.10008.5.1.4.32.1', | |
GeneralPurposeScheduledProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.2', | |
GeneralPurposePerformedProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.3', | |
InstanceAvailabilityNotificationSOPClass: '1.2.840.10008.5.1.4.33', | |
RTBeamsDeliveryInstructionStorageTrialRetired: '1.2.840.10008.5.1.4.34.1', | |
RTConventionalMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.2', | |
RTIonMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.3', | |
UnifiedWorklistandProcedureStepServiceClassTrialRetired: '1.2.840.10008.5.1.4.34.4', | |
UnifiedProcedureStepPushSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.1', | |
UnifiedProcedureStepWatchSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.2', | |
UnifiedProcedureStepPullSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.3', | |
UnifiedProcedureStepEventSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.4', | |
UPSGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5', | |
UPSFilteredGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5.1', | |
UnifiedWorklistandProcedureStepServiceClass: '1.2.840.10008.5.1.4.34.6', | |
UnifiedProcedureStepPushSOPClass: '1.2.840.10008.5.1.4.34.6.1', | |
UnifiedProcedureStepWatchSOPClass: '1.2.840.10008.5.1.4.34.6.2', | |
UnifiedProcedureStepPullSOPClass: '1.2.840.10008.5.1.4.34.6.3', | |
UnifiedProcedureStepEventSOPClass: '1.2.840.10008.5.1.4.34.6.4', | |
RTBeamsDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.7', | |
RTConventionalMachineVerification: '1.2.840.10008.5.1.4.34.8', | |
RTIonMachineVerification: '1.2.840.10008.5.1.4.34.9', | |
RTBrachyApplicationSetupDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.10', | |
GeneralRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.1', | |
BreastImagingRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.2', | |
CardiacRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.3', | |
HangingProtocolStorage: '1.2.840.10008.5.1.4.38.1', | |
HangingProtocolInformationModelFIND: '1.2.840.10008.5.1.4.38.2', | |
HangingProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.38.3', | |
HangingProtocolInformationModelGET: '1.2.840.10008.5.1.4.38.4', | |
ColorPaletteStorage: '1.2.840.10008.5.1.4.39.1', | |
ColorPaletteQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.39.2', | |
ColorPaletteQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.39.3', | |
ColorPaletteQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.39.4', | |
ProductCharacteristicsQuerySOPClass: '1.2.840.10008.5.1.4.41', | |
SubstanceApprovalQuerySOPClass: '1.2.840.10008.5.1.4.42', | |
GenericImplantTemplateStorage: '1.2.840.10008.5.1.4.43.1', | |
GenericImplantTemplateInformationModelFIND: '1.2.840.10008.5.1.4.43.2', | |
GenericImplantTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.43.3', | |
GenericImplantTemplateInformationModelGET: '1.2.840.10008.5.1.4.43.4', | |
ImplantAssemblyTemplateStorage: '1.2.840.10008.5.1.4.44.1', | |
ImplantAssemblyTemplateInformationModelFIND: '1.2.840.10008.5.1.4.44.2', | |
ImplantAssemblyTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.44.3', | |
ImplantAssemblyTemplateInformationModelGET: '1.2.840.10008.5.1.4.44.4', | |
ImplantTemplateGroupStorage: '1.2.840.10008.5.1.4.45.1', | |
ImplantTemplateGroupInformationModelFIND: '1.2.840.10008.5.1.4.45.2', | |
ImplantTemplateGroupInformationModelMOVE: '1.2.840.10008.5.1.4.45.3', | |
ImplantTemplateGroupInformationModelGET: '1.2.840.10008.5.1.4.45.4', | |
NativeDICOMModel: '1.2.840.10008.7.1.1', | |
AbstractMultiDimensionalImageModel: '1.2.840.10008.7.1.2', | |
DICOMContentMappingResource: '1.2.840.10008.8.1.1', | |
dicomDeviceName: '1.2.840.10008.15.0.3.1', | |
dicomDescription: '1.2.840.10008.15.0.3.2', | |
dicomManufacturer: '1.2.840.10008.15.0.3.3', | |
dicomManufacturerModelName: '1.2.840.10008.15.0.3.4', | |
dicomSoftwareVersion: '1.2.840.10008.15.0.3.5', | |
dicomVendorData: '1.2.840.10008.15.0.3.6', | |
dicomAETitle: '1.2.840.10008.15.0.3.7', | |
dicomNetworkConnectionReference: '1.2.840.10008.15.0.3.8', | |
dicomApplicationCluster: '1.2.840.10008.15.0.3.9', | |
dicomAssociationInitiator: '1.2.840.10008.15.0.3.10', | |
dicomAssociationAcceptor: '1.2.840.10008.15.0.3.11', | |
dicomHostname: '1.2.840.10008.15.0.3.12', | |
dicomPort: '1.2.840.10008.15.0.3.13', | |
dicomSOPClass: '1.2.840.10008.15.0.3.14', | |
dicomTransferRole: '1.2.840.10008.15.0.3.15', | |
dicomTransferSyntax: '1.2.840.10008.15.0.3.16', | |
dicomPrimaryDeviceType: '1.2.840.10008.15.0.3.17', | |
dicomRelatedDeviceReference: '1.2.840.10008.15.0.3.18', | |
dicomPreferredCalledAETitle: '1.2.840.10008.15.0.3.19', | |
dicomTLSCyphersuite: '1.2.840.10008.15.0.3.20', | |
dicomAuthorizedNodeCertificateReference: '1.2.840.10008.15.0.3.21', | |
dicomThisNodeCertificateReference: '1.2.840.10008.15.0.3.22', | |
dicomInstalled: '1.2.840.10008.15.0.3.23', | |
dicomStationName: '1.2.840.10008.15.0.3.24', | |
dicomDeviceSerialNumber: '1.2.840.10008.15.0.3.25', | |
dicomInstitutionName: '1.2.840.10008.15.0.3.26', | |
dicomInstitutionAddress: '1.2.840.10008.15.0.3.27', | |
dicomInstitutionDepartmentName: '1.2.840.10008.15.0.3.28', | |
dicomIssuerOfPatientID: '1.2.840.10008.15.0.3.29', | |
dicomPreferredCallingAETitle: '1.2.840.10008.15.0.3.30', | |
dicomSupportedCharacterSet: '1.2.840.10008.15.0.3.31', | |
dicomConfigurationRoot: '1.2.840.10008.15.0.4.1', | |
dicomDevicesRoot: '1.2.840.10008.15.0.4.2', | |
dicomUniqueAETitlesRegistryRoot: '1.2.840.10008.15.0.4.3', | |
dicomDevice: '1.2.840.10008.15.0.4.4', | |
dicomNetworkAE: '1.2.840.10008.15.0.4.5', | |
dicomNetworkConnection: '1.2.840.10008.15.0.4.6', | |
dicomUniqueAETitle: '1.2.840.10008.15.0.4.7', | |
dicomTransferCapability: '1.2.840.10008.15.0.4.8', | |
UniversalCoordinatedTime: '1.2.840.10008.15.1.1', | |
}; | |
/***/ }), | |
/***/ "./src/value.ts": | |
/*!**********************!*\ | |
!*** ./src/value.ts ***! | |
\**********************/ | |
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.parsePersonName = exports.Value = void 0; | |
const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
const person_name_1 = __webpack_require__(/*! ./person-name */ "./src/person-name.ts"); | |
class Value { | |
static fromString(vr, value, bigEndian = false) { | |
return create(stringBytes(vr, value, bigEndian), vr); | |
} | |
static fromStrings(vr, values, bigEndian = false) { | |
return create(combine(values.map((v) => stringBytes(vr, v, bigEndian)), vr), vr); | |
} | |
static fromBuffer(vr, buffer) { | |
return create(buffer, vr); | |
} | |
static fromBytes(vr, bytes) { | |
return Value.fromBuffer(vr, Buffer.from(bytes)); | |
} | |
static fromNumber(vr, value, bigEndian = false) { | |
return create(numberBytes(vr, value, bigEndian), vr); | |
} | |
static fromNumbers(vr, values, bigEndian = false) { | |
return create(combine(values.map((v) => numberBytes(vr, v, bigEndian)), vr), vr); | |
} | |
static fromDate(vr, value) { | |
return create(dateBytes(vr, value), vr); | |
} | |
static fromDates(vr, values) { | |
return create(combine(values.map((v) => dateBytes(vr, v)), vr), vr); | |
} | |
static fromTime(vr, value) { | |
return create(timeBytes(vr, value), vr); | |
} | |
static fromTimes(vr, values) { | |
return create(combine(values.map((v) => timeBytes(vr, v)), vr), vr); | |
} | |
static fromDateTime(vr, value) { | |
return create(dateTimeBytes(vr, value), vr); | |
} | |
static fromDateTimes(vr, values) { | |
return create(combine(values.map((v) => dateTimeBytes(vr, v)), vr), vr); | |
} | |
static fromPersonName(vr, value) { | |
return Value.fromBuffer(vr, personNameBytes(vr, value)); | |
} | |
static fromPersonNames(vr, values) { | |
return Value.fromBuffer(vr, combine(values.map((v) => personNameBytes(vr, v)), vr)); | |
} | |
static fromURL(vr, value) { | |
return create(urlBytes(vr, value), vr); | |
} | |
static empty() { | |
return new Value(base_1.emptyBuffer); | |
} | |
static headOption(array) { | |
return array.length > 0 ? array[0] : undefined; | |
} | |
constructor(bytes) { | |
this.bytes = bytes; | |
this.length = bytes.length; | |
} | |
toStrings(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
if (this.length === 0) { | |
return []; | |
} | |
if (vr === vr_1.VR.AT) { | |
return parseAT(this.bytes, bigEndian).map(base_1.tagToString); | |
} | |
if (vr === vr_1.VR.FL) { | |
return parseFL(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.FD) { | |
return parseFD(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.SS) { | |
return parseSS(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.SL) { | |
return parseSL(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.SV) { | |
return parseSV(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.US) { | |
return parseUS(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.UL) { | |
return parseUL(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.UV) { | |
return parseSV(this.bytes, bigEndian).map((v) => v.toString()); | |
} | |
if (vr === vr_1.VR.OB) { | |
return [this.bytes.length + ' bytes']; | |
} | |
if (vr === vr_1.VR.OW) { | |
return [this.bytes.length / 2 + ' words']; | |
} | |
if (vr === vr_1.VR.OL) { | |
return [this.bytes.length / 4 + ' longs']; | |
} | |
if (vr === vr_1.VR.OV) { | |
return [this.bytes.length / 8 + ' very longs']; | |
} | |
if (vr === vr_1.VR.OF) { | |
return [this.bytes.length / 4 + ' floats']; | |
} | |
if (vr === vr_1.VR.OD) { | |
return [this.bytes.length / 8 + ' doubles']; | |
} | |
if (vr === vr_1.VR.ST || vr === vr_1.VR.LT || vr === vr_1.VR.UT) { | |
return [trimTrailing(characterSets.decode(this.bytes, vr), vr.paddingByte)]; | |
} | |
if (vr === vr_1.VR.LO || vr === vr_1.VR.SH || vr === vr_1.VR.UC) { | |
return splitString(characterSets.decode(this.bytes, vr)); | |
} | |
if (vr == vr_1.VR.PN) { | |
return splitString(characterSets.decode(this.bytes, vr)).map(base_1.trim); | |
} | |
return splitString(this.bytes.toString()).map(base_1.trim); | |
} | |
toSingleString(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
const strings = this.toStrings(vr, bigEndian, characterSets); | |
return strings.length === 0 ? '' : strings.join(base_1.multiValueDelimiter); | |
} | |
toNumbers(vr, bigEndian = false) { | |
if (this.length === 0) { | |
return []; | |
} | |
if (vr === vr_1.VR.AT) { | |
return parseAT(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.DS) { | |
return parseDS(this.bytes).filter((n) => !isNaN(n)); | |
} | |
if (vr === vr_1.VR.FL) { | |
return parseFL(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.FD) { | |
return parseFD(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.IS) { | |
return parseIS(this.bytes).filter((n) => !isNaN(n)); | |
} | |
if (vr === vr_1.VR.SL) { | |
return parseSL(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.SS) { | |
return parseSS(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.UL) { | |
return parseUL(this.bytes, bigEndian); | |
} | |
if (vr === vr_1.VR.US) { | |
return parseUS(this.bytes, bigEndian); | |
} | |
return []; | |
} | |
toDates(vr = vr_1.VR.DA) { | |
if (vr === vr_1.VR.DA) { | |
return parseDA(this.bytes); | |
} | |
if (vr === vr_1.VR.DT) { | |
return parseDT(this.bytes, base_1.systemZone).map((dt) => dt.toLocalDate()); | |
} | |
return []; | |
} | |
toTimes(vr = vr_1.VR.TM) { | |
if (vr === vr_1.VR.DT) { | |
return parseDT(this.bytes, base_1.systemZone).map((dt) => dt.toLocalTime()); | |
} | |
if (vr === vr_1.VR.TM) { | |
return parseTM(this.bytes); | |
} | |
return []; | |
} | |
toDateTimes(vr = vr_1.VR.DT, zone = base_1.systemZone) { | |
if (vr === vr_1.VR.DA) { | |
return parseDA(this.bytes).map((da) => da.atStartOfDay(zone)); | |
} | |
if (vr === vr_1.VR.DT) { | |
return parseDT(this.bytes, zone); | |
} | |
return []; | |
} | |
toPersonNames(vr = vr_1.VR.PN, characterSets = character_sets_1.defaultCharacterSet) { | |
if (vr === vr_1.VR.PN) { | |
return parsePN(this.bytes, characterSets); | |
} | |
return []; | |
} | |
toURL(vr = vr_1.VR.UR) { | |
if (vr === vr_1.VR.UR) { | |
return parseUR(this.bytes); | |
} | |
return undefined; | |
} | |
toString(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
return Value.headOption(this.toStrings(vr, bigEndian, characterSets)); | |
} | |
toNumber(vr, bigEndian = false) { | |
return Value.headOption(this.toNumbers(vr, bigEndian)); | |
} | |
toDate(vr) { | |
return Value.headOption(this.toDates(vr)); | |
} | |
toTime(vr) { | |
return Value.headOption(this.toTimes(vr)); | |
} | |
toDateTime(vr, zone) { | |
return Value.headOption(this.toDateTimes(vr, zone)); | |
} | |
toPersonName(vr = vr_1.VR.PN, characterSets = character_sets_1.defaultCharacterSet) { | |
return Value.headOption(this.toPersonNames(vr, characterSets)); | |
} | |
append(bytes) { | |
return new Value((0, base_1.concat)(this.bytes, bytes)); | |
} | |
ensurePadding(vr) { | |
return Value.fromBuffer(vr, this.bytes); | |
} | |
} | |
exports.Value = Value; | |
function trimTrailing(s, paddingByte) { | |
let index = s.length; | |
while (index > 0 && s.charCodeAt(index - 1) <= paddingByte) { | |
index -= 1; | |
} | |
return s.substring(0, index); | |
} | |
function combine(values, vr) { | |
if (vr === vr_1.VR.AT || | |
vr === vr_1.VR.FL || | |
vr === vr_1.VR.FD || | |
vr === vr_1.VR.SL || | |
vr === vr_1.VR.SS || | |
vr === vr_1.VR.UL || | |
vr === vr_1.VR.US || | |
vr === vr_1.VR.OB || | |
vr === vr_1.VR.OW || | |
vr === vr_1.VR.OL || | |
vr === vr_1.VR.OF || | |
vr === vr_1.VR.OD) { | |
return values.reduce(base_1.concat, base_1.emptyBuffer); | |
} | |
const delim = Buffer.from('\\'); | |
return values.reduce((prev, curr) => (0, base_1.concatv)(prev, delim, curr)); | |
} | |
function create(bytes, vr) { | |
return vr ? new Value((0, base_1.padToEvenLength)(bytes, vr)) : new Value(bytes); | |
} | |
function stringBytes(vr, value, bigEndian = false) { | |
if (vr === vr_1.VR.AT) { | |
return (0, base_1.tagToBytes)(parseInt(value, 16), bigEndian); | |
} | |
if (vr === vr_1.VR.FL) { | |
return (0, base_1.floatToBytes)(parseFloat(value), bigEndian); | |
} | |
if (vr === vr_1.VR.FD) { | |
return (0, base_1.doubleToBytes)(parseFloat(value), bigEndian); | |
} | |
if (vr === vr_1.VR.SL) { | |
return (0, base_1.intToBytes)(parseInt(value, 10), bigEndian); | |
} | |
if (vr === vr_1.VR.SS) { | |
return (0, base_1.shortToBytes)(parseInt(value, 10), bigEndian); | |
} | |
if (vr === vr_1.VR.UL) { | |
return (0, base_1.intToBytes)(parseInt(value, 10), bigEndian); | |
} | |
if (vr === vr_1.VR.US) { | |
return (0, base_1.shortToBytes)(parseInt(value, 10), bigEndian); | |
} | |
if (vr === vr_1.VR.OB || vr === vr_1.VR.OW || vr === vr_1.VR.OL || vr === vr_1.VR.OF || vr === vr_1.VR.OD) { | |
throw Error('Cannot create binary array from string'); | |
} | |
return Buffer.from(value); | |
} | |
function numberBytes(vr, value, bigEndian = false) { | |
if (vr === vr_1.VR.AT) { | |
return (0, base_1.tagToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.FL) { | |
return (0, base_1.floatToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.FD) { | |
return (0, base_1.doubleToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.SL) { | |
return (0, base_1.intToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.SS) { | |
return (0, base_1.shortToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.UL) { | |
return (0, base_1.intToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.US) { | |
return (0, base_1.shortToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.AT) { | |
return (0, base_1.tagToBytes)(value, bigEndian); | |
} | |
if (vr === vr_1.VR.OB || vr === vr_1.VR.OW || vr === vr_1.VR.OL || vr === vr_1.VR.OF || vr === vr_1.VR.OD) { | |
throw Error('Cannot create value of VR ' + vr + ' from int'); | |
} | |
return Buffer.from(value + ''); | |
} | |
function dateBytes(vr, value) { | |
if (vr === vr_1.VR.AT || | |
vr === vr_1.VR.FL || | |
vr === vr_1.VR.FD || | |
vr === vr_1.VR.SL || | |
vr === vr_1.VR.SS || | |
vr === vr_1.VR.UL || | |
vr === vr_1.VR.US || | |
vr === vr_1.VR.OB || | |
vr === vr_1.VR.OW || | |
vr === vr_1.VR.OL || | |
vr === vr_1.VR.OF || | |
vr === vr_1.VR.OD) { | |
throw Error('Cannot create value of VR ' + vr + ' from date'); | |
} | |
return Buffer.from(formatDate(value)); | |
} | |
function timeBytes(vr, value) { | |
if (vr === vr_1.VR.AT || | |
vr === vr_1.VR.FL || | |
vr === vr_1.VR.FD || | |
vr === vr_1.VR.SL || | |
vr === vr_1.VR.SS || | |
vr === vr_1.VR.UL || | |
vr === vr_1.VR.US || | |
vr === vr_1.VR.OB || | |
vr === vr_1.VR.OW || | |
vr === vr_1.VR.OL || | |
vr === vr_1.VR.OF || | |
vr === vr_1.VR.OD) { | |
throw Error('Cannot create value of VR ' + vr + ' from time'); | |
} | |
return Buffer.from(formatTime(value)); | |
} | |
function dateTimeBytes(vr, value) { | |
if (vr === vr_1.VR.AT || | |
vr === vr_1.VR.FL || | |
vr === vr_1.VR.FD || | |
vr === vr_1.VR.SL || | |
vr === vr_1.VR.SS || | |
vr === vr_1.VR.UL || | |
vr === vr_1.VR.US || | |
vr === vr_1.VR.OB || | |
vr === vr_1.VR.OW || | |
vr === vr_1.VR.OL || | |
vr === vr_1.VR.OF || | |
vr === vr_1.VR.OD) { | |
throw Error('Cannot create value of VR ' + vr + ' from date-time'); | |
} | |
return Buffer.from(formatDateTime(value)); | |
} | |
function personNameBytes(vr, value) { | |
if (vr === vr_1.VR.PN) { | |
return Buffer.from(value.toString()); | |
} | |
throw Error('Cannot create value of VR ' + vr + ' from person name'); | |
} | |
function urlBytes(vr, value) { | |
if (vr === vr_1.VR.UR) { | |
return Buffer.from(value.toString()); | |
} | |
throw Error('Cannot create value of VR ' + vr + ' from URL'); | |
} | |
function chunk(arr, len) { | |
const chunks = []; | |
const n = arr.length; | |
let i = 0; | |
while (i < n) { | |
chunks.push(arr.slice(i, (i += len))); | |
} | |
return chunks; | |
} | |
function splitFixed(bytes, size) { | |
return chunk(bytes, size).filter((g) => g.length === size); | |
} | |
function splitString(s) { | |
return s.split(base_1.multiValueDelimiter); | |
} | |
function parseAT(value, bigEndian = false) { | |
return splitFixed(value, 4).map((b) => (0, base_1.bytesToTag)(b, bigEndian)); | |
} | |
function parseSL(value, bigEndian = false) { | |
return splitFixed(value, 4).map((b) => (0, base_1.bytesToInt)(b, bigEndian)); | |
} | |
function parseSV(value, bigEndian = false) { | |
return splitFixed(value, 8).map((b) => (0, base_1.bytesToFloat)(b, bigEndian)); | |
} | |
function parseSS(value, bigEndian = false) { | |
return splitFixed(value, 2).map((b) => (0, base_1.bytesToShort)(b, bigEndian)); | |
} | |
function parseUL(value, bigEndian = false) { | |
return splitFixed(value, 4).map((b) => (0, base_1.bytesToUInt)(b, bigEndian)); | |
} | |
function parseUS(value, bigEndian = false) { | |
return splitFixed(value, 2).map((b) => (0, base_1.bytesToUShort)(b, bigEndian)); | |
} | |
function parseFL(value, bigEndian = false) { | |
return splitFixed(value, 4).map((b) => (0, base_1.bytesToFloat)(b, bigEndian)); | |
} | |
function parseFD(value, bigEndian = false) { | |
return splitFixed(value, 8).map((b) => (0, base_1.bytesToDouble)(b, bigEndian)); | |
} | |
function parseDS(value) { | |
return splitString(value.toString()) | |
.map(base_1.trim) | |
.map((s) => parseFloat(s)); | |
} | |
function parseIS(value) { | |
return splitString(value.toString()) | |
.map(base_1.trim) | |
.map((s) => parseInt(s, 10)); | |
} | |
function parseDA(value) { | |
return splitString(value.toString()) | |
.map(parseDate) | |
.filter((d) => d !== undefined); | |
} | |
function parseTM(value) { | |
return splitString(value.toString()) | |
.map(parseTime) | |
.filter((d) => d !== undefined); | |
} | |
function parseDT(value, zone) { | |
return splitString(value.toString()) | |
.map((s) => parseDateTime(s, zone)) | |
.filter((d) => d !== undefined); | |
} | |
function parsePN(value, characterSets) { | |
return splitString(characterSets.decode(value, vr_1.VR.PN)) | |
.map(base_1.trim) | |
.map((s) => parsePersonName(s)); | |
} | |
function parseUR(value) { | |
return parseURL(value.toString().trim()); | |
} | |
const dateFormat1 = js_joda_1.DateTimeFormatter.ofPattern('uuuuMMdd'); | |
const dateFormat2 = js_joda_1.DateTimeFormatter.ofPattern("uuuu'.'MM'.'dd"); | |
const timeFormat = new js_joda_1.DateTimeFormatterBuilder() | |
.appendPattern("HH[[':']mm[[':']ss[") | |
.appendFraction(js_joda_1.ChronoField.MICRO_OF_SECOND, 1, 6, true) | |
.appendPattern(']]]') | |
.toFormatter(js_joda_1.ResolverStyle.LENIENT); | |
const timeFormatForEncoding = js_joda_1.DateTimeFormatter.ofPattern("HHmmss'.'SSSSSS"); | |
const dateTimeFormatForEncoding = js_joda_1.DateTimeFormatter.ofPattern("uuuuMMddHHmmss'.'SSSSSSZ"); | |
function formatDate(date) { | |
return date.format(dateFormat1); | |
} | |
function formatTime(time) { | |
return time.format(timeFormatForEncoding); | |
} | |
function formatDateTime(dateTime) { | |
return dateTime.format(dateTimeFormatForEncoding); | |
} | |
function parseDate(s) { | |
const trimmed = s.trim(); | |
try { | |
return js_joda_1.LocalDate.parse(trimmed, dateFormat1); | |
} | |
catch (error) { | |
try { | |
return js_joda_1.LocalDate.parse(trimmed, dateFormat2); | |
} | |
catch (error) { | |
return undefined; | |
} | |
} | |
} | |
function parseTime(s) { | |
try { | |
return js_joda_1.LocalTime.parse(s.trim(), timeFormat); | |
} | |
catch (error) { | |
return undefined; | |
} | |
} | |
function parseDateTime(s, zone = base_1.systemZone) { | |
try { | |
s = s.trim(); | |
let len = s.length; | |
if (len < 4) { | |
throw Error('Malformed date-time, must at least include year.'); | |
} | |
// parse zone if present and trim this part from string | |
const zoneStart = Math.max(s.indexOf('+'), s.indexOf('-')); | |
if (zoneStart >= 4 && s.length === zoneStart + 5) { | |
const signString = s.substring(zoneStart, zoneStart + 1); | |
const zoneString = s.substring(zoneStart + 1, zoneStart + 5); | |
zone = js_joda_1.ZoneOffset.ofHoursMinutes(parseInt(signString + zoneString.substring(0, 2), 10), parseInt(signString + zoneString.substring(2, 4), 10)); | |
s = s.substring(0, zoneStart); | |
len = s.length; | |
} | |
else if (zoneStart >= 0) { | |
throw Error('Malformed date-time. Zone is present but misplaced or not of length 5'); | |
} | |
const validLengths = [4, 6, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21]; | |
if (validLengths.indexOf(len) < 0) { | |
throw Error('Malformed date-time, invalid length ' + len); | |
} | |
const year = parseInt(s.substring(0, 4), 10); | |
let month = 1; | |
let dayOfMonth = 1; | |
let hour = 0; | |
let minute = 0; | |
let second = 0; | |
let nanoOfSecond = 0; | |
if (len >= 6) { | |
month = parseInt(s.substring(4, 6), 10); | |
if (len >= 8) { | |
dayOfMonth = parseInt(s.substring(6, 8), 10); | |
if (len >= 10) { | |
hour = parseInt(s.substring(8, 10), 10); | |
if (len >= 12) { | |
minute = parseInt(s.substring(10, 12), 10); | |
if (len >= 14) { | |
second = parseInt(s.substring(12, 14), 10); | |
if (s.charAt(14) === '.' && len >= 15) { | |
const end = Math.min(len, 21); | |
const precision = end - 15; | |
const exponent = 9 - precision; | |
nanoOfSecond = parseInt(s.substring(15, end), 10) * Math.pow(10, exponent); | |
} | |
} | |
} | |
} | |
} | |
} | |
return js_joda_1.ZonedDateTime.of(year, month, dayOfMonth, hour, minute, second, nanoOfSecond, zone); | |
} | |
catch (error) { | |
return undefined; | |
} | |
} | |
function parsePersonName(s) { | |
function ensureLength(ss, n) { | |
return ss.concat(new Array(Math.max(0, n - ss.length)).fill('')); | |
} | |
function transpose(matrix) { | |
return matrix[0].map((_, i) => matrix.map((col) => col[i])); | |
} | |
const matrix = ensureLength(s.split(/=/), 3) | |
.map(base_1.trim) | |
.map((s1) => ensureLength(s1.split(/\^/), 5)); | |
const comps = transpose(matrix).map((c) => new person_name_1.ComponentGroup(c[0], c[1], c[2])); | |
return new person_name_1.PersonName(comps[0], comps[1], comps[2], comps[3], comps[4]); | |
} | |
exports.parsePersonName = parsePersonName; | |
function parseURL(s) { | |
try { | |
return new URL(s); | |
} | |
catch (error) { | |
return undefined; | |
} | |
} | |
/***/ }), | |
/***/ "./src/vr.ts": | |
/*!*******************!*\ | |
!*** ./src/vr.ts ***! | |
\*******************/ | |
/***/ ((__unused_webpack_module, exports) => { | |
Object.defineProperty(exports, "__esModule", ({ value: true })); | |
exports.VR = void 0; | |
class VR { | |
static valueOf(code) { | |
return VR.map.get(code); | |
} | |
constructor(name, code, headerLength, paddingByte) { | |
this.name = name; | |
this.code = code; | |
this.headerLength = headerLength; | |
this.paddingByte = paddingByte; | |
} | |
} | |
VR.AE = new VR('AE', 0x4145, 8, 0x20); | |
VR.AS = new VR('AS', 0x4153, 8, 0x20); | |
VR.AT = new VR('AT', 0x4154, 8, 0); | |
VR.CS = new VR('CS', 0x4353, 8, 0x20); | |
VR.DA = new VR('DA', 0x4441, 8, 0x20); | |
VR.DS = new VR('DS', 0x4453, 8, 0x20); | |
VR.DT = new VR('DT', 0x4454, 8, 0x20); | |
VR.FD = new VR('FD', 0x4644, 8, 0); | |
VR.FL = new VR('FL', 0x464c, 8, 0); | |
VR.IS = new VR('IS', 0x4953, 8, 0x20); | |
VR.LO = new VR('LO', 0x4c4f, 8, 0x20); | |
VR.LT = new VR('LT', 0x4c54, 8, 0x20); | |
VR.OB = new VR('OB', 0x4f42, 12, 0); | |
VR.OD = new VR('OD', 0x4f44, 12, 0); | |
VR.OF = new VR('OF', 0x4f46, 12, 0); | |
VR.OL = new VR('OL', 0x4f4c, 12, 0); | |
VR.OV = new VR('OV', 0x4f56, 12, 0); | |
VR.OW = new VR('OW', 0x4f57, 12, 0); | |
VR.PN = new VR('PN', 0x504e, 8, 0x20); | |
VR.SH = new VR('SH', 0x5348, 8, 0x20); | |
VR.SL = new VR('SL', 0x534c, 8, 0); | |
VR.SQ = new VR('SQ', 0x5351, 12, 0); | |
VR.SS = new VR('SS', 0x5353, 8, 0); | |
VR.ST = new VR('ST', 0x5354, 8, 0x20); | |
VR.SV = new VR('SV', 0x5356, 12, 0); | |
VR.TM = new VR('TM', 0x544d, 8, 0x20); | |
VR.UC = new VR('UC', 0x5543, 12, 0x20); | |
VR.UI = new VR('UI', 0x5549, 8, 0); | |
VR.UL = new VR('UL', 0x554c, 8, 0); | |
VR.UN = new VR('UN', 0x554e, 12, 0); | |
VR.UR = new VR('UR', 0x5552, 12, 0x20); | |
VR.US = new VR('US', 0x5553, 8, 0); | |
VR.UT = new VR('UT', 0x5554, 12, 0x20); | |
VR.UV = new VR('UV', 0x5556, 12, 0); | |
VR.values = [ | |
VR.AE, | |
VR.AS, | |
VR.AT, | |
VR.CS, | |
VR.DA, | |
VR.DS, | |
VR.DT, | |
VR.FD, | |
VR.FL, | |
VR.IS, | |
VR.LO, | |
VR.LT, | |
VR.OB, | |
VR.OD, | |
VR.OF, | |
VR.OL, | |
VR.OV, | |
VR.OW, | |
VR.PN, | |
VR.SH, | |
VR.SL, | |
VR.SQ, | |
VR.SS, | |
VR.ST, | |
VR.SV, | |
VR.TM, | |
VR.UC, | |
VR.UI, | |
VR.UL, | |
VR.UN, | |
VR.UR, | |
VR.US, | |
VR.UT, | |
VR.UV, | |
]; | |
VR.map = VR.values.reduce((m, vr) => { | |
m.set(vr.code, vr); | |
return m; | |
}, new Map()); | |
exports.VR = VR; | |
/***/ }), | |
/***/ "dicom-character-set": | |
/*!**************************************!*\ | |
!*** external "dicom-character-set" ***! | |
\**************************************/ | |
/***/ ((module) => { | |
module.exports = require("dicom-character-set"); | |
/***/ }), | |
/***/ "js-joda": | |
/*!**************************!*\ | |
!*** external "js-joda" ***! | |
\**************************/ | |
/***/ ((module) => { | |
module.exports = require("js-joda"); | |
/***/ }), | |
/***/ "multipipe": | |
/*!****************************!*\ | |
!*** external "multipipe" ***! | |
\****************************/ | |
/***/ ((module) => { | |
module.exports = require("multipipe"); | |
/***/ }), | |
/***/ "uuid": | |
/*!***********************!*\ | |
!*** external "uuid" ***! | |
\***********************/ | |
/***/ ((module) => { | |
module.exports = require("uuid"); | |
/***/ }), | |
/***/ "stream": | |
/*!*************************!*\ | |
!*** external "stream" ***! | |
\*************************/ | |
/***/ ((module) => { | |
module.exports = require("stream"); | |
/***/ }), | |
/***/ "zlib": | |
/*!***********************!*\ | |
!*** external "zlib" ***! | |
\***********************/ | |
/***/ ((module) => { | |
module.exports = require("zlib"); | |
/***/ }) | |
/******/ }); | |
/************************************************************************/ | |
/******/ // The module cache | |
/******/ var __webpack_module_cache__ = {}; | |
/******/ | |
/******/ // The require function | |
/******/ function __webpack_require__(moduleId) { | |
/******/ // Check if module is in cache | |
/******/ var cachedModule = __webpack_module_cache__[moduleId]; | |
/******/ if (cachedModule !== undefined) { | |
/******/ return cachedModule.exports; | |
/******/ } | |
/******/ // Create a new module (and put it into the cache) | |
/******/ var module = __webpack_module_cache__[moduleId] = { | |
/******/ // no module.id needed | |
/******/ // no module.loaded needed | |
/******/ exports: {} | |
/******/ }; | |
/******/ | |
/******/ // Execute the module function | |
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); | |
/******/ | |
/******/ // Return the exports of the module | |
/******/ return module.exports; | |
/******/ } | |
/******/ | |
/************************************************************************/ | |
/******/ | |
/******/ // startup | |
/******/ // Load entry module and return exports | |
/******/ // This entry module is referenced by other modules so it can't be inlined | |
/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); | |
/******/ module.exports = __webpack_exports__; | |
/******/ | |
/******/ })() | |
; | |
//# sourceMappingURL=index.js.map |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment