Cleanup to make LesionTracker layout work with refactored packages

This commit is contained in:
Erik Ziegler 2015-10-13 20:50:48 +02:00
parent b774c22593
commit a538b5f07d
25 changed files with 140 additions and 97 deletions

View File

@ -282,4 +282,9 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
toolType: toolType toolType: toolType
}); });
return cornerstoneTools; return cornerstoneTools;
}($, cornerstone, cornerstoneMath, cornerstoneTools)); }($, cornerstone, cornerstoneMath, cornerstoneTools));
toolManager.addTool('lesion', {
mouse: cornerstoneTools.lesion,
touch: cornerstoneTools.lesionTouch
});

View File

@ -1,9 +1,6 @@
.hidingPanel .hidingPanel
width: 12% width: 12%
height: 100% height: 100%
margin-top: 35px padding-top: 35px
position: relative position: relative
float: left float: left
overflow: auto
background-color: blue
color: black

View File

@ -0,0 +1,5 @@
<template name="lesionMeasurementContainer">
<div class="lesionMeasurementContainer">
Table of lesion locations goes here
</div>
</template>

View File

@ -0,0 +1,7 @@
.lesionMeasurementContainer
width: 24%
float: left
height: 100%
background-color: white
border: 8px solid lightblue

View File

@ -0,0 +1,5 @@
<template name="lesionTableContainer">
<div class="lesionTableContainer">
Current, Prior, Nadir, Baseline go here
</div>
</template>

View File

@ -0,0 +1,7 @@
.lesionTableContainer
background-color: pink
height: 25%
max-height: 200px
background-color: white
border: 8px solid pink

View File

@ -0,0 +1,16 @@
<template name="lesionTrackerLayout">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Lesion Tracker</a>
</div>
</div>
</nav>
{{> yield}}
</template>

View File

@ -0,0 +1,18 @@
.navbar
margin-bottom: 0
border-radius: 0px
.navbar-form
margin: 0
padding: 15px 3px
.navbar-default
-webkit-transition: background-color 200ms linear
-moz-transition: background-color 200ms linear
-o-transition: background-color 200ms linear
-ms-transition: background-color 200ms linear
transition: background-color 200ms linear
@media (min-width: 768px)
.navbar
border-radius: 0px

View File

@ -1,48 +0,0 @@
.toolbar {
width: 100%;
height: 35px;
text-align: center;
}
#toolbar-group button {
text-align: center;
margin-top: 2px;
margin-right: 3px;
margin-left: 3px;
color: #ffffff;
background-color: black;
width: 30px;
height: 30px;
border: 1px solid white;
}
#toolbar-group button > span {
width: 12px;
height: 12px;
position: absolute;
top: 9px;
left: 9px;
right: 9px;
bottom: 9px;
}
#toolbar-group .btn:hover {
border-width: 3px;
background-color: transparent;
color: white;
}
#toolbar-group .btn:focus, .btn:active {
outline: 0 !important;
border-width: 5px;
background-color: transparent;
color:white;
text-align: center;
}
#toolbar-group .btn:focus > span{
top: 6px;
left: 6px;
right: 6px;
bottom: 6px;
}

View File

@ -1,16 +1,26 @@
<template name="toolbar"> <template name="toolbar">
<div id="toolbar" class="toolbar"> <div id='toolbar'>
<div id="toolbar-group" class="btn-group"> <div class="btn-group">
<!-- WW/WL --> <!-- WW/WL -->
<button id="wwwc" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="WW/WC"><span class="fa fa-sun-o"></span></button> <button id="wwwc" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="WW/WC"><span class="fa fa-sun-o"></span></button>
<!-- Invert --> <!-- Invert -->
<button id="invert" type="button" class="imageViewerCommand btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Invert"><span class="fa fa-adjust"></span></button> <button id="invert" type="button" class="imageViewerCommand btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Invert"><span class="fa fa-adjust"></span></button>
<!-- Zoom --> <!-- Zoom -->
<button id="zoom" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Zoom"><span class="fa fa-search"></span></button> <button id="zoom" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Zoom"><span class="fa fa-search"></span></button>
<!-- Pan --> <!-- Pan -->
<button id="pan" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Pan"><span class="fa fa-arrows"></span></button> <button id="pan" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Pan"><span class="fa fa-arrows"></span></button>
<!-- Stack scroll --> <!-- Stack scroll -->
<button id="stackScroll" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Stack Scroll"><span class="fa fa-bars"></span></button> <button id="stackScroll" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Stack Scroll"><span class="fa fa-bars"></span></button>
<!-- Length measurement -->
<button id="length" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Length Measurement"><span class="fa fa-arrows-v"></span></button>
<!-- Angle measurement -->
<!--<button id="angle" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Angle Measurement"><span class="fa fa-angle-left"></span></button>-->
<!-- Pixel probe -->
<button id="dragProbe" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Pixel Probe"><span class="fa fa-dot-circle-o"></span></button>
<!-- Elliptical ROI -->
<button id="ellipticalRoi" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Elliptical ROI"><span class="fa fa-circle-o"></span></button>
<!-- Rectangle ROI -->
<button id="rectangleRoi" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Rectangle ROI"><span class="fa fa-square-o"></span></button>
<!-- Play clip --> <!-- Play clip -->
<button id="playClip" type="button" class="imageViewerCommand btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Play/Stop Clip"> <button id="playClip" type="button" class="imageViewerCommand btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Play/Stop Clip">
{{ #if isPlaying }} {{ #if isPlaying }}
@ -19,16 +29,8 @@
<span class="fa fa-play"></span> <span class="fa fa-play"></span>
{{ /if }} {{ /if }}
</button> </button>
<!-- Angle measurement --> <!--<button id="layout" type="button" class="btn btn-sm btn-default dropdown-toggle" data-container="body" data-toggle="dropdown" aria-expanded="false" data-placement="right" title="Layout" rel="tooltip"><span class="fa fa-th-large"></span></button>
<!--<button id="angle" type="button" class="imageViewerTool btn btn-sm btn-default" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Angle Measurement"><span class="fa fa-angle-left"></span></button>--> {{> layoutChooser}}-->
<!-- Pixel probe -->
<button id="dragProbe" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Pixel Probe"><span class="fa fa-dot-circle-o"></span></button>
<!-- Length measurement -->
<button id="length" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Length Measurement"><span class="fa fa-arrows-v"></span></button>
<!-- Elliptical ROI -->
<button id="ellipticalRoi" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Elliptical ROI"><span class="fa fa-circle-o"></span></button>
<!-- Rectangle ROI -->
<button id="rectangleRoi" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Rectangle ROI"><span class="fa fa-square-o"></span></button>
<!-- Lesion Tool --> <!-- Lesion Tool -->
<button id="lesion" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Lesion Tool"><span class="fa fa-arrows-v"></span></button> <button id="lesion" type="button" class="imageViewerTool btn btn-sm btn-toolbar" data-container="body" data-toggle="tooltip" data-placement="bottom" title="Lesion Tool"><span class="fa fa-arrows-v"></span></button>
</div> </div>

View File

@ -9,13 +9,9 @@ Template.toolbar.events({
if (!OHIF.viewer.functionList.hasOwnProperty(command)) { if (!OHIF.viewer.functionList.hasOwnProperty(command)) {
return; return;
} }
var viewportIndex = Session.get('ActiveViewport');
// TODO = Add support for active viewports var element = $('.imageViewerViewport').get(viewportIndex);
//var element = getActiveViewportElement(); OHIF.viewer.functionList[command](element);
$('.imageViewer').each(function() {
var element = this;
OHIF.viewer.functionList[command](element);
});
} }
}); });
@ -26,9 +22,12 @@ Template.toolbar.onRendered(function() {
// Enable tooltips for the layout button // Enable tooltips for the layout button
var extraTooltipButtons = $('[rel="tooltip"]'); var extraTooltipButtons = $('[rel="tooltip"]');
extraTooltipButtons.tooltip(OHIF.viewer.tooltipConfig); extraTooltipButtons.tooltip(OHIF.viewer.tooltipConfig);
});
toolManager.addTool('lesion', { Template.toolbar.helpers({
mouse: cornerstoneTools.lesion, 'isPlaying': function() {
touch: cornerstoneTools.lesionTouch Session.get('UpdateCINE');
}); var viewportIndex = Session.get('ActiveViewport');
return !!OHIF.viewer.isPlaying[viewportIndex];
}
}); });

View File

@ -1,7 +1,12 @@
.viewer{ .viewer {
width: 100%; width: 100%;
height: 100%; height: calc(100% - 54px);
margin: 0; margin: 0;
padding: 0; padding: 0;
background-color: black; background-color: black;
} }
.navbar {
margin-bottom: 0;
border-radius: 0;
}

View File

@ -5,5 +5,6 @@
<div id="viewer" class="viewer"> <div id="viewer" class="viewer">
{{ >hidingPanel }} {{ >hidingPanel }}
{{ >viewerMain }} {{ >viewerMain }}
{{ >lesionMeasurementContainer }}
</div> </div>
</template> </template>

View File

@ -60,7 +60,7 @@ function resizeViewports() {
Session.setDefault('ActiveViewport', 0); Session.setDefault('ActiveViewport', 0);
Session.setDefault('viewportRows', 1); Session.setDefault('viewportRows', 1);
Session.setDefault('viewportColumns', 1); Session.setDefault('viewportColumns', 2);
// Avoid doing DOM manipulation during the resize handler // Avoid doing DOM manipulation during the resize handler
// because it is fired very often. // because it is fired very often.

View File

@ -1,5 +0,0 @@
.viewerMain {
width: 88%;
height: 100%;
margin-left: 12%;
}

View File

@ -2,6 +2,7 @@
<div class="viewerMain"> <div class="viewerMain">
{{> toolbar}} {{> toolbar}}
{{> imageViewerViewports}} {{> imageViewerViewports}}
{{> lesionTableContainer}}
<!--TODO: Bottom lesion table container will be here--> <!--TODO: Bottom lesion table container will be here-->
</div> </div>
</template> </template>

View File

@ -0,0 +1,8 @@
.viewerMain
width: 64%;
height: 100%
float: left
#imageViewerViewports
height: calc(75% - 30px)
width: 100%

View File

@ -1,5 +1,5 @@
Router.configure({ Router.configure({
layoutTemplate: 'layout', layoutTemplate: 'lesionTrackerLayout',
//loadingTemplate: '', //loadingTemplate: '',
notFoundTemplate: 'notFound' notFoundTemplate: 'notFound'
}); });
@ -14,7 +14,7 @@ Router.route('/', function () {
ViewerStudies = new Mongo.Collection(null); ViewerStudies = new Mongo.Collection(null);
Router.route('/viewer/:_id', { Router.route('/viewer/:_id', {
layoutTemplate: 'layout', layoutTemplate: 'lesionTrackerLayout',
name: 'viewer', name: 'viewer',
onBeforeAction: function() { onBeforeAction: function() {
var self = this; var self = this;

View File

@ -1,16 +1,17 @@
/*****************************/ /*****************************/
/* Toggle */ /* Toggle */
/*****************************/ /*****************************/
* {
box-sizing: border-box;
}
.dockingContainer, .collapseVertical, .collapseHorizontal { .dockingContainer, .collapseVertical, .collapseHorizontal {
-o-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; transition: all 0.3s ease-out;
} }
.dockingContainer { .dockingContainer {
-o-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; transition: all 0.3s ease-out;
@ -47,6 +48,8 @@
.btnCollapseIcon-collapse{ .btnCollapseIcon-collapse{
-moz-transform: rotate(180deg); -moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
-webkit-transform: rotate(180deg); -webkit-transform: rotate(180deg);
transform: rotate(180deg); transform: rotate(180deg);
} }

View File

@ -0,0 +1,15 @@
#toolbar
background-color: black
text-align: center
.btn-group
display: inline-block
button
text-align: center
color: #ffffff
background-color: #424242
border-color: #424242
&.active, &:active
background-color: #3B678E

BIN
OHIFViewer/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -1,6 +1,8 @@
.studyBrowser .studyBrowser
float: left float: left
height: 100% height: 100%
width: 120px width: 100%
min-width: 120px
overflow: auto overflow: auto
background-color: black background-color: black
padding-bottom: 20px