Revision 19491 trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/EcualizationByteFilter.java

View differences:

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