@cornerstonejs/dicom-image-loader
Version:
Cornerstone Image Loader for DICOM WADO-URI and WADO-RS and Local file
45 lines (44 loc) • 1.28 kB
JavaScript
function getLUT(pixelRepresentation, lutDataSet) {
let numLUTEntries = lutDataSet.uint16('x00283002', 0);
if (numLUTEntries === 0) {
numLUTEntries = 65535;
}
let firstValueMapped = 0;
if (pixelRepresentation === 0) {
firstValueMapped = lutDataSet.uint16('x00283002', 1);
}
else {
firstValueMapped = lutDataSet.int16('x00283002', 1);
}
const numBitsPerEntry = lutDataSet.uint16('x00283002', 2);
const lut = {
id: '1',
firstValueMapped,
numBitsPerEntry,
lut: [],
};
for (let i = 0; i < numLUTEntries; i++) {
if (pixelRepresentation === 0) {
lut.lut[i] = lutDataSet.uint16('x00283006', i);
}
else {
lut.lut[i] = lutDataSet.int16('x00283006', i);
}
}
return lut;
}
function getLUTs(pixelRepresentation, lutSequence) {
if (!lutSequence || !lutSequence.items || !lutSequence.items.length) {
return;
}
const luts = [];
for (let i = 0; i < lutSequence.items.length; i++) {
const lutDataSet = lutSequence.items[i].dataSet;
const lut = getLUT(pixelRepresentation, lutDataSet);
if (lut) {
luts.push(lut);
}
}
return luts;
}
export default getLUTs;