Revision 21542 trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TestGdalByteHistogram.java

View differences:

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