Mercurial > hg > orthanc-stone
annotate OrthancStone/Sources/StoneEnumerations.h @ 1775:fca942f4b4a7
fix conversion from voxel centers to texture borders
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 12 May 2021 19:57:50 +0200 |
parents | 9ac2a65d4172 |
children | 36430d73e36c |
rev | line source |
---|---|
0 | 1 /** |
2 * Stone of Orthanc | |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | |
4 * Department, University Hospital of Liege, Belgium | |
1739
9ac2a65d4172
upgrade to year 2021
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1666
diff
changeset
|
5 * Copyright (C) 2017-2021 Osimis S.A., Belgium |
0 | 6 * |
7 * This program is free software: you can redistribute it and/or | |
1598
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
8 * modify it under the terms of the GNU Lesser General Public License |
47 | 9 * as published by the Free Software Foundation, either version 3 of |
10 * the License, or (at your option) any later version. | |
0 | 11 * |
12 * This program is distributed in the hope that it will be useful, but | |
13 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
1598
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
15 * Lesser General Public License for more details. |
1596
4fb8fdf03314
removed annoying whitespace
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1579
diff
changeset
|
16 * |
1598
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
17 * You should have received a copy of the GNU Lesser General Public |
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
18 * License along with this program. If not, see |
8563ea5d8ae4
relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1596
diff
changeset
|
19 * <http://www.gnu.org/licenses/>. |
0 | 20 **/ |
21 | |
22 | |
23 #pragma once | |
24 | |
1471
28c64c246312
working on a shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1279
diff
changeset
|
25 #include "OrthancFramework.h" |
28c64c246312
working on a shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1279
diff
changeset
|
26 |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
27 #include <string> |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
28 |
739
be9c1530d40a
deprecating enum SliceImageQuality
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
643
diff
changeset
|
29 |
0 | 30 namespace OrthancStone |
31 { | |
32 enum SliceOffsetMode | |
33 { | |
34 SliceOffsetMode_Absolute, | |
35 SliceOffsetMode_Relative, | |
36 SliceOffsetMode_Loop | |
37 }; | |
38 | |
39 enum ImageWindowing | |
40 { | |
41 ImageWindowing_Bone, | |
42 ImageWindowing_Lung, | |
43 ImageWindowing_Custom | |
44 }; | |
45 | |
46 enum MouseButton | |
47 { | |
48 MouseButton_Left, | |
49 MouseButton_Right, | |
1208
00e6bff9ea39
handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1200
diff
changeset
|
50 MouseButton_Middle, |
00e6bff9ea39
handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1200
diff
changeset
|
51 MouseButton_None // For instance, because of touch event |
0 | 52 }; |
53 | |
54 enum MouseWheelDirection | |
55 { | |
56 MouseWheelDirection_Up, | |
57 MouseWheelDirection_Down | |
58 }; | |
59 | |
60 enum VolumeProjection | |
61 { | |
62 VolumeProjection_Axial, | |
63 VolumeProjection_Coronal, | |
64 VolumeProjection_Sagittal | |
65 }; | |
66 | |
67 enum ImageInterpolation | |
68 { | |
69 ImageInterpolation_Nearest, | |
141
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
70 ImageInterpolation_Bilinear, |
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
71 ImageInterpolation_Trilinear |
0 | 72 }; |
73 | |
74 enum KeyboardModifiers | |
75 { | |
76 KeyboardModifiers_None = 0, | |
77 KeyboardModifiers_Shift = (1 << 0), | |
78 KeyboardModifiers_Control = (1 << 1), | |
79 KeyboardModifiers_Alt = (1 << 2) | |
80 }; | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
81 |
327 | 82 enum KeyboardKeys |
83 { | |
84 KeyboardKeys_Generic = 0, | |
85 | |
86 // let's use the same ids as in javascript to avoid some conversion in WASM: https://css-tricks.com/snippets/javascript/javascript-keycodes/ | |
1199
922d2e61aa5d
RadiograpyScene: can now remove any layer + new key wrappers for Delete/Backspace
Alain Mazy <alain@mazy.be>
parents:
739
diff
changeset
|
87 KeyboardKeys_Backspace = 8, |
327 | 88 KeyboardKeys_Left = 37, |
89 KeyboardKeys_Up = 38, | |
90 KeyboardKeys_Right = 39, | |
1199
922d2e61aa5d
RadiograpyScene: can now remove any layer + new key wrappers for Delete/Backspace
Alain Mazy <alain@mazy.be>
parents:
739
diff
changeset
|
91 KeyboardKeys_Down = 40, |
1256 | 92 KeyboardKeys_Delete = 46, |
93 | |
94 KeyboardKeys_F1 = 112, | |
95 KeyboardKeys_F2 = 113, | |
96 KeyboardKeys_F3 = 114, | |
97 KeyboardKeys_F4 = 115, | |
98 KeyboardKeys_F5 = 116, | |
99 KeyboardKeys_F6 = 117, | |
100 KeyboardKeys_F7 = 118, | |
101 KeyboardKeys_F8 = 119, | |
102 KeyboardKeys_F9 = 120, | |
103 KeyboardKeys_F10 = 121, | |
104 KeyboardKeys_F11 = 122, | |
105 KeyboardKeys_F12 = 123, | |
327 | 106 }; |
107 | |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
108 enum SopClassUid |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
109 { |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
110 SopClassUid_Other, |
1665
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
111 SopClassUid_RTDose, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
112 SopClassUid_RTStruct, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
113 SopClassUid_RTPlan, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
114 SopClassUid_EncapsulatedPdf, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
115 SopClassUid_VideoEndoscopicImageStorage, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
116 SopClassUid_VideoMicroscopicImageStorage, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
117 SopClassUid_VideoPhotographicImageStorage |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
118 }; |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
119 |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
120 enum SeriesThumbnailType |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
121 { |
1666
1e6d3289b1ad
enable catching of exceptions in stone web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1665
diff
changeset
|
122 SeriesThumbnailType_NotLoaded = 1, // "SeriesThumbnailsLoader" has not information about this series yet |
1665
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
123 SeriesThumbnailType_Unsupported = 2, // The remote server cannot decode this image |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
124 SeriesThumbnailType_Pdf = 3, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
125 SeriesThumbnailType_Video = 4, |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
126 SeriesThumbnailType_Image = 5 |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
127 }; |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
128 |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
129 enum BitmapAnchor |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
130 { |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
131 BitmapAnchor_BottomLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
132 BitmapAnchor_BottomCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
133 BitmapAnchor_BottomRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
134 BitmapAnchor_CenterLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
135 BitmapAnchor_Center, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
136 BitmapAnchor_CenterRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
137 BitmapAnchor_TopLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
138 BitmapAnchor_TopCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
139 BitmapAnchor_TopRight |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
140 }; |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
141 |
1188 | 142 enum SliceAction |
143 { | |
144 SliceAction_FastPlus, | |
145 SliceAction_Plus, | |
146 SliceAction_None, | |
147 SliceAction_Minus, | |
148 SliceAction_FastMinus | |
149 }; | |
150 | |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
151 enum MouseAction |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
152 { |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
153 MouseAction_Pan, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
154 MouseAction_Zoom, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
155 MouseAction_Rotate, |
1579
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
156 MouseAction_GrayscaleWindowing, |
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
157 MouseAction_None |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
158 }; |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
159 |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
160 SopClassUid StringToSopClassUid(const std::string& source); |
142
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
161 |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
162 void ComputeWindowing(float& targetCenter, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
163 float& targetWidth, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
164 ImageWindowing windowing, |
589
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
165 float customCenter, |
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
166 float customWidth); |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
167 |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
168 void ComputeAnchorTranslation(double& deltaX /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
169 double& deltaY /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
170 BitmapAnchor anchor, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
171 unsigned int bitmapWidth, |
557
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
172 unsigned int bitmapHeight, |
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
173 unsigned int border = 0); |
1665
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
174 |
f62f685e0eb2
avoid loading instance metadata on RTSTRUCT to avoid JSON parsing that freezes the browser
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1598
diff
changeset
|
175 SeriesThumbnailType GetSeriesThumbnailType(SopClassUid sopClassUid); |
0 | 176 } |