This commit is contained in:
2025-02-26 14:49:25 +07:00
commit 1c1d9c4474
6403 changed files with 1953774 additions and 0 deletions

839
nv/html/nv-nopdf/viewer.php Normal file
View File

@@ -0,0 +1,839 @@
<?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">&nbsp;&nbsp;<label class="modal-label" for="filetype_png">PNG</label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="filetype" id="filetype_jpg" value="jpg">&nbsp;&nbsp;<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">&gt; (Greater than)</option>
<option value="greaterThanOrEqualTo">&gt;= (Greater than or equal to)</option>
<option value="lessThanOrEqualTo">&lt;= (Less than or equal to)</option>
<option value="lessThan">&lt; (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>