annotate WebApplication/viewer.js @ 317:f09050e06811 OrthancWebViewer-2.9

OrthancWebViewer-2.9
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 26 Mar 2024 11:36:15 +0100
parents 0a1ad7492050
children 553fa466835a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 /**
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 * Orthanc - A Lightweight, RESTful DICOM Store
122
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 104
diff changeset
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 * Department, University Hospital of Liege, Belgium
303
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 302
diff changeset
5 * Copyright (C) 2017-2022 Osimis S.A., Belgium
314
0a1ad7492050 update year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 303
diff changeset
6 * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 *
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 * This program is free software: you can redistribute it and/or
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 * modify it under the terms of the GNU Affero General Public License
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 * as published by the Free Software Foundation, either version 3 of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 * the License, or (at your option) any later version.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 *
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful, but
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 * Affero General Public License for more details.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 *
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 * You should have received a copy of the GNU Affero General Public License
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 **/
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
126
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
23 // Set the default compression
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 var compression = 'jpeg95';
160
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
25 var isFirst = true;
126
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
26 //var compression = 'deflate';
234
083d0cbcbac4 improved error message
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 226
diff changeset
27 var unsupportedMessage = 'Error: The Orthanc core does not support the decoding of this image. Make sure that you have properly installed a suitable decoder plugin (e.g. the official GDCM decoder plugin).';
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 // Prevent the access to IE
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 if(navigator.appVersion.indexOf("MSIE ") != -1)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 alert("Please use Mozilla Firefox or Google Chrome. Microsoft Internet Explorer is not supported.");
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
219
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
37 function GetAuthorizationTokensFromUrl() {
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
38 var urlVariables = window.location.search.substring(1).split('&');
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
39 var dict = {};
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
40
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
41 for (var i = 0; i < urlVariables.length; i++) {
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
42 var split = urlVariables[i].split('=');
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
43
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
44 if (split.length == 2 && (split[0] == "token" || split[0] == "auth-token" || split[0] == "authorization")) {
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
45 dict[split[0]] = split[1];
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
46 }
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
47 }
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
48 return dict;
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
49 };
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
50
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
51 var authorizationTokens = GetAuthorizationTokensFromUrl();
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
52
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
53 /* Copy the authoziation toekn from the url search parameters into HTTP headers in every request to the Rest API.
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
54 Thanks to this behaviour, you may specify a ?token=xxx in your url and this will be passed
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
55 as the "token" header in every request to the API allowing you to use the authorization plugin */
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
56 $.ajaxSetup(
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
57 {
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
58 headers : authorizationTokens
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
59 }
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
60 );
0f042939410d support for auth token passed as url search params
amazy
parents: 209
diff changeset
61
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 function ResizeCornerstone()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 $('#dicomImage').height($(window).height() - $('#slider').parent().height());
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 cornerstone.resize(element, true);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 function SetWindowing(center, width)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 viewport.voi.windowCenter = center;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 viewport.voi.windowWidth = width;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 function SetFullWindowing()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 var image = cornerstone.getEnabledElement(element).image;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 if (image.color) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 // Ignore color images
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 return;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 var minValue = image.minPixelValue;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 var maxValue = image.maxPixelValue;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 if (minValue == undefined ||
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 maxValue == undefined ||
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 minValue == maxValue) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97 return;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 if (image.slope != undefined &&
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 image.intercept != undefined) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102 minValue = minValue * image.slope + image.intercept;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 maxValue = maxValue * image.slope + image.intercept;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106 viewport.voi.windowCenter = (minValue + maxValue) / 2.0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107 viewport.voi.windowWidth = (maxValue - minValue) / 2.0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 function SetDefaultWindowing()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 var image = cornerstone.getEnabledElement(element).image;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 viewport.voi.windowCenter = image.windowCenter;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 viewport.voi.windowWidth = image.windowWidth;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 function SetBoneWindowing()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 SetWindowing(300, 2000);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 function SetLungWindowing()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 SetWindowing(-600, 1600);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 function UpdateViewportInformation()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143 $('#bottomleft').text('WW/WL:' + Math.round(viewport.voi.windowWidth) + '/' + Math.round(viewport.voi.windowCenter));
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144 $('#bottomright').text('Zoom: ' + viewport.scale.toFixed(2) + 'x');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 function ToggleSeriesInformation()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 $('#topright').toggle();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 function ToggleInterpolation()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 if (viewport.pixelReplication === true) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 viewport.pixelReplication = false;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 } else {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 viewport.pixelReplication = true;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 function ToggleInversion()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 if (viewport.invert === true) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 viewport.invert = false;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 } else {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 viewport.invert = true;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 function DownloadInstance(instance)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 // http://stackoverflow.com/a/3749395/881731
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 var hiddenIFrameID = 'hiddenDownloader',
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 iframe = document.getElementById(hiddenIFrameID);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 if (iframe === null) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 iframe = document.createElement('iframe');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 iframe.id = hiddenIFrameID;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 iframe.style.display = 'none';
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 document.body.appendChild(iframe);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190 }
185
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
191
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
192 var id = instance;
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
193 var pos = instance.indexOf('_');
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
194 if (pos != -1) {
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
195 // Remove the frame index (after the underscore)
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
196 id = id.substring(0, pos);
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
197 }
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
198
3e45f3752074 Fix download of DICOM instance from the toolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
199 iframe.src = '../../instances/' + id + '/file';
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
203 function AdjustZoom()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
204 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 cornerstone.fitToWindow(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 function ZoomIn()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 viewport.scale /= 0.5;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
218
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220 function ZoomOut()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
224 viewport.scale *= 0.5;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
225 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
226 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
227 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
228
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
230
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
231 (function (cornerstone) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232 'use strict';
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234 function PrintRange(pixels)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236 var a = Infinity;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 var b = -Infinity;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
238
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
239 for (var i = 0, length = pixels.length; i < length; i++) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
240 if (pixels[i] < a)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
241 a = pixels[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
242 if (pixels[i] > b)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243 b = pixels[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
244 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
245
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
246 console.log(a + ' ' + b);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
248
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
249 function ChangeDynamics(pixels, source1, target1, source2, target2)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
250 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
251 var scale = (target2 - target1) / (source2 - source1);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
252 var offset = (target1) - scale * source1;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
253
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
254 for (var i = 0, length = pixels.length; i < length; i++) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
255 pixels[i] = scale * pixels[i] + offset;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
257 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
258
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
259
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
260 function getPixelDataDeflate(image) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
261 // Decompresses the base64 buffer that was compressed with Deflate
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
262 var s = pako.inflate(window.atob(image.Orthanc.PixelData));
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
263 var pixels = null;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
264
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
265 if (image.color) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
266 var buf = new ArrayBuffer(s.length / 3 * 4); // RGB32
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
267 pixels = new Uint8Array(buf);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
268 var index = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
269 for (var i = 0, length = s.length; i < length; i += 3) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
270 pixels[index++] = s[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
271 pixels[index++] = s[i + 1];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
272 pixels[index++] = s[i + 2];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
273 pixels[index++] = 255; // Alpha channel
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
274 }
126
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
275 } else{
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
276 var buf = new ArrayBuffer(s.length * 2); // uint16_t or int16_t
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
277
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
278 if (image.Orthanc.IsSigned) {
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
279 pixels = new Int16Array(buf);
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
280 } else {
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
281 pixels = new Uint16Array(buf);
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
282 }
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
283
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
284 var index = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
285 for (var i = 0, length = s.length; i < length; i += 2) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
286 var lower = s[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
287 var upper = s[i + 1];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
288 pixels[index] = lower + upper * 256;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
289 index++;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
290 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
291 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
292
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
293 return pixels;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
294 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
295
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
296
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
297 // http://stackoverflow.com/a/11058858/881731
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
298 function str2ab(str) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
299 var buf = new ArrayBuffer(str.length);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
300 var pixels = new Uint8Array(buf);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
301 for (var i = 0, strLen=str.length; i<strLen; i++) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
302 pixels[i] = str.charCodeAt(i);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
303 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
304 return pixels;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
305 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
306
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
307 function getPixelDataJpeg(image) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
308 var jpegReader = new JpegImage();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
309 var jpeg = str2ab(window.atob(image.Orthanc.PixelData));
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
310 jpegReader.parse(jpeg);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
311 var s = jpegReader.getData(image.width, image.height);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
312 var pixels = null;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
313
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
314 if (image.color) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
315 var buf = new ArrayBuffer(s.length / 3 * 4); // RGB32
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
316 pixels = new Uint8Array(buf);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
317 var index = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
318 for (var i = 0, length = s.length; i < length; i += 3) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
319 pixels[index++] = s[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
320 pixels[index++] = s[i + 1];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
321 pixels[index++] = s[i + 2];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
322 pixels[index++] = 255; // Alpha channel
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
323 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
324 } else {
126
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
325 var buf = new ArrayBuffer(s.length * 2); // uint16_t or int16_t
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
326
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
327 if (image.Orthanc.IsSigned) {
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
328 pixels = new Int16Array(buf);
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
329 } else {
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
330 pixels = new Uint16Array(buf);
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
331 }
f99adade8b77 Fixed rendering of 16bpp images if values are < 0 or >= 32768
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 122
diff changeset
332
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
333 var index = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
334 for (var i = 0, length = s.length; i < length; i++) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
335 pixels[index] = s[i];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
336 index++;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
337 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
338
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
339 if (image.Orthanc.Stretched) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
340 ChangeDynamics(pixels, 0, image.Orthanc.StretchLow, 255, image.Orthanc.StretchHigh);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
341 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
342 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
343
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
344 return pixels;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
345 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
346
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
347
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
348 function getOrthancImage(imageId) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
349 var result = null;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
350
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
351 $.ajax({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
352 type: 'GET',
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
353 url: '../instances/' + compression + '-' + imageId,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
354 dataType: 'json',
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
355 cache: true,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
356 async: false,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
357 success: function(image) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
358 image.imageId = imageId;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
359 if (image.color)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
360 image.render = cornerstone.renderColorImage;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
361 else
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
362 image.render = cornerstone.renderGrayscaleImage;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
363
160
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
364 if (isFirst) {
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
365 if (image.Orthanc.PhotometricInterpretation == "MONOCHROME1") {
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
366 image.invert = true;
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
367 } else {
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
368 image.invert = false;
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
369 }
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
370
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
371 isFirst = false;
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
372 }
b0910ae2ace5 fix issue 44
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
373
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
374 image.getPixelData = function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
375 if (image.Orthanc.Compression == 'Deflate')
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
376 return getPixelDataDeflate(this);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
377
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
378 if (image.Orthanc.Compression == 'Jpeg')
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
379 return getPixelDataJpeg(this);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
380
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
381 // Unknown compression
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
382 return null;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
383 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
384
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
385 result = image;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
386 },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
387 error: function() {
234
083d0cbcbac4 improved error message
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 226
diff changeset
388 alert(unsupportedMessage);
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
389 return null;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
390 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
391 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
392
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
393 var deferred = $.Deferred();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
394 deferred.resolve(result);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
395 return deferred;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
396 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
397
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
398 // register our imageLoader plugin with cornerstone
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
399 cornerstone.registerImageLoader('', getOrthancImage);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
400
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
401 }(cornerstone));
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
402
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
403
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
404 $(document).ready(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
405 $('#open-toolbar').button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
406 icons: { primary: 'ui-icon-custom-orthanc' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
407 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
408 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
409
2
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
410 $('#unstable').tooltip();
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
411
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
412 var series = window.url('?series', window.location.search);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
413 if (series == null)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
414 return;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
415
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
416 console.log('Displaying series: ' + series);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
417 var instances = [ ];
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
418
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
419 $.ajax({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
420 type: 'GET',
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
421 url: '../series/' + series,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
422 dataType: 'json',
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
423 cache: false,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
424 async: false,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
425 success: function(volume) {
99
46ec13a1177c use of ordered-slices
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 71
diff changeset
426 if (volume.Slices.length != 0) {
46ec13a1177c use of ordered-slices
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 71
diff changeset
427 instances = volume.Slices;
302
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
428 var topRightElement = $('<span>');
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
429 topRightElement.append($('<span>', { text: volume.PatientID}));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
430 topRightElement.append($('<br/>'));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
431 topRightElement.append($('<span>', { text: volume.PatientName}));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
432 topRightElement.append($('<br/>'));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
433 topRightElement.append($('<span>', { text: volume.StudyDescription}));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
434 topRightElement.append($('<br/>'));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
435 topRightElement.append($('<span>', { text: volume.SeriesDescription}));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
436 topRightElement.append($('<br/>'));
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
437
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
438 $('#topright').empty();
c0c5b50635e7 fix XSS
Alain Mazy <am@osimis.io>
parents: 293
diff changeset
439 $('#topright').append(topRightElement);
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
440 }
104
83d4afba88ff display error messages
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 99
diff changeset
441 },
83d4afba88ff display error messages
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 99
diff changeset
442 failure: function() {
234
083d0cbcbac4 improved error message
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 226
diff changeset
443 alert(unsupportedMessage);
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
444 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
445 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
446
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
447 if (instances.length == 0)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
448 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
449 console.log('No image in this series');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
450 return;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
451 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
452
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
453
2
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
454 $.ajax({
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
455 type: 'GET',
19
20af33af313a is-stable-series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
456 url: '../is-stable-series/' + series,
2
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
457 dataType: 'json',
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
458 cache: false,
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
459 async: true,
19
20af33af313a is-stable-series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
460 success: function(stable) {
20af33af313a is-stable-series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
461 if (!stable) {
2
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
462 $('#unstable').show();
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
463 }
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
464 }
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
465 });
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
466
c919d488471f throbber to reflect the receiving of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
467
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
468 var currentImageIndex = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
469
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
470 // updates the image display
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
471 function updateTheImage(imageIndex) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
472 return cornerstone.loadAndCacheImage(instances[imageIndex]).then(function(image) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
473 currentImageIndex = imageIndex;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
474 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
475 cornerstone.displayImage(element, image, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
476 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
477 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
478
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
479 // image enable the element
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
480 var element = $('#dicomImage').get(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
481 cornerstone.enable(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
482
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
483 // set event handlers
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
484 /*function onImageRendered(e, eventData) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
485 $('#topright').text('Render Time:' + eventData.renderTimeInMs + ' ms');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
486 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
487 $(element).on('CornerstoneImageRendered', onImageRendered);*/
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
488
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
489 // load and display the image
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
490 var imagePromise = updateTheImage(0);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
491
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
492 // add handlers for mouse events once the image is loaded.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
493 imagePromise.then(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
494 viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
495 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
496
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
497 // add event handlers to pan image on mouse move
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
498 $('#dicomImage').mousedown(function (e) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
499 var lastX = e.pageX;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
500 var lastY = e.pageY;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
501 var mouseButton = e.which;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
502
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
503 $(toolbar).hide();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
504
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
505 $(document).mousemove(function (e) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
506 var deltaX = e.pageX - lastX,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
507 deltaY = e.pageY - lastY;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
508 lastX = e.pageX;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
509 lastY = e.pageY;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
510
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
511 if (mouseButton == 1) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
512 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
513 viewport.voi.windowWidth += (deltaX / viewport.scale);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
514 viewport.voi.windowCenter += (deltaY / viewport.scale);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
515 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
516 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
517 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
518 else if (mouseButton == 2) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
519 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
520 viewport.translation.x += (deltaX / viewport.scale);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
521 viewport.translation.y += (deltaY / viewport.scale);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
522 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
523 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
524 else if (mouseButton == 3) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
525 var viewport = cornerstone.getViewport(element);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
526 viewport.scale += (deltaY / 100);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
527 cornerstone.setViewport(element, viewport);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
528 UpdateViewportInformation();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
529 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
530 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
531
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
532 $(document).mouseup(function (e) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
533 $(document).unbind('mousemove');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
534 $(document).unbind('mouseup');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
535 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
536 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
537
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
538 $('#dicomImage').on('mousewheel DOMMouseScroll', function (e) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
539 // Firefox e.originalEvent.detail > 0 scroll back, < 0 scroll forward
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
540 // chrome/safari e.originalEvent.wheelDelta < 0 scroll back, > 0 scroll forward
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
541 if (e.originalEvent.wheelDelta < 0 || e.originalEvent.detail > 0) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
542 currentImageIndex ++;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
543 if (currentImageIndex >= instances.length) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
544 currentImageIndex = instances.length - 1;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
545 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
546 } else {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
547 currentImageIndex --;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
548 if (currentImageIndex < 0) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
549 currentImageIndex = 0;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
550 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
551 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
552
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
553 updateTheImage(currentImageIndex);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
554 $('#slider').slider("option", "value", currentImageIndex);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
555
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
556 //prevent page fom scrolling
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
557 return false;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
558 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
559 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
560
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
561
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
562 $('#slider').slider({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
563 min: 0,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
564 max: instances.length - 1,
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
565 slide: function(event, ui) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
566 updateTheImage(ui.value);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
567 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
568 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
569
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
570 var toolbar = $.jsPanel({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
571 position: { top: 50, left: 10 },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
572 size: { width: 155, height: 200 },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
573 content: $('#toolbar-content').clone().show(),
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
574 controls: { buttons: 'none' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
575 title: '<a target="_blank" href="http://www.orthanc-server.com/"><img src="images/orthanc-logo.png" /></a>'
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
576 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
577
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
578 $('#open-toolbar').click(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
579 toolbar.toggle();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
580 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
581
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
582 $(toolbar).hide();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
583
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
584 $('.toolbar-view', toolbar).buttonset()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
585 .children().first().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
586 icons: { primary: 'ui-icon-info' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
587 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
588 }).click(ToggleSeriesInformation).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
589 icons: { primary: 'ui-icon-custom-inversion' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
590 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
591 }).click(ToggleInversion).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
592 icons: { primary: 'ui-icon-custom-interpolation' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
593 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
594 }).click(ToggleInterpolation).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
595 icons: { primary: 'ui-icon-circle-triangle-s' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
596 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
597 }).click(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
598 DownloadInstance(instances[currentImageIndex]);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
599 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
600
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
601 $('.toolbar-zoom', toolbar).buttonset()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
602 .children().first().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
603 icons: { primary: 'ui-icon-image' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
604 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
605 }).click(AdjustZoom).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
606 icons: { primary: 'ui-icon-zoomin' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
607 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
608 }).click(ZoomIn).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
609 icons: { primary: 'ui-icon-zoomout' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
610 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
611 }).click(ZoomOut);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
612
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
613 $('.toolbar-windowing', toolbar).buttonset()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
614 .children().first().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
615 icons: { primary: 'ui-icon-custom-default' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
616 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
617 }).click(SetDefaultWindowing).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
618 icons: { primary: 'ui-icon-custom-stretch' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
619 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
620 }).click(SetFullWindowing).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
621 icons: { primary: 'ui-icon-custom-lung' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
622 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
623 }).click(SetLungWindowing).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
624 icons: { primary: 'ui-icon-custom-bone' },
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
625 text: false
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
626 }).click(SetBoneWindowing);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
627
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
628
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
629 function SetCompression(c)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
630 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
631 compression = c;
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
632 cornerstone.imageCache.purgeCache();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
633 updateTheImage(currentImageIndex);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
634 cornerstone.invalidateImageId(instances[currentImageIndex]);
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
635 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
636
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
637 $('.toolbar-quality', toolbar).buttonset()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
638 .children().first().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
639 label: 'L'
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
640 }).click(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
641 SetCompression('jpeg80');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
642 }).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
643 label: 'M'
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
644 }).click(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
645 SetCompression('jpeg95');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
646 }).next().button({
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
647 label: 'H'
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
648 }).click(function() {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
649 SetCompression('deflate');
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
650 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
651
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
652
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
653 ResizeCornerstone();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
654 $(window).resize(function(e) {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
655 if (!$(e.target).hasClass('jsPanel')) // Ignore toolbar resizing
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
656 {
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
657 ResizeCornerstone();
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
658 }
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
659 });
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
660
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
661 });