Revision 19491 trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/EcualizationByteFilter.java
EcualizationByteFilter.java | ||
---|---|---|
33 | 33 |
*/ |
34 | 34 |
public void process(int col, int line) { |
35 | 35 |
for (int iBand = 0; iBand < raster.getBandCount(); iBand++) { |
36 |
int p = (int)(raster.getElemByte(line, col, iBand) & 0xff); |
|
36 |
int p = (int)(raster.getElemByte(line, col, iBand) & 0xff); |
|
37 |
if(!ecualizationActive(iBand)) { |
|
38 |
rasterResult.setElem(line, col, iBand, (byte)p); |
|
39 |
continue; |
|
40 |
} |
|
41 |
|
|
37 | 42 |
if (p > maxBandValue[renderBands[iBand]]) |
38 | 43 |
p = (int) maxBandValue[renderBands[iBand]]; |
39 | 44 |
else if (p < minBandValue[renderBands[iBand]]) |
40 | 45 |
p = (int) minBandValue[renderBands[iBand]]; |
41 |
|
|
42 |
long ecualizationPositive = lahe[renderBands[iBand]][p]; |
|
43 |
long ecualizationNegative = laheNegative[renderBands[iBand]][nElements - p];
|
|
46 |
|
|
47 |
long ecualizationPositive = lahe[renderBands[iBand]][p % histogram.getNumValues()];
|
|
48 |
long ecualizationNegative = laheNegative[renderBands[iBand]][nElements - (p % histogram.getNumValues())];
|
|
44 | 49 |
double value = ((nElements - ecualizationNegative) + ecualizationPositive) / 2; |
45 |
|
|
46 | 50 |
rasterResult.setElem(line, col, iBand, (byte)value); |
47 | 51 |
} |
48 | 52 |
} |
Also available in: Unified diff