UNPKG

js-dicom

Version:

this is js-dicom

55 lines (46 loc) 1.56 kB
import $ from 'jquery'; import loadFile from '../FileUtility/loadFile'; //import * as dicomParser from 'dicom-parser'; import * as dicomParser from '../dicomParser/index'; import loadImage from './loadImage'; import getDefaultViewport from './getDefaultViewport'; const loadDataSet = function (file, frame) { const deferred = $.Deferred(); loadFile(file).then(function (result) { var byteArray = new Uint8Array(result); let dicom = { frame: undefined, dataSet: undefined, image: undefined }; dicom.frame = frame; dicom.dataSet = dicomParser.parseDicom(byteArray); dicom.image = loadImage(dicom.dataSet, frame); deferred.resolve(dicom); }).catch(function (error) { deferred.reject(error); }); return deferred.promise(); }; const renderImage = function (image, canvas) { if (!image) { return; } canvas = canvas || document.createElement('canvas'); var el = { //element: element, canvas: canvas, image: image, // will be set once image is loaded invalid: false, // true if image needs to be drawn, false if not needsRedraw: true, data: {} }; if (el.needsRedraw && el.image !== undefined) { el.canvas.width = el.image.width; el.canvas.height = el.image.height; el.viewport = getDefaultViewport(el.canvas, el.image) el.image.render(el, el.invalid); } return el.canvas; }; export {loadDataSet, renderImage};