annotate Framework/StoneEnumerations.h @ 1327:4f8db2d202c8 broker

OrthancSeriesProgressiveLoader now has two modes that can be selected at object creation : - progressive (will first load jpeg50, then jpeg90 then PAM) - non-progressive (will directly load PAM (uncompressed)) Please note that the slice loading order remains dynamic and depending upon the slice that the client code wishes to extract from the volume.
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 25 Mar 2020 14:34:27 +0100
parents 7ec8fea061b9
children 28c64c246312
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 /**
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 * Stone of Orthanc
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 *
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 * This program is free software: you can redistribute it and/or
47
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
8 * modify it under the terms of the GNU Affero General Public License
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
9 * as published by the Free Software Foundation, either version 3 of
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
10 * the License, or (at your option) any later version.
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 *
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful, but
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
47
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
15 * Affero General Public License for more details.
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
16 *
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
17 * You should have received a copy of the GNU Affero General Public License
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 **/
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 #pragma once
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
739
be9c1530d40a deprecating enum SliceImageQuality
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 643
diff changeset
26
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 namespace OrthancStone
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 enum SliceOffsetMode
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 SliceOffsetMode_Absolute,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 SliceOffsetMode_Relative,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 SliceOffsetMode_Loop
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 enum ImageWindowing
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 ImageWindowing_Bone,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 ImageWindowing_Lung,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 ImageWindowing_Custom
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 enum MouseButton
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 MouseButton_Left,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 MouseButton_Right,
1208
00e6bff9ea39 handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1200
diff changeset
47 MouseButton_Middle,
00e6bff9ea39 handling of mouse interactions in ViewportController
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1200
diff changeset
48 MouseButton_None // For instance, because of touch event
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 enum MouseWheelDirection
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 MouseWheelDirection_Up,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 MouseWheelDirection_Down
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 enum VolumeProjection
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 VolumeProjection_Axial,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 VolumeProjection_Coronal,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 VolumeProjection_Sagittal
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 enum ImageInterpolation
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 ImageInterpolation_Nearest,
141
88bca952cb17 ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 135
diff changeset
67 ImageInterpolation_Bilinear,
88bca952cb17 ImageBuffer3D::GetPixelGrayscale8
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 135
diff changeset
68 ImageInterpolation_Trilinear
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 };
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 enum KeyboardModifiers
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 {
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 KeyboardModifiers_None = 0,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 KeyboardModifiers_Shift = (1 << 0),
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 KeyboardModifiers_Control = (1 << 1),
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 KeyboardModifiers_Alt = (1 << 2)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 };
93
5945e81734a3 decoding of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 47
diff changeset
78
327
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
79 enum KeyboardKeys
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
80 {
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
81 KeyboardKeys_Generic = 0,
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
82
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
83 // 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
84 KeyboardKeys_Backspace = 8,
327
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
85 KeyboardKeys_Left = 37,
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
86 KeyboardKeys_Up = 38,
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
87 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
88 KeyboardKeys_Down = 40,
1256
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
89 KeyboardKeys_Delete = 46,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
90
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
91 KeyboardKeys_F1 = 112,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
92 KeyboardKeys_F2 = 113,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
93 KeyboardKeys_F3 = 114,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
94 KeyboardKeys_F4 = 115,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
95 KeyboardKeys_F5 = 116,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
96 KeyboardKeys_F6 = 117,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
97 KeyboardKeys_F7 = 118,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
98 KeyboardKeys_F8 = 119,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
99 KeyboardKeys_F9 = 120,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
100 KeyboardKeys_F10 = 121,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
101 KeyboardKeys_F11 = 122,
771913258728 more keyboard key mappings
Alain Mazy <alain@mazy.be>
parents: 1199
diff changeset
102 KeyboardKeys_F12 = 123,
327
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
103 };
8716176ff7f0 added support for arrow keys
am@osimis.io
parents: 257
diff changeset
104
117
42c05a3baee3 loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
105 enum SopClassUid
42c05a3baee3 loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
106 {
625
2eeb5857eb43 DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 589
diff changeset
107 SopClassUid_Other,
117
42c05a3baee3 loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
108 SopClassUid_RTDose
42c05a3baee3 loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
109 };
42c05a3baee3 loading multi-frame instances as 3D volumes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
110
366
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
111 enum BitmapAnchor
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
112 {
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
113 BitmapAnchor_BottomLeft,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
114 BitmapAnchor_BottomCenter,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
115 BitmapAnchor_BottomRight,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
116 BitmapAnchor_CenterLeft,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
117 BitmapAnchor_Center,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
118 BitmapAnchor_CenterRight,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
119 BitmapAnchor_TopLeft,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
120 BitmapAnchor_TopCenter,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
121 BitmapAnchor_TopRight
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
122 };
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
123
1188
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
124 enum SliceAction
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
125 {
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
126 SliceAction_FastPlus,
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
127 SliceAction_Plus,
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
128 SliceAction_None,
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
129 SliceAction_Minus,
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
130 SliceAction_FastMinus
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
131 };
4092b6e71d45 SliceAction
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 739
diff changeset
132
625
2eeb5857eb43 DicomInstanceParameters
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 589
diff changeset
133 SopClassUid StringToSopClassUid(const std::string& source);
142
f19194a11c1d ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
134
f19194a11c1d ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
135 void ComputeWindowing(float& targetCenter,
f19194a11c1d ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
136 float& targetWidth,
f19194a11c1d ComputeWindowing in Enumerations.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
137 ImageWindowing windowing,
589
3080ec4ec6b9 removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 561
diff changeset
138 float customCenter,
3080ec4ec6b9 removed enum value: ImageWindowing_Default
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 561
diff changeset
139 float customWidth);
366
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 void ComputeAnchorTranslation(double& deltaX /* out */,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
142 double& deltaY /* out */,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
143 BitmapAnchor anchor,
a7de01c8fd29 new enum BitmapAnchor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 327
diff changeset
144 unsigned int bitmapWidth,
557
77a21b28becd new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 440
diff changeset
145 unsigned int bitmapHeight,
77a21b28becd new argument in ComputeAnchorTranslation: border
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 440
diff changeset
146 unsigned int border = 0);
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 }