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/correction/MedianByteFilter.java

View differences:

MedianByteFilter.java
24 24
import java.util.Arrays;
25 25

  
26 26
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
27
import org.gvsig.fmap.dal.coverage.exception.FilterAddException;
27 28
import org.gvsig.raster.impl.DefaultRasterManager;
28 29
import org.gvsig.raster.impl.buffer.RasterBuffer;
29 30
/**
......
39 40
		super();
40 41
	}
41 42

  
42
	/*
43
	 * (non-Javadoc)
44
	 * @see org.gvsig.raster.grid.filter.correction.MedianFilter#pre()
45
	 */
46
	public void pre() {
43
	public void pre() throws FilterAddException {
47 44
		super.pre();
48 45
		window = new int[sizeWindow];
49 46
		rasterResult = DefaultRasterManager.getInstance().createBuffer(Buffer.TYPE_BYTE, raster.getWidth(), raster.getHeight(), raster.getBandCount(), true);
50 47
	}
51 48

  
52
	/*
53
	 * (non-Javadoc)
54
	 * @see org.gvsig.raster.grid.filter.correction.MedianFilter#process(int, int)
55
	 */
56 49
	public void process(int col, int line) {
57 50
		// Obtener el vector con la ventanas de muestras
58
		for (int band = 0; band < raster.getBandCount(); band++) {
51
		for (int band = 0; band < numberOfBandsToProcess(); band++) {
59 52
			int k = 0;
60 53
			for (int i = -halfSide; i <= halfSide; i++)
61 54
				for (int j = -halfSide; j <= halfSide; j++) {
......
70 63
			// Extraer los elementos centrales y asignarselos al pixel (x,y)
71 64
			rasterResult.setElem(line, col, band, (byte) window[k >> 1]);
72 65
		}
66
		
67
		writeAlphaBand(line, col);
73 68
	}
74 69

  
75
	/*
76
	 * (non-Javadoc)
77
	 * @see org.gvsig.raster.grid.filter.correction.MedianFilter#getInRasterDataType()
78
	 */
79 70
	public int getInRasterDataType() {
80 71
		return RasterBuffer.TYPE_BYTE;
81 72
	}
82 73

  
83
	/*
84
	 * (non-Javadoc)
85
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getOutRasterDataType()
86
	 */
87 74
	public int getOutRasterDataType() {
88 75
		return RasterBuffer.TYPE_BYTE;
89 76
	}

Also available in: Unified diff