Mercurial > hg > orthanc-java
annotate JavaSDK/be/uclouvain/orthanc/PixelFormat.java @ 17:443d5b7d733e
sync
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 05 Jan 2024 16:29:13 +0100 |
parents | 26c08ff926a3 |
children | 15dc698243ac |
rev | line source |
---|---|
0 | 1 package be.uclouvain.orthanc; |
2 | |
3 /** | |
4 * SPDX-FileCopyrightText: 2023 Sebastien Jodogne, UCLouvain, Belgium | |
5 * SPDX-License-Identifier: GPL-3.0-or-later | |
6 */ | |
7 | |
8 /** | |
9 * Java plugin for Orthanc | |
10 * Copyright (C) 2023 Sebastien Jodogne, UCLouvain, Belgium | |
11 * | |
12 * This program is free software: you can redistribute it and/or | |
13 * modify it under the terms of the GNU General Public License as | |
14 * published by the Free Software Foundation, either version 3 of the | |
15 * License, or (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, but | |
18 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
20 * General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Public License | |
23 * along with this program. If not, see http://www.gnu.org/licenses/. | |
24 **/ | |
25 | |
26 | |
8
26c08ff926a3
added warning about auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
27 // WARNING: Auto-generated file. Do not modify it by hand. |
26c08ff926a3
added warning about auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
28 |
0 | 29 /** |
30 * The memory layout of the pixels of an image. | |
31 **/ | |
32 public enum PixelFormat { | |
33 /** | |
34 * Graylevel 8bpp image. The image is graylevel. Each pixel is unsigned and stored | |
35 * in one byte. | |
36 **/ | |
37 GRAYSCALE8(1), | |
38 /** | |
39 * Graylevel, unsigned 16bpp image. The image is graylevel. Each pixel is unsigned | |
40 * and stored in two bytes. | |
41 **/ | |
42 GRAYSCALE16(2), | |
43 /** | |
44 * Graylevel, signed 16bpp image. The image is graylevel. Each pixel is signed and | |
45 * stored in two bytes. | |
46 **/ | |
47 SIGNED_GRAYSCALE16(3), | |
48 /** | |
49 * Color image in RGB24 format. This format describes a color image. The pixels are | |
50 * stored in 3 consecutive bytes. The memory layout is RGB. | |
51 **/ | |
52 RGB24(4), | |
53 /** | |
54 * Color image in RGBA32 format. This format describes a color image. The pixels | |
55 * are stored in 4 consecutive bytes. The memory layout is RGBA. | |
56 **/ | |
57 RGBA32(5), | |
58 /** | |
59 * Unknown pixel format | |
60 **/ | |
61 UNKNOWN(6), | |
62 /** | |
63 * Color image in RGB48 format. This format describes a color image. The pixels are | |
64 * stored in 6 consecutive bytes. The memory layout is RRGGBB. | |
65 **/ | |
66 RGB48(7), | |
67 /** | |
68 * Graylevel, unsigned 32bpp image. The image is graylevel. Each pixel is unsigned | |
69 * and stored in four bytes. | |
70 **/ | |
71 GRAYSCALE32(8), | |
72 /** | |
73 * Graylevel, floating-point 32bpp image. The image is graylevel. Each pixel is | |
74 * floating-point and stored in four bytes. | |
75 **/ | |
76 FLOAT32(9), | |
77 /** | |
78 * Color image in BGRA32 format. This format describes a color image. The pixels | |
79 * are stored in 4 consecutive bytes. The memory layout is BGRA. | |
80 **/ | |
81 BGRA32(10), | |
82 /** | |
83 * Graylevel, unsigned 64bpp image. The image is graylevel. Each pixel is unsigned | |
84 * and stored in eight bytes. | |
85 **/ | |
86 GRAYSCALE64(11); | |
87 | |
88 private int value; | |
89 | |
90 private PixelFormat(int value) { | |
91 this.value = value; | |
92 } | |
93 | |
94 /** | |
95 * Return the enumeration value that corresponds to an integer value of interest. | |
96 * @param value The integer value. | |
97 * @return The enumeration value. | |
98 **/ | |
99 protected static PixelFormat getInstance(int value) { | |
100 if (value == 1) { | |
101 return GRAYSCALE8; | |
102 } | |
103 if (value == 2) { | |
104 return GRAYSCALE16; | |
105 } | |
106 if (value == 3) { | |
107 return SIGNED_GRAYSCALE16; | |
108 } | |
109 if (value == 4) { | |
110 return RGB24; | |
111 } | |
112 if (value == 5) { | |
113 return RGBA32; | |
114 } | |
115 if (value == 6) { | |
116 return UNKNOWN; | |
117 } | |
118 if (value == 7) { | |
119 return RGB48; | |
120 } | |
121 if (value == 8) { | |
122 return GRAYSCALE32; | |
123 } | |
124 if (value == 9) { | |
125 return FLOAT32; | |
126 } | |
127 if (value == 10) { | |
128 return BGRA32; | |
129 } | |
130 if (value == 11) { | |
131 return GRAYSCALE64; | |
132 } | |
133 | |
134 throw new IllegalArgumentException("Value out of range for enumeration PixelFormat: " + value); | |
135 } | |
136 | |
137 /** | |
138 * Get the integer value corresponding to this enumeration value. | |
139 * @return The integer value. | |
140 **/ | |
141 public int getValue() { | |
142 return value; | |
143 } | |
144 } |