01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2003-2006, Geotools Project Managment Committee (PMC)
05: * (C) 2003, 2ie Technologie
06: *
07: * This library is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation; either
10: * version 2.1 of the License, or (at your option) any later version.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: */
17: package org.geotools.image.jai;
18:
19: // JAI dependencies
20: import javax.media.jai.OperationDescriptorImpl;
21: import javax.media.jai.registry.RenderedRegistryMode;
22:
23: /**
24: * The descriptor for the {@link Hysteresis} operation.
25: *
26: * @since 2.1
27: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/coverage/src/main/java/org/geotools/image/jai/HysteresisDescriptor.java $
28: * @version $Id: HysteresisDescriptor.java 20970 2006-08-11 07:53:22Z jgarnett $
29: * @author Lionel Flahaut
30: */
31: public class HysteresisDescriptor extends OperationDescriptorImpl {
32: /**
33: * The operation name, which is {@value}.
34: */
35: public static final String OPERATION_NAME = "org.geotools.Hysteresis";
36:
37: /**
38: * Constructs the descriptor.
39: */
40: public HysteresisDescriptor() {
41: super (
42: new String[][] {
43: { "GlobalName", OPERATION_NAME },
44: { "LocalName", OPERATION_NAME },
45: { "Vendor", "org.geotools" },
46: { "Description", "Thresholding by hysteresis" },
47: { "DocURL", "http://www.geotools.org/" }, // TODO: provides more accurate URL
48: { "Version", "1.0" },
49: { "arg0Desc",
50: "The low threshold value, inclusive." },
51: { "arg1Desc",
52: "The high threshold value, inclusive." },
53: { "arg2Desc",
54: "The value to give to filtered pixel." } },
55: new String[] { RenderedRegistryMode.MODE_NAME },
56: 1,
57: new String[] { "low", "high", "padValue" }, // Argument names
58: new Class[] { Double.class, Double.class, Double.class }, // Argument classes
59: new Object[] { NO_PARAMETER_DEFAULT,
60: NO_PARAMETER_DEFAULT, new Double(0) }, null // No restriction on valid parameter values.
61: );
62: }
63: }
|