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

Last change on this file since 157 was 157, checked in by navarro, 18 years ago

header improvements + xxx doc

File size: 18.2 KB
Line 
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>
9    <title>square2quadrilateral.pro (SAXO Documentation)</title>
10
11   
12    <style type="text/css" media="all">
13     
14/* CSS for all files which appear in the "main" viewing area: overview,
15   directory overviews, warnings, index, search, pro files, source
16   code, help, and etc files. */
17
18/* Link styles --------------------------------------------------------------- */
19
20a { text-decoration: none; }
21
22a:link, a:visited { 
23  color: #660000; 
24  border-bottom: 1px dotted #C0C0F0;   
25}
26
27a:hover, a:focus { 
28  color: #993333; 
29  background: #FFFFCC; 
30  border-bottom: 1px dotted #303099; 
31}
32
33
34/* Main styles --------------------------------------------------------------- */
35p.preformat {
36  font-family: Courier;
37}
38
39body {
40  margin: 0;
41  padding: 0;
42  font-size: 10pt;
43  font-family: Verdana, Helvetica, Arial, sans-serif;
44  background-color: #FFFFFF;
45}
46
47p {
48  margin-top: 0.5em;
49  margin-bottom: 0;
50}
51
52#container { margin: 1em; }
53
54code.section { white-space: pre; }
55
56pre.snippet {
57  margin-left: 5%;
58  background: #F0F0F0;
59  border: 1px dashed #999999;
60  width: 43em;
61  padding: 0.5em 0.5em 0.5em 0.5em;
62  white-space: pre;
63}
64
65/* Navbar styles ------------------------------------------------------------- */
66
67#navbar_title {
68  color: #000033;
69  background-color: #F0F0FF;
70  font-family: Arial, Helvetica, sans-serif;
71  padding: 20px 30px;
72  border-bottom: 1px solid #000033;
73}
74
75#navbar_title * {
76  margin: 0;
77  padding: 0;
78}
79
80#navbar_title h1 {
81  letter-spacing: 0.1em;
82  font-variant: small-caps;
83  font-size: 250%;
84  text-indent: -1em;
85  padding-left: 1em; 
86}
87
88#navbar_title h2 {
89  font-size: 110%;
90  font-weight: normal;
91  color: #333399;
92}
93
94#main_navbar table {
95  width: 100%;
96  border-bottom: 1px solid #666699;
97}
98
99#main_navbar td {
100  background: #CCCCFF;
101  font-size: 80%;
102  font-weight: bold;
103  font-family: Arial, Helvetica, sans-serif;
104  border-top: 3px solid #CCCCFF;
105  border-bottom: 3px solid #CCCCFF;
106  padding-left: 6px;
107  padding-right: 6px;
108  margin: 0;
109}
110
111#main_navbar td#selected {
112  background: #CCCCFF;
113  font-size: 80%;
114  font-weight: bold;
115  font-family: Arial, Helvetica, sans-serif;
116  border-top: 3px solid #333399;
117  border-bottom: 3px solid #CCCCFF;
118  padding-left: 6px;
119  padding-right: 6px;
120  margin: 0;
121}
122
123#main_navbar td#flexible {
124  width: 100%;
125  text-align: right;
126  padding-right: 1em;
127  background: #CCCCFF;
128  font-size: 70%;
129  font-weight: normal;
130  font-family: Arial, Helvetica, sans-serif;
131  text-transform: uppercase;
132  border-top: 3px solid #CCCCFF;
133  border-bottom: 3px solid #CCCCFF;
134}
135
136#main_navbar a:link, #main_navbar a:visited { color: #660000; border: 0; }
137
138#main_navbar a:hover, #main_navbar a:focus {
139  color: #FFFF66;
140  background: #CCCCFF;
141  border-bottom: 1px none #606099; 
142  border: 0;
143}
144
145#secondary_navbar {
146  font-size: 80%;
147  font-weight: normal;
148  font-family: Arial, Helvetica, sans-serif;
149  margin-top: 4px;
150  margin-left: 20px;
151  white-space: nowrap;
152}
153
154
155/* Tagline and footer styles ------------------------------------------------- */
156
157div#tagline {
158  margin-top: 6px;
159  border-top: 1px dotted lightsteelblue;
160  padding-top: 6px;
161  font-size: 66%;
162  font-style: italic;
163}
164
165div#footer {
166  margin-top: 6px;
167  border-top: 1px dotted lightsteelblue;
168  padding-top: 6px;
169  font-size: 66%;
170  font-style: italic;
171}
172
173/* Basic data presenation styles -------------------------------------------- */
174
175.index_letter { 
176  font-size: 300%;
177  font-weight: bold;
178  color: #000066; 
179  margin: 0.5em 0 0 -0.1em;
180}
181
182h1, h2, h3, h4 {
183  font-weight: normal;
184  color: #3333CC;
185}
186
187h1 {
188  padding-top: 0.75em;
189  font-size: 160%;
190}
191
192h2 {
193  padding-top: 1em;
194  font-size: 120%;
195  }
196
197h3 {
198  padding-top: 0.75em;
199  margin-bottom: 0.25em;
200  font-size: 100%;
201}
202
203h4 {
204  padding: 0;
205  margin: 0.5em 0 0 0;
206  font-size: 80%;
207}
208
209table.basic {
210  empty-cells: show;
211  margin: 1.5em 1em 0 1em;
212  border: 1px dotted #CFCFFF;
213  font-size: 80%;
214}
215
216table.basic th {
217  background-color: #F0F0FF;
218  font-weight: bold;
219  text-align: left;
220  padding: 4px 1em 4px 4px;
221  border-bottom: 1px dotted #666699;
222}
223
224table.basic td {
225  vertical-align: top;
226  padding: 4px 1em 4px 4px;
227}
228
229dd {
230  margin-bottom: 0.25em;
231  font-size: 80%;
232}
233
234
235/* Warnings styles ----------------------------------------------------------- */
236
237
238#todo dl, #bugs dl { 
239  margin: 0 0 0 1.5em;
240  font-size: 80%;
241}
242
243#todo dd, #bugs dd { 
244  margin-left: 3em; 
245  font-size: 100%;
246}
247
248#undoc table, #obsolete table, #statistics table {
249  width: 80%;
250  margin-left: 2em;
251}
252
253#undoc td, #obsolete td, #statistics td { 
254  padding: 0 0 0 0;
255  font-size: 80%;
256  white-space: nowrap;
257}
258
259#undoc td.docroutine, #obsolete td.obsroutine, #statistics td.statroutine { width: 50%; }
260
261#undoc td.docstat, #statistics td.stat { 
262  width: 50%;
263  text-align: right;
264}
265
266#undoc td.partialdoc, #statistics td.caution { color: #CC6600; }
267
268#undoc td.notdoc, #statistics td.warning { color: #993333; }
269
270/* File + routine styles ----------------------------------------------------- */
271
272h1.directory { 
273  padding: 1em 0 0 0;
274  margin: 0;
275  font-size: 66%;
276}
277
278h1.directory a { border-bottom: 0; }
279
280h2.pro_file { 
281  padding: 0;
282  margin: 0;
283  font-size: 140%;
284}
285
286div#file_attr {
287  padding: 0 1em 0 1em;
288  margin: 1em;
289  background: #F6F6F6;
290  border: 1px dotted #999999;
291}
292
293div#file_attr dt {
294  font-size: 80%;
295  font-weight: bold;
296}
297
298div#file_attr dd {
299  font-size: 80%;
300}
301
302div#class_diagram { 
303  padding: 1em 0 1em 0; 
304  white-space: pre;
305  font-family: 'Courier New';
306}
307
308table#sav_attr { 
309  font-size: 90%; 
310  margin: 1em; 
311  padding: 1em 1em 1em 1em;
312  background: #F6F6F6;
313  border: 1px dotted #999999;
314}
315
316table#sav_attr th { text-align: left; }
317
318table#sav_attr td { vertical-align: top; padding-right: 2em; }
319
320table#sav_attr td.value { width: 20em; padding-right: 0em; font-style: italic; }
321
322p.sav_warning { margin-left: 4em; font-family: 80%; }
323
324table.variables { 
325  font-family: 'Courier New', monospace; 
326  font-size: 80%; 
327  text-indent: -2em; 
328  padding-left: 2em; 
329}
330
331table.variables td.image { width: 64px; }
332
333div#file_comments { white-space: pre; 
334  margin: 2em;
335  font-size: 80%;
336}
337
338
339div.field_summary {
340  padding: 0 1em 0 1em;
341  margin: 1em;
342  background: #FFFFF0;
343  border: 1px dotted #C0C000;
344}
345
346div#routine_summary { 
347  padding: 0 1em 0 1em;
348  margin: 1em;
349  background: #F0F0FF;
350  border: 1px dotted #9999FF;
351}
352
353div.field_summary h2, div#routine_summary h2 { 
354  padding: 0.5em 0 0 0;
355  margin: 0;
356}
357
358div.field_summary table, div.field_summary p { 
359  margin: 1em 1em;
360}
361
362div.field_summary td.name { 
363  vertical-align: top;
364  padding-bottom: 0.25em;
365  color: #3333CC;
366}
367
368div.field_summary span.field_type { 
369  font-weight: normal;
370  font-size: 80%;
371  color: black;
372}
373
374div.field_summary td.comments { 
375  vertical-align: top;
376  padding-left: 2em;
377  font-size: 80%;
378}
379
380p.commaList { 
381  margin: 1em 1em 1em 1em;
382}
383
384span.warning { 
385  color: #CC6633;
386  font-weight: bold;
387  font-size: 66%;
388  text-transform: uppercase;
389}
390
391span.categories { 
392  color: #006633;
393  font-weight: bold;
394  font-size: 66%;
395  text-transform: uppercase;
396}
397
398span.undoc { 
399  color: #FF6633;
400  font-weight: bold;
401  font-size: 80%;
402  text-transform: uppercase;
403}
404
405span.attr { 
406  color: #006633;
407  font-weight: bold;
408  font-size: 80%;
409  text-transform: uppercase;
410}
411
412span.value { 
413  color: #006633;
414  font-weight: normal;
415  text-transform: none;
416}
417
418a.top { 
419  font-weight: bold;
420  font-size: 66%;
421  text-transform: uppercase;
422  float: right;
423}
424
425span.result { 
426  font-family: Verdana, Arial, Helvetica, sans-serif;
427  font-style: italic;
428  font-size: 80%;
429}
430
431div#routine_summary p, div.routine_details p.header { 
432  padding-top: 0.5em;
433  margin-left: 1.5em;
434  text-indent: -1.5em;
435  font-family: 'Courier New', monospace;
436}
437
438div.routine_details { 
439  padding: 0.5em 1em 0.5em 1em;
440  margin: 1em;
441  border: 1px dotted #CCCCCC;
442}
443
444div.routine_details h2 { 
445  padding-top: 0;
446  margin-top: 0;
447}
448
449div.routine_details div.value { 
450  margin: 0 1em 0 1em;
451  font-size: 80%;
452}
453
454div.routine_details div.comments { 
455  font-size: 80%;
456  margin: 0.75em 1em 1em 1em;
457}
458
459div.routine_details div.preformat { 
460  white-space: pre;
461}
462
463table.statistics { 
464  font-size: 80%;
465  margin-left: 1em;
466}
467
468table.statistics td { 
469  padding: 0 2em 0 0;
470}
471
472/* Overview styles ----------------------------------------------------------- */
473
474div.overview { 
475  width: 100%;
476  margin-top: 1em;
477  clear: both;
478}
479
480div.overview table {
481  empty-cells: show;
482  font-size: 90%;
483  margin: 1em 1em 1em 1em;
484  padding: 1em 0.5em 1em 0.5em;
485  background: #F6F6F6;
486  border: 1px dotted #999999;
487}
488
489div.overview td {
490  padding: 3px 1em 3px 1em;
491}
492
493div.overview td.dir {
494  width: 1%;
495  vertical-align: top;
496  text-align: right;
497  padding-right: 1em;
498}
499
500
501/* Navigation list styles for tree structures -------------------------------- */
502
503#tree {
504  text-align: left;
505  font-size: 90%;
506  margin: 0.75em 0 0.75em 0;
507  padding: 0;
508}
509
510#tree ul {
511  text-align: left;
512  margin: 0;
513  padding: 0;
514}
515
516#tree li {
517  margin: 0 0 0 15px;
518  padding: 0;
519  list-style-type: none;
520}
521
522#tree .symbols {
523  float: left;
524  width: 12px;
525  height: 1em;
526  padding-left: 4px;
527  background-position: 0 100%;
528  background-repeat: no-repeat;
529}
530
531/* Search styles ------------------------------------------------------------- */
532
533input.writein { 
534  padding-left: 0.5em;
535  border: 1px solid #CCCCCC;
536  font-family: 'Courier New';
537  background: #FFFFF3;
538}
539
540#search form { 
541  margin-left: 2em;
542}
543
544#search table { 
545  margin: 1em 1em 0 2em;
546  padding: 1em 2em 1em 2em;
547  background: #F6F6F6;
548  border: 1px dotted #999999;
549}
550
551#search tr { 
552  text-align: center;
553}
554
555#search td { 
556  font-size: 80%; 
557  text-align: left;
558}
559
560#search td * { 
561  vertical-align: middle;
562}
563
564#search p { 
565  font-size: 66%;
566  margin: 0 3em 2em 3em;
567}
568
569/* Help styles --------------------------------------------------------------- */
570
571div.toc { 
572  padding: 0 1em 0 1em;
573  margin: 1em;
574  background: #F0F0FF;
575  border: 1px dotted #9999FF; 
576  width: 19em;
577}
578
579div.right { 
580  float: right;
581  width: 22em;
582}
583
584ol.toc { 
585  list-style-type: upper-roman;
586}
587
588ol.toc ol { 
589  padding-left: 3em;
590  margin-left: 0;
591  list-style-type: lower-alpha;
592}
593
594dl.variables dt { font-size: 80%; }
595dl.variables dd { margin-bottom: 0.5em; }
596
597    </style>
598    <style type="text/css" media="print">
599      #navbar_title { 
600  background-color: #FFFFFF; 
601}
602
603#main_navbar td {
604  background: #FFFFFF;
605  border-top: 0.25em solid #FFFFFF;
606  border-bottom: 0.25em solid #FFFFFF;
607}
608
609#main_navbar td#selected {
610  background: #FFFFFF;
611  border-top: 0.25em solid #333399;
612  border-bottom: 0.25em solid #FFFFFF;
613}
614
615#main_navbar td#flexible {
616  background: #FFFFFF;
617  border-top: 0.25em solid #FFFFFF;
618  border-bottom: 0.25em solid #FFFFFF;
619}
620
621#secondary_navbar {
622  display: none;
623}
624
625    </style>
626   
627
628    <script type="text/javascript">
629      function setTitle() {
630        parent.document.title="square2quadrilateral.pro (SAXO Documentation)";
631      }
632    </script>
633  </head>
634
635  <body onload="setTitle();">
636
637    <div id="navbar_title">
638  <h1>SAXO Documentation</h1>
639</div>
640
641
642<div id="main_navbar">
643
644  <table cellspacing="0">
645    <tr>
646     
647      <td><a href="./../overview.html?format=raw" title="Overview of library">Overview</a></td>
648     
649
650     
651      <td >Directory</td>
652     
653
654     
655      <td><a href="./../idldoc-categories.html?format=raw" title="Browse library by category">Categories</a></td>
656     
657
658     
659      <td><a href="./../idldoc-index.html?format=raw" title="Index of files, routines, and parameters">Index</a></td>
660     
661
662     
663      <td><a href="./../search-page.html?format=raw" title="Search library">Search</a></td>
664     
665
666      <td id="selected">File</td>
667
668     
669      <td >Source</td>
670     
671
672     
673      <td><a href="./../idldoc-help.html?format=raw" title="Help on IDLdoc">Help</a></td>
674     
675
676      <td >Etc</td>
677
678      <td id="flexible">Developer&nbsp;documentation</td>
679    </tr>
680  </table>
681
682</div>
683
684<div id="secondary_navbar">
685
686<a href="spl_keep_mean.html?format=raw">&lt;&lt;prev file</a> | next file &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;<a href="square2quadrilateral.html?format=raw" target="_TOP">view single page</a> | <a href="./../index.html?format=raw" target="_TOP">view frames</a>&nbsp;&nbsp;&nbsp;&nbsp;summary: fields | routine&nbsp;&nbsp;&nbsp;&nbsp;details: <a href="#routine_details">routine</a>
687
688</div>
689
690
691    <div id="container">
692
693      <h1 class="directory"><a href="directory-overview.html?format=raw">Interpolation/</a></h1>
694      <h2 class="pro_file">square2quadrilateral.pro</h2>
695
696      <div id="file_attr">
697        <dl>
698        </dl>
699      </div>
700
701      <div id="file_comments">
702 warm (or map) a unit square onto an arbitrary quadrilateral
703 according to the 4-point correspondences:
704       (0,0) -> (x0,y0)
705       (1,0) -> (x1,y1)
706       (1,1) -> (x2,y2)
707       (0,1) -> (x3,y3)
708 The mapping is done using perspective transformation which preserve
709 lines in all orientations and permit quadrilateral to quadrilateral
710 mappings. see ref. bellow.
711</div>
712
713     
714
715     
716
717     
718
719     
720
721      <div id="routine_details">
722       
723
724        <div class="routine_details" id="_square2quadrilateral">
725
726          <h2><a class="top" href="#container">top</a>square2quadrilateral <span class="categories"> 
727 Picture, Grid
728</span></h2>
729       
730          <p class="header">
731            <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>)</p>
732       
733          <div class="comments">
734</div>
735
736          <h3>Return value</h3><div class="preformat">
737 (2,n) array: the new coodinates (xout, yout) of the (xin,yin)
738 point(s) after mapping.
739 If xin is a scalar, then n is equal to the number of elements of
740 x0. If xin is an array , then n is equal to the number of
741 elements of xin.
742 If xin and yin are omited, square2quadrilateral returns the
743 matrix A which is used for the inverse transformation.
744</div>
745
746         
747            <h3>Parameters</h3>
748       
749           
750            <h4 id="_square2quadrilateral_param_x0in">x0in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
751              <span class="attr">in</span>
752             
753             
754              <span class="attr">required</span>
755             
756             
757             
758             
759            </h4>
760       
761          <div class="comments"></div>
762           
763            <h4 id="_square2quadrilateral_param_y0in">y0in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
764              <span class="attr">in</span>
765             
766             
767              <span class="attr">required</span>
768             
769             
770             
771             
772            </h4>
773       
774          <div class="comments"></div>
775           
776            <h4 id="_square2quadrilateral_param_x1in">x1in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
777              <span class="attr">in</span>
778             
779             
780              <span class="attr">required</span>
781             
782             
783             
784             
785            </h4>
786       
787          <div class="comments"></div>
788           
789            <h4 id="_square2quadrilateral_param_y1in">y1in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
790              <span class="attr">in</span>
791             
792             
793              <span class="attr">required</span>
794             
795             
796             
797             
798            </h4>
799       
800          <div class="comments"></div>
801           
802            <h4 id="_square2quadrilateral_param_x2in">x2in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
803              <span class="attr">in</span>
804             
805             
806              <span class="attr">required</span>
807             
808             
809             
810             
811            </h4>
812       
813          <div class="comments"></div>
814           
815            <h4 id="_square2quadrilateral_param_y2in">y2in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
816              <span class="attr">in</span>
817             
818             
819              <span class="attr">required</span>
820             
821             
822             
823             
824            </h4>
825       
826          <div class="comments"></div>
827           
828            <h4 id="_square2quadrilateral_param_x3in">x3in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
829              <span class="attr">in</span>
830             
831             
832              <span class="attr">required</span>
833             
834             
835             
836             
837            </h4>
838       
839          <div class="comments"></div>
840           
841            <h4 id="_square2quadrilateral_param_y3in">y3in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
842              <span class="attr">in</span>
843             
844             
845              <span class="attr">required</span>
846             
847             
848             
849             
850            </h4>
851       
852          <div class="comments">
853 the coordinates of the quadrilateral (see above for correspondance with the
854 unit square).
855 Can be scalar or array.
856 (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are given in the anticlockwise order.
857
858</div>
859           
860            <h4 id="_square2quadrilateral_param_xxin">xxin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
861              <span class="attr">in</span>
862             
863              <span class="attr">optional</span>
864             
865             
866             
867             
868             
869            </h4>
870       
871          <div class="comments"></div>
872           
873            <h4 id="_square2quadrilateral_param_yyin">yyin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
874              <span class="attr">in</span>
875             
876              <span class="attr">optional</span>
877             
878             
879             
880             
881             
882            </h4>
883       
884          <div class="comments">
885 the coordinates of the point(s) for which we want to do the mapping.
886</div>
887           
888
889         
890
891         
892
893          <h3>Examples</h3><div class="preformat">
894
895 IDL> splot,[0,5],[0,3],/nodata,xstyle=1,ystyle=1
896 IDL> tracegrille, findgen(11)*.1, findgen(11)*.1,color=indgen(12)*20
897 IDL> xin = (findgen(11)*.1)#replicate(1, 11)
898 IDL> yin = replicate(1, 11)#(findgen(11)*.1)
899 IDL> out = square2quadrilateral(2,1,3,0,5,1,2,3, xin, yin)
900 IDL> tracegrille, reform(out[0,*],11,11), reform(out[1,*],11,11),color=indgen(12)*20
901</div>
902          <h3>Version history</h3>
903         
904          <h4>Version</h4><div class="preformat"> $Id: square2quadrilateral.pro 136 2006-07-10 15:20:19Z pinsard $
905</div>
906          <h4>History</h4><div class="preformat">
907      Sebastien Masson (smasson@lodyc.jussieu.fr)
908      August 2003
909      Based on "Digital Image Warping" by G. Wolberg
910      IEEE Computer Society Press, Los Alamitos, California
911      Chapter 3, see p 52-56
912
913</div>
914         
915         
916          <h3>Known issues</h3>
917         
918         
919         
920          <h4>Restrictions</h4><div class="preformat">
921 I think degenerated quadrilateral (e.g. flat of twisted) is not work.
922 This has to be tested.
923</div>
924       
925         
926         
927         
928         
929         
930         
931         
932       
933         
934       
935        </div>
936       
937      </div>
938
939     
940
941      <div id="tagline">Produced by IDLdoc 2.0.</div>
942
943    </div>
944
945  </body>
946</html>
Note: See TracBrowser for help on using the repository browser.