839 lines
36 KiB
PHP
839 lines
36 KiB
PHP
<?php
|
||
|
||
if (!defined("INDEXPHP")) {
|
||
die('Direct access not permitted');
|
||
}
|
||
|
||
// include_once("config.php");
|
||
// $db = new Database("localhost","root","12Digit","pacsdb_his",3306);
|
||
// $dbhis = new Database("192.168.2.7","remote","12Digit","rsabt201107",3306);
|
||
|
||
global $thumb, $session_uniqid;
|
||
|
||
$session_uniqid = uniqid();
|
||
|
||
$AccessionNumber = "CT.181001.017";
|
||
$AccessionNumber = "MR.180913.007";
|
||
$AccessionNumber = "MR.180915.014";
|
||
$AccessionNumber = "MRBRAIN19";
|
||
$AccessionNumber = "MR.WHOLE.01";
|
||
$AccessionNumber = "MR.180505.026";
|
||
$AccessionNumber = "CT.181001.017";
|
||
|
||
$AccessionNumber = $_GET["AccessionNumber"];
|
||
|
||
$url = XOCP_SERVER . XOCP_SERVER_SUBDIR . "/query.php?method=view&AccessionNumber=${AccessionNumber}";
|
||
$json = file_get_contents($url);
|
||
|
||
$thumb = "";
|
||
$rstudy = "";
|
||
|
||
$patient_mrn = "";
|
||
|
||
$expvars = array();
|
||
|
||
if ($vars = json_decode($json, TRUE)) {
|
||
$patient_mrn = $vars["study"]["patient_mrn"];
|
||
|
||
// var_dump($vars);
|
||
|
||
$url = XOCP_SERVER . XOCP_SERVER_SUBDIR . "/query.php?PatientID=" . urlencode($patient_mrn);
|
||
$json_studies = file_get_contents($url);
|
||
|
||
// var_dump(json_decode($json_studies, TRUE));
|
||
|
||
if ($studies = json_decode($json_studies, TRUE)) {
|
||
$study_no = 0;
|
||
foreach ($studies["studies"] as $ks => $vs) {
|
||
$accession_nox = $vs["accession_no"];
|
||
$study_descriptionx = strtoupper($vs["study_description"]);
|
||
$study_no++;
|
||
|
||
$study_datetimex = $vs["study_datetime"];
|
||
|
||
$hdr_id = uniqid();
|
||
if ($accession_nox == $AccessionNumber) {
|
||
$vars["study"]["study_no"] = $study_no;
|
||
$thumb .= "<div class='thumbnailHeader current' onclick='toggle_thumb(\"thumb_header_${hdr_id}\",this,event);' data-value='$study_no'>"
|
||
. "<div class='thumbnailStudyNumber'>$study_no</div>"
|
||
. "$study_descriptionx"
|
||
. "<div class='thumbnailStudyDatetime'>$study_datetimex <span style='padding-left:3em;'>$accession_nox</span></div>"
|
||
. "</div>";
|
||
|
||
$thumb .= "<div id='thumb_header_${hdr_id}' class='thumbNailContainer active'>";
|
||
|
||
if (is_array($vars["study"]["expertise"]) && count($vars["study"]["expertise"]) > 0) {
|
||
foreach ($vars["study"]["expertise"] as $exp) {
|
||
$exp_id = uniqid();
|
||
$thumb .= "
|
||
<div class='expertiseEntry noselect m-t-1 m-b-2' draggable='false'>
|
||
<div class='p-x-1' draggable='false'>
|
||
<div class='thumb-expertise' data-value='$exp_id'>Expertise</div>
|
||
</div>
|
||
</div>";
|
||
$exp["study_no"] = $study_no;
|
||
$exp["study_description"] = $study_descriptionx;
|
||
$exp["study_datetime"] = $study_datetimex;
|
||
$exp["accession_no"] = $accession_nox;
|
||
$expvars[$exp_id] = $exp;
|
||
}
|
||
}
|
||
|
||
$study_description = $vars["study"]["study_description"];
|
||
foreach ($vars["study"]["series"] as $k => $v) {
|
||
$number_of_instances = $v["number_of_instances"];
|
||
$series_number = $v["series_number"];
|
||
$series_iuid = $v["series_iuid"];
|
||
$img_url = $v["thumbnail"];
|
||
// $imgs = resize_center_image(193,123,file_get_contents($img_url),90);
|
||
// $img_base64 = base64_encode($imgs);
|
||
$series_description = strtoupper($v["series_description"]);
|
||
$thumb_id = uniqid();
|
||
|
||
// <!-- img class='static-image' src='data:image/jpeg;base64,${img_base64}' draggable='false'/ -->
|
||
|
||
|
||
$thumb .= "
|
||
<div id='$thumb_id' class='thumbnailEntry noselect m-t-1 m-b-2 draggable' draggable='true' data-value='$series_iuid'>
|
||
<div class='p-x-1' draggable='false'>
|
||
<div class='imageThumbnail' draggable='false'>
|
||
<div class='imageThumbnailCanvas' draggable='false'>
|
||
<img class='static-image' src='$img_url' draggable='false'/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='seriesDetails flex-h m-x-1'>
|
||
<div class='seriesDescription flex-grow'>
|
||
${series_description}
|
||
</div>
|
||
<div class='seriesInformation'>
|
||
<div class='item item-series clearfix'>
|
||
<div class='icon'>S:</div>
|
||
<div class='value'>${series_number}</div>
|
||
</div>
|
||
<div class='item item-frames clearfix'>
|
||
<div class='icon'><div></div></div>
|
||
<div class='value'>${number_of_instances}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
";
|
||
}
|
||
|
||
$thumb .= "</div>";
|
||
} else {
|
||
|
||
|
||
$thumb .= "<div class='thumbnailHeader' onclick='toggle_thumb(\"thumb_header_${hdr_id}\",this,event);' data-value='$study_no'>"
|
||
. "<div class='thumbnailStudyNumber'>$study_no</div>"
|
||
. "$study_descriptionx"
|
||
. "<div class='thumbnailStudyDatetime'>$study_datetimex <span style='padding-left:3em;'>$accession_nox</span></div>"
|
||
. "</div>";
|
||
$thumb .= "<div id='thumb_header_${hdr_id}' class='thumbNailContainer' data-value='$accession_nox'>"
|
||
. "<div class='thumbNailContainerloadingIndicator'><p>Loading... <i class='fa fa-spin fa-circle-o-notch fa-fw'></i></p></div>"
|
||
. "</div>";
|
||
}
|
||
}
|
||
}
|
||
|
||
$json = json_encode($vars);
|
||
}
|
||
|
||
$json_exp = json_encode($expvars);
|
||
|
||
/// 1.3.46.670589.33.1.20396240832008323910.30472447403454280556
|
||
// http://192.168.2.5:8080/wado?requestType=WADO&studyUID=${study_iuid}&seriesUID=${series_iuid}&objectUID=${sop_iuid}&columns=128
|
||
|
||
?><html>
|
||
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title><?php echo XOCP_BANNER_TITLE; ?></title>
|
||
<meta name="description" content="<?php echo XOCP_BANNER_TITLE; ?>">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1,maximum-scale=1,user-scalable=no">
|
||
<link rel="shortcut icon" type="image/png" href="images/logo.png" sizes="16x16 32x32 64x64">
|
||
<!--Best display for mobile devices-->
|
||
<meta http-equiv="cleartype" content="on">
|
||
<meta name="MobileOptimized" content="320">
|
||
<meta name="HandheldFriendly" content="True">
|
||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||
|
||
<link rel="stylesheet" type="text/css" href="styles/main.css?serial=<?php echo $session_uniqid; ?>">
|
||
<link rel="stylesheet" type="text/css" href="styles/inline.css?serial=<?php echo $session_uniqid; ?>">
|
||
<script type="text/javascript" src="scripts/main.js?serial=<?php echo $session_uniqid; ?>"></script>
|
||
|
||
<!-- include dialog polyfill -->
|
||
<link rel="stylesheet" type="text/css" href="styles/dialog-polyfill.css?serial=<?php echo $session_uniqid; ?>">
|
||
<script type="text/javascript" src="scripts/dialog-polyfill.js"></script>
|
||
|
||
<script type="text/javascript" src="scripts/hammer.js"></script>
|
||
|
||
<!-- include the cornerstone library -->
|
||
<script type="text/javascript" src="scripts/cornerstone/cornerstone.js"></script>
|
||
<script type="text/javascript" src="scripts/cornerstone/cornerstoneMath.min.js"></script>
|
||
<script type="text/javascript" src="scripts/cornerstone/cornerstoneTools.min.js"></script>
|
||
|
||
<!-- include the dicomParser library as the WADO image loader depends on it -->
|
||
<script type="text/javascript" src="scripts/dicom/uids.js"></script>
|
||
<script type="text/javascript" src="scripts/dicom/dicomParser.min.js"></script>
|
||
|
||
|
||
<!-- include the dicomParser library as the WADO image loader depends on it -->
|
||
<script type="text/javascript" src="scripts/dicom/dicomParser.min.js"></script>
|
||
|
||
<!-- BEGIN Optional Codecs -->
|
||
|
||
<!-- OpenJPEG based jpeg 2000 codec -->
|
||
<script type="text/javascript" src="scripts/codecs/openJPEG-FixedMemory.js"></script>
|
||
|
||
<!-- JPEG-LS codec -->
|
||
<script type="text/javascript" src="scripts/codecs/charLS-FixedMemory-browser.js"></script>
|
||
|
||
<!-- JPEG Lossless codec -->
|
||
<script type="text/javascript" src="scripts/codecs/jpegLossless.js"></script>
|
||
|
||
<!-- JPEG Baseline codec -->
|
||
<script type="text/javascript" src="scripts/codecs/jpeg.js"></script>
|
||
|
||
<!-- Deflate transfer syntax codec -->
|
||
<script type="text/javascript" src="scripts/codecs/pako.min.js"></script>
|
||
|
||
<!-- END Optional Codecs -->
|
||
|
||
<!-- include the cornerstoneWADOImageLoader library -->
|
||
<script type="text/javascript" src="scripts/cornerstone/cornerstoneWADOImageLoader.js?serial=1"></script>
|
||
<!-- <script type="text/javascript" src="scripts/cornerstone/cornerstoneWADOImageLoaderCodecs.js"></script> -->
|
||
<!-- <script type="text/javascript" src="scripts/cornerstone/cornerstoneWADOImageLoaderWebWorker.js"></script> -->
|
||
|
||
<script type="text/javascript" src="scripts/initWebWorker.js?serial=5"></script>
|
||
</head>
|
||
|
||
<body class="stretch">
|
||
<dialog id='image_download_dialog' style="z-index: 1065;">
|
||
<div data-key="" class="modal-c">
|
||
<div class="modal-header">
|
||
<button class="close">
|
||
<span>×</span>
|
||
</button>
|
||
<h4 class="modal-title">
|
||
<span>Download Image</span>
|
||
</h4>
|
||
</div>
|
||
|
||
<div class='modal-body'>
|
||
<div>Please specify filename. Output file will be PNG type.</div>
|
||
<div class="form-themed">
|
||
<div style="padding:0.5em;">
|
||
<table class="modal-table" style="width:80%">
|
||
<tbody>
|
||
<tr>
|
||
<td style="text-align:right;">File Name : </td>
|
||
<td><input type="text" id="filename" class="form-control" value="image" /></td>
|
||
</tr>
|
||
<!-- tr>
|
||
<td>File type</td>
|
||
<td>
|
||
<input type="radio" name="filetype" id="filetype_png" checked="1" value="png"> <label class="modal-label" for="filetype_png">PNG</label>
|
||
|
||
<input type="radio" name="filetype" id="filetype_jpg" value="jpg"> <label class="modal-label" for="filetype_jpg">JPEG</label>
|
||
</td>
|
||
</tr -->
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<div class="modal-image-preview-container">
|
||
<div>Image Preview</div>
|
||
<img id="imgpreview" class="modal-image-preview" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn btn-cancel btn-secondary form-action">
|
||
Cancel
|
||
</button>
|
||
<button class="btn btn-download btn-primary form-action">
|
||
Download Image
|
||
</button>
|
||
</div>
|
||
|
||
</div>
|
||
</dialog>
|
||
|
||
|
||
<script type="text/javascript">
|
||
cornerstoneTools.external.cornerstone = cornerstone;
|
||
cornerstoneTools.external.Hammer = Hammer;
|
||
|
||
startup();
|
||
|
||
var data = <?php echo $json; ?>;
|
||
var server = '<?php echo XOCP_SERVER . XOCP_SERVER_SUBDIR; ?>';
|
||
var data_exp = <?php echo $json_exp; ?>;
|
||
|
||
document.addEventListener('DOMContentLoaded', function(event) {
|
||
init_layout();
|
||
enable_tools();
|
||
load_study(data);
|
||
loadTemplate('template/viewport_multi.html?serial=21', function(el) {
|
||
viewport_multi_template = el;
|
||
loadTemplate('template/viewport.html?serial=16', function(el) {
|
||
viewport_template = el;
|
||
layoutManager.setLayout(1, 1); // initial layout
|
||
useStack('1x1', 0); /// use the first series on viewport 1x1
|
||
loadTemplate('template/thumbnail.html?serial=2', function(el) {
|
||
thumbnail_template = el;
|
||
loadTemplate('template/expertise.html?serial=23', function(el) {
|
||
expertise_template = el;
|
||
});
|
||
});
|
||
});
|
||
});
|
||
init_final();
|
||
});
|
||
</script>
|
||
<!-- div class="header noselect">
|
||
<div class="clearfix">
|
||
<a target="_blank" class="brand pull-left">
|
||
<div class="logo-text"><?php echo XOCP_BANNER_TITLE; ?></div>
|
||
</a>
|
||
<a href="#" class="header-menu pull-right">
|
||
</a>
|
||
</div>
|
||
</div -->
|
||
|
||
<div class="viewerDialogs">
|
||
<dialog id="cineDialog" style="width: 290px; left: 869px; top: 24px;" class="bounded">
|
||
<form id="cineDialogForm" class="dialog-animated noselect double-row-style" data-key="">
|
||
<input type="hidden" data-key="intervalId">
|
||
<div class="button-close-container">
|
||
<div class="button-close"><span aria-hidden="true">x</span></div>
|
||
</div>
|
||
<div class="cine-controls">
|
||
<div class="btn-group">
|
||
<button class="btn form-action" disabled="disabled" title="Skip to first image" data-key="">
|
||
<i class="fa fa-fast-backward"></i>
|
||
</button>
|
||
<button class="btn form-action" disabled="disabled" title="Previous image" data-key="">
|
||
<i class="fa fa-step-backward"></i>
|
||
</button>
|
||
<button class="btn form-action" disabled="disabled" title="Play / Stop" data-key="">
|
||
<i class="fa fa-fw fa-play"></i>
|
||
</button>
|
||
<button class="btn form-action" disabled="disabled" title="Next image" data-key="">
|
||
<i class="fa fa-step-forward"></i>
|
||
</button>
|
||
<button class="btn form-action" disabled="disabled" title="Skip to last image" data-key="">
|
||
<i class="fa fa-fast-forward"></i>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<div class="cine-options">
|
||
<div class="fps-section">
|
||
<div class="wrapperLabel form-group m-a-0" data-key="framesPerSecond">
|
||
<span class="wrapperText"></span>
|
||
<input type="range" class="form-control p-a-0" min="1" max="90" maxlength="90">
|
||
</div>
|
||
</div>
|
||
<span id="fps">24.0 fps</span>
|
||
</div>
|
||
<div class="cine-navigation">
|
||
<div class="btn-group">
|
||
<button class="btn form-action" disabled="disabled" title="Previous display set" data-key="">
|
||
<i class="fa fa-toggle-up"></i>
|
||
</button>
|
||
<button class="btn form-action" title="Next display set" data-key="">
|
||
<i class="fa fa-toggle-down"></i>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</dialog>
|
||
<div id="layoutChooser" class="layoutChooser dialog-animated">
|
||
<table>
|
||
<tr>
|
||
<td class="hover"></td>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<dialog id="annotationDialog" class="annotationDialog noselect" style="bottom: 0px; right: 0px;">
|
||
<h5>Enter your annotation</h5>
|
||
<div class="annotationTextInputOptions">
|
||
<label for="annotationTextInput">New label</label>
|
||
<input name="annotationTextInput" class="annotationTextInput" type="text" tabindex="-1" autocomplete="off">
|
||
</div>
|
||
<a class="annotationDialogConfirm btn btn-sm btn-primary">OK</a>
|
||
</dialog>
|
||
|
||
<dialog id="relabelAnnotationDialog" class="annotationDialog noselect" oncontextmenu="return false">
|
||
<h5>Edit your annotation</h5>
|
||
<div class="annotationTextInputOptions">
|
||
<label for="annotationTextInput">New label</label>
|
||
<input name="annotationTextInput" class="annotationTextInput" type="text" tabindex="-1" autocomplete="off" />
|
||
</div>
|
||
<div>
|
||
<a class="relabelRemove btn btn-sm btn-secondary">Remove marker</a>
|
||
<a class="relabelConfirm btn btn-sm btn-primary">OK</a>
|
||
</div>
|
||
</dialog>
|
||
|
||
<!-- Hanging Protocol dialogs -->
|
||
<div class="ruleEntryDialog dialog-animated">
|
||
<div class="dialogHeader">
|
||
<h5>Rule Editor</h5>
|
||
</div>
|
||
<div class="dialogContent">
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<select class="attributes" style="width: 95%;"></select>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<select class="comparators select2-hidden-accessible" style="width: 95%;" tabindex="-1" aria-hidden="true">
|
||
<option value="equals">= (Equals)</option>
|
||
<option value="doesNotEqual">!= (Does not equal)</option>
|
||
<option value="contains">Contains</option>
|
||
<option value="doesNotContain">Does not contain</option>
|
||
<option value="startsWith">Starts with</option>
|
||
<option value="endsWith">Ends with</option>
|
||
<option value="onlyInteger">Only Integers</option>
|
||
<option value="greaterThan">> (Greater than)</option>
|
||
<option value="greaterThanOrEqualTo">>= (Greater than or equal to)</option>
|
||
<option value="lessThanOrEqualTo"><= (Less than or equal to)</option>
|
||
<option value="lessThan">< (Less than)</option>
|
||
<option value="odd">Odd</option>
|
||
<option value="even">Even</option>
|
||
</select>
|
||
<span class="select2 select2-container select2-container--default" dir="ltr" style="width: 95%;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-imsc-container"><span class="select2-selection__rendered" id="select2-imsc-container" title="= (Equals)">= (Equals)</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<input class="currentValue" type="text">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="dialogFooter">
|
||
<button id="cancel" class="btn btn-link" tabindex="1">Cancel</button>
|
||
<button id="save" class="btn btn-primary" tabindex="0">OK</button>
|
||
</div>
|
||
</div>
|
||
<div class="settingEntryDialog dialog-animated">
|
||
<div class="dialogHeader">
|
||
<h5>Viewport Setting Editor</h5>
|
||
</div>
|
||
<div class="dialogContent">
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<select class="settings" style="width: 95%;"></select>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<select class="currentValue" style="width: 95%;"></select>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="dialogFooter">
|
||
<button id="cancel" class="btn btn-link" tabindex="1">Cancel</button>
|
||
<button id="save" class="btn btn-primary" tabindex="0">OK</button>
|
||
</div>
|
||
</div>
|
||
<div class="textEntryDialog dialog-animated">
|
||
<div class="dialogHeader">
|
||
<h4 class="title"></h4>
|
||
</div>
|
||
<div class="dialogContent">
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<h5 class="instructions"></h5>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-xs-12">
|
||
<input class="currentValue" type="text">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="dialogFooter">
|
||
<button class="cancel btn btn-link" tabindex="1">Cancel</button>
|
||
<button class="save btn btn-primary" tabindex="0">OK</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="viewer">
|
||
<div class="toolbarSection noselect p-x-2">
|
||
<div class="clearfix">
|
||
<div class="pull-left m-t-1">
|
||
<div class="roundedButtonGroup clearfix center-table">
|
||
<a class="roundedButtonWrapper noselect" data-value="studies">
|
||
<div class="roundedButton">
|
||
<svg style="width: 15px; height: 13px">
|
||
<use xlink:href="assets/icons.svg#icon-studies"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="bottomLabel">Series</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="toolbarSectionTools pull-left m-t-1 rm-l-3">
|
||
<div id="stackScroll" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-bars"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Stack Scroll</span>
|
||
</div>
|
||
</div>
|
||
<div id="wwwc" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool active">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-levels"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Levels</span>
|
||
</div>
|
||
</div>
|
||
<div id="zoom" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-zoom"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Zoom</span>
|
||
</div>
|
||
</div>
|
||
<div id="pan" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-pan"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Pan</span>
|
||
</div>
|
||
</div>
|
||
<div id="length" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-measure-temp"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Length</span>
|
||
</div>
|
||
</div>
|
||
<div id="annotate" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-measure-non-target"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Annotate</span>
|
||
</div>
|
||
</div>
|
||
<div id="angle" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-angle-left"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Angle</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="toggleDownloadDialog" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-camera"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Download</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="resetViewport" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-undo"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Reset</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="clearTools" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-trash"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Clear</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="previousDisplaySet" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand disabled">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-toggle-up fa-fw"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Previous</span>
|
||
</div>
|
||
</div>
|
||
<div id="nextDisplaySet" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand disabled">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-toggle-down fa-fw"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Next</span>
|
||
</div>
|
||
</div>
|
||
<!--
|
||
<div id="toggleCinePlay" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand disabled">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-fw fa-play"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Play</span>
|
||
</div>
|
||
</div>
|
||
<div id="toggleCineDialog" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand disabled">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-youtube-play"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>CINE</span>
|
||
</div>
|
||
</div>
|
||
-->
|
||
|
||
<div id="layout" class="toolbarSectionButton rp-x-1 js-dropdown-toggle" title="Layout" data-target="#layoutChooser">
|
||
<div class="svgContainer" style='transform:translate(0px,3px);'>
|
||
<i class="fa fa-th-large"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
Layout
|
||
</div>
|
||
</div>
|
||
|
||
<div id="toggleMore" tabindex="1" class="toolbarSectionButton rp-x-1 rm-l-3 expandable">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-more"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>More</span>
|
||
<i class="fa fa-caret-down expanded-status" aria-hidden="true"></i>
|
||
</div>
|
||
<div class="toolbarSectionDrawerContainer">
|
||
<div class="toolbarSectionDrawer">
|
||
<div id="crosshairs" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-crosshairs"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Crosshairs</span>
|
||
</div>
|
||
</div>
|
||
<div id="magnify" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-circle"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Magnify</span>
|
||
</div>
|
||
</div>
|
||
<div id="wwwcRegion" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-square"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>ROI Window</span>
|
||
</div>
|
||
</div>
|
||
<div id="dragProbe" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-dot-circle-o"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Probe</span>
|
||
</div>
|
||
</div>
|
||
<div id="ellipticalRoi" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-circle-o"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Ellipse</span>
|
||
</div>
|
||
</div>
|
||
<div id="rectangleRoi" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerTool">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-square-o"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Rectangle</span>
|
||
</div>
|
||
</div>
|
||
<div id="invert" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<i class="fa fa-adjust"></i>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Invert</span>
|
||
</div>
|
||
</div>
|
||
<div id="rotateR" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-rotate-right"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Rotate Right</span>
|
||
</div>
|
||
</div>
|
||
<div id="flipH" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-flip-horizontal"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Flip H</span>
|
||
</div>
|
||
</div>
|
||
<div id="flipV" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg#icon-tools-flip-vertical"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>Flip V</span>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!--
|
||
<div class="pull-right m-t-1 rm-x-1">
|
||
<div class="roundedButtonGroup clearfix center-table">
|
||
<a class="roundedButtonWrapper noselect" data-value="measurements">
|
||
<div class="roundedButton">
|
||
<svg style="width: 18px; height: 10px">
|
||
<use xlink:href="assets/icons.svg#icon-measurements-lesions"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="bottomLabel">Measurements</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
-->
|
||
|
||
<div class="pull-right m-t-2 rm-x-1">
|
||
<div id="viewSeriesButton" tabindex="1" class="toolbarSectionButton rp-x-1 imageViewerCommand">
|
||
<div class="svgContainer">
|
||
<svg>
|
||
<use xlink:href="assets/icons.svg?serial=5#icon-command-view-instances"></use>
|
||
</svg>
|
||
</div>
|
||
<div class="buttonLabel">
|
||
<span>View Instances</span>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="viewerSection">
|
||
<div class="sidebarMenu sidebar-left">
|
||
<div class="studyBrowser">
|
||
<div class="scrollableStudyThumbnails">
|
||
<?php echo $rstudy . $thumb; ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="mainContent" class="mainContent">
|
||
<div class="viewerMain">
|
||
<div id="layoutManagerTarget" class="layout-1-1">
|
||
<div id="imageViewerViewports"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="seriesViewer" class="seriesViewer" style="display:none;">
|
||
<div class="viewerMain">
|
||
<div class="layout-1-1">
|
||
<div id="seriesViewerContainer" style='height:100%;width:100%;'></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="expertiseViewer" class="expertiseViewer" style="display:none;">
|
||
<div class="viewerMain">
|
||
<div class="layout-1-1">
|
||
<div id="expertiseViewerContainer" style='height:100%;width:100%;'></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sidebarMenu sidebar-right">
|
||
<div id="measurementLightTableContainer" class="flex-v">
|
||
<div class="measurementLightTableHeaderContainer">
|
||
<div class="measurementLightTableHeader">
|
||
<div class="studyDateLabel">
|
||
Study date:
|
||
</div>
|
||
<div class="studyDate">
|
||
01-Oct-18
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="scroll-area measurementLightTableView flex-grow fit">
|
||
<div class="scrollable scroll-y" style="margin-right: 0px; margin-bottom: 0px;">
|
||
<div class="measurementLightTableHeaderRow">
|
||
<div class="type">Measurements</div>
|
||
<div class="numberOfMeasurements">0</div>
|
||
</div>
|
||
</div>
|
||
<div class="scroll-nav scroll-nav-up"></div>
|
||
<div class="scroll-nav scroll-nav-down"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
|
||
</html>
|