📄 gradientmagnitude.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.4.2_13) on Tue Jun 05 11:36:23 GMT-05:00 2007 --><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><TITLE>GradientMagnitude (Geotools 2.3.x 2.3.2 API)</TITLE><META NAME="keywords" CONTENT="org.geotools.coverage.processing.operation.GradientMagnitude class"><META NAME="keywords" CONTENT="deriveGridCoverage()"><META NAME="keywords" CONTENT="deriveCategory()"><META NAME="keywords" CONTENT="deriveUnit()"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="GradientMagnitude (Geotools 2.3.x 2.3.2 API)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/GradientMagnitude.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/geotools/coverage/processing/operation/FilteredSubsample.html" title="class in org.geotools.coverage.processing.operation"><B>PREV CLASS</B></A> <A HREF="../../../../../org/geotools/coverage/processing/operation/Histogram.html" title="class in org.geotools.coverage.processing.operation"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="GradientMagnitude.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#nested_classes_inherited_from_class_org.geotools.coverage.processing.OperationJAI">NESTED</A> | <A HREF="#fields_inherited_from_class_OperationJAI">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.geotools.coverage.processing.operation</FONT><BR>Class GradientMagnitude</H2><PRE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/geotools/coverage/processing/AbstractOperation.html" title="class in org.geotools.coverage.processing">AbstractOperation</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/geotools/coverage/processing/Operation2D.html" title="class in org.geotools.coverage.processing">Operation2D</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/geotools/coverage/processing/OperationJAI.html" title="class in org.geotools.coverage.processing">OperationJAI</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>GradientMagnitude</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>Operation, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD></DL><HR><DL><DT>public class <B>GradientMagnitude</B><DT>extends <A HREF="../../../../../org/geotools/coverage/processing/OperationJAI.html" title="class in org.geotools.coverage.processing">OperationJAI</A></DL><P>Edge detector which computes the magnitude of the image gradient vector in two orthogonal directions. The result of the operation may be defined as: <p> <BLOCKQUOTE><CODE> dst[<var>x</var>][<var>y</var>][<var>b</var>] = <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Math.html#sqrt(double)" title="class or interface in java.lang">sqrt</A>( <strong>SH</strong>(<var>x</var>,<var>y</var>,<var>b</var>)<sup>2</sup> + <strong>SV</strong>(<var>x</var>,<var>y</var>,<var>b</var>)<sup>2</sup>) × <var>scale</var> </CODE></BLOCKQUOTE> <p> where and are the horizontal and vertical gradient images generated from band <var>b</var> of the source image by correlating it with the supplied orthogonal (horizontal and vertical) gradient masks. <p> Before to compute the gradients, the kernels are tested against artificials horizontal and vertical gradients of one <cite>unit of sample / unit of localization</cite>. For example: <p> <UL> <LI>For an image of elevation (meters) using a geographic coordinate system (degrees of latitude and longitude), the units are <strong>meters/degree</strong>.</LI> <LI>For an image of temperature (癈) using a projected coordinate system (kilometers), the units are <strong>癈/km</strong>.</LI> </UL> <p> Kernels are normalized by dividing all their coefficients by the result of this test. In other words, kernels are normalized in such a way that applying the operation on a horizontal or vertical gradient of 1 such "geophysical" units will give a result of 1. This is an attempt to give geophysical meaning to the numbers produced by the operation. This normalization depends of the coverage's <A HREF="../../../../../org/geotools/coverage/grid/GridCoverage2D.html#getGridGeometry()">grid geometry</A>. <p> <strong>NOTE:</strong> When the masks are symetric (e.g. Sobel, Prewitt (or Smoothed), isotropic, <cite>etc.</cite>), then the above-cited algorithm produces the same result than the "<cite>normalization factor</cite>" × "<cite>spatial factor</cite>" published by: <blockquote> Simpson, J.J. (1990), "<u>On the accurate detection and enhancement of oceanic features observed in satellite data</u>" <i>in</i> Remote sensing environment, <b>33:17-33</b>. </blockquote> However, for non-symetric masks (e.g. Kirsch), then a difference is found. <P><STRONG>Name:</STRONG> <CODE>"GradientMagnitude"</CODE><BR> <STRONG>JAI operator:</STRONG> <CODE>"<A HREF="http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/GradientMagnitudeDescriptor.html" title="class or interface in javax.media.jai.operator">GradientMagnitude</A>"</CODE><BR> <STRONG>Parameters:</STRONG></P> <table border='3' cellpadding='6' bgcolor='F4F8FF'> <tr bgcolor='#B9DCFF'> <th>Name</th> <th>Class</th> <th>Default value</th> <th>Minimum value</th> <th>Maximum value</th> </tr> <tr> <td></td> <td><A HREF="../../../../../org/geotools/coverage/grid/GridCoverage2D.html" title="class in org.geotools.coverage.grid"><CODE>GridCoverage2D</CODE></A></td> <td align="center">N/A</td> <td align="center">N/A</td> <td align="center">N/A</td> </tr> <tr> <td></td> <td><A HREF="http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/KernelJAI.html" title="class or interface in javax.media.jai"><CODE>KernelJAI</CODE></A></td> <td><A HREF="http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/KernelJAI.html#GRADIENT_MASK_SOBEL_HORIZONTAL" title="class or interface in javax.media.jai"><CODE>KernelJAI.GRADIENT_MASK_SOBEL_HORIZONTAL</CODE></A></td> <td align="center">N/A</td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -