Revision 21542 trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TestGdalByteHistogram.java
TestGdalByteHistogram.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.buffer; |
20 | 20 |
|
21 |
import java.io.File; |
|
22 |
|
|
21 | 23 |
import junit.framework.TestCase; |
22 | 24 |
|
23 | 25 |
import org.gvsig.raster.RasterLibrary; |
... | ... | |
26 | 28 |
import org.gvsig.raster.dataset.RasterDataset; |
27 | 29 |
import org.gvsig.raster.dataset.io.RasterDriverException; |
28 | 30 |
import org.gvsig.raster.datastruct.Histogram; |
29 |
|
|
30 | 31 |
/** |
31 | 32 |
* Test a un histograma de una imagen de 3 bandas de un byte por dato leido con gdal. |
32 | 33 |
* El test comprueba valores a lo largo de todo el histograma |
34 |
* |
|
33 | 35 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
34 |
* |
|
35 | 36 |
*/ |
36 |
public class TestGdalByteHistogram extends TestCase{ |
|
37 |
|
|
38 |
private String baseDir = "./test-images/"; |
|
39 |
private String path = baseDir + "miniRaster25x24.tif"; |
|
37 |
public class TestGdalByteHistogram extends TestCase { |
|
38 |
private String baseDir = "." + File.separator + "test-images" + File.separator; |
|
39 |
private String path = baseDir + "histograma.bmp"; |
|
40 | 40 |
private RasterDataset f = null; |
41 |
//private BufferFactory ds = null; |
|
42 | 41 |
|
43 |
public void start(){ |
|
42 |
public void start() {
|
|
44 | 43 |
this.setUp(); |
45 | 44 |
this.testStack(); |
46 | 45 |
} |
... | ... | |
49 | 48 |
System.err.println("TestGdalByteHistogram running..."); |
50 | 49 |
} |
51 | 50 |
|
52 |
static{ |
|
51 |
static {
|
|
53 | 52 |
RasterLibrary.wakeUp(); |
54 | 53 |
} |
55 | 54 |
|
56 |
public void testStack(){ |
|
55 |
public void testStack() {
|
|
57 | 56 |
try { |
58 | 57 |
f = RasterDataset.open(null, path); |
59 | 58 |
} catch (NotSupportedExtensionException e) { |
... | ... | |
61 | 60 |
} catch (RasterDriverException e) { |
62 | 61 |
e.printStackTrace(); |
63 | 62 |
} |
64 |
//ds = new BufferFactory(f);
|
|
63 |
// ds = new BufferFactory(f);
|
|
65 | 64 |
Histogram histogram = null; |
66 | 65 |
try { |
67 | 66 |
histogram = f.getHistogram().getHistogram(); |
67 |
histogram = Histogram.convertHistogramToRGB(histogram); |
|
68 | 68 |
} catch (FileNotOpenException e) { |
69 | 69 |
e.printStackTrace(); |
70 | 70 |
} catch (RasterDriverException e) { |
... | ... | |
72 | 72 |
} catch (InterruptedException e) { |
73 | 73 |
e.printStackTrace(); |
74 | 74 |
} |
75 |
//print(histogram);
|
|
75 |
print(histogram); |
|
76 | 76 |
resultTestR(histogram); |
77 | 77 |
resultTestG(histogram); |
78 | 78 |
resultTestB(histogram); |
79 | 79 |
} |
80 | 80 |
|
81 |
private void resultTestR(Histogram histogram){ |
|
82 |
assertEquals((int)histogram.getHistogramValue(0, 0), 16); |
|
83 |
assertEquals((int)histogram.getHistogramValue(0, 1), 4); |
|
84 |
assertEquals((int)histogram.getHistogramValue(0, 2), 0); |
|
85 |
assertEquals((int)histogram.getHistogramValue(0, 3), 0); |
|
86 |
assertEquals((int)histogram.getHistogramValue(0, 4), 4); |
|
87 |
assertEquals((int)histogram.getHistogramValue(0, 5), 0); |
|
88 |
assertEquals((int)histogram.getHistogramValue(0, 6), 0); |
|
89 |
assertEquals((int)histogram.getHistogramValue(0, 7), 0); |
|
90 |
assertEquals((int)histogram.getHistogramValue(0, 8), 0); |
|
91 |
assertEquals((int)histogram.getHistogramValue(0, 9), 4); |
|
92 |
assertEquals((int)histogram.getHistogramValue(0, 10), 0); |
|
93 |
|
|
94 |
assertEquals((int)histogram.getHistogramValue(0, 100), 0); |
|
95 |
assertEquals((int)histogram.getHistogramValue(0, 101), 0); |
|
96 |
assertEquals((int)histogram.getHistogramValue(0, 102), 4); |
|
97 |
assertEquals((int)histogram.getHistogramValue(0, 103), 2); |
|
98 |
assertEquals((int)histogram.getHistogramValue(0, 104), 0); |
|
99 |
|
|
100 |
assertEquals((int)histogram.getHistogramValue(0, 250), 2); |
|
101 |
assertEquals((int)histogram.getHistogramValue(0, 251), 0); |
|
102 |
assertEquals((int)histogram.getHistogramValue(0, 252), 0); |
|
103 |
assertEquals((int)histogram.getHistogramValue(0, 253), 0); |
|
104 |
assertEquals((int)histogram.getHistogramValue(0, 254), 0); |
|
105 |
assertEquals((int)histogram.getHistogramValue(0, 255), 0); |
|
106 |
} |
|
107 |
|
|
108 |
private void resultTestG(Histogram histogram){ |
|
109 |
assertEquals((int)histogram.getHistogramValue(1, 0), 2); |
|
110 |
assertEquals((int)histogram.getHistogramValue(1, 1), 0); |
|
111 |
assertEquals((int)histogram.getHistogramValue(1, 2), 0); |
|
112 |
assertEquals((int)histogram.getHistogramValue(1, 3), 1); |
|
113 |
assertEquals((int)histogram.getHistogramValue(1, 4), 1); |
|
114 |
assertEquals((int)histogram.getHistogramValue(1, 5), 0); |
|
115 |
assertEquals((int)histogram.getHistogramValue(1, 6), 2); |
|
116 |
assertEquals((int)histogram.getHistogramValue(1, 7), 8); |
|
117 |
assertEquals((int)histogram.getHistogramValue(1, 8), 0); |
|
118 |
assertEquals((int)histogram.getHistogramValue(1, 9), 0); |
|
119 |
assertEquals((int)histogram.getHistogramValue(1, 10), 0); |
|
120 |
|
|
121 |
assertEquals((int)histogram.getHistogramValue(1, 100), 2); |
|
122 |
assertEquals((int)histogram.getHistogramValue(1, 101), 8); |
|
123 |
assertEquals((int)histogram.getHistogramValue(1, 102), 6); |
|
124 |
assertEquals((int)histogram.getHistogramValue(1, 103), 2); |
|
125 |
assertEquals((int)histogram.getHistogramValue(1, 104), 10); |
|
126 |
|
|
127 |
assertEquals((int)histogram.getHistogramValue(1, 250), 0); |
|
128 |
assertEquals((int)histogram.getHistogramValue(1, 251), 0); |
|
129 |
assertEquals((int)histogram.getHistogramValue(1, 252), 0); |
|
130 |
assertEquals((int)histogram.getHistogramValue(1, 253), 0); |
|
131 |
assertEquals((int)histogram.getHistogramValue(1, 254), 4); |
|
132 |
assertEquals((int)histogram.getHistogramValue(1, 255), 0); |
|
133 |
} |
|
134 |
|
|
135 |
private void resultTestB(Histogram histogram){ |
|
136 |
assertEquals((int)histogram.getHistogramValue(2, 0), 25); |
|
137 |
assertEquals((int)histogram.getHistogramValue(2, 1), 4); |
|
138 |
assertEquals((int)histogram.getHistogramValue(2, 2), 1); |
|
139 |
assertEquals((int)histogram.getHistogramValue(2, 3), 0); |
|
140 |
assertEquals((int)histogram.getHistogramValue(2, 4), 0); |
|
141 |
assertEquals((int)histogram.getHistogramValue(2, 5), 0); |
|
142 |
assertEquals((int)histogram.getHistogramValue(2, 6), 0); |
|
143 |
assertEquals((int)histogram.getHistogramValue(2, 7), 2); |
|
144 |
assertEquals((int)histogram.getHistogramValue(2, 8), 0); |
|
145 |
assertEquals((int)histogram.getHistogramValue(2, 9), 0); |
|
146 |
assertEquals((int)histogram.getHistogramValue(2, 10), 2); |
|
147 |
|
|
148 |
assertEquals((int)histogram.getHistogramValue(2, 100), 0); |
|
149 |
assertEquals((int)histogram.getHistogramValue(2, 101), 6); |
|
150 |
assertEquals((int)histogram.getHistogramValue(2, 102), 6); |
|
151 |
assertEquals((int)histogram.getHistogramValue(2, 103), 2); |
|
152 |
assertEquals((int)histogram.getHistogramValue(2, 104), 0); |
|
153 |
|
|
154 |
assertEquals((int)histogram.getHistogramValue(2, 250), 2); |
|
155 |
assertEquals((int)histogram.getHistogramValue(2, 251), 0); |
|
156 |
assertEquals((int)histogram.getHistogramValue(2, 252), 0); |
|
157 |
assertEquals((int)histogram.getHistogramValue(2, 253), 0); |
|
158 |
assertEquals((int)histogram.getHistogramValue(2, 254), 2); |
|
159 |
assertEquals((int)histogram.getHistogramValue(2, 255), 0); |
|
81 |
private void resultTestR(Histogram histogram) { |
|
82 |
assertEquals((int) histogram.getHistogramValue(0, 0), 16); |
|
83 |
assertEquals((int) histogram.getHistogramValue(0, 1), 4); |
|
84 |
assertEquals((int) histogram.getHistogramValue(0, 2), 0); |
|
85 |
assertEquals((int) histogram.getHistogramValue(0, 3), 0); |
|
86 |
assertEquals((int) histogram.getHistogramValue(0, 4), 4); |
|
87 |
assertEquals((int) histogram.getHistogramValue(0, 5), 0); |
|
88 |
assertEquals((int) histogram.getHistogramValue(0, 6), 0); |
|
89 |
assertEquals((int) histogram.getHistogramValue(0, 7), 0); |
|
90 |
assertEquals((int) histogram.getHistogramValue(0, 8), 0); |
|
91 |
assertEquals((int) histogram.getHistogramValue(0, 9), 4); |
|
92 |
assertEquals((int) histogram.getHistogramValue(0, 10), 0); |
|
93 |
|
|
94 |
assertEquals((int) histogram.getHistogramValue(0, 100), 0); |
|
95 |
assertEquals((int) histogram.getHistogramValue(0, 101), 0); |
|
96 |
assertEquals((int) histogram.getHistogramValue(0, 102), 4); |
|
97 |
assertEquals((int) histogram.getHistogramValue(0, 103), 2); |
|
98 |
assertEquals((int) histogram.getHistogramValue(0, 104), 0); |
|
99 |
|
|
100 |
assertEquals((int) histogram.getHistogramValue(0, 250), 2); |
|
101 |
assertEquals((int) histogram.getHistogramValue(0, 251), 0); |
|
102 |
assertEquals((int) histogram.getHistogramValue(0, 252), 0); |
|
103 |
assertEquals((int) histogram.getHistogramValue(0, 253), 0); |
|
104 |
assertEquals((int) histogram.getHistogramValue(0, 254), 0); |
|
105 |
assertEquals((int) histogram.getHistogramValue(0, 255), 0); |
|
160 | 106 |
} |
107 |
|
|
108 |
private void resultTestG(Histogram histogram) { |
|
109 |
assertEquals((int) histogram.getHistogramValue(1, 0), 2); |
|
110 |
assertEquals((int) histogram.getHistogramValue(1, 1), 0); |
|
111 |
assertEquals((int) histogram.getHistogramValue(1, 2), 0); |
|
112 |
assertEquals((int) histogram.getHistogramValue(1, 3), 1); |
|
113 |
assertEquals((int) histogram.getHistogramValue(1, 4), 1); |
|
114 |
assertEquals((int) histogram.getHistogramValue(1, 5), 0); |
|
115 |
assertEquals((int) histogram.getHistogramValue(1, 6), 2); |
|
116 |
assertEquals((int) histogram.getHistogramValue(1, 7), 8); |
|
117 |
assertEquals((int) histogram.getHistogramValue(1, 8), 0); |
|
118 |
assertEquals((int) histogram.getHistogramValue(1, 9), 0); |
|
119 |
assertEquals((int) histogram.getHistogramValue(1, 10), 0); |
|
120 |
|
|
121 |
assertEquals((int) histogram.getHistogramValue(1, 100), 2); |
|
122 |
assertEquals((int) histogram.getHistogramValue(1, 101), 8); |
|
123 |
assertEquals((int) histogram.getHistogramValue(1, 102), 6); |
|
124 |
assertEquals((int) histogram.getHistogramValue(1, 103), 2); |
|
125 |
assertEquals((int) histogram.getHistogramValue(1, 104), 10); |
|
126 |
|
|
127 |
assertEquals((int) histogram.getHistogramValue(1, 250), 0); |
|
128 |
assertEquals((int) histogram.getHistogramValue(1, 251), 0); |
|
129 |
assertEquals((int) histogram.getHistogramValue(1, 252), 0); |
|
130 |
assertEquals((int) histogram.getHistogramValue(1, 253), 0); |
|
131 |
assertEquals((int) histogram.getHistogramValue(1, 254), 4); |
|
132 |
assertEquals((int) histogram.getHistogramValue(1, 255), 0); |
|
133 |
} |
|
134 |
|
|
135 |
private void resultTestB(Histogram histogram) { |
|
136 |
assertEquals((int) histogram.getHistogramValue(2, 0), 25); |
|
137 |
assertEquals((int) histogram.getHistogramValue(2, 1), 4); |
|
138 |
assertEquals((int) histogram.getHistogramValue(2, 2), 1); |
|
139 |
assertEquals((int) histogram.getHistogramValue(2, 3), 0); |
|
140 |
assertEquals((int) histogram.getHistogramValue(2, 4), 0); |
|
141 |
assertEquals((int) histogram.getHistogramValue(2, 5), 0); |
|
142 |
assertEquals((int) histogram.getHistogramValue(2, 6), 0); |
|
143 |
assertEquals((int) histogram.getHistogramValue(2, 7), 2); |
|
144 |
assertEquals((int) histogram.getHistogramValue(2, 8), 0); |
|
145 |
assertEquals((int) histogram.getHistogramValue(2, 9), 0); |
|
146 |
assertEquals((int) histogram.getHistogramValue(2, 10), 2); |
|
147 |
|
|
148 |
assertEquals((int) histogram.getHistogramValue(2, 100), 0); |
|
149 |
assertEquals((int) histogram.getHistogramValue(2, 101), 6); |
|
150 |
assertEquals((int) histogram.getHistogramValue(2, 102), 6); |
|
151 |
assertEquals((int) histogram.getHistogramValue(2, 103), 2); |
|
152 |
assertEquals((int) histogram.getHistogramValue(2, 104), 0); |
|
153 |
|
|
154 |
assertEquals((int) histogram.getHistogramValue(2, 250), 2); |
|
155 |
assertEquals((int) histogram.getHistogramValue(2, 251), 0); |
|
156 |
assertEquals((int) histogram.getHistogramValue(2, 252), 0); |
|
157 |
assertEquals((int) histogram.getHistogramValue(2, 253), 0); |
|
158 |
assertEquals((int) histogram.getHistogramValue(2, 254), 2); |
|
159 |
assertEquals((int) histogram.getHistogramValue(2, 255), 0); |
|
160 |
} |
|
161 | 161 |
|
162 |
/*private void resultTestR(Histogram histogram){ |
|
163 |
assertEquals(histogram.getHistogramValue(0, 0), 16); |
|
164 |
assertEquals(histogram.getHistogramValue(0, 1), 4); |
|
165 |
assertEquals(histogram.getHistogramValue(0, 2), 0); |
|
166 |
assertEquals(histogram.getHistogramValue(0, 3), 0); |
|
167 |
assertEquals(histogram.getHistogramValue(0, 4), 4); |
|
168 |
assertEquals(histogram.getHistogramValue(0, 5), 0); |
|
169 |
assertEquals(histogram.getHistogramValue(0, 6), 0); |
|
170 |
assertEquals(histogram.getHistogramValue(0, 7), 0); |
|
171 |
assertEquals(histogram.getHistogramValue(0, 8), 0); |
|
172 |
assertEquals(histogram.getHistogramValue(0, 9), 4); |
|
173 |
assertEquals(histogram.getHistogramValue(0, 10), 0); |
|
174 |
|
|
175 |
assertEquals(histogram.getHistogramValue(0, 100), 0); |
|
176 |
assertEquals(histogram.getHistogramValue(0, 101), 0); |
|
177 |
assertEquals(histogram.getHistogramValue(0, 102), 4); |
|
178 |
assertEquals(histogram.getHistogramValue(0, 103), 2); |
|
179 |
assertEquals(histogram.getHistogramValue(0, 104), 0); |
|
180 |
|
|
181 |
assertEquals(histogram.getHistogramValue(0, 250), 2); |
|
182 |
assertEquals(histogram.getHistogramValue(0, 251), 0); |
|
183 |
assertEquals(histogram.getHistogramValue(0, 252), 0); |
|
184 |
assertEquals(histogram.getHistogramValue(0, 253), 0); |
|
185 |
assertEquals(histogram.getHistogramValue(0, 254), 0); |
|
186 |
assertEquals(histogram.getHistogramValue(0, 255), 0); |
|
187 |
} |
|
188 |
|
|
189 |
private void resultTestG(Histogram histogram){ |
|
190 |
assertEquals(histogram.getHistogramValue(1, 0), 2); |
|
191 |
assertEquals(histogram.getHistogramValue(1, 1), 0); |
|
192 |
assertEquals(histogram.getHistogramValue(1, 2), 0); |
|
193 |
assertEquals(histogram.getHistogramValue(1, 3), 1); |
|
194 |
assertEquals(histogram.getHistogramValue(1, 4), 1); |
|
195 |
assertEquals(histogram.getHistogramValue(1, 5), 0); |
|
196 |
assertEquals(histogram.getHistogramValue(1, 6), 2); |
|
197 |
assertEquals(histogram.getHistogramValue(1, 7), 8); |
|
198 |
assertEquals(histogram.getHistogramValue(1, 8), 0); |
|
199 |
assertEquals(histogram.getHistogramValue(1, 9), 0); |
|
200 |
assertEquals(histogram.getHistogramValue(1, 10), 0); |
|
201 |
|
|
202 |
assertEquals(histogram.getHistogramValue(1, 100), 2); |
|
203 |
assertEquals(histogram.getHistogramValue(1, 101), 8); |
|
204 |
assertEquals(histogram.getHistogramValue(1, 102), 6); |
|
205 |
assertEquals(histogram.getHistogramValue(1, 103), 2); |
|
206 |
assertEquals(histogram.getHistogramValue(1, 104), 10); |
|
207 |
|
|
208 |
assertEquals(histogram.getHistogramValue(1, 250), 0); |
|
209 |
assertEquals(histogram.getHistogramValue(1, 251), 0); |
|
210 |
assertEquals(histogram.getHistogramValue(1, 252), 0); |
|
211 |
assertEquals(histogram.getHistogramValue(1, 253), 0); |
|
212 |
assertEquals(histogram.getHistogramValue(1, 254), 2); |
|
213 |
assertEquals(histogram.getHistogramValue(1, 255), 2); |
|
214 |
} |
|
215 |
|
|
216 |
private void resultTestB(Histogram histogram){ |
|
217 |
assertEquals(histogram.getHistogramValue(2, 0), 25); |
|
218 |
assertEquals(histogram.getHistogramValue(2, 1), 4); |
|
219 |
assertEquals(histogram.getHistogramValue(2, 2), 1); |
|
220 |
assertEquals(histogram.getHistogramValue(2, 3), 0); |
|
221 |
assertEquals(histogram.getHistogramValue(2, 4), 0); |
|
222 |
assertEquals(histogram.getHistogramValue(2, 5), 0); |
|
223 |
assertEquals(histogram.getHistogramValue(2, 6), 0); |
|
224 |
assertEquals(histogram.getHistogramValue(2, 7), 2); |
|
225 |
assertEquals(histogram.getHistogramValue(2, 8), 0); |
|
226 |
assertEquals(histogram.getHistogramValue(2, 9), 0); |
|
227 |
assertEquals(histogram.getHistogramValue(2, 10), 2); |
|
228 |
|
|
229 |
assertEquals(histogram.getHistogramValue(2, 100), 0); |
|
230 |
assertEquals(histogram.getHistogramValue(2, 101), 6); |
|
231 |
assertEquals(histogram.getHistogramValue(2, 102), 6); |
|
232 |
assertEquals(histogram.getHistogramValue(2, 103), 2); |
|
233 |
assertEquals(histogram.getHistogramValue(2, 104), 0); |
|
234 |
|
|
235 |
assertEquals(histogram.getHistogramValue(2, 250), 2); |
|
236 |
assertEquals(histogram.getHistogramValue(2, 251), 0); |
|
237 |
assertEquals(histogram.getHistogramValue(2, 252), 0); |
|
238 |
assertEquals(histogram.getHistogramValue(2, 253), 0); |
|
239 |
assertEquals(histogram.getHistogramValue(2, 254), 2); |
|
240 |
assertEquals(histogram.getHistogramValue(2, 255), 0); |
|
241 |
} */ |
|
242 |
|
|
243 |
/*private void print(Histogram histogram){ |
|
162 |
public void print(Histogram histogram) { |
|
244 | 163 |
for (int i = 0; i < histogram.getNumBands(); i++) { |
245 |
for (int j = 0; j < histogram.getBandLenght(i); j++){ |
|
246 |
System.out.print(histogram.getHistogramValue(i, j) + " "); |
|
164 |
int cont = 0; |
|
165 |
for (int j = 0; j < histogram.getBandLenght(i); j++) { |
|
166 |
double var = histogram.getHistogramValue(i, j); |
|
167 |
if (var != 0) { |
|
168 |
System.out.println(j + ": " + var); |
|
169 |
cont += var; |
|
170 |
} |
|
247 | 171 |
} |
248 | 172 |
System.out.println(""); |
173 |
System.out.println(cont + " "); |
|
249 | 174 |
} |
250 |
}*/
|
|
175 |
} |
|
251 | 176 |
} |
Also available in: Unified diff