<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>gdal_alg.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.3-20001105 on Sat Dec 21 14:01:58 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>gdal_alg.h</h1><a href="gdal_alg_h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font> 00002 <font class="comment"> * $Id: gdal_alg_h-source.html,v 1.2 2002/12/21 19:13:12 warmerda Exp $</font> 00003 <font class="comment"> *</font> 00004 <font class="comment"> * Project: GDAL Image Processing Algorithms</font> 00005 <font class="comment"> * Purpose: Prototypes, and definitions for various GDAL based algorithms.</font> 00006 <font class="comment"> * Author: Frank Warmerdam, warmerdam@pobox.com</font> 00007 <font class="comment"> *</font> 00008 <font class="comment"> ******************************************************************************</font> 00009 <font class="comment"> * Copyright (c) 2001, Frank Warmerdam</font> 00010 <font class="comment"> *</font> 00011 <font class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</font> 00012 <font class="comment"> * copy of this software and associated documentation files (the "Software"),</font> 00013 <font class="comment"> * to deal in the Software without restriction, including without limitation</font> 00014 <font class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</font> 00015 <font class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</font> 00016 <font class="comment"> * Software is furnished to do so, subject to the following conditions:</font> 00017 <font class="comment"> *</font> 00018 <font class="comment"> * The above copyright notice and this permission notice shall be included</font> 00019 <font class="comment"> * in all copies or substantial portions of the Software.</font> 00020 <font class="comment"> *</font> 00021 <font class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS</font> 00022 <font class="comment"> * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</font> 00023 <font class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL</font> 00024 <font class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</font> 00025 <font class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</font> 00026 <font class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</font> 00027 <font class="comment"> * DEALINGS IN THE SOFTWARE.</font> 00028 <font class="comment"> ******************************************************************************</font> 00029 <font class="comment"> *</font> 00030 <font class="comment"> * $Log: gdal_alg_h-source.html,v $ 00030 <font class="comment"> * Revision 1.2 2002/12/21 19:13:12 warmerda 00030 <font class="comment"> * updated 00030 <font class="comment"> *</font> 00031 <font class="comment"> * Revision 1.9 2002/12/09 18:56:10 warmerda</font> 00032 <font class="comment"> * added missing CPL_DLL</font> 00033 <font class="comment"> *</font> 00034 <font class="comment"> * Revision 1.8 2002/12/09 16:08:32 warmerda</font> 00035 <font class="comment"> * added approximating transformer</font> 00036 <font class="comment"> *</font> 00037 <font class="comment"> * Revision 1.7 2002/12/07 22:58:42 warmerda</font> 00038 <font class="comment"> * added initialization support for simple warper</font> 00039 <font class="comment"> *</font> 00040 <font class="comment"> * Revision 1.6 2002/12/07 17:09:38 warmerda</font> 00041 <font class="comment"> * added order flag to GenImgProjTransformer</font> 00042 <font class="comment"> *</font> 00043 <font class="comment"> * Revision 1.5 2002/12/06 21:43:12 warmerda</font> 00044 <font class="comment"> * tweak prototypes</font> 00045 <font class="comment"> *</font> 00046 <font class="comment"> * Revision 1.4 2002/12/05 21:44:35 warmerda</font> 00047 <font class="comment"> * fixed prototype</font> 00048 <font class="comment"> *</font> 00049 <font class="comment"> * Revision 1.3 2002/12/05 05:43:28 warmerda</font> 00050 <font class="comment"> * added warp/transformer definition</font> 00051 <font class="comment"> *</font> 00052 <font class="comment"> * Revision 1.2 2001/02/02 21:19:25 warmerda</font> 00053 <font class="comment"> * added CPL_DLL for functions</font> 00054 <font class="comment"> *</font> 00055 <font class="comment"> * Revision 1.1 2001/01/22 22:30:59 warmerda</font> 00056 <font class="comment"> * New</font> 00057 <font class="comment"> */</font> 00058 00059 <font class="preprocessor">#ifndef GDAL_ALG_H_INCLUDED</font> 00060 <font class="preprocessor"></font><font class="preprocessor">#define GDAL_ALG_H_INCLUDED</font> 00061 <font class="preprocessor"></font> 00068 <font class="preprocessor">#include "<a class="code" href="gdal_h.html">gdal.h</a>"</font> 00069 00070 CPL_C_START 00071 00072 <font class="keywordtype">int</font> CPL_DLL GDALComputeMedianCutPCT( GDALRasterBandH hRed, 00073 GDALRasterBandH hGreen, 00074 GDALRasterBandH hBlue, 00075 <font class="keywordtype">int</font> (*pfnIncludePixel)(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">void</font>*), 00076 <font class="keywordtype">int</font> nColors, 00077 GDALColorTableH hColorTable, 00078 GDALProgressFunc pfnProgress, 00079 <font class="keywordtype">void</font> * pProgressArg ); 00080 00081 <font class="keywordtype">int</font> CPL_DLL GDALDitherRGB2PCT( GDALRasterBandH hRed, 00082 GDALRasterBandH hGreen, 00083 GDALRasterBandH hBlue, 00084 GDALRasterBandH hTarget, 00085 GDALColorTableH hColorTable, 00086 GDALProgressFunc pfnProgress, 00087 <font class="keywordtype">void</font> * pProgressArg ); 00088 00089 <font class="comment">/*</font> 00090 <font class="comment"> * Warp Related.</font> 00091 <font class="comment"> */</font> 00092 00093 <font class="keyword">typedef</font> <font class="keywordtype">int</font> 00094 (*GDALTransformerFunc)( <font class="keywordtype">void</font> *pTransformerArg, 00095 <font class="keywordtype">int</font> bDstToSrc, <font class="keywordtype">int</font> nPointCount, 00096 <font class="keywordtype">double</font> *x, <font class="keywordtype">double</font> *y, <font class="keywordtype">double</font> *z, <font class="keywordtype">int</font> *panSuccess ); 00097 00098 <font class="comment">/* High level transformer for going from image coordinates on one file</font> 00099 <font class="comment"> to image coordiantes on another, potentially doing reprojection, </font> 00100 <font class="comment"> utilizing GCPs or using the geotransform. */</font> 00101 00102 <font class="keywordtype">void</font> CPL_DLL * 00103 GDALCreateGenImgProjTransformer( GDALDatasetH hSrcDS, <font class="keyword">const</font> <font class="keywordtype">char</font> *pszSrcWKT, 00104 GDALDatasetH hDstDS, <font class="keyword">const</font> <font class="keywordtype">char</font> *pszDstWKT, 00105 <font class="keywordtype">int</font> bGCPUseOK, <font class="keywordtype">double</font> dfGCPErrorThreshold, 00106 <font class="keywordtype">int</font> nOrder ); 00107 <font class="keywordtype">void</font> CPL_DLL GDALDestroyGenImgProjTransformer( <font class="keywordtype">void</font> * ); 00108 <font class="keywordtype">int</font> CPL_DLL GDALGenImgProjTransform( 00109 <font class="keywordtype">void</font> *pTransformArg, <font class="keywordtype">int</font> bDstToSrc, <font class="keywordtype">int</font> nPointCount, 00110 <font class="keywordtype">double</font> *x, <font class="keywordtype">double</font> *y, <font class="keywordtype">double</font> *z, <font class="keywordtype">int</font> *panSuccess ); 00111 00112 <font class="comment">/* Geo to geo reprojection transformer. */</font> 00113 <font class="keywordtype">void</font> CPL_DLL * 00114 GDALCreateReprojectionTransformer( <font class="keyword">const</font> <font class="keywordtype">char</font> *pszSrcWKT, 00115 <font class="keyword">const</font> <font class="keywordtype">char</font> *pszDstWKT ); 00116 <font class="keywordtype">void</font> CPL_DLL GDALDestroyReprojectionTransformer( <font class="keywordtype">void</font> * ); 00117 <font class="keywordtype">int</font> CPL_DLL GDALReprojectionTransform( 00118 <font class="keywordtype">void</font> *pTransformArg, <font class="keywordtype">int</font> bDstToSrc, <font class="keywordtype">int</font> nPointCount, 00119 <font class="keywordtype">double</font> *x, <font class="keywordtype">double</font> *y, <font class="keywordtype">double</font> *z, <font class="keywordtype">int</font> *panSuccess ); 00120 00121 <font class="comment">/* GCP based transformer ... forward is to georef coordinates */</font> 00122 <font class="keywordtype">void</font> CPL_DLL * 00123 <a class="code" href="gdal_alg_h.html#a9">GDALCreateGCPTransformer</a>( <font class="keywordtype">int</font> nGCPCount, <font class="keyword">const</font> <a class="code" href="struct_GDAL_GCP.html">GDAL_GCP</a> *pasGCPList, 00124 <font class="keywordtype">int</font> nReqOrder, <font class="keywordtype">int</font> bReversed ); 00125 <font class="keywordtype">void</font> CPL_DLL <a class="code" href="gdal_alg_h.html#a10">GDALDestroyGCPTransformer</a>( <font class="keywordtype">void</font> *pTransformArg ); 00126 <font class="keywordtype">int</font> CPL_DLL <a class="code" href="gdal_alg_h.html#a11">GDALGCPTransform</a>( 00127 <font class="keywordtype">void</font> *pTransformArg, <font class="keywordtype">int</font> bDstToSrc, <font class="keywordtype">int</font> nPointCount, 00128 <font class="keywordtype">double</font> *x, <font class="keywordtype">double</font> *y, <font class="keywordtype">double</font> *z, <font class="keywordtype">int</font> *panSuccess ); 00129 00130 <font class="comment">/* Approximate transformer */</font> 00131 <font class="keywordtype">void</font> CPL_DLL * 00132 GDALCreateApproxTransformer( GDALTransformerFunc pfnRawTransformer, 00133 <font class="keywordtype">void</font> *pRawTransformerArg, <font class="keywordtype">double</font> dfMaxError ); 00134 <font class="keywordtype">void</font> CPL_DLL GDALDestroyApproxTransformer( <font class="keywordtype">void</font> *pApproxArg ); 00135 <font class="keywordtype">int</font> CPL_DLL GDALApproxTransform( 00136 <font class="keywordtype">void</font> *pTransformArg, <font class="keywordtype">int</font> bDstToSrc, <font class="keywordtype">int</font> nPointCount, 00137 <font class="keywordtype">double</font> *x, <font class="keywordtype">double</font> *y, <font class="keywordtype">double</font> *z, <font class="keywordtype">int</font> *panSuccess ); 00138 00139 00140 00141 00142 <font class="keywordtype">int</font> CPL_DLL GDALSimpleImageWarp( GDALDatasetH hSrcDS, 00143 GDALDatasetH hDstDS, 00144 <font class="keywordtype">int</font> nBandCount, <font class="keywordtype">int</font> *panBandList, 00145 GDALTransformerFunc pfnTransform, 00146 <font class="keywordtype">void</font> *pTransformArg, 00147 GDALProgressFunc pfnProgress, 00148 <font class="keywordtype">void</font> *pProgressArg, 00149 <font class="keywordtype">char</font> **papszWarpOptions ); 00150 00151 CPLErr CPL_DLL 00152 GDALSuggestedWarpOutput( GDALDatasetH hSrcDS, 00153 GDALTransformerFunc pfnTransformer, 00154 <font class="keywordtype">void</font> *pTransformArg, 00155 <font class="keywordtype">double</font> *padfGeoTransformOut, 00156 <font class="keywordtype">int</font> *pnPixels, <font class="keywordtype">int</font> *pnLines ); 00157 00158 00159 CPL_C_END 00160 00161 <font class="preprocessor">#endif </font><font class="comment">/* ndef GDAL_ALG_H_INCLUDED */</font> </div></pre><hr><address><small>Generated at Sat Dec 21 14:01:58 2002 for GDAL by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="doxygen.gif" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.3-20001105 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>