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/MedianDoubleFilter.java
MedianDoubleFilter.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 |
/** |
... | ... | |
35 | 36 |
public class MedianDoubleFilter extends MedianFilter { |
36 | 37 |
private double[] window = null; |
37 | 38 |
|
38 |
public MedianDoubleFilter(){ |
|
39 |
public MedianDoubleFilter() {
|
|
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 double[sizeWindow]; |
49 | 46 |
rasterResult = DefaultRasterManager.getInstance().createBuffer(Buffer.TYPE_DOUBLE, 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++) { |
... | ... | |
72 | 65 |
} |
73 | 66 |
} |
74 | 67 |
|
75 |
/* |
|
76 |
* (non-Javadoc) |
|
77 |
* @see org.gvsig.raster.grid.filter.correction.MedianFilter#getInRasterDataType() |
|
78 |
*/ |
|
79 | 68 |
public int getInRasterDataType() { |
80 | 69 |
return RasterBuffer.TYPE_DOUBLE; |
81 | 70 |
} |
82 | 71 |
|
83 |
/* |
|
84 |
* (non-Javadoc) |
|
85 |
* @see org.gvsig.raster.grid.filter.RasterFilter#getOutRasterDataType() |
|
86 |
*/ |
|
87 | 72 |
public int getOutRasterDataType() { |
88 | 73 |
return RasterBuffer.TYPE_DOUBLE; |
89 | 74 |
} |
Also available in: Unified diff