Mercurial > hg > orthanc-stone
annotate OrthancStone/Sources/StoneEnumerations.h @ 1995:f2a094fa8c33
updated TODO
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 01 Nov 2022 19:04:34 +0100 |
parents | 317a53d4fdc6 |
children | 07964689cb0b |
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 | |
1871
7053b8a0aaec
upgrade to year 2022
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1870
diff
changeset
|
5 * Copyright (C) 2017-2022 Osimis S.A., Belgium |
7053b8a0aaec
upgrade to year 2022
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1870
diff
changeset
|
6 * Copyright (C) 2021-2022 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
0 | 7 * |
8 * 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
|
9 * modify it under the terms of the GNU Lesser General Public License |
47 | 10 * as published by the Free Software Foundation, either version 3 of |
11 * the License, or (at your option) any later version. | |
0 | 12 * |
13 * This program is distributed in the hope that it will be useful, but | |
14 * 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
|
15 * 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
|
16 * Lesser General Public License for more details. |
1596
4fb8fdf03314
removed annoying whitespace
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1579
diff
changeset
|
17 * |
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
|
18 * 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
|
19 * 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
|
20 * <http://www.gnu.org/licenses/>. |
0 | 21 **/ |
22 | |
23 | |
24 #pragma once | |
25 | |
1471
28c64c246312
working on a shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1279
diff
changeset
|
26 #include "OrthancFramework.h" |
28c64c246312
working on a shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1279
diff
changeset
|
27 |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
28 #include <string> |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
29 |
739
be9c1530d40a
deprecating enum SliceImageQuality
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
643
diff
changeset
|
30 |
0 | 31 namespace OrthancStone |
32 { | |
33 enum SliceOffsetMode | |
34 { | |
35 SliceOffsetMode_Absolute, | |
36 SliceOffsetMode_Relative, | |
37 SliceOffsetMode_Loop | |
38 }; | |
39 | |
40 enum ImageWindowing | |
41 { | |
42 ImageWindowing_Bone, | |
43 ImageWindowing_Lung, | |
44 ImageWindowing_Custom | |
45 }; | |
46 | |
47 enum MouseButton | |
48 { | |
49 MouseButton_Left, | |
50 MouseButton_Right, | |
1208
00e6bff9ea39
handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1200
diff
changeset
|
51 MouseButton_Middle, |
00e6bff9ea39
handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1200
diff
changeset
|
52 MouseButton_None // For instance, because of touch event |
0 | 53 }; |
54 | |
55 enum MouseWheelDirection | |
56 { | |
57 MouseWheelDirection_Up, | |
58 MouseWheelDirection_Down | |
59 }; | |
60 | |
61 enum VolumeProjection | |
62 { | |
63 VolumeProjection_Axial, | |
64 VolumeProjection_Coronal, | |
65 VolumeProjection_Sagittal | |
66 }; | |
67 | |
68 enum ImageInterpolation | |
69 { | |
70 ImageInterpolation_Nearest, | |
141
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
71 ImageInterpolation_Bilinear, |
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
72 ImageInterpolation_Trilinear |
0 | 73 }; |
74 | |
75 enum KeyboardModifiers | |
76 { | |
77 KeyboardModifiers_None = 0, | |
78 KeyboardModifiers_Shift = (1 << 0), | |
79 KeyboardModifiers_Control = (1 << 1), | |
80 KeyboardModifiers_Alt = (1 << 2) | |
81 }; | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
82 |
327 | 83 enum KeyboardKeys |
84 { | |
85 KeyboardKeys_Generic = 0, | |
86 | |
87 // 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
|
88 KeyboardKeys_Backspace = 8, |
327 | 89 KeyboardKeys_Left = 37, |
90 KeyboardKeys_Up = 38, | |
91 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
|
92 KeyboardKeys_Down = 40, |
1256 | 93 KeyboardKeys_Delete = 46, |
94 | |
95 KeyboardKeys_F1 = 112, | |
96 KeyboardKeys_F2 = 113, | |
97 KeyboardKeys_F3 = 114, | |
98 KeyboardKeys_F4 = 115, | |
99 KeyboardKeys_F5 = 116, | |
100 KeyboardKeys_F6 = 117, | |
101 KeyboardKeys_F7 = 118, | |
102 KeyboardKeys_F8 = 119, | |
103 KeyboardKeys_F9 = 120, | |
104 KeyboardKeys_F10 = 121, | |
105 KeyboardKeys_F11 = 122, | |
106 KeyboardKeys_F12 = 123, | |
327 | 107 }; |
108 | |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
109 enum SopClassUid |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
110 { |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 SopClassUid_VideoMicroscopicImageStorage, |
1887
aa4ed1cf4e8d
refactoring using DataAugmentationParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1871
diff
changeset
|
118 SopClassUid_VideoPhotographicImageStorage, |
aa4ed1cf4e8d
refactoring using DataAugmentationParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1871
diff
changeset
|
119 SopClassUid_DicomSeg |
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
|
120 }; |
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 |
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
|
122 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
|
123 { |
1666
1e6d3289b1ad
enable catching of exceptions in stone web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1665
diff
changeset
|
124 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
|
125 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
|
126 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
|
127 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
|
128 SeriesThumbnailType_Image = 5 |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
129 }; |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
130 |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
131 enum BitmapAnchor |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
132 { |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
133 BitmapAnchor_BottomLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
134 BitmapAnchor_BottomCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
135 BitmapAnchor_BottomRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
136 BitmapAnchor_CenterLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
137 BitmapAnchor_Center, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
138 BitmapAnchor_CenterRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
139 BitmapAnchor_TopLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
140 BitmapAnchor_TopCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
141 BitmapAnchor_TopRight |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
142 }; |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
143 |
1188 | 144 enum SliceAction |
145 { | |
146 SliceAction_FastPlus, | |
147 SliceAction_Plus, | |
148 SliceAction_None, | |
149 SliceAction_Minus, | |
150 SliceAction_FastMinus | |
151 }; | |
152 | |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
153 enum MouseAction |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
154 { |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
155 MouseAction_Pan, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
156 MouseAction_Zoom, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
157 MouseAction_Rotate, |
1579
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
158 MouseAction_GrayscaleWindowing, |
1993
317a53d4fdc6
added magnifying glass
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1887
diff
changeset
|
159 MouseAction_MagnifyingGlass, |
1579
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
160 MouseAction_None |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
161 }; |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
162 |
1821
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
163 enum Units |
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
164 { |
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
165 Units_Millimeters, |
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
166 Units_Pixels |
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
167 }; |
36430d73e36c
introducing measure units in AnnotationsSceneLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1739
diff
changeset
|
168 |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
169 SopClassUid StringToSopClassUid(const std::string& source); |
142
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
170 |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
171 void ComputeWindowing(float& targetCenter, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
172 float& targetWidth, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
173 ImageWindowing windowing, |
589
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
174 float customCenter, |
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
175 float customWidth); |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
176 |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
177 void ComputeAnchorTranslation(double& deltaX /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
178 double& deltaY /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
179 BitmapAnchor anchor, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
180 unsigned int bitmapWidth, |
557
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
181 unsigned int bitmapHeight, |
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
182 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
|
183 |
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
|
184 SeriesThumbnailType GetSeriesThumbnailType(SopClassUid sopClassUid); |
0 | 185 } |