Revision 5497
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/statistics/DefaultHistogram.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.lib.buffer.impl.statistics; |
2 | 2 |
|
3 |
import java.util.Arrays; |
|
3 | 4 |
import java.util.Iterator; |
4 | 5 |
|
5 |
import org.gvsig.raster.lib.buffer.api.Buffer; |
|
6 | 6 |
import org.gvsig.raster.lib.buffer.api.statistics.Histogram; |
7 | 7 |
import org.gvsig.raster.lib.buffer.api.statistics.HistogramBand; |
8 | 8 |
|
9 |
|
|
10 | 9 |
/** |
11 | 10 |
* @author fdiaz |
12 | 11 |
* |
13 | 12 |
*/ |
14 | 13 |
public class DefaultHistogram implements Histogram { |
15 | 14 |
|
16 |
|
|
17 | 15 |
private HistogramBand[] histogramBands; |
18 | 16 |
|
19 | 17 |
/** |
... | ... | |
25 | 23 |
|
26 | 24 |
@Override |
27 | 25 |
public Iterator<HistogramBand> iterator() { |
28 |
|
|
29 |
|
|
30 |
// TODO Auto-generated method stub |
|
31 |
return null; |
|
26 |
return Arrays.asList(histogramBands).iterator(); |
|
32 | 27 |
} |
33 | 28 |
|
34 | 29 |
@Override |
... | ... | |
45 | 40 |
public Object getTailTrimValue(double percent) { |
46 | 41 |
Object[] result = new Object[histogramBands.length]; |
47 | 42 |
for (int i = 0; i < histogramBands.length; i++) { |
48 |
result[i]=histogramBands[i].getTailTrimValue(percent);
|
|
43 |
result[i] = histogramBands[i].getTailTrimValue(percent);
|
|
49 | 44 |
} |
50 | 45 |
return result; |
51 | 46 |
} |
... | ... | |
54 | 49 |
public Object getTailTrimValue(int pos) { |
55 | 50 |
Object[] result = new Object[histogramBands.length]; |
56 | 51 |
for (int i = 0; i < histogramBands.length; i++) { |
57 |
result[i]=histogramBands[i].getTailTrimValue(pos);
|
|
52 |
result[i] = histogramBands[i].getTailTrimValue(pos);
|
|
58 | 53 |
} |
59 | 54 |
return result; |
60 | 55 |
} |
61 | 56 |
|
62 |
// @Override
|
|
63 |
// public long[][] getTable() {
|
|
64 |
// table = new long[histogramBands.length][]
|
|
65 |
// // TODO Auto-generated method stub
|
|
66 |
// return null;
|
|
67 |
// }
|
|
68 |
// |
|
69 |
// @Override
|
|
70 |
// public long[][] getNegativeTable() {
|
|
71 |
// // TODO Auto-generated method stub
|
|
72 |
// return null;
|
|
73 |
// }
|
|
57 |
// @Override
|
|
58 |
// public long[][] getTable() {
|
|
59 |
// table = new long[histogramBands.length][]
|
|
60 |
// // TODO Auto-generated method stub
|
|
61 |
// return null;
|
|
62 |
// }
|
|
63 |
//
|
|
64 |
// @Override
|
|
65 |
// public long[][] getNegativeTable() {
|
|
66 |
// // TODO Auto-generated method stub
|
|
67 |
// return null;
|
|
68 |
// }
|
|
74 | 69 |
|
75 |
// @Override
|
|
76 |
// public int getNumValues() {
|
|
77 |
// // TODO Auto-generated method stub
|
|
78 |
// return 0;
|
|
79 |
// }
|
|
80 |
// |
|
81 |
// @Override
|
|
82 |
// public boolean isInRangeRGB() {
|
|
83 |
// // TODO Auto-generated method stub
|
|
84 |
// return false;
|
|
85 |
// }
|
|
70 |
// @Override
|
|
71 |
// public int getNumValues() {
|
|
72 |
// // TODO Auto-generated method stub
|
|
73 |
// return 0;
|
|
74 |
// }
|
|
75 |
//
|
|
76 |
// @Override
|
|
77 |
// public boolean isInRangeRGB() {
|
|
78 |
// // TODO Auto-generated method stub
|
|
79 |
// return false;
|
|
80 |
// }
|
|
86 | 81 |
|
87 | 82 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/statistics/DefaultHistogramClass.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import org.gvsig.raster.lib.buffer.api.statistics.HistogramClass; |
4 | 4 |
|
5 |
/** |
|
6 |
* @author <a href="mailto:lmarques@disid.com">Lluis Marques</a> |
|
7 |
* |
|
8 |
*/ |
|
5 | 9 |
public class DefaultHistogramClass implements HistogramClass { |
6 | 10 |
|
7 | 11 |
double max; |
8 | 12 |
double min; |
9 | 13 |
long value; |
10 | 14 |
|
15 |
/** |
|
16 |
* Default constructor |
|
17 |
* |
|
18 |
* @param min |
|
19 |
* @param max |
|
20 |
*/ |
|
11 | 21 |
public DefaultHistogramClass(double min, double max) { |
12 |
this.value=0;
|
|
13 |
this.max=max;
|
|
14 |
this.min=min;
|
|
22 |
this.value = 0;
|
|
23 |
this.max = max;
|
|
24 |
this.min = min;
|
|
15 | 25 |
} |
16 | 26 |
|
17 | 27 |
@Override |
18 | 28 |
public boolean isIn(double value) { |
19 |
//value==min is for discrete values |
|
20 |
//second part is for intervals |
|
21 |
if ( value==min || (value>min && value<max ) ){
|
|
29 |
// value==min is for discrete values
|
|
30 |
// second part is for intervals
|
|
31 |
if (value == min || (value > min && value < max)) {
|
|
22 | 32 |
return true; |
23 |
}else{
|
|
33 |
} else {
|
|
24 | 34 |
return false; |
25 | 35 |
} |
26 | 36 |
} |
... | ... | |
32 | 42 |
|
33 | 43 |
@Override |
34 | 44 |
public void setMax(double max) { |
35 |
this.max=max;
|
|
45 |
this.max = max;
|
|
36 | 46 |
} |
37 | 47 |
|
38 | 48 |
@Override |
... | ... | |
42 | 52 |
|
43 | 53 |
@Override |
44 | 54 |
public void setMin(double min) { |
45 |
this.min=min;
|
|
55 |
this.min = min;
|
|
46 | 56 |
} |
47 | 57 |
|
48 | 58 |
@Override |
... | ... | |
52 | 62 |
|
53 | 63 |
@Override |
54 | 64 |
public void setValue(long value) { |
55 |
this.value=value;
|
|
65 |
this.value = value;
|
|
56 | 66 |
} |
57 | 67 |
|
58 | 68 |
@Override |
59 | 69 |
public void increment(long n) { |
60 |
this.value+=n;
|
|
70 |
this.value += n;
|
|
61 | 71 |
} |
62 | 72 |
|
63 | 73 |
@Override |
64 |
public int compareTo(Object o) {
|
|
65 |
if ( this.min-((HistogramClass)o).getMin() < 0){
|
|
74 |
public int compareTo(HistogramClass histogramClass) {
|
|
75 |
if (this.min - histogramClass.getMin() < 0) {
|
|
66 | 76 |
return -1; |
67 |
}else if ( this.min-((HistogramClass)o).getMin() > 0 ){
|
|
77 |
} else if (this.min - histogramClass.getMin() > 0) {
|
|
68 | 78 |
return 1; |
69 |
}else{
|
|
79 |
} else {
|
|
70 | 80 |
return 0; |
71 | 81 |
} |
72 | 82 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/statistics/DefaultStatistics.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.lib.buffer.impl.statistics; |
2 | 2 |
|
3 |
import java.util.Arrays; |
|
4 |
import java.util.Iterator; |
|
3 | 5 |
import java.util.List; |
4 | 6 |
|
5 | 7 |
import org.gvsig.raster.lib.buffer.api.Band; |
... | ... | |
198 | 200 |
return result; |
199 | 201 |
} |
200 | 202 |
|
203 |
@Override |
|
204 |
public Iterator<StatisticsBand> iterator() { |
|
205 |
return Arrays.asList(statisticsBands).iterator(); |
|
206 |
} |
|
207 |
|
|
201 | 208 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.api/src/main/java/org/gvsig/raster/lib/buffer/api/statistics/Histogram.java | ||
---|---|---|
36 | 36 |
*/ |
37 | 37 |
public int size(); |
38 | 38 |
|
39 |
/** |
|
40 |
* @param i |
|
41 |
* @return |
|
42 |
*/ |
|
43 |
public HistogramBand get(int band); |
|
39 |
// /**
|
|
40 |
// * @param i
|
|
41 |
// * @return
|
|
42 |
// */
|
|
43 |
// public HistogramBand get(int band);
|
|
44 | 44 |
// |
45 | 45 |
// /** |
46 | 46 |
// * Realiza la uni?n entre el histograma actual y el pasado |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.api/src/main/java/org/gvsig/raster/lib/buffer/api/statistics/HistogramClass.java | ||
---|---|---|
39 | 39 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
40 | 40 |
* |
41 | 41 |
*/ |
42 |
public interface HistogramClass extends Comparable{ |
|
42 |
public interface HistogramClass extends Comparable<HistogramClass>{
|
|
43 | 43 |
|
44 | 44 |
/** |
45 | 45 |
* Comprueba si el valor pasado por par?metro est? dentro del intervalo |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.api/src/main/java/org/gvsig/raster/lib/buffer/api/statistics/Statistics.java | ||
---|---|---|
29 | 29 |
* @author fdiaz |
30 | 30 |
* |
31 | 31 |
*/ |
32 |
public interface Statistics { |
|
32 |
public interface Statistics extends Iterable<StatisticsBand>{
|
|
33 | 33 |
|
34 | 34 |
/** |
35 | 35 |
* Gets the number of values by band |
Also available in: Unified diff