Mercurial > hg > orthanc-stone
annotate OrthancStone/Sources/StoneEnumerations.h @ 1615:f5d4bd7b5593
new class: OsiriXLayerFactory
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 30 Oct 2020 17:26:44 +0100 |
parents | 8563ea5d8ae4 |
children | f62f685e0eb2 |
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 | |
1270
2d8ab34c8c91
upgrade to year 2020
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1256
diff
changeset
|
5 * Copyright (C) 2017-2020 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, |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
111 SopClassUid_RTDose |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
112 }; |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
113 |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
114 enum BitmapAnchor |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
115 { |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
116 BitmapAnchor_BottomLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
117 BitmapAnchor_BottomCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
118 BitmapAnchor_BottomRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
119 BitmapAnchor_CenterLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
120 BitmapAnchor_Center, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
121 BitmapAnchor_CenterRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
122 BitmapAnchor_TopLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
123 BitmapAnchor_TopCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
124 BitmapAnchor_TopRight |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
125 }; |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
126 |
1188 | 127 enum SliceAction |
128 { | |
129 SliceAction_FastPlus, | |
130 SliceAction_Plus, | |
131 SliceAction_None, | |
132 SliceAction_Minus, | |
133 SliceAction_FastMinus | |
134 }; | |
135 | |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
136 enum MouseAction |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
137 { |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
138 MouseAction_Pan, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
139 MouseAction_Zoom, |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
140 MouseAction_Rotate, |
1579
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
141 MouseAction_GrayscaleWindowing, |
c476b0d5e59c
skeleton for cross-hair tool
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1561
diff
changeset
|
142 MouseAction_None |
1561
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
143 }; |
cf652990abb1
tunable mouse actions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1512
diff
changeset
|
144 |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
145 SopClassUid StringToSopClassUid(const std::string& source); |
142
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
146 |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
147 void ComputeWindowing(float& targetCenter, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
148 float& targetWidth, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
149 ImageWindowing windowing, |
589
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
150 float customCenter, |
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
151 float customWidth); |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
152 |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
153 void ComputeAnchorTranslation(double& deltaX /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
154 double& deltaY /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
155 BitmapAnchor anchor, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
156 unsigned int bitmapWidth, |
557
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
157 unsigned int bitmapHeight, |
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
158 unsigned int border = 0); |
0 | 159 } |