175 lines
4.7 KiB
JavaScript
175 lines
4.7 KiB
JavaScript
/**
|
|
* Application GUI.
|
|
*/
|
|
|
|
// Default window level presets.
|
|
dwv.tool.defaultpresets = {
|
|
"default (127+/-255)": {"center": 127, "width": 255},
|
|
//"default": {"center": 127, "width": 100},
|
|
};
|
|
dwv.tool.defaultpresets.SC = {
|
|
"default (127+/-255)": {"center": 127, "width": 255},
|
|
};
|
|
// Default window level presets for CT.
|
|
dwv.tool.defaultpresets.CT = {
|
|
"mediastinum": {"center": 40, "width": 400},
|
|
"lung": {"center": -500, "width": 1500},
|
|
"bone": {"center": 500, "width": 2000},
|
|
};
|
|
|
|
// decode query
|
|
dwv.utils.decodeQuery = dwv.utils.base.decodeQuery;
|
|
|
|
// Window
|
|
dwv.gui.getWindowSize = function() {
|
|
d = dwv.gui.base.getWindowSize();
|
|
//return {"width": d["width"], "height": d["height"]+100}
|
|
h = $(window).height() - ($(document).height()-d["height"]) - 100;
|
|
return {"width": d["width"], "height": h}
|
|
}
|
|
|
|
// Progress
|
|
dwv.gui.displayProgress = function (/*percent*/) { /*does nothing*/ };
|
|
// get element
|
|
dwv.gui.getElement = dwv.gui.base.getElement;
|
|
// refresh
|
|
dwv.gui.refreshElement = dwv.gui.base.refreshElement;
|
|
// Slider
|
|
dwv.gui.Slider = null;
|
|
// Tags table
|
|
dwv.gui.DicomTags = null;
|
|
|
|
// Toolbox
|
|
dwv.gui.Toolbox = function (app)
|
|
{
|
|
this.setup = function (/*list*/)
|
|
{
|
|
// does nothing
|
|
};
|
|
this.display = function (/*bool*/)
|
|
{
|
|
// does nothing
|
|
};
|
|
this.initialise = function (list)
|
|
{
|
|
// not wonderful: first one should be scroll is more than one slice
|
|
if ( list[0] === false ) {
|
|
var inputScroll = app.getElement("scroll-button");
|
|
inputScroll.style.display = "none";
|
|
var inputZoom = app.getElement("zoom-button");
|
|
inputZoom.checked = true;
|
|
}
|
|
};
|
|
};
|
|
|
|
// Window/level
|
|
dwv.gui.WindowLevel = function (app)
|
|
{
|
|
this.setup = function ()
|
|
{
|
|
var button = document.createElement("button");
|
|
button.className = "wl-button";
|
|
button.value = "WindowLevel";
|
|
button.onclick = app.onChangeTool;
|
|
button.appendChild(document.createTextNode("Window/Level"));
|
|
|
|
var node = app.getElement("toolbar");
|
|
node.appendChild(button);
|
|
};
|
|
this.display = function (bool)
|
|
{
|
|
var button = app.getElement("wl-button");
|
|
button.disabled = bool;
|
|
};
|
|
this.initialise = function ()
|
|
{
|
|
// clear previous
|
|
dwv.html.removeNode(app.getElement("presetSelect"));
|
|
dwv.html.removeNode(app.getElement("presetLabel"));
|
|
|
|
// create preset select
|
|
var select = dwv.html.createHtmlSelect("presetSelect",
|
|
app.getViewController().getWindowLevelPresetsNames(), "wl.presets", true);
|
|
select.className = "presetSelect";
|
|
select.onchange = app.onChangeWindowLevelPreset;
|
|
select.title = "Select w/l preset.";
|
|
select.setAttribute("data-inline","true");
|
|
var label = document.createElement("label");
|
|
label.className = "presetLabel";
|
|
label.setAttribute("for", "presetSelect");
|
|
label.appendChild(document.createTextNode("Select Preset"));
|
|
|
|
var node = app.getElement("toolbar");
|
|
node.appendChild(label);
|
|
node.appendChild(select);
|
|
};
|
|
};
|
|
|
|
// Zoom
|
|
dwv.gui.ZoomAndPan = function (app)
|
|
{
|
|
this.setup = function ()
|
|
{
|
|
var button = document.createElement("button");
|
|
button.className = "zoom-button";
|
|
button.value = "ZoomAndPan";
|
|
button.onclick = app.onChangeTool;
|
|
button.appendChild(document.createTextNode("ZoomAndPan"));
|
|
|
|
var node = app.getElement("toolbar");
|
|
node.appendChild(button);
|
|
};
|
|
this.display = function (bool)
|
|
{
|
|
var button = app.getElement("zoom-button");
|
|
button.disabled = bool;
|
|
};
|
|
};
|
|
|
|
// Scroll
|
|
dwv.gui.Scroll = function (app)
|
|
{
|
|
this.setup = function ()
|
|
{
|
|
var button = document.createElement("button");
|
|
button.className = "scroll-button";
|
|
button.value = "Scroll";
|
|
button.onclick = app.onChangeTool;
|
|
button.appendChild(document.createTextNode("Scroll"));
|
|
|
|
var node = app.getElement("toolbar");
|
|
node.appendChild(button);
|
|
};
|
|
this.display = function (bool)
|
|
{
|
|
var button = app.getElement("scroll-button");
|
|
button.disabled = bool;
|
|
};
|
|
};
|
|
|
|
dwv.gui.Slider = dwv.gui.base.Slider;
|
|
// NEEDS UI
|
|
dwv.gui.Filter = dwv.gui.base.Filter;
|
|
|
|
|
|
// Filter: threshold
|
|
dwv.gui.Threshold = dwv.gui.base.Threshold;
|
|
// Filter: sharpen
|
|
dwv.gui.Sharpen = dwv.gui.base.Sharpen;
|
|
// Filter: sobel
|
|
dwv.gui.Sobel = dwv.gui.base.Sobel;
|
|
|
|
|
|
//Reset
|
|
dwv.gui.appendResetHtml = function (app)
|
|
{
|
|
var button = document.createElement("button");
|
|
button.className = "reset-button";
|
|
button.value = "reset";
|
|
button.onclick = app.onDisplayReset;
|
|
button.appendChild(document.createTextNode("Reset"));
|
|
|
|
var node = app.getElement("toolbar");
|
|
node.appendChild(button);
|
|
};
|