Mercurial > dive4elements > gnv-client
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) { |