comparison gnv-artifacts/src/main/java/de/intevation/gnv/raster/KernelFilter.java @ 801:d766fe2d917a

More javadoc. gnv-artifacts/trunk@883 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 06 Apr 2010 16:53:43 +0000
parents 6cff63d0c434
children f953c9a559d8
comparison
equal deleted inserted replaced
800:db5b04ecb426 801:d766fe2d917a
3 import org.apache.log4j.Logger; 3 import org.apache.log4j.Logger;
4 4
5 import org.w3c.dom.Element; 5 import org.w3c.dom.Element;
6 6
7 /** 7 /**
8 * An implemenation of raster filters based on given kernels.
8 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> 9 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
9 */ 10 */
10 public class KernelFilter 11 public class KernelFilter
11 implements Filter 12 implements Filter
12 { 13 {
13 private static Logger log = Logger.getLogger(KernelFilter.class); 14 private static Logger log = Logger.getLogger(KernelFilter.class);
14 15
16 /**
17 * Implemens a factory which produces KernelFilters with Gauss kernels.
18 */
15 public static class GaussFactory 19 public static class GaussFactory
16 implements Filter.Factory 20 implements Filter.Factory
17 { 21 {
22 /**
23 * Default sigma of Gauss kernel: {@value}
24 */
18 public static final double DEFAULT_SIGMA = 1.0d; 25 public static final double DEFAULT_SIGMA = 1.0d;
26 /**
27 * Default radius of Gauss kernel: {@value}
28 */
19 public static final int DEFAULT_RADIUS = 5; 29 public static final int DEFAULT_RADIUS = 5;
20 30
31 /**
32 * Configured sigma.
33 */
21 protected double sigma; 34 protected double sigma;
35 /**
36 * Configured radius.
37 */
22 protected int radius; 38 protected int radius;
23 39
40 /**
41 * Default constructor.
42 */
24 public GaussFactory() { 43 public GaussFactory() {
25 sigma = DEFAULT_SIGMA; 44 sigma = DEFAULT_SIGMA;
26 radius = DEFAULT_RADIUS; 45 radius = DEFAULT_RADIUS;
27 } 46 }
28 47
52 public Filter create() { 71 public Filter create() {
53 return new KernelFilter(Raster.Kernel.createGauss(sigma, radius)); 72 return new KernelFilter(Raster.Kernel.createGauss(sigma, radius));
54 } 73 }
55 } // class GaussFactory 74 } // class GaussFactory
56 75
76 /**
77 * The kernel used by this filter.
78 */
57 protected Raster.Kernel kernel; 79 protected Raster.Kernel kernel;
58 80
81 /**
82 * Default constructor.
83 */
59 public KernelFilter() { 84 public KernelFilter() {
60 } 85 }
61 86
87 /**
88 * Constructor to create a filter with a given kernel.
89 * @param kernel The kernel to be used.
90 */
62 public KernelFilter(Raster.Kernel kernel) { 91 public KernelFilter(Raster.Kernel kernel) {
63 this.kernel = kernel; 92 this.kernel = kernel;
64 } 93 }
65 94
66 public Raster filter(Raster raster) { 95 public Raster filter(Raster raster) {

http://dive4elements.wald.intevation.org