Revision 11714 trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/LinearEnhancementFilter.java

View differences:

LinearEnhancementFilter.java
24 24
import org.gvsig.raster.dataset.properties.DatasetListStatistics;
25 25
import org.gvsig.raster.grid.filter.RasterFilter;
26 26

  
27

  
28 27
/**
29 28
 * Clase base para los filtros de realzado lineal. Lee el m?nimo y m?xmo de la clase
30 29
 * Statistic que ser?n calculados por PercentTailTrimFilter o ComputeMinMaxFilter dependiendo
......
34 33
 * removeExtrema est? a true.
35 34
 * @author Nacho Brodin (nachobrodin@gmail.com)
36 35
 */
37
public abstract class LinearEnhancementFilter extends RasterFilter {
36
public class LinearEnhancementFilter extends RasterFilter {
38 37
	public static String			genericName = "enhanced";
39 38
	
40 39
    protected double[] 			scale = new double[3];
......
68 67
        stats = (DatasetListStatistics) params.get("stats");
69 68
        removeEnds = ((Boolean) params.get("remove")).booleanValue();
70 69
        tailTrim = ((Double) params.get("tailTrim")).doubleValue();
71
        renderBands = (int[])params.get("renderBands");
72 70
        height = raster.getHeight();
73 71
        width = raster.getWidth();
74 72
        
75
        if(tailTrim != 0) { //Max y Min con recorte de colas
73
        if(tailTrim != 0){ //Max y Min con recorte de colas
76 74
        	double[][] tailTrimByBand = (double[][])stats.getTailTrimValue(tailTrim);
77 75
        	scale = new double[tailTrimByBand.length];
78 76
            offset = new double[tailTrimByBand.length];
79 77
        	minBandValue = new double[tailTrimByBand.length];
80 78
        	maxBandValue = new double[tailTrimByBand.length];
81
        	for(int i = 0; i < tailTrimByBand.length; i++) {
79
        	for(int i = 0; i < tailTrimByBand.length; i++){
82 80
        		minBandValue[i] = tailTrimByBand[i][0];
83 81
        		maxBandValue[i] = tailTrimByBand[i][1];
84 82
        	}
85
        } else {
83
        }else{
86 84
        	scale = new double[stats.getMin().length];
87 85
            offset = new double[stats.getMin().length];
88 86
	    	if (removeEnds) { //Si est? activado eliminar extremos gastamos el 2? m?ximo/m?nimo
......
96 94

  
97 95
        for (int i = 0; i < minBandValue.length; i++) {
98 96
            scale[i] = 255D / (maxBandValue[i] - minBandValue[i]);
99
            offset[i] = (255D * minBandValue[i]) / (minBandValue[i] - maxBandValue[i]);
97
            offset[i] = (255D * minBandValue[i]) / (minBandValue[i] -
98
                        maxBandValue[i]);
100 99
        }
101 100
        
102 101
        nbands = stats.getBandCount();
......
155 154
	 * @see org.gvsig.raster.grid.filter.IRasterFilter#getUIParams()
156 155
	 */
157 156
	public Params getUIParams() {
158
		return null;
157
		Params params = new Params();
158
		return params;
159 159
	}
160 160

  
161 161
	/*
......
181 181
					
182 182
    	}
183 183
	}
184

  
185
	/*
186
	 * (non-Javadoc)
187
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getInRasterDataType()
188
	 */
189
	public int getInRasterDataType() {
190
		return 0;
191
	}
192

  
193
	/*
194
	 * (non-Javadoc)
195
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getUIDefaultParams()
196
	 */
197
	public Params getUIDefaultParams() {
198
		Params params = new Params();
199
		return params;
200
	}
201

  
202
	/*
203
	 * (non-Javadoc)
204
	 * @see org.gvsig.raster.grid.filter.RasterFilter#process(int, int)
205
	 */
206
	public void process(int x, int y) {
207
	}
184 208
}

Also available in: Unified diff