Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | // import libjpegTurbo12Factory from '@cornerstonejs/codec-libjpeg-turbo-12bit/dist/libjpegturbo12wasm'; // // Webpack asset/resource copies this to our output folder // import libjpegTurbo12Wasm from '@cornerstonejs/codec-libjpeg-turbo-12bit/dist/libjpegturbo12wasm.wasm'; // const local = { // codec: undefined, // decoder: undefined, // }; // function initLibjpegTurbo() { // if (local.codec) { // return Promise.resolve(); // } // const libjpegTurboModule = libjpegTurbo12Factory({ // locateFile: (f) => { // if (f.endsWith('.wasm')) { // return libjpegTurbo12Wasm; // } // return f; // }, // }); // return new Promise((resolve, reject) => { // libjpegTurboModule.then((instance) => { // local.codec = instance; // local.decoder = new instance.JPEGDecoder(); // //@ts-ignore // resolve(); // }, reject); // }); // } // // imageFrame.pixelRepresentation === 1 <-- Signed // /** // * // * @param {*} compressedImageFrame // * @param {object} imageInfo // * @param {boolean} imageInfo.signed - // */ // async function decodeAsync(compressedImageFrame, imageInfo) { // await initLibjpegTurbo(); // const decoder = local.decoder; // // get pointer to the source/encoded bit stream buffer in WASM memory // // that can hold the encoded bitstream // const encodedBufferInWASM = decoder.getEncodedBuffer( // compressedImageFrame.length // ); // // copy the encoded bitstream into WASM memory buffer // encodedBufferInWASM.set(compressedImageFrame); // // decode it // decoder.decode(); // // get information about the decoded image // const frameInfo = decoder.getFrameInfo(); // // get the decoded pixels // const decodedPixelsInWASM = decoder.getDecodedBuffer(); // const encodedImageInfo = { // columns: frameInfo.width, // rows: frameInfo.height, // bitsPerPixel: frameInfo.bitsPerSample, // signed: imageInfo.signed, // bytesPerPixel: imageInfo.bytesPerPixel, // componentsPerPixel: frameInfo.componentCount, // }; // const pixelData = getPixelData(frameInfo, decodedPixelsInWASM); // const encodeOptions = { // frameInfo, // }; // return { // ...imageInfo, // pixelData, // imageInfo: encodedImageInfo, // encodeOptions, // ...encodeOptions, // ...encodedImageInfo, // }; // } // function getPixelData(frameInfo, decodedBuffer) { // if (frameInfo.isSigned) { // return new Int16Array( // decodedBuffer.buffer, // decodedBuffer.byteOffset, // decodedBuffer.byteLength / 2 // ); // } // return new Uint16Array( // decodedBuffer.buffer, // decodedBuffer.byteOffset, // decodedBuffer.byteLength / 2 // ); // } // export default decodeAsync; |