js-dicom
Version:
this is js-dicom
55 lines (46 loc) • 1.56 kB
JavaScript
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};