87 lines
2.1 KiB
JavaScript
87 lines
2.1 KiB
JavaScript
import { Meteor } from 'meteor/meteor';
|
|
import { OHIF } from 'meteor/ohif:core';
|
|
import { viewportUtils } from './viewportUtils';
|
|
|
|
// TODO: add this to a namespace definition
|
|
Meteor.startup(function() {
|
|
OHIF.viewer.defaultWLPresets = {
|
|
SoftTissue: {
|
|
wc: 40,
|
|
ww: 400
|
|
},
|
|
Lung: {
|
|
wc: -600,
|
|
ww: 1500
|
|
},
|
|
Liver: {
|
|
wc: 90,
|
|
ww: 150
|
|
},
|
|
Bone: {
|
|
wc: 480,
|
|
ww: 2500
|
|
},
|
|
Brain: {
|
|
wc: 40,
|
|
ww: 80
|
|
}
|
|
};
|
|
|
|
// For now
|
|
OHIF.viewer.wlPresets = OHIF.viewer.defaultWLPresets;
|
|
});
|
|
|
|
function applyWLPreset(presetName, element) {
|
|
OHIF.log.info('Applying WL Preset: ' + presetName);
|
|
if (presetName !== 'Custom') {
|
|
const viewport = cornerstone.getViewport(element);
|
|
|
|
if (presetName === 'Default') {
|
|
const enabledElement = cornerstone.getEnabledElement(element);
|
|
viewport.voi.windowWidth = enabledElement.image.windowWidth;
|
|
viewport.voi.windowCenter = enabledElement.image.windowCenter;
|
|
} else {
|
|
const preset = OHIF.viewer.wlPresets[presetName];
|
|
if(preset) {
|
|
viewport.voi.windowWidth = preset.ww;
|
|
viewport.voi.windowCenter = preset.wc;
|
|
}
|
|
}
|
|
|
|
// Update the viewport
|
|
cornerstone.setViewport(element, viewport);
|
|
}
|
|
}
|
|
|
|
function applyWLPresetToActiveElement(presetName) {
|
|
const element = viewportUtils.getActiveViewportElement();
|
|
if (!element) {
|
|
return;
|
|
}
|
|
|
|
applyWLPreset(presetName, element);
|
|
|
|
// To perform reactivity in other components
|
|
Session.set('WLPresetActiveElement', presetName);
|
|
}
|
|
|
|
/**
|
|
* Overrides OHIF's wlPresets
|
|
* @param {Object} wlPresets Object with wlPresets mapping
|
|
*/
|
|
function setOHIFWLPresets(wlPresets) {
|
|
OHIF.viewer.wlPresets = wlPresets;
|
|
}
|
|
|
|
/**
|
|
* Export functions inside WLPresets namespace.
|
|
*/
|
|
|
|
const WLPresets = {
|
|
applyWLPreset,
|
|
applyWLPresetToActiveElement,
|
|
setOHIFWLPresets
|
|
};
|
|
|
|
export { WLPresets };
|