Revision 2308 org.gvsig.raster/branches/org.gvsig.raster_dataaccess_refactoring/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/convolution/ConvolutionIntegerFilter.java

View differences:

ConvolutionIntegerFilter.java
22 22
package org.gvsig.raster.impl.grid.filter.convolution;
23 23

  
24 24
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
25
import org.gvsig.fmap.dal.coverage.exception.FilterAddException;
25 26
import org.gvsig.raster.impl.DefaultRasterManager;
26 27
import org.gvsig.raster.impl.buffer.RasterBuffer;
27 28
import org.gvsig.raster.impl.datastruct.Kernel;
......
34 35

  
35 36
public class ConvolutionIntegerFilter extends ConvolutionFilter {
36 37

  
37
	public ConvolutionIntegerFilter(){
38
	public ConvolutionIntegerFilter() {
38 39
		super();
39 40
	}
40 41
	/**
41 42
	 * @param Kernel a aplicar. En caso de que no se trate de un kernel definido en ConvolutionFilter, se puede pasar como
42 43
	 * parametro el kernel se pretende aplicar.
43 44
	 * **/
44
	public ConvolutionIntegerFilter(Kernel k){
45
	public ConvolutionIntegerFilter(Kernel k) {
45 46
		super();
46
		super.kernel=k;
47
		super.kernel = k;
47 48
	}
48 49

  
49
	public void pre(){
50
	public void pre() throws FilterAddException {
50 51
		super.pre();
51 52
		rasterResult = DefaultRasterManager.getInstance().createBuffer(Buffer.TYPE_INT, raster.getWidth(), raster.getHeight(), raster.getBandCount(), true);
52 53
	}
......
57 58
		int semiLado = (lado - 1) >> 1;
58 59
		double ventana[][] = new double[lado][lado];
59 60
		double resultConvolution = 0;
60
		for (int band = 0; band < raster.getBandCount(); band++) {
61
		for (int band = 0; band < numberOfBandsToProcess(); band++) {
61 62
			if ((col - semiLado >= 0) && (line - semiLado >= 0) && (col + semiLado < width) && (line + semiLado < height)) {
62 63
				for (int j = -semiLado; j <= semiLado; j++)
63 64
					for (int i = -semiLado; i <= semiLado; i++)
......
89 90
		return RasterBuffer.TYPE_INT;
90 91
	}
91 92

  
92

  
93
	/**
94
	 * @return  buffer resultante tras aplicar el filtro
95
	 * */
96
	public Object getResult(String name) {
97
		if (name.equals("raster"))
98
			return this.rasterResult;
99
		return null;
100
	}
101

  
102 93
}

Also available in: Unified diff