UNPKG

@cleerlycode/cornerstone-wado-image-loader

Version:
31 lines (21 loc) 1.09 kB
import { dicomParser } from '../../externalModules.js'; /** * Function to deal with extracting an image frame from an encapsulated data set. */ function framesAreFragmented (dataSet) { const numberOfFrames = dataSet.intString('x00280008'); const pixelDataElement = dataSet.elements.x7fe00010; return (numberOfFrames !== pixelDataElement.fragments.length); } export default function getEncapsulatedImageFrame (dataSet, frameIndex) { if (dataSet.elements.x7fe00010 && dataSet.elements.x7fe00010.basicOffsetTable.length) { // Basic Offset Table is not empty return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex); } // Empty basic offset table if (framesAreFragmented(dataSet)) { const basicOffsetTable = dicomParser.createJPEGBasicOffsetTable(dataSet, dataSet.elements.x7fe00010); return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex, basicOffsetTable); } return dicomParser.readEncapsulatedPixelDataFromFragments(dataSet, dataSet.elements.x7fe00010, frameIndex); }