source: trunk/SRC/Documentation/idldoc_html_output/Interpolation/square2quadrilateral.html @ 363

Last change on this file since 363 was 363, checked in by smasson, 16 years ago

update documentation

File size: 8.9 KB
RevLine 
[89]1
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<!-- Generated by IDLdoc 2.0 -->
6
7<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
8  <head>
[104]9    <title>square2quadrilateral.pro (SAXO Documentation)</title>
[89]10
11   
[191]12    <link rel="stylesheet" type="text/css" media="all" href="./../main_files.css" />
13    <link rel="stylesheet" type="text/css" media="print" href="./../main_files_print.css" />
[89]14   
15
16    <script type="text/javascript">
17      function setTitle() {
[104]18        parent.document.title="square2quadrilateral.pro (SAXO Documentation)";
[89]19      }
20    </script>
21  </head>
22
23  <body onload="setTitle();">
24
25    <div id="navbar_title">
[104]26  <h1>SAXO Documentation</h1>
[89]27</div>
28
29
30<div id="main_navbar">
31
32  <table cellspacing="0">
33    <tr>
34     
[189]35      <td><a href="./../overview.html" title="Overview of library">Overview</a></td>
[89]36     
37
38     
39      <td >Directory</td>
40     
41
42     
[189]43      <td><a href="./../idldoc-categories.html" title="Browse library by category">Categories</a></td>
[89]44     
45
46     
[189]47      <td><a href="./../idldoc-index.html" title="Index of files, routines, and parameters">Index</a></td>
[89]48     
49
50     
[189]51      <td><a href="./../search-page.html" title="Search library">Search</a></td>
[89]52     
53
54      <td id="selected">File</td>
55
56     
[189]57      <td><a href="../../../Interpolation//square2quadrilateral.pro" title="Source code of a file">Source</a></td>
[89]58     
59
60     
[189]61      <td><a href="./../idldoc-help.html" title="Help on IDLdoc">Help</a></td>
[89]62     
63
64      <td >Etc</td>
65
66      <td id="flexible">Developer&nbsp;documentation</td>
67    </tr>
68  </table>
69
70</div>
71
72<div id="secondary_navbar">
73
[189]74<a href="spl_keep_mean.html">&lt;&lt;prev file</a> | next file &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;<a href="square2quadrilateral.html" target="_TOP">view single page</a> | <a href="./../index.html" target="_TOP">view frames</a>&nbsp;&nbsp;&nbsp;&nbsp;summary: fields | routine&nbsp;&nbsp;&nbsp;&nbsp;details: <a href="#routine_details">routine</a>
[89]75
76</div>
77
78
79    <div id="container">
80
[189]81      <h1 class="directory"><a href="directory-overview.html">Interpolation/</a></h1>
[89]82      <h2 class="pro_file">square2quadrilateral.pro</h2>
83
84      <div id="file_attr">
85        <dl>
86        </dl>
87      </div>
88
[138]89      <div id="file_comments">
90 warm (or map) a unit square onto an arbitrary quadrilateral
[101]91 according to the 4-point correspondences:
92       (0,0) -> (x0,y0)
93       (1,0) -> (x1,y1)
94       (1,1) -> (x2,y2)
95       (0,1) -> (x3,y3)
96 The mapping is done using perspective transformation which preserve
97 lines in all orientations and permit quadrilateral to quadrilateral
[363]98 mappings. see ref. below.
[101]99</div>
[89]100
101     
102
103     
104
105     
106
107     
108
109      <div id="routine_details">
110       
111
112        <div class="routine_details" id="_square2quadrilateral">
113
[234]114          <h2><a class="top" href="#container">top</a>square2quadrilateral <span class="categories">
[157]115 Picture, Grid
[138]116</span></h2>
[89]117       
118          <p class="header">
[290]119            <span class="result">result = </span>square2quadrilateral(<span class="result"><a href="#_square2quadrilateral_param_x0in">x0in</a>, <a href="#_square2quadrilateral_param_y0in">y0in</a>, <a href="#_square2quadrilateral_param_x1in">x1in</a>, <a href="#_square2quadrilateral_param_y1in">y1in</a>, <a href="#_square2quadrilateral_param_x2in">x2in</a>, <a href="#_square2quadrilateral_param_y2in">y2in</a>, <a href="#_square2quadrilateral_param_x3in">x3in</a>, <a href="#_square2quadrilateral_param_y3in">y3in</a>[, <a href="#_square2quadrilateral_param_xxin">xxin</a>][, <a href="#_square2quadrilateral_param_yyin">yyin</a>]</span>, <a href="#_square2quadrilateral_keyword_DOUBLE">DOUBLE</a>=<span class="result">salar 0 or 1</span>)</p>
[89]120       
121          <div class="comments">
[101]122</div>
[89]123
[138]124          <h3>Return value</h3><div class="preformat">
[242]125 (2,n) array: the new coordinates (xout,yout) of the (xin,yin)
[138]126 point(s) after mapping.
127 If xin is a scalar, then n is equal to the number of elements of
128 x0. If xin is an array , then n is equal to the number of
129 elements of xin.
[321]130 If xin and yin are omitted, <a href="..//Interpolation/square2quadrilateral.html">square2quadrilateral</a> returns the
[138]131 matrix A which is used for the inverse transformation.
[106]132</div>
133
[101]134         
135            <h3>Parameters</h3>
136       
137           
138            <h4 id="_square2quadrilateral_param_x0in">x0in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]139              <span class="attr">in</span>
[101]140             
141             
[106]142              <span class="attr">required</span>
[101]143             
144             
145             
146             
147            </h4>
148       
[138]149          <div class="comments"></div>
[101]150           
151            <h4 id="_square2quadrilateral_param_y0in">y0in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]152              <span class="attr">in</span>
[101]153             
154             
[106]155              <span class="attr">required</span>
[101]156             
157             
158             
159             
160            </h4>
161       
[138]162          <div class="comments"></div>
[101]163           
164            <h4 id="_square2quadrilateral_param_x1in">x1in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]165              <span class="attr">in</span>
[101]166             
167             
[106]168              <span class="attr">required</span>
[101]169             
170             
171             
172             
173            </h4>
174       
[138]175          <div class="comments"></div>
[101]176           
177            <h4 id="_square2quadrilateral_param_y1in">y1in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]178              <span class="attr">in</span>
[101]179             
180             
[106]181              <span class="attr">required</span>
[101]182             
183             
184             
185             
186            </h4>
187       
[138]188          <div class="comments"></div>
[101]189           
190            <h4 id="_square2quadrilateral_param_x2in">x2in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]191              <span class="attr">in</span>
[101]192             
193             
[106]194              <span class="attr">required</span>
[101]195             
196             
197             
198             
199            </h4>
200       
[138]201          <div class="comments"></div>
[101]202           
203            <h4 id="_square2quadrilateral_param_y2in">y2in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]204              <span class="attr">in</span>
[101]205             
206             
[106]207              <span class="attr">required</span>
[101]208             
209             
210             
211             
212            </h4>
213       
[138]214          <div class="comments"></div>
[101]215           
216            <h4 id="_square2quadrilateral_param_x3in">x3in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]217              <span class="attr">in</span>
[101]218             
219             
[106]220              <span class="attr">required</span>
[101]221             
222             
223             
224             
225            </h4>
226       
[138]227          <div class="comments"></div>
[101]228           
229            <h4 id="_square2quadrilateral_param_y3in">y3in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]230              <span class="attr">in</span>
[101]231             
232             
[106]233              <span class="attr">required</span>
[101]234             
235             
236             
237             
238            </h4>
239       
[138]240          <div class="comments">
[163]241 the coordinates of the quadrilateral (see above for correspondence with the
[138]242 unit square).
243 Can be scalar or array.
244 (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are given in the anticlockwise order.
[106]245</div>
[101]246           
247            <h4 id="_square2quadrilateral_param_xxin">xxin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]248              <span class="attr">in</span>
[101]249             
[121]250              <span class="attr">optional</span>
[101]251             
252             
253             
254             
255             
256            </h4>
257       
[290]258          <div class="comments">
259 first coordinates of the point(s) for which we want to do the mapping.</div>
[101]260           
261            <h4 id="_square2quadrilateral_param_yyin">yyin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[106]262              <span class="attr">in</span>
[101]263             
[121]264              <span class="attr">optional</span>
[101]265             
266             
267             
268             
269             
270            </h4>
271       
[138]272          <div class="comments">
[290]273 second coordinates of the point(s) for which we want to do the mapping.
[106]274</div>
[101]275           
[89]276
[101]277         
[89]278
[101]279         
[89]280
[290]281            <h3>Keywords</h3>
282           
283            <h4 id="_square2quadrilateral_keyword_DOUBLE">DOUBLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
284             
285             
286             
287             
288             
289              <span class="attr">type:</span> <span class="value">salar 0 or 1</span>
290              <span class="attr">default:</span> <span class="value">0</span>
291             
292            </h4>
293       
294            <div class="comments">
295 activate to perform double precision computation
296</div>
297           
298         
299
[138]300          <h3>Examples</h3><div class="preformat">
[89]301
[106]302 IDL> splot,[0,5],[0,3],/nodata,xstyle=1,ystyle=1
303 IDL> tracegrille, findgen(11)*.1, findgen(11)*.1,color=indgen(12)*20
304 IDL> xin = (findgen(11)*.1)#replicate(1, 11)
305 IDL> yin = replicate(1, 11)#(findgen(11)*.1)
306 IDL> out = square2quadrilateral(2,1,3,0,5,1,2,3, xin, yin)
307 IDL> tracegrille, reform(out[0,*],11,11), reform(out[1,*],11,11),color=indgen(12)*20
308</div>
309          <h3>Version history</h3>
[101]310         
[234]311          <h4>Version</h4><div class="preformat">
[363]312 $Id: square2quadrilateral.pro 358 2008-04-28 09:41:14Z pinsard $
[118]313</div>
[138]314          <h4>History</h4><div class="preformat">
[106]315      Sebastien Masson (smasson@lodyc.jussieu.fr)
316      August 2003
317      Based on "Digital Image Warping" by G. Wolberg
318      IEEE Computer Society Press, Los Alamitos, California
319      Chapter 3, see p 52-56
[138]320
[118]321</div>
[101]322         
323         
[106]324          <h3>Known issues</h3>
[101]325         
326         
327         
[138]328          <h4>Restrictions</h4><div class="preformat">
329 I think degenerated quadrilateral (e.g. flat of twisted) is not work.
330 This has to be tested.
[106]331</div>
[101]332       
333         
334         
335         
336         
337         
338         
339         
340       
[163]341          <h3>Statistics</h3>
342          <table class="statistics">
343            <tr><td>McCabe cyclic</td><td>          14</td></tr>
344            <tr><td>McCabe essential</td><td>           1</td></tr>
345            <tr><td>McCabe modular design</td><td>           1</td></tr>
346          </table>
[101]347         
348       
349        </div>
350       
[89]351      </div>
352
353     
354
355      <div id="tagline">Produced by IDLdoc 2.0.</div>
356
357    </div>
358
359  </body>
[249]360</html>
Note: See TracBrowser for help on using the repository browser.