Revision 5441 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/Histogram.java

View differences:

Histogram.java
22 22
 */
23 23
package org.gvsig.raster.lib.buffer.api;
24 24

  
25
import org.gvsig.tools.task.SimpleTaskStatus;
26 25

  
27 26

  
28 27
/**
29 28
 * @author fdiaz
30 29
 *
31 30
 */
32
public interface Histogram {
31
public interface Histogram extends Iterable<HistogramBand> {
33 32

  
34 33
    /**
35 34
     * Obtiene el n?mero de bandas del histograma
36 35
     * @return entero que representa el n?mero de bandas
37 36
     */
38
    public int getNumBands();
37
    public int size();
39 38

  
40 39
    /**
41
     * Obtiene la longitud (n?mero de valores) de una banda determinada
42
     * @param band Banda o obtener la longitud
43
     * @return entero con la longitud de la banda
44
     * rangos de valores y DataclassList.
40
     * @param i
41
     * @return
45 42
     */
46
    public int getBandLenght(int band);
43
    public HistogramBand get(int band);
44
//
45
//    /**
46
//     * Realiza la uni?n entre el histograma actual y el pasado
47
//     * por par?metro.
48
//     * @param hist
49
//     * @return true if the union has been possible
50
//     */
51
//    public boolean union(Histogram hist);
47 52

  
48 53
    /**
49
     * Obtiene el tipo de datos del histograma original
50
     *
51
     * @return el tipo de datos del histograma original
52
     */
53
    public int getDataType();
54

  
55
    /**
56
     * Obtiene un valor del histograma segun la posicion dentro de las clases
57
     * @param band N?mero de banda del valor a recuperar
58
     * @param pos Pixel o valor de la clase del valor a recuperar
59
     *
60
     * @return valor
61
     */
62
    public double getHistogramValueByPos(int band, int pos);
63

  
64
    /**
65
     * Obtiene un valor del histograma
66
     * @param band N?mero de banda del valor a recuperar
67
     * @param px Pixel o valor de la clase del valor a recuperar
68
     * @return valor
69
     */
70
    public double getHistogramValue(int band, double px);
71

  
72
    /**
73
     * Realiza la uni?n entre el histograma actual y el pasado
74
     * por par?metro.
75
     * @param hist
76
     * @return true if the union has been possible
77
     */
78
    public boolean union(Histogram hist);
79

  
80
    /**
81 54
     * Obtiene la tabla de valores
82 55
     *
83 56
     * @return la tabla de valores
......
92 65
     */
93 66
    public long[][] getNegativeTable();
94 67

  
95
    /**
96
     * Devuelve el minimo valor del histograma
97
     *
98
     * @return el minimo valor del histograma
99
     */
100
    public double getMinimum();
68
//    /**
69
//     * Devuelve el minimo valor del histograma
70
//     *
71
//     * @return el minimo valor del histograma
72
//     */
73
//    public double getMinimum();
74
//
75
//    /**
76
//     * Devuelve el maximo valor del histograma
77
//     *
78
//     * @return el maximo valor del histograma
79
//     */
80
//    public double getMaximum();
101 81

  
102 82
    /**
103
     * Devuelve el maximo valor del histograma
104
     *
105
     * @return el maximo valor del histograma
106
     */
107
    public double getMaximum();
108

  
109
    /**
110 83
     * Obtiene el n?mero de valores o clases del histograma
111 84
     * @return entero que representa el n?mero de valores o clases del histograma
112 85
     */
......
119 92
     */
120 93
    public boolean isInRangeRGB();
121 94

  
122
    /**
123
     * Calculo de estad?sticas a partir de un histograma. El resultado de la funci?n es un array
124
     * bidimensional donde el primer ?ndice inndica la estadistica y el segundo el n?mero de banda.
125
     *
126
     * <UL>
127
     * <LI>m?nimo</LI>
128
     * <LI>m?ximo</LI>
129
     * <LI>media</LI>
130
     * <LI>mediana</LI>
131
     * <LI>N?mero de pixels</LI>
132
     * </UL>
133
     * @param histogram
134
     * @param beginPos Posici?n de inicio del histograma para contabilizar estadisticas
135
     * @param endPos Posici?n de fin del histograma para contabilizar estadisticas
136
     * @param bands bandas solicitadas. Cada elemento del vector representa una banda. Si est? a true se calcula la
137
     * estadistica para esa banda y si est? a false no se calcular?.
138
     *
139
     * @return las estad?sticas a partir del histograma.
140
     */
141
    public double[][] getBasicStats(double beginPos, double endPos, boolean[] bands);
95
//    /**
96
//     * Calcula las estad?sticas.
97
//     *
98
//     * @param status
99
//     */
100
//    public void calculate(SimpleTaskStatus status);
101
//
102
//    /**
103
//     * @return true if the histogram has been calculated
104
//     */
105
//    public boolean isCalculated();
142 106

  
143
    /**
144
     * Calculo de estad?sticas a partir de un histograma. El resultado de la funci?n es un array
145
     * bidimensional donde el primer ?ndice inndica la estadistica y el segundo el n?mero de banda.
146
     *
147
     * <UL>
148
     * <LI>m?nimo</LI>
149
     * <LI>m?ximo</LI>
150
     * <LI>media</LI>
151
     * <LI>mediana</LI>
152
     * <LI>N?mero de pixels</LI>
153
     * </UL>
154
     * @param histogram
155
     * @param bands bandas solicitadas. Cada elemento del vector representa una banda. Si est? a true se calcula la
156
     * estadistica para esa banda y si est? a false no se calcular?.
157
     *
158
     * @return las estad?sticas a partir del histograma.
159
     */
160
    public double[][] getBasicStats(boolean[] bands);
107
//    /**
108
//     * Devuelve los valores m?nimos de todas las bandas
109
//     *
110
//     * @return los valores m?nimos de todas las bandas
111
//     */
112
//    public double[] getMin();
113
//
114
//    /**
115
//     * Devuelve los valores m?nimos de todas las bandas
116
//     *
117
//     * @return los valores m?nimos de todas las bandas
118
//     */
119
//    public double[] getMax();
161 120

  
162
    /**
163
     * Calcula las estad?sticas.
164
     *
165
     * @param status
166
     */
167
    public void calculate(SimpleTaskStatus status);
168

  
169
    /**
170
     * @return true if the histogram has been calculated
171
     */
172
    public boolean isCalculated();
173

  
174
    /**
175
     * Devuelve los valores m?nimos de todas las bandas
176
     *
177
     * @return los valores m?nimos de todas las bandas
178
     */
179
    public double[] getMin();
180

  
181
    /**
182
     * Devuelve los valores m?nimos de todas las bandas
183
     *
184
     * @return los valores m?nimos de todas las bandas
185
     */
186
    public double[] getMax();
187

  
188
    /**
189
     * Devuelve el n?mero de valores de un intervalo
190
     *
191
     * @param band
192
     * @param interval
193
     * @return el n?mero de valores del intervalo
194
     */
195
    public int getValueCount(int band, int interval);
196

  
197
    /**
198
     * Devuelve el valor m?nimo de un intervalo
199
     *
200
     * @param band
201
     * @param interval
202
     * @return el valor m?nimo del intervalo
203
     */
204
    public int getIntervalMin(int band, int interval);
205

  
206
    /**
207
     * Devuelve el valor m?ximo de un intervalo
208
     *
209
     * @param band
210
     * @param interval
211
     * @return el valor m?ximo del intervalo
212
     */
213
    public int getIntervalMax(int band, int interval);
214

  
215

  
216

  
217 121
}

Also available in: Unified diff