Mercurial > hg > orthanc-stone
annotate Framework/StoneEnumerations.h @ 670:5dd496343fad
Restored missing code + fixed key ordering when generating code
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 15 May 2019 18:29:42 +0200 |
parents | f0008c55e5f7 |
children | be9c1530d40a |
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 | |
439 | 5 * Copyright (C) 2017-2019 Osimis S.A., Belgium |
0 | 6 * |
7 * This program is free software: you can redistribute it and/or | |
47 | 8 * modify it under the terms of the GNU Affero General Public License |
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 | |
47 | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Affero General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU Affero General Public License | |
0 | 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 **/ | |
20 | |
21 | |
22 #pragma once | |
23 | |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
24 #include <string> |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
25 |
0 | 26 namespace OrthancStone |
27 { | |
28 enum SliceOffsetMode | |
29 { | |
30 SliceOffsetMode_Absolute, | |
31 SliceOffsetMode_Relative, | |
32 SliceOffsetMode_Loop | |
33 }; | |
34 | |
35 enum ImageWindowing | |
36 { | |
37 ImageWindowing_Bone, | |
38 ImageWindowing_Lung, | |
39 ImageWindowing_Custom | |
40 }; | |
41 | |
42 enum MouseButton | |
43 { | |
44 MouseButton_Left, | |
45 MouseButton_Right, | |
46 MouseButton_Middle | |
47 }; | |
48 | |
49 enum MouseWheelDirection | |
50 { | |
51 MouseWheelDirection_Up, | |
52 MouseWheelDirection_Down | |
53 }; | |
54 | |
55 enum VolumeProjection | |
56 { | |
57 VolumeProjection_Axial, | |
58 VolumeProjection_Coronal, | |
59 VolumeProjection_Sagittal | |
60 }; | |
61 | |
62 enum ImageInterpolation | |
63 { | |
64 ImageInterpolation_Nearest, | |
141
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
65 ImageInterpolation_Bilinear, |
88bca952cb17
ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
135
diff
changeset
|
66 ImageInterpolation_Trilinear |
0 | 67 }; |
68 | |
69 enum KeyboardModifiers | |
70 { | |
71 KeyboardModifiers_None = 0, | |
72 KeyboardModifiers_Shift = (1 << 0), | |
73 KeyboardModifiers_Control = (1 << 1), | |
74 KeyboardModifiers_Alt = (1 << 2) | |
75 }; | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
76 |
327 | 77 enum KeyboardKeys |
78 { | |
79 KeyboardKeys_Generic = 0, | |
80 | |
81 // let's use the same ids as in javascript to avoid some conversion in WASM: https://css-tricks.com/snippets/javascript/javascript-keycodes/ | |
82 KeyboardKeys_Left = 37, | |
83 KeyboardKeys_Up = 38, | |
84 KeyboardKeys_Right = 39, | |
85 KeyboardKeys_Down = 40 | |
86 }; | |
87 | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
88 enum SliceImageQuality |
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
89 { |
257 | 90 SliceImageQuality_FullPng, // smaller to transmit but longer to generate on Orthanc side (better choice when on low bandwidth) |
91 SliceImageQuality_FullPam, // bigger to transmit but faster to generate on Orthanc side (better choice when on localhost or LAN) | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
92 SliceImageQuality_Jpeg50, |
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
93 SliceImageQuality_Jpeg90, |
257 | 94 SliceImageQuality_Jpeg95, |
95 | |
96 SliceImageQuality_InternalRaw // downloads the raw pixels data as they are stored in the DICOM file (internal use only) | |
93
5945e81734a3
decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
47
diff
changeset
|
97 }; |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
98 |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
99 enum SopClassUid |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
100 { |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
101 SopClassUid_Other, |
117
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
102 SopClassUid_RTDose |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
103 }; |
42c05a3baee3
loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
104 |
366
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
105 enum BitmapAnchor |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
106 { |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
107 BitmapAnchor_BottomLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
108 BitmapAnchor_BottomCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
109 BitmapAnchor_BottomRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
110 BitmapAnchor_CenterLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
111 BitmapAnchor_Center, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
112 BitmapAnchor_CenterRight, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
113 BitmapAnchor_TopLeft, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
114 BitmapAnchor_TopCenter, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
115 BitmapAnchor_TopRight |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
116 }; |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
117 |
476
a95090305dd4
Introduced ControlPoint instead of Corner in the trackers and layers + drawing mask from the ControlPoints
am@osimis.io
parents:
440
diff
changeset
|
118 enum ControlPointType |
410
6decc0ba9da5
rename RadiographyScene::Layer as RadiographyLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
405
diff
changeset
|
119 { |
476
a95090305dd4
Introduced ControlPoint instead of Corner in the trackers and layers + drawing mask from the ControlPoints
am@osimis.io
parents:
440
diff
changeset
|
120 ControlPoint_TopLeftCorner = 0, |
a95090305dd4
Introduced ControlPoint instead of Corner in the trackers and layers + drawing mask from the ControlPoints
am@osimis.io
parents:
440
diff
changeset
|
121 ControlPoint_TopRightCorner = 1, |
a95090305dd4
Introduced ControlPoint instead of Corner in the trackers and layers + drawing mask from the ControlPoints
am@osimis.io
parents:
440
diff
changeset
|
122 ControlPoint_BottomRightCorner = 2, |
a95090305dd4
Introduced ControlPoint instead of Corner in the trackers and layers + drawing mask from the ControlPoints
am@osimis.io
parents:
440
diff
changeset
|
123 ControlPoint_BottomLeftCorner = 3 |
410
6decc0ba9da5
rename RadiographyScene::Layer as RadiographyLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
405
diff
changeset
|
124 }; |
393
e7a494bdd956
removed Messages/MessageType.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
366
diff
changeset
|
125 |
432
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
126 enum PhotometricDisplayMode |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
127 { |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
128 PhotometricDisplayMode_Default, |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
129 |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
130 PhotometricDisplayMode_Monochrome1, |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
131 PhotometricDisplayMode_Monochrome2 |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
132 }; |
4eb96c6b4e96
improved handling of MONOCHROME1, background and invertion
am@osimis.io
parents:
431
diff
changeset
|
133 |
410
6decc0ba9da5
rename RadiographyScene::Layer as RadiographyLayer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
405
diff
changeset
|
134 |
625
2eeb5857eb43
DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
589
diff
changeset
|
135 SopClassUid StringToSopClassUid(const std::string& source); |
142
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
136 |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
137 void ComputeWindowing(float& targetCenter, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
138 float& targetWidth, |
f19194a11c1d
ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
141
diff
changeset
|
139 ImageWindowing windowing, |
589
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
140 float customCenter, |
3080ec4ec6b9
removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
561
diff
changeset
|
141 float customWidth); |
366
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 void ComputeAnchorTranslation(double& deltaX /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
144 double& deltaY /* out */, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
145 BitmapAnchor anchor, |
a7de01c8fd29
new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
327
diff
changeset
|
146 unsigned int bitmapWidth, |
557
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
147 unsigned int bitmapHeight, |
77a21b28becd
new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
440
diff
changeset
|
148 unsigned int border = 0); |
0 | 149 } |