source: trunk/src/uvmat_doc/uvmat_doc.html @ 37

Last change on this file since 37 was 37, checked in by sommeria, 14 years ago

create_grid.fig ,
uvmat_doc and all the included files added

File size: 124.2 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4
5
6
7
8 
9 
10 
11  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
12
13
14
15 
16
17
18 
19 
20 
21 
22 
23  <title>UVMAT HELP</title>
24  <meta name="GENERATOR" content="OpenOffice.org 2.0 (Win32)">
25
26
27
28
29 
30 
31 
32  <meta name="CREATED" content="20061204;18592299">
33
34
35
36
37 
38 
39 
40  <meta name="CHANGED" content="20061204;19435588">
41
42
43
44
45 
46 
47 
48  <meta name="DESCRIPTION" content="UVMAT HELP">
49
50
51
52
53 
54 
55 
56  <meta name="KEYWORDS" content="uvmat_doc">
57
58
59
60
61 
62 
63 
64  <meta name="resource-type" content="document">
65
66
67
68
69 
70 
71 
72  <meta name="distribution" content="global">
73
74
75
76
77 
78 
79 
80  <meta http-equiv="Content-Style-Type" content="text/css">
81<!--Converted with LaTeX2HTML 2002 (1.62) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><!--Navigation Panel-->
82</head>
83
84
85<body style="direction: ltr; width: 720px;" lang="en-US">
86
87
88
89
90<p><br>
91
92
93
94
95&nbsp;</p>
96
97
98
99
100<div style="text-align: center;"><a class="mozTocDIV" name="mozTocId399691"></a><big><big><big><b>UVMAT
101ON LINE HELP</b></big></big></big><a class="mozTocH1" name="top"></a></div>
102
103
104
105
106<p align="center"><b><i>Jo&euml;l
107Sommeria, revised March 2008</i></b></p>
108
109
110
111
112<ul id="mozToc">
113
114
115
116<!--mozToc h1 1 h2 2 h3 3--><li><a href="#mozTocId965242">1-Generalities:</a>
117   
118   
119   
120    <ul>
121
122
123
124      <li><a href="#mozTocId812052">1.1
125Aim:</a></li>
126
127
128
129      <li><a href="#mozTocId216298">1.2
130The package:</a></li>
131
132
133
134      <li><a href="#mozTocId428776">1.3
135Overview of the GUI uvmat.fig:</a></li>
136
137
138
139      <li><a href="#mozTocId783870">1.4
140General tools:</a></li>
141
142
143
144   
145   
146   
147    </ul>
148
149
150
151  </li>
152
153
154
155  <li><a href="#mozTocId805645">2
156Input files and navigation with uvmat:</a>
157   
158   
159   
160    <ul>
161
162
163
164      <li><a href="#mozTocId260505">2.1
165Input file naming and
166indexing:</a></li>
167
168
169
170      <li><a href="#mozTocId596391">2.2
171Comparing two fields:</a></li>
172
173
174
175      <li><a href="#mozTocId383799">2.3
176Documentation files (.xml):</a></li>
177
178
179
180      <li><a href="#mozTocId962678">2.4
181Navigation among file
182indices:</a></li>
183
184
185
186      <li><a href="#mozTocId130904">2.5
187Ancillary input files:</a></li>
188
189
190
191   
192   
193   
194    </ul>
195
196
197
198  </li>
199
200
201
202  <li><a href="#mozTocId314695">3
203Field representation (uvmat):&nbsp;</a>
204   
205   
206   
207    <ul>
208
209
210
211      <li><a href="#mozTocId187440">3.1
212Images and scalars:</a></li>
213
214
215
216      <li><a href="#mozTocId794224">3.2
217Vectors:</a></li>
218
219
220
221      <li><a href="#mozTocId356208">3.3
222Selecting fields from CIVx files:</a></li>
223
224
225
226      <li><a href="#mozTocId271098">3.4 Succession of operations:</a></li>
227
228
229
230      <li><a href="#mozTocId901896">3.5
231Histograms</a></li>
232
233
234
235      <li><a href="#mozTocId472013">3.6
236Viewing volume fields:**</a></li>
237
238
239
240   
241   
242   
243    </ul>
244
245
246
247  </li>
248
249
250
251  <li><a href="#mozTocId71913">4 The
252GUI get_field.fig:</a>
253   
254   
255   
256    <ul>
257
258
259
260      <li><a href="#mozTocId539613">4.1
261Overview:</a></li>
262
263
264
265      <li><a href="#mozTocId665737">4.2
2662D and 3D plots: </a></li>
267
268
269
270   
271   
272   
273    </ul>
274
275
276
277  </li>
278
279
280
281  <li><a href="#mozTocId71913">5
282Projection objects:</a>
283   
284   
285   
286    <ul>
287
288
289
290      <li><a href="#mozTocId113693">5-1
291Definition and editing with the uvmat interface:</a></li>
292
293
294
295      <li><a href="#mozTocId624817">5-2
296Object properties:</a></li>
297
298
299
300      <li><a href="#mozTocId680179">5-3
301Object plotting:</a></li>
302
303
304
305   
306   
307   
308    </ul>
309
310
311
312  </li>
313
314
315
316  <li><a href="#mozTocId529788">6
317Geometric
318calibration:</a>
319   
320   
321   
322    <ul>
323
324
325
326      <li><a href="#mozTocId348355">6-1 Generalities:</a></li>
327
328
329
330      <li><a href="#mozTocId348355">6-2
331The GUI geometry_calib.fig:</a></li>
332
333
334
335   
336   
337   
338    </ul>
339
340
341
342  </li>
343
344
345
346  <li><a href="#mozTocId574740">7
347Masks and grids:</a>
348   
349   
350   
351    <ul>
352
353
354
355      <li><a href="#mozTocId348355">7-1
356Masks:</a></li>
357
358
359
360      <li><a href="#mozTocId502619">7-2
361Grids:</a></li>
362
363
364
365   
366   
367   
368    </ul>
369
370
371
372  </li>
373
374
375
376  <li><a href="#mozTocId479237">8
377Operations on field series:</a>
378   
379   
380   
381    <ul>
382
383
384
385      <li><a href="#mozTocId856905">8-1
386The GUI series.fig:</a></li>
387
388
389
390      <li><a href="#mozTocId483256">8-2
391check_files:</a></li>
392
393
394
395      <li><a href="#mozTocId310092">8-3
396aver_stat:</a></li>
397
398
399
400      <li><a href="#mozTocId887562">8-4
401time_series:</a></li>
402
403
404
405      <li><a href="#mozTocId109414">8-5
406merge_proj:&nbsp;</a></li>
407
408
409
410      <li><a href="#mozTocId736727">8-6 more...:</a></li>
411
412
413
414      <li><a href="#mozTocId360245">Peaklocking
415errors:(to update
416**)</a></li>
417
418
419
420   
421   
422   
423    </ul>
424
425
426
427  </li>
428
429
430
431  <li><a href="#mozTocId280008">9
432The GUI editxml.fig:</a></li>
433
434
435
436  <li><a href="#mozTocId609725">10
437Particle Imaging Velocimetry (PIV)</a>
438   
439   
440   
441    <ul>
442
443
444
445      <li><a href="#mozTocId109414">10-1
446Civ operations:</a></li>
447
448
449
450      <li><a href="#mozTocId178080">10-2
451Codes for vector flags:</a></li>
452
453
454
455      <li><a href="#mozTocId109414">10-3
456RUN and BATCH:&nbsp;</a></li>
457
458
459
460      <li><a href="#mozTocId491591">10-4 Displacement between two
461image series: &nbsp;</a></li>
462
463
464
465      <li><a href="#mozTocId118098">10-5 Stereoscopic PIV: </a></li>
466
467
468
469      <li><a href="#mozTocId691001">10-6 3D PIV in a volume:(to be
470implemented**)</a></li>
471
472
473
474   
475   
476   
477    </ul>
478
479
480
481  </li>
482
483
484
485  <li><a href="#mozTocId280008">11
486LIF:(to update **)</a></li>
487
488
489
490  <li><a href="#mozTocId67078">About this
491document
492...</a></li>
493
494
495
496</ul>
497
498
499
500
501<br>
502
503
504
505
506<span style="text-decoration: underline;"></span><span style="text-decoration: underline;"></span>
507<h1><a class="mozTocH1" name="mozTocId965242"></a><a name="generalities2"></a><a name="generalities1"></a>1-Generalities:</h1>
508
509
510
511
512<h2><a class="mozTocH2" name="mozTocId812052"></a><a name="netcdf"></a><a name="aim"></a>1.1
513Aim:</h2>
514
515
516
517
518<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
519This Matlab toolbox is a set of
520Graphic User Interfaces (GUI) and related functions, designed to scan
521and
522analyse images, vector and scalar fields, in two or three dimensions.
523It can be used with a wide variety of input data:&nbsp;all image
524formats recognised by
525Matlab (function <span style="text-decoration: underline;">imread.m</span>),
526.avi movies
527(after installation of the appropriate codex), binary files with the
528format NetCDF. &nbsp;The&nbsp;package is
529however particularly designed for laboratory data obtained
530&nbsp;from
531imaging systems: it includes a GUI to run the Particle
532Image Velocimetry&nbsp;
533software CIVx of civproject, see <a href="http://www.civproject.org/documentation">http://www.civproject.org</a>,
534as well as tools for geometric calibration, masks, grid generation and
535image pre-processing (background removal), and editing of xml
536documentation files. Stereoscopic PIV, PIV-LIF
537and 3D PIV in a volume (still under development) are handled.&nbsp;</p>
538
539
540
541
542<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
543This package can be used
544without&nbsp;knowledge of
545the Matlab language, but it is&nbsp;designed to be complemented by
546user
547defined Matlab functions, providing flexibility for further data
548analysis. It provides&nbsp;convenient tools to manage a set of
549processing function with a standardized input-output system.</p>
550
551
552
553
554<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId216298"></a><a name="netcdf1"></a><a name="paquage"></a>1.2
555The package:</h2>
556
557
558
559
560<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
561&nbsp; The master program
562is a Matlab GUI, made of a
563Matlab figure <a href="FUNCTIONS_DOC/uvmat.html"><span style="text-decoration: underline;">uvmat.fig</span></a>
564and an associated set of functions in
565the file <span style="text-decoration: underline;">uvmat.m</span>. The menu bar at the top of the GUI, push
566buttons and editing box in the
567<span style="text-decoration: underline;">uvmat.fig</span>
568start the Matlab functions in <span style="text-decoration: underline;">uvmat.m</span>
569(Callback
570functions). The directory <span style="text-decoration: underline;">UVMAT</span>
571also contains the following set of GUI, which can be called by push
572buttons in
573<span style="text-decoration: underline;">uvmat.fig</span><strong style="font-weight: normal;"></strong>,
574or
575opened directly from the Matlab prompt.&nbsp;</p>
576
577
578
579
580<ul style="text-align: justify;">
581
582
583
584
585  <li> <strong><a href="FUNCTIONS_DOC/civ.html"><span style="text-decoration: underline; font-weight: normal;">civ.fig</span></a>:</strong>&nbsp;run
586the software for Particle Imaging Velocimetry&nbsp;CIVx </li>
587
588
589
590
591  <li><a href="FUNCTIONS_DOC/editxml.html"><span style="text-decoration: underline;">editxml.fig</span></a>:&nbsp;
592display and edit xml files according to xml schema</li>
593
594
595
596
597  <li><a href="FUNCTIONS_DOC/geometry_calib.html"><span style="text-decoration: underline;">geometry_calib.fig</span></a>:
598determines geometric calibration parameters for relating image to
599physical coordinates</li>
600
601
602
603
604  <li><a href="FUNCTIONS_DOC/get_field.html"><span style="text-decoration: underline;">get_field.fig</span></a><span style="font-weight: bold;">:</span> select coordinates
605and field in a general NetCDF file&nbsp;</li>
606
607
608
609
610  <li><a href="FUNCTIONS_DOC/series.html"><span style="text-decoration: underline;">series.fig</span></a><span style="font-weight: bold;">:</span> apply various
611processing functions to series of fields</li>
612
613
614
615
616  <li><a href="FUNCTIONS_DOC/set_grid.html"><span style="text-decoration: underline;">set_grid.fig</span></a><span style="font-weight: bold;">:</span> creates grids for
617PIV</li>
618
619
620
621
622  <li><a href="FUNCTIONS_DOC/set_object.html"><span style="text-decoration: underline;">set_object.fig</span></a><span style="font-weight: bold;">:</span> creates and edits
623geometric objects used to project data: points, lines, planes...</li>
624
625
626
627
628</ul>
629
630
631
632
633<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId277137"></a>&nbsp;&nbsp;&nbsp;
634Functions in the UVMAT
635directory are called by these GUIs.
636These are used to generate file names, read files and plot data, and
637perform various ancillary tasks. Type 'help fct_name' to get detail
638information on the function named fct_name, or open it with an editor. <br>
639
640
641
642
643<br>
644
645
646
647
648&nbsp;<span style="font-weight: bold; font-style: italic;">Help
649and
650documentation:</span> &nbsp; <br>
651
652
653
654
655&nbsp; &nbsp;&nbsp; To install the
656package, uncompress&nbsp; the whole directory UVMAT and read
657the instructions in the file&nbsp;<a href="README_INSTALL.txt"><span style="text-decoration: underline;">README_INSTALL.txt</span></a>
658contained in the sub-directory UVMAT_DOC.&nbsp;This directory also
659contains the current help file <span style="text-decoration: underline;">uvmat_doc.html</span>
660and a sub-directory <a href="FUNCTIONS_DOC/index.html">FUNCTIONS_DOC</a>
661with detail documention for all functions. Finally a tutorial <span style="text-decoration: underline;">UV_DEMO </span>is
662also available&nbsp;(outside UVMAT) with test data
663files.&nbsp;<br>
664
665
666
667
668&nbsp;&nbsp;&nbsp; &nbsp;The current help file is
669accessible on-line from each of the&nbsp;GUIs.&nbsp; A short
670comment about&nbsp; each GUI uicontrol (push buttons,
671edit
672boxes, menus..), as well as the name of this uicontrol, is provided as
673a tool tip window by moving the
674mouse over it. In this help document, the names of GUI uicontrols are
675quoted
676with <span style="font-weight: bold;">bold</span>
677characters, names of files in the package are <span style="text-decoration: underline;">underlined</span>,
678and text on the matlab workspace is under quotes ' &nbsp;'.
679Features not yet implemented or tested (in particular 3D features) are
680marked by **.<br>
681
682
683
684
685<br>
686
687
688
689
690<span style="font-weight: bold; font-style: italic;">Copyright
691and licence:</span> <br>
692
693
694
695
696Copyright Joel Sommeria, 2008, LEGI / CNRS-UJF-INPG,
697sommeria@coriolis-legi.org.<br>
698
699
700
701
702&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; The
703package UVMAT is free
704software; it can be redistributed and/or modified it under the terms of
705the GNU General Public License as published by the Free Software
706Foundation; either version 2 of the License, or (at your option) any
707later version.<br>
708
709
710
711
712&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UVMAT is
713distributed in the hope
714that it will be useful, but WITHOUT ANY WARRANTY; without even the
715implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
716PURPOSE. See theGNU General Public License (file&nbsp;<a href="COPYING.txt">COPYING.txt</a>) for more details.</div>
717
718
719
720
721<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId428776"></a><a name="netcdf2"></a><a name="opening"></a>1.3
722Overview of the GUI <span style="text-decoration: underline;">uvmat.fig</span>:</h2>
723
724
725
726
727<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
728Type 'uvmat' in the Matlab
729prompt to display
730the GUI.
731Then the path and date of the version of <span style="text-decoration: underline;">uvmat.m</span>
732used is
733displayed in the central display window. During opening, the
734program checks that the Matlab path to all the functions called by
735uvmat
736are in the
737same directory <span style="text-decoration: underline;">UVMAT</span>
738as <span style="text-decoration: underline;">uvmat.m</span>,
739using the function<span style="text-decoration: underline;">
740<a href="FUNCTIONS_DOC/check_functions.html">check_functions</a></span>.
741Indeed a function with a higher priority path
742could
743override a function of the toolbox with the same name (see the Matlab
744help 'help path'). The list of overridden functions is given in the
745central display window at the opening of the uvmat interface.</p>
746
747
748
749
750<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
751The name of each uicontrol
752(push
753buttons, edit boxes, menus..) on the GUI can be displayed in
754a&nbsp; tool tip window by moving the
755mouse over it: it is followed by a short help comment. The name is also
756displayed in the window&nbsp;<span style="font-weight: bold;">text_display_1</span>,
757at the upper right of the GUI. The red pushbuttons command the main
758actions, while the
759green ones command ancillary or help actions.&nbsp; Links with
760other
761interfaces are in magenta. &nbsp;The current activation of an
762uicontrol
763is indicated by a yellow color. </p>
764
765
766
767
768<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
769The menu bar <span style="font-weight: bold;">Open/Browse...</span>at
770the top
771left allows to browse the directories to open files. The last
772previously opened files can be also directly accessed in the same menu.
773After selection,
774the file names are decomposed into path, root name, index and
775extension,
776displayed in the top edit boxes.&nbsp;The input file name, as well
777as
778other personal information, &nbsp; is stored for convenience in a
779file (<span style="text-decoration: underline;">uvmat_perso.mat</span>)
780automatically created in the user preference directory of Matlab
781(indicated by the
782Matlab command 'prefdir'). Browsers then&nbsp; read default input
783in this file. A corruption of this file <span style="text-decoration: underline;">uvmat_perso.mat </span>may
784lead to problems for &nbsp;opening uvmat, type <a href="FUNCTIONS_DOC/reinit.html">reinit</a> on the
785Matlab prompt to delete it.</p>
786
787
788
789
790<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
791A choice of input field ( 'image',
792'velocity'... ) can be made by the menu <span style="font-weight: bold;">Fields</span>.&nbsp;</p>
793
794
795
796
797<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
798Two file series can be
799simultaneously opened and compared using the check box <span style="font-weight: bold;">SubField</span> (<span style="font-weight: bold;">'-'</span>) at
800the upper left.&nbsp;</p>
801
802
803
804
805<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
806Once a root name has been
807introduced, navigation among&nbsp; the file indices is provided by
808the push buttons&nbsp; <span style="font-weight: bold;">runplus</span>
809( '<span style="font-weight: bold;">-&gt;</span>')
810&nbsp;and&nbsp; <span style="font-weight: bold;">runmin</span>
811('<span style="font-weight: bold;">&lt;-</span>')
812at the upper left. The&nbsp;push button <span style="font-weight: bold;">REFRESH</span>
813reactualizes the current plot on the interface.&nbsp;</p>
814
815
816
817
818<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
819Parameters for the display of
820scalars/images and vector fields are
821defined in the frames <span style="font-weight: bold;">SCAL</span>
822and&nbsp;<span style="font-weight: bold;">VEC</span>
823respectively on the right
824side.&nbsp;</p>
825
826
827
828
829<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
830The push buttons&nbsp;<span style="font-weight: bold;">calib</span>.
831,&nbsp;<span style="font-weight: bold;">mask</span>,&nbsp;<span style="font-weight: bold;">grid</span> are used to
832create respectively a geometric calibration of the images, masks and
833grids used for PIV.</p>
834
835
836
837
838<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
839The button <span style="font-weight: bold;">CIV</span>
840opens the
841interface<span style="font-weight: bold;"> </span><span style="text-decoration: underline;">civ.fig</span><span style="font-weight: bold;"> </span>or Particle
842Imaging Velocimetry.&nbsp;The menu bar<span style="font-weight: bold;"> Run/Field series </span>opens the
843interface <span style="text-decoration: underline;">series.fig</span>
844for analysing field series. </p>
845
846
847
848
849<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId783870"></a>1.4
850General tools:</h2>
851
852
853
854
855<p style="text-align: justify;"><span style="font-weight: bold; font-style: italic;">Mouse
856motion:</span> the local
857coordinates and field values are obtained by moving the mouse over any
858plotting axes in the uvmat system. This is displayed in the four text
859boxes <span style="font-weight: bold;">text_display_1,
860_2, _3, _4</span> on the upper right.</p>
861
862
863
864
865<p style="text-align: justify;"><span style="font-weight: bold; font-style: italic;"><a name="Zoom"></a>Zoom:</span> a zoom rectangle
866can
867be cut in any plotting axes by pressing the mouse left button, moving
868the mouse while the button is pressed, and releasing the button to end
869the operation. The plot in the enclosed rectangular region is
870reproduced in a new figure. Zoom can be alternatively obtained in the
871initial figure by selecting the check box zoom on the right of the
872uvmat interface, and pressing the mouse left button on the figure. Zoom
873out by pressing the right mouse button<span style="font-style: italic;">. </span>The zoomed
874region can be translated&nbsp; through the initial field by
875pressing the directional arrows of the key board.</p>
876
877
878
879
880<p style="text-align: justify;"><span style="font-weight: bold; font-style: italic;"><a name="Zoom"></a>Other mouse operations:</span>
881if an object creation option is selected, or the options calib. or
882mask, mouse action products specific effects, see the corresponding
883sections. These actions&nbsp; override the zoom.&nbsp; </p>
884
885
886
887
888<p style="text-align: justify;"><span style="font-weight: bold; font-style: italic;">Keyboard
889short cuts:</span> the activation of the push buttons&nbsp; <span style="font-weight: bold;">runplus</span> ( '<span style="font-weight: bold;">-&gt;</span>')
890&nbsp;and&nbsp; <span style="font-weight: bold;">runmin</span>
891('<span style="font-weight: bold;">&lt;-</span>')
892can be performed by the key board short cuts 'p' and 'm' respectively,
893after initialisation by pressing the mouse on the uvmat interface.
894Similarly the command of the push button run0 can be performed by
895typing the return carriage key.</p>
896
897
898
899
900<p style="text-align: justify;">&nbsp;<span style="font-style: italic;"><span style="font-weight: bold;">Extracting graphs</span></span><span style="font-weight: bold; font-style: italic;">:</span>&nbsp;&nbsp;
901The current field is displayed in the central
902window, while their histograms are displayed in the lower left graphs.
903The field in the central window can be copied to a separate figure by
904the push button <span style="font-weight: bold;">extract_plot</span>
905on the right. This allows plot editing, exporting and printing, using
906standard Matlab graphic tools. It is also possible to extract a
907subregion of any graph&nbsp; by cutting a <a href="uvmat_doc.html#Zoom">zoom</a> rectangle with the
908mouse. The creation of <a href="uvmat_doc.html#ProjectionObject">projection
909objects</a>, with the buttons in the box <span style="font-weight: bold;">OBJECT, </span>provides
910alternative ways for extracting graphs. Movies in the avi format can be
911extracted using &nbsp;<span style="font-weight: bold;">Export/make movie avi</span> in the menu bar.</p>
912
913
914
915
916<p style="text-align: justify;">&nbsp;<span style="font-style: italic;"><span style="font-weight: bold;">Extracting data as Matlab arrays</span></span><span style="font-weight: bold; font-style: italic;">:</span>&nbsp;
917the data plotted in any figure&nbsp; can be made available in the
918Matlab workspace as global&nbsp; variables: for that purpose click
919on
920the corresponding axes with the right mouse button. The list of
921available fields is then displayed in a new figure, and the same list
922is printed on the Matlab workspace in the form of a Matlab structure
923'CurData'. An image or scalar matrix is for instance obtained as
924CurData.A.&nbsp;</p>
925
926
927
928
929<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId483726"></a>
930</div>
931
932
933
934
935<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId805645"></a><a name="file_input"></a>2
936Input files and navigation with uvmat:</h1>
937
938
939
940
941<p style="text-align: justify;"><a href="#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="#top">Back to the Top</a></p>
942
943
944
945
946<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId260505"></a><a name="nomenclature"></a>2.1
947Input file naming and
948indexing:</h2>
949
950
951
952
953<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
954A wide variety of input files,
955organised in
956indexed series, can be opened by uvmat. When a file name is selected by
957the browser, it is automatically split into a root path (filling
958the&nbsp;edit box <span style="font-weight: bold;">RootPath</span>),
959a subdirectory (edit box <span style="font-weight: bold;">SubDir</span>),
960a root name (edit box <span style="font-weight: bold;">RootFile</span>),
961an index suffix (edit box <span style="font-weight: bold;">FileIndex</span>),
962a file extension (edit box <span style="font-weight: bold;">FileExt</span>).
963Note that no blank is allowed in path and file names, to avoid possible
964errors in some processing software. The input file name can be directly
965entered and modified by these edit
966boxes, without the browser. The file indices can be then incremented or
967decremented&nbsp; by
968the navigation buttons <span style="font-weight: bold;">runmin</span>
969('<span style="font-weight: bold;">&lt;-</span>')
970and <span style="font-weight: bold;">runplus</span>
971( '<span style="font-weight: bold;">-&gt;</span>'),
972see <a href="#navigation">section 2.4</a>.</p>
973
974
975
976
977<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
978Different kinds of file
979indexing are recognised:</p>
980
981
982
983
984<ul style="text-align: justify;">
985
986
987
988
989  <li><span style="font-weight: bold;"><span style="font-style: italic;">Simple series:</span>&nbsp;</span></li>
990
991
992
993
994&nbsp;&nbsp;&nbsp;&nbsp; They are labeled
995by a single integer index <em>i</em>, with name obtained
996by concatenation of the full root ('RootPath'/'RootFile'), the suffix
997'_i', and the file extension<em></em> 'Ext'
998(example 'Exp1/aa_45.png'). Then the character transcription of
999the integer i must not begin by 0. Other indexing systems without the
1000suffix '_',are also recognized&nbsp;(e.g. 'Exp1/aa045.jpg' or
1001'Exp1/aa45.TIF'),&nbsp; but not recommended. Finally a simple
1002series
1003can be read from a single .avi movie file, with no file index. <li><span style="font-weight: bold; font-style: italic;">Double
1004series:</span>&nbsp;</li>
1005
1006
1007
1008
1009&nbsp;&nbsp;&nbsp; They are labeled
1010by two integer indices i and j, with names obtained by concatenating
1011the full root, the suffix '_i_j' and the file extension(e.g.
1012'Exp/aa_45_2.png'). This two index labeling is commonly used for
1013bursts of images (index
1014j) separated by longer time intervals (index i). &nbsp;It can be
1015also
1016used for successive volume scanning by a laser sheet, with index j
1017representing the position in the volume and i the time.&nbsp; <li><span style="font-weight: bold;"><span style="font-style: italic;">Derived file indexing:</span></span>&nbsp;</li>
1018
1019
1020
1021
1022&nbsp;&nbsp;&nbsp;&nbsp; New file series can result
1023from the processing of
1024primary series. For a processing involving each file sequentially, the
1025initial file index is naturally reproduced in the output series with
1026one to one correspondence.
1027 
1028 
1029 
1030  <p>&nbsp;&nbsp;&nbsp;
1031Other processing can involve file pairs, for
1032instance Particle Imaging Velocity producing a velocity field from an
1033image pair. In a simple series, the result from the two primary fields
1034*_<span style="font-style: italic;">i</span>1 and *_<span style="font-style: italic;">i</span>2 is then labeled
1035as *_<span style="font-style: italic;">i</span>1-<span style="font-style: italic;">i</span>2 with the file
1036extension indicating&nbsp; the output format. More generally,
1037&nbsp;the result from any processing involving
1038a range of primary indices <span style="font-style: italic;">i</span>1
1039to <span style="font-style: italic;">i</span>2&nbsp;
1040is&nbsp; labeled as
1041_<span style="font-style: italic;">i</span>1-<span style="font-style: italic;">i</span>2.</p>
1042
1043
1044
1045
1046 
1047 
1048 
1049  <p>&nbsp;&nbsp;&nbsp;
1050The same rule applies for double series.&nbsp;
1051For instance the file resulting from the comparison of the images 'root_<em>i</em>_<em>j</em>1.ext'
1052and 'root_<em>i</em>_<em>j2</em>.ext' is called
1053'root_<em>i</em>_<em>j</em>1-<em>j</em>2.nc',
1054while the result from the images 'root_<em>i</em>1_<em>j</em>.ext'
1055and 'root_<em>i</em>2_<em>j</em>.ext' is called
1056'root_<em>i</em>1-<em>i</em>2_<em>j</em>.nc'.&nbsp;More
1057generally, &nbsp;a file resulting from any processing involving
1058a range of primary indices<span style="font-style: italic;">
1059i</span>1 to<span style="font-style: italic;"> i</span>2
1060and <span style="font-style: italic;">j</span>1 to<span style="font-style: italic;"> j</span>2 is labeled as
1061*_<span style="font-style: italic;">i</span>1-<span style="font-style: italic;">i</span>2_j1-<span style="font-style: italic;">j</span>2. For instance,
1062this can be the result of the&nbsp;averaging from i1 to i2 of the
1063velocity fields&nbsp;'root_<em>i</em>_<em>j</em>1-<em>j</em>2.nc'
1064obtained from image pairs <span style="font-style: italic;">j</span>1-<span style="font-style: italic;">j</span>2 inside a
1065burst.&nbsp;</p>
1066
1067
1068
1069
1070 
1071 
1072 
1073  <p>&nbsp;&nbsp;&nbsp;
1074This derived file series is preferably stored in
1075a subdirectory of the primary file series, to clearly indicate the
1076filiation. Then the documentation file of the primary series also apply
1077to the derived one (for instance calibration data). In addition, a
1078specific documentation file named root.xml, containing the processing
1079parameters, can be introduced&nbsp; in the sub-directory by the
1080processing
1081program </p>
1082
1083
1084
1085
1086 
1087 
1088 
1089  <p>&nbsp;&nbsp;&nbsp;
1090For scanning (index incrementing) among files series with derived
1091indexing, for instance&nbsp; *_<em>i</em>1-<em>i</em>2_<em>j</em>,
1092the 'reference
1093index' is &nbsp;used, defined as the integer part of the mean index
1094(<span style="font-style: italic;">i</span>1+<span style="font-style: italic;">i</span>2)/2).&nbsp;</p>
1095
1096
1097
1098
1099</ul>
1100
1101
1102
1103
1104<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId729818"></a>
1105<span style="font-weight: bold; font-style: italic;">Cyclic
1106indexing:</span> it is
1107sometimes useful to change file indices in a cyclic way as the field
1108number is increased. For that purpose we use the convention that when
1109the root name ends in the form [root '_xx' 'mmmm' ],
1110where xx is a number and 'mmmm' a string of four letters beginning
1111with m (like 'mask' or 'mean'), then the file number is taken modulo
1112xx . This is convenient to visualize a mask for each slice or for
1113subtracting a field average calculated on each slice.&nbsp;<br>
1114
1115
1116
1117
1118<br>
1119
1120
1121
1122
1123&nbsp;<span style="font-weight: bold;"><span style="font-style: italic;">Old nomenclature:</span> </span>double
1124image series (bursts) were previously labeled by 3 digit
1125number&nbsp;
1126and a letter, for instance 'Exp1/aa045b.png'. PIV results from images a
1127and b were then represented as Exp1/A/aa045ab.nc. This older
1128nomenclature is still handled but not recommended.&nbsp;
1129</div>
1130
1131
1132
1133
1134<p style="text-align: justify;"><span style="font-weight: bold; font-style: italic;">Relevant
1135Matlab functions:</span>
1136the&nbsp;file name&nbsp;is determined by the functions&nbsp;<a href="FUNCTIONS_DOC/name_generator.html"><span style="text-decoration: underline;">name_generator.m</span></a><span style="font-weight: bold;"><span style="text-decoration: underline;">
1137</span></span>from a root name, indices and a nomenclature
1138type
1139('_i', '_i_j'...). The reverse operation, splitting a name into a root
1140and indices and detecting the nomenclature type, is performed
1141by&nbsp;<a href="FUNCTIONS_DOC/name2display.html"><span style="text-decoration: underline;">name2display.m</span></a>.
1142Other file nomenclatures could be defined by
1143consistently changing these two inverse functions.&nbsp;</p>
1144
1145
1146
1147
1148<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId596391"></a><a name="netcdf5"></a><a name="netcdf4"></a>2.2
1149Comparing two fields:</h2>
1150
1151
1152
1153
1154<p style="text-align: justify;">&nbsp;&nbsp;&nbsp; A second field series can be opened and compared to the first one, using
1155the menu bar <span style="font-weight: bold;">Open_1</span>.
1156When this box is activated, the current input file name
1157is copied in the second line of input file. Then a new file name and
1158indices appear on the second line, as well as the check box <span style="font-weight: bold;">SubField</span>. The two file series will be scanned
1159simultaneously,
1160according to their own nomenclature.</p>
1161
1162
1163
1164
1165<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1166If the two files are both images or scalar, their difference
1167is introduced
1168as the input field. If the second file is an image (or scalar), while
1169the first
1170one is
1171a vector field, the image will appear as a background in the vector
1172field. This is convenient for instance to relate the CIV result to
1173the quality of the raw image, or to relate vorticity to the vector
1174field. This option is also activated by the check box <strong>mask</strong>,
1175to visualize the mask as a background image in the velocity field,
1176see<strong> </strong><a href="uvmat_doc.html#Makemask">Makemask</a>
1177for details.</p>
1178
1179
1180
1181
1182<p style="text-align: justify;">&nbsp;
1183&nbsp;&nbsp;&nbsp; It is also possible to visualize an
1184image pair as a small movie by simultaneously
1185writting the field numbers <em>i1</em> and <em>i2</em>,
1186or <em>j1</em>
1187and <em>j2</em> (or the letters a,b for the 'png_old'
1188nomenclature)
1189in each line, and selecting the checkbox '<strong>-</strong>'
1190between
1191the two lines of field numbers, see also&nbsp;<a href="uvmat_doc.html#view_images">3.1</a>.&nbsp;</p>
1192
1193
1194
1195
1196<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1197If the two files are vector fields, their difference is taken
1198as
1199the input field, and is then displayed and analysed. If the two
1200fields are not at the same points, the velocities of the second field
1201are linearly interpolated at the positions of the first one (using
1202the Matlab function <b>griddata</b>) .&nbsp;</p>
1203
1204
1205
1206
1207<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId383799"></a><a name="netcdf5"></a><a name="netcdf4"></a>2.3
1208Documentation files (.xml):</h2>
1209
1210
1211
1212
1213<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId500238"></a>
1214&nbsp;&nbsp;&nbsp;&nbsp; When a new root name is
1215introduced, a
1216documentation file is automatically sought, whose path and name are
1217displayed by <span style="font-weight: bold;">RootPath</span>
1218and&nbsp; <span style="font-weight: bold;">RootFile </span>respectively,
1219with extension .xml. This file contains information on timing for image
1220series, geometric calibration and various information on the camera and
1221illumination. The structure of the documentation file is constrained by
1222an xml schema, <span style="text-decoration: underline;">XML_SCHEMAS/ImaDoc.xsd</span>.
1223The following information is directly used by uvmat:<br>
1224
1225
1226
1227
1228</div>
1229
1230
1231
1232
1233<ul style="text-align: justify;">
1234
1235
1236
1237
1238  <li><span style="font-weight: bold; font-style: italic;">Timing</span>
1239of each file with index i and j in the series. This time is displayed
1240for in the text box <span style="font-weight: bold;">abs_time</span>
1241at the upper right of the interface (the corresponding unit is stored
1242in the text box <span style="font-weight: bold;">TimeUnit</span>).
1243The second text box <span style="font-weight: bold;">abs_time_1</span>
1244is&nbsp; used when a second file series is introduced (the same
1245time
1246unit must be used)**. In the absence of time information in the
1247documentation file, uvmat&nbsp;reads the time in each input file,
1248if
1249available.&nbsp;</li>
1250
1251
1252
1253
1254  <li><span style="font-weight: bold; font-style: italic;">Geometric
1255calibration:</span>
1256&nbsp;this includes coefficients of transforms from image to
1257physical
1258coordinates. For multiplane scanning it&nbsp;also describes the set
1259of
1260laser planes. Then the current plane index is indicated by the text box
1261    <span style="font-weight: bold;">z_index</span>
1262and the total number of planes by the text box <span style="font-weight: bold;">nb_slice</span>.&nbsp;</li>
1263
1264
1265
1266
1267  <li><span style="font-style: italic; font-weight: bold;">File
1268path: </span>&nbsp;the
1269path to the current file can be recalled by a heading with elements
1270'Device' (not mandatory), 'Exp', 'Project' (or alternatively
1271'Campaign'). This &nbsp;means that the path RootPath should end as
1272Project/Exp/Device. Discrepancy is indicated by a warning message,
1273which may be evidence for misplaced data files. &nbsp;If a
1274consistent
1275path is read, the current Matlab working directory is moved to
1276Project/0_MATLAB_WORK (it is created if it does not exist yet). Then
1277all figures and functions created during data processing of this
1278project are written in this directory by default. This is convenient
1279when the same data set is analysed from different computers and/or by
1280different users. Note that the uvmat interface keeps&nbsp;
1281its&nbsp;Matlab working directory in memory, and it returns to it
1282at
1283each activation of the <span style="font-weight: bold;">run0
1284    </span>command.&nbsp; </li>
1285
1286
1287
1288
1289</ul>
1290
1291
1292
1293
1294<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId826472"></a>
1295&nbsp;&nbsp;&nbsp; The xml documentation file is read by
1296the function <span style="text-decoration: underline;">read_imadoc.m</span>.
1297If this file does not exist, a file with the same root name but
1298extension .civ is read by the function <span style="text-decoration: underline;">read_imatext.m. </span>This
1299function can be modified to account for any user defined&nbsp;
1300format.
1301In the absence of any documentation file, uvmat&nbsp;reads timing
1302information directly on the input file in the case of avi movies or
1303NetCDF files.
1304The information read when a new root name is introduced is stored in
1305the uvmat interface as
1306'UserData' .<br>
1307
1308
1309
1310
1311<br>
1312
1313
1314
1315
1316</div>
1317
1318
1319
1320
1321<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId962678"></a><a name="navigation"></a>2.4
1322Navigation among file
1323indices:</h2>
1324
1325
1326
1327
1328<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1329The field indices can be
1330incremented or decremented by the push buttons&nbsp; <span style="font-weight: bold;">runplus</span> ( '<span style="font-weight: bold;">-&gt;</span>')
1331and&nbsp; <span style="font-weight: bold;">runmin</span>
1332('<span style="font-weight: bold;">&lt;-</span>')
1333respectively.&nbsp; This scanning is performed&nbsp; over the
1334first
1335index (i) or the second one (j), depending on the selection of the
1336check boxes&nbsp;<span style="font-weight: bold;">scan_i
1337</span>or&nbsp;<span style="font-weight: bold;">scan_j</span>
1338respectively. The step for increment is set by the edit box <span style="font-weight: bold;">increment_scan</span>.&nbsp;</p>
1339
1340
1341
1342
1343<p style="text-align: justify;">&nbsp;The current
1344indices are displayed in the four edit
1345boxes <span style="font-weight: bold;">i1, i2, j1, j2</span>.
1346The two first indices i1 and j1 are used for image series, while the
1347second line i2, j2 is used to label the image pairs used for PIV data.
1348The file indices can be directly set in these edit boxes, or
1349equivalently in the edit box <span style="font-weight: bold;">FileIndex</span>
1350at the top of the interface. The maximum value of each index is
1351indicated by the edit boxes <span style="font-weight: bold;">last_i</span>
1352and <span style="font-weight: bold;">last_j</span>
1353respectively, filled from the xml documentation file.</p>
1354
1355
1356
1357
1358<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1359In the case of a second input
1360field (check box <span style="font-weight: bold;">SubField</span>
1361activated), the corresponding file indices <span style="font-weight: bold;">FileIndex_1 </span>is also
1362updated by&nbsp;<span style="font-weight: bold;">runplus</span>
1363( '<span style="font-weight: bold;">-&gt;</span>')
1364and&nbsp; <span style="font-weight: bold;">runmin</span>
1365('<span style="font-weight: bold;">&lt;-</span>')
1366, so the indices of both fields remain synchronized by default. It is
1367however possible to manually edit <span style="font-weight: bold;">FieldIndex_1</span>
1368to compare two fields with different indices.&nbsp;</p>
1369
1370
1371
1372
1373<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1374For navigation with index
1375pairs, the reference index, defined as the
1376integer part of the mean value ((j1+j2)/2), is incremented. If the
1377check box <span style="font-weight: bold;">fix_pair</span>
1378is
1379selected,&nbsp; the difference j1-j2 is then imposed while the
1380reference index is incremented. Else the pair with appropriate
1381reference index is searched. In the case of multiple choices, the most
1382recent file is chosen. This allows to scan successive fields obtained
1383with different image pairs (to match changing velocity of the
1384fluid).&nbsp;</p>
1385
1386
1387
1388
1389<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1390Fields&nbsp; can be
1391continuously scanned as a movie by pressing the push button&nbsp; <span style="font-weight: bold;">RunMovie </span>( '<span style="font-weight: bold;">--&gt;</span>')<span style="font-weight: bold;"> </span>instead of <span style="font-weight: bold;">runplus</span> ( '<span style="font-weight: bold;">-&gt;</span>').
1392Press&nbsp;<span style="font-weight: bold;">STOP</span>
1393to stop the movie.&nbsp; The movie speed can be
1394controlled by the slider <b>movie speed</b>. The movie can
1395be extracted and recorded as an avi file, by activating the menu bar <span style="font-weight: bold;">Export/make movie avi</span>.<br>
1396
1397
1398
1399
1400&nbsp;</p>
1401
1402
1403
1404
1405<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId130904"></a><a name="netcdf5"></a><a name="netcdf4"></a>2.5
1406Ancillary input files:</h2>
1407
1408
1409
1410
1411<ul style="text-align: justify;">
1412
1413
1414
1415
1416  <li>Masks: The mask image
1417can be displayed in 'uvmat' by selecting the check box <strong>view mask</strong>
1418on the upper right. If the .png file with
1419appropriate name is available in the image directory. In case of
1420mutiple levels, the number of slices detected (xx in the mask name)
1421is displayed in the edit box <strong>nb_slice&nbsp;</strong>on
1422the upper
1423left (nb_slice is set in priority by the xml file ImaDoc so a warning
1424message should appear in case of conflict<span style="font-style: italic;">*</span>*).<br>
1425
1426
1427
1428
1429  </li>
1430
1431
1432
1433
1434</ul>
1435
1436
1437
1438
1439<ul style="text-align: justify;">
1440
1441
1442
1443
1444  <li>
1445   
1446   
1447   
1448    <p style="margin-bottom: 0cm;">'.civ' file. name 'root
1449.civ', ascii text file containing the calibration and the list of image
1450times. This file is automatically sought by 'uvmat' and 'civ' when an
1451image is opened by the file input browser. It must be stored in the
1452same directory as the corresponding series of images. The scaling in
1453pixel/cm (<b>pxcm</b> and <b>pycm</b> in x and
1454y directions), the number of pixels of the image in both directions (<b>npx</b>
1455and <b>npy</b>) are read in the .civ file, see <a href="http://www.civproject.org/documentation/fileformat">http://www.civproject.org/documentation/fileformat</a>
1456for details on the file format. </p>
1457
1458
1459
1460
1461  </li>
1462
1463
1464
1465
1466  <li>
1467   
1468   
1469   
1470    <p style="margin-bottom: 0cm;">'.cmx' text files,
1471containing the parameters sent to the CIV fortran programmes. The name
1472is obtained by replacing the result file extension '.nc' by '.cmx'. </p>
1473
1474
1475
1476
1477  </li>
1478
1479
1480
1481
1482  <li>
1483   
1484   
1485   
1486    <p style="margin-bottom: 0cm;">'.log' text files,
1487containing information about the CIV or PATCH processing. The name is
1488obtained by replacing the result file extension '.nc' by '.log' or
1489'_patch.log'. </p>
1490
1491
1492
1493
1494  </li>
1495
1496
1497
1498
1499  <li>
1500   
1501   
1502   
1503    <p>'.fig' Matlab figures, which represent plots but also
1504Graphic User Interfaces (GUI). In that case matlab functions
1505(Callbacks) are attached to the graphic objects on the figure and can
1506be activated by the mouse. When the 'civ' interface is run, its present
1507state is saved as a figure named 'root _ SUBDIR <em>i1</em>
1508- <em>i2</em> .fig', in the base directory, where SUBDIR
1509is the subdirectory containing the .nc files, <em>i1</em>
1510and <em>i2</em> are the first and last numbers in the
1511processed image series. </p>
1512
1513
1514
1515
1516  </li>
1517
1518
1519
1520
1521</ul>
1522
1523
1524
1525
1526<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId764268"></a>
1527</div>
1528
1529
1530
1531
1532<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId314695"></a><a name="view_field"></a>3
1533Field representation (uvmat):&nbsp;</h1>
1534
1535
1536
1537
1538<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
1539
1540
1541
1542
1543<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId923709"></a>
1544&nbsp;&nbsp; The uvmat interface primarily reads and visualises
1545two-dimensional fields, which can be images or scalars, or vector
1546fields.
1547</div>
1548
1549
1550
1551
1552<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId187440"></a><a name="view_images"></a><b>3.1
1553Images and scalars:</b></h2>
1554
1555
1556
1557
1558<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1559Images are matrices of
1560integers, visualised by the
1561<span style="text-decoration: underline;">imagesc.m</span>
1562Matlab function. </p>
1563
1564
1565
1566
1567<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1568True color images are described
1569by a matrix A(nx,ny,3) of integers
1570between 0 and 255, the last index labeling the color component red,
1571green or blue. They are displayed directly as color images.</p>
1572
1573
1574
1575
1576<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1577The black and white (B/W)
1578images are described by a matrix A(nx,ny,1) of
1579integers, whose range depends on the camera dynamics (0 to 255 for 8
1580bit images, 0 to 65535 for 16 bit images). They are represented with
1581grey levels, according to the colorbar displayed on the right. The
1582luminosity and contrast can be adjusted using the edit boxes<b>
1583AMin</b> and <b>AMax </b>on the right of the
1584interface:<b>
1585</b>the luminosity level <strong>AMin</strong> (and
1586levels below) is
1587represented as black, and the luminosity level <strong>AMax</strong>
1588(or levels above) as white. Selecting the <strong>AutoScal</strong>
1589check box, <strong>AMin</strong> and <span style="font-weight: bold;">AMax</span> are set
1590automatically to the
1591image minimum and maximum respectively. Then the image may appear
1592dark if a single point is very bright, in that case unselect the
1593option <strong>AutoScal</strong>, and choose a lower value
1594for <strong>AMax</strong>.</p>
1595
1596
1597
1598
1599<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1600Two images can be visually
1601compared by switching back and forth
1602between them as a short movie. This is quite useful to get a visual
1603feeling of the image correlation. This effect is obtained by
1604introducing two image numbers in the edit boxes <span style="font-weight: bold;">j1</span> and <span style="font-weight: bold;">j2</span>, and
1605selecting the checkbox <span style="font-weight: bold;">fix_pair</span>
1606(<span style="font-weight: bold;">'|'</span>)
1607between the two lines of field numbers.
1608The speed of the movie can be adjusted by the slider <span style="font-weight: bold;">speed</span> which then
1609appears. Press <strong>STOP</strong> to stop the
1610motion.&nbsp;</p>
1611
1612
1613
1614
1615<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1616Scalar fields are&nbsp;
1617represented like B/W
1618images, but with with a false color map ranging from blue (minimum
1619values) to red (maximum). They can be alternatively displayed
1620as&nbsp;B/W images by the check box <span style="font-weight: bold;">auto_scalar</span> ('<span style="font-weight: bold;">B/W</span>')
1621(to test**). Other false color maps can be introduced by the standard
1622Matlab figure menu Edit/Colormap , after extracting the figure with
1623'EXTRACT PLOT'.<br>
1624
1625
1626
1627
1628Scalar are represented by matrices with real
1629('double') values, unlike images which are integers. They can be
1630alternatively defined with unstructured grid: they are then linearly
1631interpolated on a regular grid before plotting (which is a fairly slow
1632process). </p>
1633
1634
1635
1636
1637<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1638The x,y coordinates, image
1639value, and pixel
1640indices i and j are displayed on the upper right, when the mouse is
1641moved on the image.&nbsp;&nbsp;To extract the image visualize
1642it by
1643yourselves, click on it with the mouse riight button, then type
1644'image(CurData.AX,CurData.AY,CurData.A)' on the Matlab
1645workspace.&nbsp;</p>
1646
1647
1648
1649
1650<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId794224"></a><a name="velocity"></a>3.2
1651<a name="vectors"></a>Vectors:</h2>
1652
1653
1654
1655
1656<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1657The vector fields are represented as arrows. The length of the
1658arrows can be automatically adjusted (checkbox <span style="font-weight: bold;">AutoVec</span> selected),
1659or
1660manually set&nbsp; by the edit box&nbsp; <span style="font-weight: bold;">VecScale</span>.&nbsp;
1661</p>
1662
1663
1664
1665
1666<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1667Colors represent scalars associated with the vectors. With the
1668default option 'ima_cor', the value of the image correlation (vec_C)
1669is represented by a code with three colors. The red values correspond
1670to poor correlations, green to fair values, and blue to good ones. The
1671value range covered by each of the three colors is set by the pair of
1672sliders on the upper right. </p>
1673
1674
1675
1676
1677<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1678Other color representations can be specified by the menu on
1679the
1680upper right. 'Black' and 'white' provides arrows with this fixed
1681color. The other options provide a choice of scalars, for instance
1682the vector norm ('norm_vec') or vorticity ('vort'). The list of
1683available scalars is set by the function&nbsp;<a href="FUNCTIONS_DOC/calc_scal.html">calc_scal.m</a>. A
1684quasi-continuous color representation with 64 levels can be used
1685instead of the three colors by mouse clicking the color band between
1686the two sliders. A second click switches back to the three color
1687representation. The color thresholds can be relative to the min-max
1688scalar values or remain fixed, depending on the 'auto' check box on
1689the upper right.</p>
1690
1691
1692
1693
1694<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1695If the option <b>show flags</b> is selected, the
1696correlation
1697colors are taken over by flag colors indicating dubious or false
1698vectors.&nbsp; False vectors are detected by various criteria: they
1699are not removed from the files but marqued by flags, so that the
1700process is reversible. By default these vectors are displayed in
1701magenta, and they can be just removed from the view by deselecting
1702the option <b>magenta on</b>. But in all cases these <b>magenta
1703vectors are</b> <b>not taken into account</b> in
1704processing: they are
1705ignored in statistics or replaced by interpolation from neighboors
1706when needed, in particular to get the fields <b>interp</b>
1707or <b>filter</b>
1708on a regular grid. The black color indicates some warning from the
1709CIV process, but the corresponding vectors are taken into account in
1710the processing (see the <b>FIX </b>in the <b>civ </b>interface
1711or the
1712<b>ACTION</b> <b>fix_vel </b>to
1713remove&nbsp; dubious vectors using
1714different criteria). The display of black color can be desactivated
1715by unselecting the option <b>show black</b>. Then their
1716correlation
1717color is seen.&nbsp;</p>
1718
1719
1720
1721
1722<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1723One can also use the same mouse operation to display
1724information
1725on any vector in the text window on the upper right (there will be no
1726change in the data if the pushbutton <b>record</b> is not
1727pressed).
1728These are the position coordinates vec_X and vec_Y, the velocity
1729components vec_U and vec_V, the correlation vec_C, and flags vec_F
1730and FixFlag in case of anomaly. Their meaning is explained below. </p>
1731
1732
1733
1734
1735<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1736The fields <b>interp</b> and <b>filter</b>
1737are interpolations from
1738several vectors, so they bear no color information (and cannot be
1739removed by the mouse). If a first&nbsp; velocity field civ1 or civ2
1740is substracted to a second field (by activating the two fields
1741simultaneously or by using the pushbutton <b><font color="#ff0000">-</font></b><font color="#330000">)</font><font color="#000000">,the
1742colors are set by the first field, and the removed vectors of field 2
1743are not taken into account for the interpolation to the grid points
1744of the first field.</font> </p>
1745
1746
1747
1748
1749<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1750The current vector field information can be made available in the
1751Command
1752window by clicking with the right mouse button in the
1753&nbsp;plot.&nbsp;
1754To plot the vector field
1755by yourselves type&nbsp;
1756'quiver(CurData.X,CurData.Y,CurData.U,CurData.V)'. To remove the false
1757vectors, type&nbsp;'index=find(CurData.FF~=0)' to select the
1758appropriate
1759vector indices&nbsp;,
1760then&nbsp;'quiver(CurData.X(index),CurData.Y(index),CurData.U(index),CurData.V(index))'.&nbsp;
1761</p>
1762
1763
1764
1765
1766<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId172527"></a>
1767<span style="font-style: italic; font-weight: bold;">Manual
1768editing of vectors:&nbsp;</span> One can manually remove a
1769vector with the mouse. First
1770activate
1771the <span style="font-weight: bold;">edit_vect</span>
1772push button. A selected vector becomes magenta. Inversely, if a magenta
1773vector is selected, it is rehabilitated and retrieve its initial
1774color.&nbsp; The corrections are&nbsp; recorded as false flags
1775in the
1776data file by pressing the
1777pushbutton <b>record</b>.
1778</div>
1779
1780
1781
1782
1783<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId356208"></a><a name="netcdf5"></a><a name="netcdf4"></a>3.3
1784Selecting fields from CIVx files:</h2>
1785
1786
1787
1788
1789<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1790The uvmat package recognizes&nbsp; the NetCDF
1791fields obtained from the CIVx software (see **ref). &nbsp;This
1792includes
1793the velocity fields and their spatial derivatives,
1794as well as information about the CIV processing (correlation values
1795and flags). The content of any NetCDF file can be checked directly by
1796the Matlab command <b>ncbrowser</b>, or by the GUI <span style="text-decoration: underline;">get_field.fig</span>.
1797The vorticity,
1798divergence, or
1799strain are read in the same NetCDF files, but are available only after
1800a <b>PATCH</b> operation has been run
1801in the CIVx
1802software.&nbsp;
1803</p>
1804
1805
1806
1807
1808<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1809One of the field options <b>civ1, interp1</b> and
1810<b>filter1,
1811civ2, interp2</b> and <b>filter2</b> can be chosen,
1812using the check
1813boxes on the left. The first CIV processing is visualized by the CIV1
1814option. Then <strong>filter1 </strong>and<strong>
1815interp1</strong>
1816fields are interpolated on a regular grid, with or without smoothing
1817respectively. It allows to fill holes and get spatial derivatives. If
1818a scalar depending on spatial derivatives, like <strong>vort</strong>,
1819is selected, the field option switches automatically from civ2 or
1820interp2 to filter2, from civ1 or interp1 to filter2. If a refined CIV
1821processing has been realised, it can be visualized by <b>civ2,
1822patch2, filter2</b>. If more than two iterations have been
1823performed,
1824only the last two are stored, with the names civ1 and 2. </p>
1825
1826
1827
1828
1829<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1830If no field option is selected, it will be automatically
1831chosen.
1832For velocity, 'civ2' is chosen in priority, or 'civ1' if it does not
1833exist. For scalar fields, like vort, 'filter2' is chosen in priority,
1834or 'filter1' if it does not exist. This choice is motivated by the
1835fact that civ2 results are supposedly better than civ1, that the
1836velocity fields are most reliably defined by the uninterpolated civ
1837fileds, while filter is needed for spatial derivatives. </p>
1838
1839
1840
1841
1842<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1843The choice of field names in the .nc file is set by the
1844function
1845'varname_generator.m' of the UVMAT toolbox.</p>
1846
1847
1848
1849
1850<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
1851The reading and calculation of scalars from the NetCDF files
1852is
1853done by the function 'UVMAT/calc_scal.m'. New scalars can be defined
1854by modifying this function. They will appear in the <strong>FIELDS</strong>
1855menu as a submenu <strong>scalar</strong>.The same scalars
1856can be
1857also displayed as colors of the vectors.</p>
1858
1859
1860
1861
1862<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId271098"></a>3.4 Succession of operations:</h2>
1863
1864
1865
1866
1867The following succession of operations is performed by uvmat.fig:<span style="font-style: italic; font-weight: bold;"></span><br>
1868
1869
1870
1871
1872<span style="font-style: italic; font-weight: bold;">Reading:
1873</span>The input field is first read from the input file by the
1874function <a href="FUNCTIONS_DOC/read_ncfield.html"><span style="text-decoration: underline;">read_ncfield.m</span></a>
1875or <a href="FUNCTIONS_DOC/read_image.html"><span style="text-decoration: underline;">read_image.m</span></a>.
1876<br>
1877
1878
1879
1880
1881<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId298394"></a>
1882<span style="font-weight: bold; font-style: italic;">Transform:
1883</span>a
1884transform can be systematically applied just after reading, for
1885instance to take into account geometric calibration. The processing
1886function is set by the menu <span style="font-weight: bold;">menu_coord</span>
1887on the left. With the default 'phys' option, the input field is
1888transformed (by the function <a href="FUNCTIONS_DOC/phys.html">phys.m</a>)
1889if it contains the key 'CoordType' with value 'raw' (or 'px'), else it
1890is left unchanged. Similarly, a reverse transform to image coordinates
1891is performed if the input file contains the key 'CoordType' with value
1892'phys'.&nbsp;</div>
1893
1894
1895
1896
1897&nbsp;&nbsp;&nbsp; Note that this transform can be
1898also performed
1899pointwise when moving the mouse. In 3D cases, the initial 3D
1900coordinates are given by the mouse, while the plot axis correspond to
1901the coordinates of&nbsp; the current plane.<br>
1902
1903
1904
1905
1906&nbsp;&nbsp;&nbsp; Other transform functions can be made,
1907following the examples in the subdirectories IMA_TRANSFORMS and
1908VEL_TRANSFORMS.
1909<br>
1910
1911
1912
1913
1914<br>
1915
1916
1917
1918
1919<span style="font-weight: bold; font-style: italic;">Scalar
1920calculation: </span><span style="font-style: italic;"></span>a
1921scalar can be calculated from the input data, as selected by
1922&nbsp;the menu <span style="font-weight: bold;">Fields</span>.
1923It is then mapped as an image, or represented by contours (selecting
1924the check box <span style="font-weight: bold;">contour</span>
1925in the frame <span style="font-weight: bold;">SCAL</span>).
1926&nbsp;If a vector field is plotted, a scalar can be
1927&nbsp;alternatively represented as arrow color, as described in
1928section 3.2.
1929<br>
1930
1931
1932
1933
1934<br>
1935
1936
1937
1938
1939<span style="font-weight: bold; font-style: italic;">Comparison:</span>
1940when two fields of the same nature are introduced, the difference is
1941taken by the function <span style="text-decoration: underline;">subfield.m</span>.&nbsp;
1942<br>
1943
1944
1945
1946
1947<br>
1948
1949
1950
1951
1952<span style="font-weight: bold; font-style: italic;">Projection:
1953</span>on the projection object, see section 5.
1954<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId274690"></a></div>
1955
1956
1957
1958
1959<span style="font-weight: bold; font-style: italic;">Plotting:</span>
1960<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId599668"></a></div>
1961
1962
1963
1964
1965<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId901896"></a>3.5
1966Histograms</h2>
1967
1968
1969
1970
1971<p style="text-align: justify;">Histograms of the input
1972fields are represented on the
1973bottom left. The choice of the variable is done by the menus <span style="font-weight: bold;">histo1_menu</span> and <span style="font-weight: bold;">histo2_menu</span>.&nbsp;
1974</p>
1975
1976
1977
1978
1979<p style="text-align: justify;">&nbsp;For color
1980images, the
1981histogram of each color component, r, g, b, is given with a curve of
1982the corresponding color. In case of saturation, the proportion of
1983pixels beyond the <b>max</b> limit is written on the graph.</p>
1984
1985
1986
1987
1988<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId107014"></a>
1989</div>
1990
1991
1992
1993
1994<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId472013"></a>3.6
1995Viewing volume fields:**</h2>
1996
1997
1998
1999
2000<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId757221"></a>
2001not yet implemented</div>
2002
2003
2004
2005
2006<br>
2007
2008
2009
2010
2011<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId71913"></a><a name="get_field" class="mozTocH1"></a>4 The
2012GUI get_field.fig:</h1>
2013
2014
2015
2016
2017<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
2018
2019
2020
2021
2022<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId515715"></a>
2023<h2><a class="mozTocH2" name="mozTocId539613"></a>4.1
2024Overview:</h2>
2025
2026
2027
2028
2029&nbsp;&nbsp;&nbsp; This GUI is designed to analyse a NetCDF
2030file,
2031showing all the variables, attributes and variable dimensions.
2032Variables can be selected and plotted. The GUI is opened by the prompt
2033command 'get_field' or
2034'get_field (input)', where 'input' is a NetCDF file name or a Matlab
2035structure&nbsp; with the appropriate content. It is also opened by
2036the
2037GUI <span style="text-decoration: underline;">uvmat.fig</span>
2038when an input NetCDF file does contain recognized variables.
2039&nbsp;Finally the GUI <a href="FUNCTIONS_DOC/get_field.html">get_field.m</a>
2040is also opened by pressing the right mouse button
2041on a current plotting axis, to display information on the corresponding
2042fields. &nbsp; &nbsp;&nbsp; <br>
2043
2044
2045
2046
2047&nbsp;&nbsp;&nbsp; &nbsp; When a NetCDF input file is
2048entered, the names and
2049value of the global attributes are listed in the left column <span style="font-weight: bold;">attributes</span>, the list
2050of variables in the central column <span style="font-weight: bold;">variables</span>,
2051and the list of dimension names and values in the right column <span style="font-weight: bold;">dimensions</span>.
2052By selecting one of the variables in the central column, the
2053corresponding variable attributes and dimensions are displayed in the
2054left and right columns respectively. By a right button mouse click on the interface,
2055the whole content of the NetCDF file can be made available on the
2056Matlab prompt in the form of a Matlab structure 'CurData'. <br>
2057
2058
2059
2060
2061&nbsp;&nbsp;&nbsp; Ordinary graphs: to make a simple graph,
2062select the abscissa in the column <span style="font-weight: bold;">abscissa</span>,
2063and a corresponding set of fields&nbsp; in the column <span style="font-weight: bold;">ordinate</span>, then press
2064<span style="font-weight: bold;">PLOT</span>.
2065If the variable is indexed with more than one dimension, plots of each
2066component are made versus the first index (like with the <span style="text-decoration: underline;">plot</span> Matlab
2067command). If no abscissa is selected ( blank selected at the top of <span style="font-weight: bold;">abscissa</span>), variables
2068are plotted versus their (first)&nbsp;index&nbsp;. <br>
2069
2070
2071
2072
2073&nbsp;&nbsp;&nbsp; Plots can be made in a new figure
2074(default), or
2075added to an existing one. The choice of available figures is available
2076in the listbox menu <span style="font-weight: bold;">list_fig</span>. The full list of available plotting axes can be obtained in <span style="font-weight: bold;">list_fig</span> by pressing <span style="font-weight: bold;">browse_field</span>.
2077<br>
2078
2079
2080
2081
2082<h2><a class="mozTocH2" name="mozTocId665737"></a>4.2
20832D and 3D plots: </h2>
2084
2085
2086
2087
2088&nbsp;&nbsp;&nbsp; 2D vector plots or scalar images can be
2089made by
2090selecting the check boxes <span style="font-weight: bold;">check_2D</span>
2091or <span style="font-weight: bold;">check_scalar </span>respectively.
2092Then select the appropriate variables representing the velocity
2093components and/or the scalar, then the variables chosen as <span style="font-weight: bold;">abscissa</span>,
2094<span style="font-weight: bold;">ordinate</span> and
2095<span style="font-weight: bold;">z coordinate</span>. <br>
2096
2097
2098&nbsp;&nbsp;&nbsp; &nbsp; If these coordinate variables correspond to
2099&nbsp;one of the dimensions of the matrix selected as scalar or vector
2100components, they will be used as structured coordinates. If they have
2101the same dimensions as the matrix, they will be used as unstructured
2102coordinates.&nbsp; If the blank option is selected for a coordinate,
2103the corresponding matrix index is used as coordinate. <br>
2104
2105
2106&nbsp;&nbsp;&nbsp;&nbsp;If the&nbsp; options <span style="font-weight: bold;">check_2D</span> and <span style="font-weight: bold;">check_scalar</span> are
2107simultaenously selected, the scalar is represented as colors of the
2108vector arrows. <br>
2109
2110
2111&nbsp;&nbsp;&nbsp; &nbsp;The uvmat GUI is automatically
2112opened when 2D
2113or 3D fields are displayed, allowing us to adjust the plotting
2114parameters. In 3D, a middle plane of cut is automatically selected.
2115This can be moved then with the slider on the interface set_object (see
2116section 5). The default cuts are made at constant z coordiante, but any
2117of the three initial coordiantes can be used as z coordinate, using the
2118menu <span style="font-weight: bold;">coord_z</span>. <br>
2119
2120
2121&nbsp;&nbsp;&nbsp; Once uvmat is opened, navigations through file numbers is then possible, while
2122keeping the same&nbsp;selection of plotted field variables. <br>
2123
2124
2125
2126
2127&nbsp;&nbsp;&nbsp; <br>
2128
2129
2130
2131
2132&nbsp;&nbsp;&nbsp; </div>
2133
2134
2135
2136
2137<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId71913"></a><a name="ProjectionObject" class="mozTocH1"></a>5
2138Projection objects:</h1>
2139
2140
2141
2142
2143<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
2144
2145
2146
2147
2148<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId113693"></a><a name="set_object"></a>5-1
2149Definition and editing with the uvmat interface:</h2>
2150
2151
2152
2153
2154<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
2155These are geometrical objects
2156used to define cuts
2157along lines, or
2158planes&nbsp;for 3D data, to interpolate fields on a regular grid,
2159to
2160restrict the
2161visualization of fields and their analysis to subregions. See next
2162subsection for details. Objects are
2163created by selecting the appropriate creation buttons on the interface
2164uvmat (lower right). This opens an auxiliary GUI <a href="FUNCTIONS_DOC/set_object.html"><span style="text-decoration: underline;">set_object.fig</span></a><span style="text-decoration: underline;"></span>.&nbsp;</p>
2165
2166
2167
2168
2169<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
2170The list of current projection
2171objects is
2172displayed on the uvmat interface. Each field displayed by uvmat is
2173projected on these current objects, and displayed in corresponding
2174satellite figures. The projection of fields on objects is performed by
2175the function&nbsp;<a href="FUNCTIONS_DOC/proj_field.html">proj_field.m</a>,
2176which can be used also for instance in the GUI <a href="#series"><span style="text-decoration: underline;">series</span>.fig</a>.&nbsp;</p>
2177
2178
2179
2180
2181<ul style="text-align: justify;">
2182
2183
2184
2185
2186  <li>Creating objects:&nbsp;</li>
2187
2188
2189
2190
2191</ul>
2192
2193
2194
2195
2196&nbsp; &nbsp; &nbsp;Object can be interactively drawn with
2197the mouse on
2198the GUI uvmat&nbsp;. First activate the creation mode by selecting the
2199appropriate item in the menu bar <span style="font-weight: bold;">Tools</span>. <br>
2200
2201
2202
2203
2204&nbsp; &nbsp; &nbsp;-'points': mark points with mouse left
2205button. Use
2206right click to end the series. The list of coordinates appear on the
2207set_object interface. &nbsp;These can be then manually edited, use <span style="font-weight: bold;">plot</span> on the GUI <a href="FUNCTIONS_DOC/set_object.html"><span style="text-decoration: underline;">set_object</span></a>
2208to validate. The range of action&nbsp; can be set on the
2209GUI&nbsp;<a href="FUNCTIONS_DOC/set_object.html"><span style="text-decoration: underline;">set_object</span></a>
2210by the edit box <span style="font-weight: bold;">YMax</span>
2211(only needed in the ProjMode 'projection'). This range&nbsp;is
2212visualized by dashed circles around each point. The set of points can
2213be determined from successive images (to track a feature for instance):
2214for that purpose use the keyboard keys 'p' and 'm' to increament or
2215decrement fields&nbsp; without the mouse.&nbsp; <br>
2216
2217
2218
2219
2220&nbsp; &nbsp; -'line': just draw a line, keeping the mouse left
2221button
2222pressed, release to end. The range of action, set by YMax, is
2223visualized by two dashed lines (only in ProjMode 'projection').<br>
2224
2225
2226
2227
2228&nbsp; &nbsp; -'polyline': draw a line with several segments,
2229press and
2230release the mouse left button to mark each summit, press the right
2231button to end the line.<br>
2232
2233
2234
2235
2236&nbsp; &nbsp;-'rectangle': defined by its center, half width
2237and half
2238height.<br>
2239
2240
2241
2242
2243&nbsp; &nbsp;-'polygon': closed line made of n consecutive
2244segments
2245(defined by n points)<br>
2246
2247
2248
2249
2250&nbsp; &nbsp;-ellipse: defined by its center, half width and
2251half
2252height.<br>
2253
2254
2255
2256
2257&nbsp;&nbsp;&nbsp;-plane: plane with&nbsp;associated
2258cartesian
2259coordinates<br>
2260
2261
2262
2263
2264&nbsp;&nbsp; -volume: volume with associated cartesian
2265coordinates
2266<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId407637"></a></div>
2267
2268
2269
2270
2271<ul style="text-align: justify;">
2272
2273
2274
2275
2276</ul>
2277
2278
2279
2280
2281<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId624817"></a>5-2
2282Object properties:</h2>
2283
2284
2285
2286
2287<p style="margin-bottom: 0cm; text-align: justify;">&nbsp;&nbsp;&nbsp;
2288The type of
2289projection object is defined by a&nbsp; 'Style' and a projection
2290mode
2291'ProjMode', whose possible options are listed in the
2292table&nbsp;below.
2293&nbsp;A 'TITLE', derived from these two properties, is also given
2294for
2295clarity.&nbsp;</p>
2296
2297
2298
2299
2300<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId264298"></a></div>
2301
2302
2303
2304
2305<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId440774"></a></div>
2306
2307
2308
2309
2310<table style="width: 874px; height: 745px; text-align: left; margin-left: 0px; margin-right: 0px;" border="1" cellpadding="4" cellspacing="3">
2311
2312
2313
2314
2315  <col width="43*"> <col width="43*"> <col width="43*"> <col width="43*"> <col width="43*"> <col width="43*"> <tbody>
2316
2317
2318
2319
2320    <tr valign="top">
2321
2322
2323
2324
2325      <td width="17%">
2326     
2327     
2328     
2329      <p><b>TITLE</b></p>
2330
2331
2332
2333
2334      </td>
2335
2336
2337
2338
2339      <td width="17%">
2340     
2341     
2342     
2343      <p><b>Style</b></p>
2344
2345
2346
2347
2348      </td>
2349
2350
2351
2352
2353      <td width="17%">
2354     
2355     
2356     
2357      <p style="width: 158px;"><b>ProjMode</b></p>
2358
2359
2360
2361
2362      </td>
2363
2364
2365
2366
2367      <td style="font-weight: bold;" width="17%">
2368     
2369     
2370     
2371      <p>Resulting fields</p>
2372
2373
2374
2375
2376      </td>
2377
2378
2379
2380
2381    </tr>
2382
2383
2384
2385
2386    <tr>
2387
2388
2389
2390
2391      <td></td>
2392
2393
2394
2395
2396      <td></td>
2397
2398
2399
2400
2401      <td></td>
2402
2403
2404
2405
2406      <td></td>
2407
2408
2409
2410
2411    </tr>
2412
2413
2414
2415
2416    <tr valign="top">
2417
2418
2419
2420
2421      <td width="17%">
2422     
2423     
2424     
2425      <p>POINTS</p>
2426
2427
2428
2429
2430      </td>
2431
2432
2433
2434
2435      <td width="17%">
2436     
2437     
2438     
2439      <p>points</p>
2440
2441
2442
2443
2444      </td>
2445
2446
2447
2448
2449      <td width="17%"> projection<br>
2450
2451
2452
2453
2454interp<br>
2455
2456
2457
2458
2459filter<br>
2460
2461
2462
2463
2464none </td>
2465
2466
2467
2468
2469      <td width="17%">
2470     
2471     
2472     
2473      <p>set of <span style="font-style: italic;">n</span>
2474values of each field component, corresponding
2475to the <span style="font-style: italic;">n</span>
2476points of projection.</p>
2477
2478
2479
2480
2481      </td>
2482
2483
2484
2485
2486    </tr>
2487
2488
2489
2490
2491    <tr valign="top">
2492
2493
2494
2495
2496      <td width="17%">
2497     
2498     
2499     
2500      <p>LINE</p>
2501
2502
2503
2504
2505      </td>
2506
2507
2508
2509
2510      <td width="17%"> line<br>
2511
2512
2513
2514
2515polyline<br>
2516
2517
2518
2519
2520rectangle <br>
2521
2522
2523
2524
2525polygon<br>
2526
2527
2528
2529
2530ellipse </td>
2531
2532
2533
2534
2535      <td width="17%"> projection<br>
2536
2537
2538
2539
2540interp<br>
2541
2542
2543
2544
2545filter<br>
2546
2547
2548
2549
2550none
2551     
2552     
2553     
2554      <p></p>
2555
2556
2557
2558
2559      </td>
2560
2561
2562
2563
2564      <td width="17%">
2565     
2566     
2567     
2568      <p style="margin-bottom: 0cm;">profile of each
2569field
2570component&nbsp; (and mean value) along the line.</p>
2571
2572
2573
2574
2575     
2576     
2577     
2578      <p style="margin-bottom: 0cm;">&nbsp; &nbsp;
2579&nbsp; &nbsp;The
2580vectors
2581are projected along the line direction&nbsp; and its
2582normal, providing the new x and y components respectively.&nbsp;</p>
2583
2584
2585
2586
2587      </td>
2588
2589
2590
2591
2592    </tr>
2593
2594
2595
2596
2597    <tr valign="top">
2598
2599
2600
2601
2602      <td width="17%">
2603     
2604     
2605     
2606      <p>PATCH</p>
2607
2608
2609
2610
2611      </td>
2612
2613
2614
2615
2616      <td width="17%"> rectangle<br>
2617
2618
2619
2620
2621polygon<br>
2622
2623
2624
2625
2626ellipse </td>
2627
2628
2629
2630
2631      <td width="17%">
2632     
2633     
2634     
2635      <p>inside</p>
2636
2637
2638
2639
2640     
2641     
2642     
2643      <p>outside</p>
2644
2645
2646
2647
2648      </td>
2649
2650
2651
2652
2653      <td width="17%">
2654     
2655     
2656     
2657      <p>histogram of each field component inside or outside
2658the
2659closed line + surface integral.</p>
2660
2661
2662
2663
2664      </td>
2665
2666
2667
2668
2669    </tr>
2670
2671
2672
2673
2674    <tr>
2675      <td>MASK</td>
2676      <td>polygon</td>
2677      <td>mask_inside<br>
2678mask_outside</td>
2679      <td>no projection result. Object used to make masks.</td>
2680    </tr>
2681    <tr valign="top">
2682
2683
2684
2685
2686      <td width="17%">
2687     
2688     
2689     
2690      <p>PLANE</p>
2691
2692
2693
2694
2695      </td>
2696
2697
2698
2699
2700      <td width="17%">
2701     
2702     
2703     
2704      <p>plane</p>
2705
2706
2707
2708
2709      </td>
2710
2711
2712
2713
2714      <td width="17%"> projection<br>
2715
2716
2717
2718
2719interp<br>
2720
2721
2722
2723
2724none </td>
2725
2726
2727
2728
2729      <td width="17%">
2730     
2731     
2732     
2733      <p>2D&nbsp; field components. Vectors are
2734projected&nbsp; in the plane (new x y components), and along the
2735normal in 3D.&nbsp;</p>
2736
2737
2738
2739
2740      </td>
2741
2742
2743
2744
2745    </tr>
2746
2747
2748
2749
2750    <tr valign="top">
2751
2752
2753
2754
2755      <td width="17%">
2756     
2757     
2758     
2759      <p>VOLUME</p>
2760
2761
2762
2763
2764      </td>
2765
2766
2767
2768
2769      <td width="17%">
2770     
2771     
2772     
2773      <p>volume</p>
2774
2775
2776
2777
2778      </td>
2779
2780
2781
2782
2783      <td width="17%">
2784     
2785     
2786     
2787      <p>projection</p>
2788
2789
2790
2791
2792     
2793     
2794     
2795      <p>interp</p>
2796
2797
2798
2799
2800     
2801     
2802     
2803      <p>none</p>
2804
2805
2806
2807
2808      </td>
2809
2810
2811
2812
2813      <td width="17%">
2814     
2815     
2816     
2817      <p>3D field components.&nbsp;Vectors are projected
2818along&nbsp; the&nbsp;&nbsp;new coordinates attached to the
2819volume&nbsp;.&nbsp;</p>
2820
2821
2822
2823
2824      </td>
2825
2826
2827
2828
2829    </tr>
2830
2831
2832
2833
2834 
2835 
2836 
2837  </tbody>
2838</table>
2839
2840
2841
2842
2843<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId596019"></a><br>
2844
2845
2846
2847
2848</div>
2849
2850
2851
2852
2853<ul style="text-align: justify;">
2854
2855
2856
2857
2858  <li>
2859   
2860   
2861   
2862    <p style="margin-bottom: 0cm;"><strong>Style:</strong></p>
2863
2864
2865
2866
2867   
2868   
2869   
2870    <ul>
2871
2872
2873
2874
2875      <li>points: set of <span style="font-style: italic;">n</span>
2876points</li>
2877
2878
2879
2880
2881      <li>line: simple straight segment, defined by its two end
2882points</li>
2883
2884
2885
2886
2887      <li>polyline: open line made of <span style="font-style: italic;">n</span>-1 consecutive
2888segments
2889(defined by <span style="font-style: italic;">n</span>
2890points)</li>
2891
2892
2893
2894
2895      <li>rectangle: defined by its center, half width and half
2896height.</li>
2897
2898
2899
2900
2901      <li>polygon: closed line made of <span style="font-style: italic;">n</span> consecutive
2902segments
2903(defined by <span style="font-style: italic;">n</span>
2904points)</li>
2905
2906
2907
2908
2909      <li>ellipse: defined by its center, half width and half
2910height.</li>
2911
2912
2913
2914
2915      <li> plane: plane with&nbsp;associated cartesian
2916coordinates</li>
2917
2918
2919
2920
2921      <li>volume: volume with associated cartesian coordinates</li>
2922
2923
2924
2925
2926   
2927   
2928   
2929    </ul>
2930
2931
2932
2933
2934  </li>
2935
2936
2937
2938
2939  <li> <strong>ProjMode:&nbsp;&nbsp;</strong><br>
2940
2941
2942
2943
2944  </li>
2945
2946
2947
2948
2949It specifies the method of projection of coordinates and
2950fields.&nbsp;
2951 
2952 
2953 
2954  <ul>
2955
2956
2957
2958
2959    <li>'projection':&nbsp;</li>
2960
2961
2962
2963
2964&nbsp; &nbsp; &nbsp; &nbsp;Direct
2965projection&nbsp; of the field data in a region of action
2966around the object, as defined by the parameters 'RangeX', 'RangeY',
2967"RangeZ'. &nbsp;For
2968'points',
2969this region of action is a circle (or sphere in 3D)
2970around &nbsp;each point. For 'line', 'polyline' or 'polygon', it is
2971a
2972band surrounding the line, and for 'plane' (in 3D cases), it is a layer
2973around
2974the plane (in the range Z=[-RangeZ RangeZ] with respect to the
2975projection plane). &nbsp;<br>
2976
2977
2978
2979
2980&nbsp; &nbsp; &nbsp; - For 'points': an average of all
2981the
2982(nonfalse) data points is made in each neighborhood, yielding a single
2983field value (=NaN if all the data points are false).&nbsp;
2984Each field component U (or U(:)) results in a projected field U(i) (or
2985U(i,:)), with unstructured coordinates (X(i), Y(i)), i=1 to n.<br>
2986
2987
2988
2989
2990&nbsp; &nbsp; &nbsp; - For
2991'line',&nbsp;'polyline', 'rectangle'
2992or 'polygon:&nbsp; each&nbsp;non-false data point in the region
2993of
2994action is projected
2995onto the line. The direction
2996of projection is normal
2997except if 'Phi' is non equal to 0 (only possible for 'line'). For each
2998field component U, a corresponding projected field U is produced. If DX
2999is defined, a smoothed field
3000Usmooth is also calculated, as well as the mean Umean along the
3001line.&nbsp; <br>
3002
3003
3004
3005
3006&nbsp;&nbsp;&nbsp;
3007&nbsp; -For 'rectangle' and 'ellipse':&nbsp; option
3008'projection' not
3009implemented<br>
3010
3011
3012
3013
3014&nbsp;&nbsp; &nbsp;-For
3015'plane': each data point in the layer of action is projected normally
3016to
3017the plane, and its position expressed with respect to the new frame
3018attached to the plane.<br>
3019
3020
3021
3022
3023&nbsp;&nbsp;&nbsp; &nbsp; -For 'volume':
3024each scalar data in the domain selected by 'RangeX, RangeY, RangeZ' is
3025preserved, but
3026their coordinates are expressed with respect to the&nbsp; new frame
3027attached to the volume.<br>
3028
3029
3030
3031
3032    <li>'interp' :</li>
3033
3034
3035
3036
3037&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Linear
3038interpolation of the fields on a grid of regularly spaced points
3039defined on the projection object, with meshes DX, DY, DZ. The grid
3040array along x starts at RangeX(1) and ends at the closest value smaller
3041than RangeX(2). Similar convention is used&nbsp;for y and z in case
3042of planes and volumes. <li>'filter':&nbsp;</li>
3043
3044
3045
3046
3047&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Filtered
3048interpolation (used only for lines). For each point an average of the
3049neighborhing data is used, with a weighting function whose range is
3050given by max(RangeY). This is useful to get reliable profiles in the
3051presence of
3052'holes' in the&nbsp; data fields.&nbsp; <li>'inside':
3053defined only for rectangle, polygon,
3054ellipse.
3055For
3056each field U, its probability distribution function Uhist of the field
3057data inside the patch
3058is calculated, as well as the mean Umean.&nbsp;</li>
3059
3060
3061
3062
3063    <li>'outside': defined only for rectangle, polygon,
3064ellipse.
3065The probability
3066distribution function and mean of the field data outside the patch is
3067given.&nbsp;&nbsp;</li>
3068
3069
3070
3071
3072    <li>'none', 'mask_inside', 'mask_outside': no projection operation. The object
3073is&nbsp;used
3074solely for plotting purpose (e. g. to show a boundary).</li>
3075
3076
3077
3078
3079 
3080 
3081 
3082  </ul>
3083
3084
3085
3086
3087Note: when any averaging or interpolation process is involved, the only
3088projected variables are scalars and vector components, excluding
3089'warnflag', 'errorflag', 'ancillary'. Those are only projected with the
3090mode 'projection' on LINE, PLANE, VOLUME.&nbsp; <li><strong>CoordType:</strong>&nbsp;</li>
3091
3092
3093
3094
3095type of coordinates used to describe
3096the object, = 'phys' (physical), or 'raw' (pixels). &nbsp;It must
3097fit with the coordinate type of the projected field.&nbsp; <li><strong>Coord:</strong></li>
3098
3099
3100
3101
3102coordinates [x y z] (or [x y] in 2D) defining the object position.
3103 
3104 
3105 
3106  <ul>
3107
3108
3109
3110
3111    <li> for&nbsp; 'points', 'line', 'polyline', 'polygon':
3112matrix with<span style="font-style: italic;"> n</span>
3113lines [x<sub>i</sub> y<sub>i</sub> z<sub>i</sub>],
3114corresponding to each of the <span style="font-style: italic;">n</span>
3115defining points. Note that in 3D case, polygons must be included in a
3116plane, which imposes restrictions on these coordinates.&nbsp;</li>
3117
3118
3119
3120
3121    <li>for 'rectangle', 'ellipse': coordinates&nbsp;of the
3122center.</li>
3123
3124
3125
3126
3127    <li>for 'plane' or 'volume': coordinates&nbsp;of the
3128origin of
3129the new coordinate frame attached to the object.</li>
3130
3131
3132
3133
3134 
3135 
3136 
3137  </ul>
3138
3139
3140
3141
3142  <li><span style="font-weight: bold;">RangeX,
3143RangeY,RangeZ:</span><br>
3144
3145
3146
3147
3148&nbsp; &nbsp;&nbsp; scalars, or vectors of two real
3149numbers,
3150defining the range of action of the
3151object along each dimension (default value=0)
3152   
3153   
3154   
3155    <ul>
3156
3157
3158
3159
3160      <li> for&nbsp; 'points':&nbsp;RangeX (or
3161max(RangeX,RangeY,RangeZ)) is a scalar specifying
3162the radius of action.</li>
3163
3164
3165
3166
3167      <li>for 'line', 'polyline', 'polygon':&nbsp;</li>
3168
3169
3170
3171
3172&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- RangeY (or
3173max(RangeY))
3174represents the half
3175width of the projection band (needed for ProjMode= 'projection'
3176or&nbsp; &nbsp;'filter') &nbsp; &nbsp;
3177&nbsp;&nbsp; &nbsp;- RangeX (or min(RangeX)) represents the
3178abscissa&nbsp; of the line
3179origin
3180(first defining point) in the line coordinate (=0 by default) <li>for
3181'rectangle', 'ellipse':</li>
3182
3183
3184
3185
3186&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-RangeX (or
3187max(RangeX)): half
3188width along x &nbsp; &nbsp; &nbsp; &nbsp; <br>
3189
3190
3191
3192
3193&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-RangeY (or
3194max(RangeY)): half
3195width along y<br>
3196
3197
3198
3199
3200&nbsp; &nbsp; &nbsp; &nbsp;
3201&nbsp;-RangeZ&nbsp;(or max(RangeZ)): half
3202width of the layer of action (in 3D) <li>for 'plane':</li>
3203
3204
3205
3206
3207&nbsp; &nbsp; &nbsp; -min(RangeX),
3208max(RangeX): min and max
3209abscissa of the selected domain (in the plane coordinates) &nbsp;
3210&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
3211
3212
3213
3214
3215&nbsp; &nbsp; -min(RangeY),
3216max(RangeY): min and max
3217ordinates of the selected domain (in the plane coordinates)<br>
3218
3219
3220
3221
3222&nbsp; &nbsp;&nbsp;&nbsp;-
3223Range(Z) (or max(RangeZ)): half width of the layer of action of the
3224plane (in 3D)
3225   
3226   
3227   
3228    </ul>
3229
3230
3231
3232
3233  </li>
3234
3235
3236
3237
3238  <li> <span style="font-weight: bold;">DX, DY,
3239DZ:</span>&nbsp;<br>
3240
3241
3242
3243
3244   
3245   
3246   
3247    <ul style="font-weight: bold;">
3248
3249
3250
3251
3252      <li> <span style="font-weight: normal;">grid
3253mesh along the
3254x, y, z directions respectively. Needed for the projection modes
3255'interp' and 'filter', or to define smoothed variables in the mode
3256'projection'.</span></li>
3257
3258
3259
3260
3261   
3262   
3263   
3264    </ul>
3265
3266
3267
3268
3269  </li>
3270
3271
3272
3273
3274  <li>Angles<span style="font-weight: bold;">
3275Phi,
3276Theta, Psi</span><strong>:</strong></li>
3277
3278
3279
3280
3281 
3282 
3283 
3284  <ul>
3285
3286
3287
3288
3289    <li>For 'plane' and 'volume':</li>
3290
3291
3292
3293
3294it corresponds
3295to
3296the Euler angles defining the coordinate
3297system attached to the object. The first rotation is by an angle <img style="border: 0px solid ; width: 8px; height: 15px;" src="Inline8.gif" class="inlineformula" alt="phi">
3298about the <a href="http://mathworld.wolfram.com/z-Axis.html" class="Hyperlink"><i>z</i>-axis</a>, the
3299second is by an angle <img style="border: 0px solid ; width: 55px; height: 15px;" src="Inline9.gif" class="inlineformula" alt="theta in [0,pi]"> about the <a href="http://mathworld.wolfram.com/x-Axis.html" class="Hyperlink"><i>x</i>-axis</a>, and
3300the third is by an angle <img style="border: 0px solid ; width: 9px; height: 15px;" src="Inline10.gif" class="inlineformula" alt="psi">
3301about the <a href="http://mathworld.wolfram.com/z-Axis.html" class="Hyperlink"><i>z</i>-axis</a>
3302(again).&nbsp;
3303 
3304 
3305 
3306  </ul>
3307
3308
3309
3310
3311</ul>
3312
3313
3314
3315
3316<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId777014"></a><img style="width: 498px; height: 143px;" alt="definition of Euler's angle" src="EulerAngles_600.gif"></div>
3317
3318
3319
3320
3321<ul style="text-align: justify;">
3322
3323
3324
3325
3326  <li>For&nbsp; 'points', 'polyline', 'polygon': not
3327used&nbsp;</li>
3328
3329
3330
3331
3332  <li>For 'rectangle',&nbsp; 'ellipse': defines the
3333plane
3334of the figure and its orientation (along the x and y orientatons
3335defined by the new plane axis)</li>
3336
3337
3338
3339
3340  <li>for 'line': in 2D, Phi can represent a non-normal
3341angle
3342of projection (=0 by default for a normal projection). In 3D, Psi can
3343be used to define a new axis with origin at the first point of the line
3344and z axis aligned with the line (then Phi and&nbsp;Theta are
3345already implicitely imposed by the line direction).&nbsp;</li>
3346
3347
3348
3349
3350</ul>
3351
3352
3353
3354
3355<p style="margin-bottom: 0cm; text-align: justify;">&nbsp;&nbsp;&nbsp;</p>
3356
3357
3358
3359
3360<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId680179"></a>5-3
3361Object plotting:</h2>
3362
3363
3364
3365
3366Projections objects are drawn in magenta color when they are selected
3367for creation or edition, and in blue otherwise.
3368<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId180938"></a>
3369<ul>
3370
3371
3372
3373
3374  <li>'points' are represented by dots surrounded by a dashed
3375circle showing the range of projection.</li>
3376
3377
3378
3379
3380  <li>'line' , 'polyline' are plotted as lines, surrounded by two
3381dashed lines showing the range of projection, when applicable (i.e. not
3382in the case ProjMode='interp').</li>
3383
3384
3385
3386
3387  <li>'polygon', 'rectangle', 'ellipse' are drawn. In the
3388case&nbsp;ProjMode ='inside' or 'outside' the corresponding area is
3389painted in magenta (or blue when they are not selected).</li>
3390
3391
3392
3393
3394  <li>'plane' are shown by their axis. These axis are limited to
3395their range of selection &nbsp;(RangeX and RangeY) when applicable.
3396Otherwise they end at the edge of the figure with an arrow. **</li>
3397
3398
3399
3400
3401  <li>'volume' are shown like 'plane', except that they are
3402painted in magenta (or blue) **<span style="font-weight: bold;"></span></li>
3403
3404
3405
3406
3407</ul>
3408
3409
3410
3411
3412</div>
3413
3414
3415
3416
3417<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId529788"></a>6
3418<a name="geometry_calib"></a>Geometric
3419calibration:</h1>
3420
3421
3422
3423
3424<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
3425
3426
3427
3428
3429<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId348355"></a><a name="geometric_calib_gene"></a>6-1 Generalities:</h2>
3430
3431
3432
3433
3434<p style="text-align: justify;">&nbsp;&nbsp;&nbsp;
3435Transforming image to
3436physical
3437coordinates is an important problem
3438for measuring techniques based on imaging. The image coordinates
3439represent the two cartesian axis x,y of the image, with origin at the
3440lower left corner. Note that the y direction is directed upward, while
3441the corresponding image index j is oriented downward. &nbsp;The
3442physical coordinates are defined from the experimental set-up. The
3443correspondance is obtained by imaging&nbsp; reference object(s)
3444whose
3445positions are known with respect to the physical coordinate system. We
3446handle three kinds of transforms:</p>
3447
3448
3449
3450
3451<ul style="text-align: justify;">
3452
3453
3454
3455
3456  <li><span style="font-weight: bold;"><span style="font-style: italic;">Scaling</span>:</span>
3457linear rescaling along x and y + translation</li>
3458
3459
3460
3461
3462</ul>
3463
3464
3465
3466
3467<ul style="text-align: justify;">
3468
3469
3470
3471
3472  <li><span style="font-style: italic; font-weight: bold;">Linear:</span>
3473general linear transform, including translation and rotation (but no
3474perspective effects)</li>
3475
3476
3477
3478
3479</ul>
3480
3481
3482
3483
3484<ul style="text-align: justify;">
3485
3486
3487
3488
3489  <li><span style="font-weight: bold; font-style: italic;">Tsai:</span>
3490this transforms handles projection effects, as needed for stereoscopic
3491view, as well as quadratic distortion, according to the pinhole camera
3492&nbsp;model ( R.Y. Tsai,<em> An Efficient and Accurate Camera
3493Calibration Technique for 3D Machine Vision.</em> Proceedings of
3494IEEE Conference on Computer Vision and Pattern Recognition, Miami
3495Beach, FL, pp. 364-374, 1986).&nbsp;</li>
3496
3497
3498
3499
3500</ul>
3501
3502
3503
3504
3505<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId949329"></a>
3506<span style="font-weight: normal;">&nbsp;&nbsp;&nbsp;
3507The transform coefficients for each
3508image series are stored in the corresponding xml documentation file, in
3509the section
3510ImaDoc/GeometryCalib. These coefficients are read by the function <span style="text-decoration: underline;">UVMAT/read_imadoc.m</span>.
3511The function&nbsp;<a href="FUNCTIONS_DOC/phys.html"><span style="text-decoration: underline;">phys.m</span></a>
3512applies the transform of any input field from image to physical
3513coordinates, while&nbsp;<a href="FUNCTIONS_DOC/px.html"><span style="text-decoration: underline;">px.m</span></a>
3514applies the reverse transform. &nbsp; The coefficients for the Tsai
3515transform can be determined using the image acquisition software <span style="text-decoration: underline;">Acquix</span>.
3516Calibration coefficients&nbsp; can be also obtained with the
3517interface <span style="text-decoration: underline;">geometry_calib.fig</span>.&nbsp;
3518</span><br>
3519
3520
3521
3522
3523<span style="font-weight: normal;">
3524</span><br>
3525
3526
3527
3528
3529<span style="font-weight: normal;">
3530</span></div>
3531
3532
3533
3534
3535<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId348355"></a>6-2
3536The GUI <span style="text-decoration: underline;">geometry_calib.fig</span>:</h2>
3537
3538
3539
3540
3541<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId478717"></a>
3542&nbsp;&nbsp;&nbsp; This GUI appears by pressing by activating the menu bar<span style="font-weight: bold;"> Tools/Geometric calibration </span>in
3543the GUI <span style="text-decoration: underline;">uvmat</span> .<br>
3544
3545
3546
3547
3548</div>
3549
3550
3551
3552
3553<ul style="text-align: justify;">
3554
3555
3556
3557
3558  <li><span style="font-weight: bold; font-style: italic;">Appending
3559and editing calibration points:</span><span style="font-weight: bold;"></span></li>
3560
3561
3562
3563
3564</ul>
3565
3566
3567
3568
3569<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId982303"></a>
3570&nbsp;&nbsp;&nbsp;&nbsp;To introduce new reference points,
3571select 'append' in the <span style="font-weight: bold;">edit_append</span>
3572menu, and mark the points with the mouse on uvmat (with the option 'px'
3573in <span style="font-weight: bold;">menu_coord</span>).
3574The new image coordinates then appear in the list <span style="font-weight: bold;">ListCoord</span><span style="font-weight: bold;">. </span>Reference points
3575can be also added manually using the edit boxes<span style="font-weight: bold;"> </span>with the option
3576'append'. For proper calibration, the point coordinates&nbsp; should be ordered in a monotonic way (like on a grid). <br>
3577
3578&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; If calibration data already
3579exist in the ImaDoc file when <span style="text-decoration: underline;">geometry_calib</span>
3580is opened, the corresponding list of reference points are
3581displayed&nbsp; in the central window <span style="font-weight: bold;">ListCoord</span>
3582of <span style="text-decoration: underline;">geometry_calib</span>.
3583The three first columns indicate the physical coordinates and the two
3584last ones the corresponding image coordinates.<br>
3585
3586
3587
3588
3589&nbsp;&nbsp;&nbsp; Alternatively, a file with point
3590coordinates (created by <span style="text-decoration: underline;">set_object</span>)
3591can be&nbsp; imported with the <span style="font-weight: bold;">import</span>
3592browser at
3593the top of the GUI&nbsp; <span style="text-decoration: underline;">geometry_calib</span>.
3594In the 'edit' mode the new point coordinates will be listed below the
3595current line&nbsp;in <span style="font-weight: bold;">ListCoord</span>, replacing the previous data. In the
3596'append' mode, it will be added at the bottom of the current list. If
3597the input file contain pixel coordinates (CoordType='px')..... created
3598by <span style="text-decoration: underline;">set_object</span>,
3599in pixel coordinates, only the pixel coordinates are displayed. The
3600corresponding physical coordinates can be introduced by
3601manually editing each line in the list <span style="font-weight: bold;">ListCoord.</span><br>
3602
3603
3604
3605
3606<span style="font-weight: bold;">
3607</span>&nbsp;&nbsp;&nbsp; For editing a referece
3608point, select it in the list <span style="font-weight: bold;">ListCoord</span>,
3609and use the edit boxes&nbsp;<span style="font-weight: bold;">XObject</span>,
3610<span style="font-weight: bold;">YObject, </span><span style="font-weight: bold;">ZObject </span>(for 3D
3611calibration), <span style="font-weight: bold;">XImage</span>,
3612<span style="font-weight: bold;">YImage</span>.
3613Type
3614return carriage to validate the edition. The reference point can be
3615suppressed by typing the 'backward' arrow on the key-boeard, or by
3616filling the five boxes with blank values.<br>
3617
3618
3619
3620
3621&nbsp;&nbsp;&nbsp;&nbsp;<br>
3622
3623
3624
3625
3626</div>
3627
3628
3629
3630
3631<ul style="text-align: justify;">
3632
3633
3634
3635
3636  <li style="font-weight: bold; font-style: italic;">Plotting
3637calibration points:&nbsp;&nbsp; <br>
3638
3639
3640
3641
3642  </li>
3643
3644
3645
3646
3647</ul>
3648
3649
3650
3651
3652<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId595821"></a>
3653&nbsp;&nbsp;&nbsp; Press the button <span style="font-weight: bold;">plot</span>
3654to visualise the list of reference points. The physical or image
3655coordinates will be used in the list ListCoord, depending on the option
3656'phys' or 'px' in the menu <span style="font-weight: bold;">menu_coord</span>
3657of the GUI uvmat .&nbsp;
3658</div>
3659
3660
3661
3662
3663<ul style="text-align: justify;">
3664
3665
3666
3667
3668  <li style="font-weight: bold; font-style: italic;">Translation
3669and rotation of calibration points:</li>
3670
3671
3672
3673
3674</ul>
3675
3676
3677
3678
3679<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId700227"></a>
3680&nbsp;&nbsp;&nbsp; A translation or rotation (in physical
3681space) can be
3682introduced by the edit boxes on the top of geometry_calib. Press the
3683'+' or '-' button to control the sign of the translation or
3684rotation. In the case of rotation, the origin of the rotation, as well
3685as the angle (in degree) must be introduced. The resulting coordinates
3686appear in the list <span style="font-weight: bold;">ListCoord</span>.
3687</div>
3688
3689
3690
3691
3692<ul style="text-align: justify;">
3693
3694
3695
3696
3697  <li><span style="font-weight: bold; font-style: italic;">Recording
3698calibration parameters:</span></li>
3699
3700
3701
3702
3703</ul>
3704
3705
3706
3707
3708<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId202336"></a>
3709&nbsp;&nbsp;&nbsp; Once the list of calibration points has
3710been completed, press a calibration button at the top of <span style="text-decoration: underline;">geometry_calib</span>,
3711with the following options (see previous sub-section).<br>
3712
3713
3714
3715
3716&nbsp;<span style="font-weight: bold;">calib_rescale: </span>yields
3717coefficients for simple rescaling and translation&nbsp; without
3718rotation, <br>
3719
3720
3721
3722
3723<span style="font-weight: bold;">&nbsp;calib_lin:</span>
3724yields coefficients for a linear transform<br>
3725
3726
3727
3728
3729<span style="font-weight: bold;">&nbsp;calib_tsai:</span>
3730yields
3731coefficients for the Tsai model, including perspective effects and
3732quadradic deformation. This option requires a sufficient number of
3733calibration points (typically &gt; 10) sufficiently spread over the
3734image. <br>
3735
3736
3737
3738
3739<br>
3740
3741
3742
3743
3744&nbsp;&nbsp;&nbsp; &nbsp;The coefficients are recorded
3745in the xml file associated with the image currently opened by <span style="text-decoration: underline;">uvmat</span>.
3746If previous calibration data already exist, the previous xml file is
3747updated, but&nbsp; the original one is preserved with the extension
3748.xml~.&nbsp; If no xml file already exists, it is created. The
3749image
3750transformation to phys coordiantes can be directly seen on the uvmat
3751interface after completion of the calib... commands.<br>
3752
3753
3754
3755
3756<span style="font-weight: normal;"></span>&nbsp;&nbsp;&nbsp;
3757&nbsp; To
3758reproduce the same calibrationn for image series, open one of the image
3759in the series, and do again the calibration with the same points, or
3760copy-paste the section GeometryCalib of the xml documentation file with
3761a text editor.<br>
3762
3763
3764
3765
3766<br>
3767
3768
3769
3770
3771&nbsp;&nbsp;&nbsp; The coefficients are recorded in the xml
3772file under the key <span style="font-weight: normal;">ImaDoc/GeometryCalib
3773as follows:</span><br>
3774
3775
3776
3777
3778<span style="font-weight: normal;">
3779&lt;focal&gt;: focal length, in mm &nbsp;(=1 for the
3780options <span style="font-weight: bold;">calib_lin</span>
3781and <span style="font-weight: bold;">calib_rescale</span>)
3782</span><br>
3783
3784
3785
3786
3787<span style="font-weight: normal;">
3788</span><span style="font-weight: normal;">&lt;dpx_dpy&gt;:
3789dimensions of the individual sensor elements, in mm </span><span style="font-weight: normal;">&nbsp;(=[1 1] for the
3790options <span style="font-weight: bold;">calib_lin</span>
3791and <span style="font-weight: bold;">calib_rescale</span>)</span><br>
3792
3793
3794
3795
3796<span style="font-weight: normal;">&lt;Cx_Cy&gt;:
3797position coordinates of the optical axis on the sensor (in px)&nbsp;</span><span style="font-weight: normal;">(=[0 0] for the options <span style="font-weight: bold;">calib_lin</span> and <span style="font-weight: bold;">calib_rescale</span>)</span><br>
3798
3799
3800
3801
3802<span style="font-weight: normal;">&lt;sx&gt;:
3803aspect ratio of sensor elements </span><span style="font-weight: normal;"></span><span style="font-weight: normal;">(=1 for the options <span style="font-weight: bold;">calib_lin</span> and <span style="font-weight: bold;">calib_rescale</span>)</span><br>
3804
3805
3806
3807
3808<span style="font-weight: normal;">&lt;kappa1&gt;:
3809coefficient of quadratic deformation </span><span style="font-weight: normal;"></span><span style="font-weight: normal;"></span><span style="font-weight: normal;">(=1 for the options <span style="font-weight: bold;">calib_lin</span> and <span style="font-weight: bold;">calib_rescale</span>)</span><br>
3810
3811
3812
3813
3814<span style="font-weight: normal;">&lt;Tx_Ty_Tz&gt;:
3815translation, </span><span style="font-weight: normal;"></span><span style="font-weight: normal;"></span><span style="font-weight: normal;"></span><span style="font-weight: normal;">(Tz=1 for the options <span style="font-weight: bold;">calib_lin</span> and <span style="font-weight: bold;">calib_rescale</span>)</span><br>
3816
3817
3818
3819
3820<span style="font-weight: normal;">&lt;R&gt;:
3821rotation matrix (in 3 lines)</span><br>
3822
3823
3824
3825
3826<span style="font-weight: normal;">
3827&nbsp; &nbsp; &nbsp; For the option <span style="font-weight: bold;">calib_rescale</span></span><br>
3828
3829
3830
3831
3832<span style="font-weight: normal;">
3833&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;R
3834(i=1)= [pxcmx 0 0]</span><br>
3835
3836
3837
3838
3839<span style="font-weight: normal;">
3840&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="font-weight: normal;">R (i=2)= [0 pxcmy 0]</span><br>
3841
3842
3843
3844
3845<span style="font-weight: normal;">
3846&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="font-weight: normal;">R (i=3)= [0 0 1]</span><br>
3847
3848
3849
3850
3851<span style="font-weight: normal;">
3852where pxcmx and pxcmy are the scaling factors along x and y.</span><br>
3853
3854
3855
3856
3857<span style="font-weight: normal;">
3858</span><span style="font-weight: normal;">&lt;ErrorRms&gt;:
3859rms
3860difference (in X and Y direction) between the image coordinates
3861measured for the calibration points and the coordinates transformed
3862from their physical coordinates (using the function <span style="text-decoration: underline;">UVMAT/px.m</span>)
3863</span><br>
3864
3865
3866
3867
3868<span style="font-weight: normal;">
3869</span><span style="font-weight: normal;">&lt;ErrorMax&gt;
3870: </span><span style="font-weight: normal;">maximum
3871difference (in X and Y
3872direction) between the image coordinates measured for the calibration
3873points and the coordinates transformed from their physical coordinates.
3874(using the function <span style="text-decoration: underline;">UVMAT/px.m</span>)
3875</span><br>
3876
3877
3878
3879
3880<span style="font-weight: normal;">&lt;SourceCalib&gt;
3881set of the point coordinates used for calibration</span><br>
3882
3883
3884
3885
3886<span style="font-weight: normal;">
3887&nbsp;</span><span style="font-weight: normal;">&lt;PointCoord&gt;
3888[x y z X Y] , where x,y,z are the physical coordinates of each point, X
3889Y its image coordinates.</span><br>
3890
3891
3892
3893
3894<span style="font-weight: normal;">
3895</span><span style="font-weight: normal;"></span><br>
3896
3897
3898
3899
3900</div>
3901
3902
3903
3904
3905<ul style="text-align: justify;">
3906
3907
3908
3909
3910</ul>
3911
3912
3913
3914
3915<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId240292"></a>
3916</div>
3917
3918
3919
3920
3921<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId574740"></a>7
3922Masks and grids:</h1>
3923
3924
3925
3926
3927<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
3928
3929
3930
3931
3932<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId348355"></a><a name="makemask"></a>7-1
3933Masks:</h2>
3934
3935
3936
3937
3938<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId132948"></a>
3939&nbsp;&nbsp;&nbsp; Mask files are used to restrict the
3940domain of CIV processing, to
3941take into account fluid boundaries or invalid image zones. They must
3942be stored as .png images with 8 bits, with names [filebase '_xxmask_'
3943'filenumber' '.png'], where xx is the number of masks (nbslices) used
3944when the series of fields corresponds physically to a set of nbslices
3945positions. The mask filenumber used is the image field number modulo
3946nbslices. Use xx=1 in the default case of a fixed position and a
3947single mask. Masks can be made by pressing the menu bar <span style="font-weight: bold;">Tools/make mask</span>
3948on the GUI <strong>uvmat</strong>. The
3949mask is created interactively with the mouse on the current
3950image.&nbsp;
3951</div>
3952
3953
3954
3955
3956<p style="text-align: justify;">First open an input image
3957file name with the browser, or
3958the
3959edit box
3960and carriadge return<b>.</b> From the image name, a
3961corresponding
3962mask name is proposed in the lower edit box. It should be edited if a
3963series of masks is made, in case of mutipositions (number nbslices)
3964of the laser sheet in a series. The names must be [filebase '_xxmask'
3965'filenumber' '.png'], where xx is the number of masks (nbslices). The
3966mask filenumber used is the image field number modulo nbslices. The
3967filenumber can be incremented by the NEXT press button.</p>
3968
3969
3970
3971
3972<p style="text-align: justify;">Holes can be made by the
3973press button <strong>mask_hole</strong>
3974which allows to draw a polygon on the image (the matlab image
3975processing toolbox is needed). The inside of this polygone is masked.</p>
3976
3977
3978
3979
3980<p style="text-align: justify;">Press the red push
3981button&nbsp; <b>save_mask</b>
3982which appeared on the lower right.
3983The saved mask is then
3984displayed. A new image can be then entered.</p>
3985
3986
3987
3988
3989<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId502619"></a><a name="set_grid"></a>7-2
3990Grids:</h2>
3991
3992
3993
3994
3995<p style="text-align: justify;">To create a grid for PIV, activate the menu bar <span style="font-weight: bold;">Tools/Make grid </span>on the GUI uvmat. Introduce a minimum value, mesh, and maximum value for
3996each coordinate x in the edit boxes <span style="font-weight: bold;">XMin</span>,
3997<span style="font-weight: bold;">DX</span>, <span style="font-weight: bold;">XMax</span> respectively.
3998Do the same for the y coordinate.&nbsp; This must be expressed in
3999physical coordinates.&nbsp;</p>
4000
4001
4002
4003
4004<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId742651"></a>
4005The grid will be limited to an&nbsp; image&nbsp;, or to the
4006common
4007region of two images, depending whether one or two image names are
4008indicated in the edit boxes <span style="font-weight: bold;">image_1</span>
4009and <span style="font-weight: bold;">image_2</span>.
4010Press <span style="font-weight: bold;">save</span>
4011to save the corresponding grid file (s). A dialog box appears to edit
4012the name of the output grid file, and a second one in case of two
4013images. <br>
4014
4015
4016
4017
4018</div>
4019
4020
4021
4022
4023<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId479237"></a><a name="series"></a>8
4024Operations on field series:</h1>
4025
4026
4027
4028
4029<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
4030
4031
4032
4033
4034<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId953279"></a>
4035</div>
4036
4037
4038
4039
4040<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId856905"></a>8-1
4041The GUI <span style="text-decoration: underline;">series.fig</span>:</h2>
4042
4043
4044
4045
4046<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId185"></a>
4047&nbsp;&nbsp;&nbsp; Operations on field series are controled
4048by the GUI <span style="text-decoration: underline;">series.fig</span>,
4049which allows to set the root name and file indices on which a
4050processing function &nbsp;must operate. The root path,
4051subdirectory,
4052root file name and extension are introduced in the same way as with the
4053uvmat interface, on the edit windows <span style="font-weight: bold;">RootPath</span>,<span style="font-weight: bold;"> SubDir</span>, <span style="font-weight: bold;">RootFile</span> and <span style="font-weight: bold;">FileExt</span>
4054respectively. The nomenclature for file indexing is represented in <span style="font-weight: bold;">NomType</span> ('<span style="font-weight: bold;">Indices</span>'). <br>
4055
4056
4057
4058
4059&nbsp;&nbsp;&nbsp; Several input file series can be
4060introduced simultaneously. For that purpose activate the check
4061box&nbsp; <span style="font-weight: bold;">add</span>
4062and browse for a new field: the new field will appear on a new line. <br>
4063
4064
4065
4066
4067&nbsp;&nbsp;&nbsp; The velocity type and field is
4068automatioally chosen by default, but it can be specified by <span style="font-weight: bold;">VelType</span> and <span style="font-weight: bold;">Field</span>. For that
4069purpose use the menus <span style="font-weight: bold;">VelTypeMenu</span>
4070and <span style="font-weight: bold;">fieldsinput</span>.
4071In case of multiple input file series, these menus act only on the
4072first line.&nbsp;&nbsp;<br>
4073
4074
4075
4076
4077&nbsp;&nbsp;&nbsp; The set of file indices is set
4078in the frame&nbsp;<span style="font-weight: bold;">RANGE</span>,
4079while the processing function is chosen in the menu <span style="font-weight: bold;">ACTION</span>. All actions
4080operate on the same series of input files, whose list can be obtained
4081with the option&nbsp;<span style="font-weight: bold;">check_files</span>.
4082The option <b>aver_stat </b>calculates<b>&nbsp;</b>
4083a global average on&nbsp;the successive fields, while<b> </b><span style="font-weight: bold;">time_series</span><b>
4084</b>provides a time series. The option <span style="font-weight: bold;">merge_proj</span>
4085is used to project a whole series on a given grid, or to create a file
4086series obtained by concatenation of different fields different fields.
4087&nbsp;Finally any additional function can be called and included in
4088the
4089menu by selecting the option <span style="font-weight: bold;">usr_defined...</span>
4090.<br>
4091
4092
4093
4094
4095&nbsp;&nbsp;&nbsp; Any action is performed from field index
4096<span style="font-weight: bold;">first_i</span>
4097to <span style="font-weight: bold;">last_i</span>
4098with
4099increment <span style="font-weight: bold;">incr_i</span>.
4100In case of double indexing, action is similarly performed from field
4101index <span style="font-weight: bold;">first_j</span>
4102to <span style="font-weight: bold;">last_j</span>
4103with increment <span style="font-weight: bold;">incr_j</span>.
4104Succesive file names are ordered as a matrix Name {j,i} with the index
4105j varying the fastest. The parameter <span style="font-weight: bold;">nb_slice</span> can be
4106introduced to scan the i index modulo nb_slice. <br>
4107
4108
4109
4110
4111&nbsp;&nbsp;&nbsp; For pair indexing, the selected pair
4112must be chosen in the menu <span style="font-weight: bold;">list_pair-civ</span>
4113in the frame PAIRS (browse again an input field if this menu does not
4114appear). Then the first_i and last_i refer to the 'reference indices'.
4115With the option '*-*' in <span style="font-weight: bold;">list_pair-civ,
4116</span>available
4117pairs are automatically chosen (this is appropriate if several image
4118pairs are used in a time series, to account for a changing mean
4119velocity). <br>
4120
4121
4122
4123
4124&nbsp;&nbsp;&nbsp; A projection object can be introduced by
4125selecting
4126the check box GetObject. If a projection object has been already
4127created the &nbsp;opened interface set_object will be used.
4128Otherwise
4129the blank set_object interface appears, and a projection object can be
4130imported from an existing xml Object file.&nbsp; <br>
4131
4132
4133
4134
4135</div>
4136
4137
4138
4139
4140<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId483256"></a>8-2
4141check_files:</h2>
4142
4143
4144
4145
4146<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId191551"></a>
4147Gives the series of files selected for processing and checks their
4148existence. The oldest modified file is indicated, which is useful to
4149detect whether any file in a civ processing is missing (then the
4150oldest file is not updated). <br>
4151
4152
4153
4154
4155For NetCDF files, the last operation made (civ1, fix1, patch1,
4156civ2, fix2, patch2) is indicated. The details of each NetCDF file can
4157be dispalyed by selecting it with the mouse on the list.
4158</div>
4159
4160
4161
4162
4163<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId310092"></a>8-3
4164aver_stat:</h2>
4165
4166
4167
4168
4169<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId106189"></a>
4170&nbsp;&nbsp;&nbsp; This option provides any average over
4171the processed files. If <span style="font-style: italic;">nb_slice</span>
4172is not equal to 1, the average is performed slice by slice, providing
4173nb_slice results. &nbsp; If a projection object is selected (check
4174box&nbsp;<span style="font-weight: bold;">GetObject</span>),
4175the field is projected before averaging. <br>
4176
4177
4178
4179
4180&nbsp;&nbsp;&nbsp; For unstructured coordinates varying for
4181successive
4182fields, the data is linearly interpolated on the coordinates of the
4183first field in the series. It is then advised to project the fields on
4184a regular grid, creating a projection object of type 'plane' with
4185projection mode 'interp'. <br>
4186
4187
4188
4189
4190&nbsp;&nbsp;&nbsp; With a projection object with title
4191PATCH, the
4192global histogram of field variables on the selected region will be
4193obtained. &nbsp;&nbsp; <br>
4194
4195
4196
4197
4198&nbsp;&nbsp;&nbsp;&nbsp;
4199</div>
4200
4201
4202
4203
4204<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId887562"></a>8-4
4205time_series:</h2>
4206
4207
4208
4209
4210<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId672413"></a>
4211&nbsp; This action provides a time series of the input field. It is
4212advised to use a POINTS projection object, so the series is limited to
4213the selected points. <br>
4214
4215
4216
4217
4218</div>
4219
4220
4221
4222
4223<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId109414"></a>8-5
4224merge_proj:&nbsp;</h2>
4225
4226
4227
4228
4229<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId682822"></a>
4230&nbsp;&nbsp;&nbsp; This option allows to merge several
4231field
4232series&nbsp; in a single one. This is useful to merge fields
4233obtained
4234with different cameras. Select the different series, activating the
4235check box <span style="font-weight: bold;">add</span>.
4236In this case, it is generally useful to first interpolate the fields on
4237a single grid. For that purpose select the check box <span style="font-weight: bold;">GetObject, </span>creating
4238a projection object of type 'plane' with projection mode 'interp'. <br>
4239
4240
4241
4242
4243&nbsp;&nbsp;&nbsp; Since the different views have their own
4244calibration, it is important to use the option 'phys' (menu <span style="font-weight: bold;">menu_coord</span>), and to
4245create the grid in phys coordinates. <br>
4246
4247
4248
4249
4250<span style="font-weight: bold;"></span>
4251</div>
4252
4253
4254
4255
4256<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId736727"></a>8-6 more...:</h2>
4257
4258
4259
4260
4261<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId640736"></a>
4262This action calls any user defined function by its name, acting on
4263the series of fields defiend for ACTION. <br>
4264
4265
4266
4267
4268Some examples of usr_defined functions are in the subdirectory
4269UVMAT/USR_FCT. <br>
4270
4271
4272
4273
4274<br>
4275
4276
4277
4278
4279<u>List of available functions:</u> <br>
4280
4281
4282
4283
4284-<strong>sub_background:</strong> used to removed a mean
4285background to the images. This is useful before CIV processing when
4286some fiked features are visible in the background (when the laser
4287sheet is close to the bottom). <br>
4288
4289
4290
4291
4292<br>
4293
4294
4295
4296
4297To update (**):<br>
4298
4299
4300
4301
4302-<strong>uvprofile</strong>: calculate the mean velocity
4303profile
4304and Reynolds stress u'v' along a band, averaged over the series of
4305fields. <br>
4306
4307
4308
4309
4310-<strong>view_ima3D:</strong> provides a perspective view
4311of a 3D
4312image defined by a series of slice 2D images. The isosurfaces of the
4313scalar field are represented. <br>
4314
4315
4316
4317
4318-<strong>part_stat:</strong> count particles and provides
4319their
4320density and luminosity histogramm
4321</div>
4322
4323
4324
4325
4326<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId360245"></a><a name="peaklocking"></a>Peaklocking
4327errors:(to update
4328**)</h2>
4329
4330
4331
4332
4333<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId217145"></a>
4334By selecting the press button 'peaklocking' on the 'plotgraph'
4335interface, you smooth the current velocity histograms while
4336preserving its integral over each unity (in pixels). This appears in
4337red. Then an estimate of the peaklocking error is obtained by
4338comparing the initial histogram to the smooth one.<br>
4339
4340
4341
4342
4343<br>
4344
4345
4346
4347
4348</div>
4349
4350
4351
4352
4353<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId280008"></a><a name="editxml"></a>9
4354The GUI editxml.fig:</h1>
4355
4356
4357
4358
4359<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
4360
4361
4362
4363
4364<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId215335"></a>
4365&nbsp;&nbsp;&nbsp; This GUI <a href="FUNCTIONS_DOC/editxml.html">editxml.fig</a>
4366visualises xml files. It is automatically called by the browser of
4367uvmat when a file .xml is opened.<br>
4368
4369
4370
4371
4372&nbsp;&nbsp;&nbsp; When an input file is opened, editxml
4373detects the title key, e.g. ImaDoc, and looks for the corresponding xml
4374schema (e.g. ImaDoc.xsd&nbsp;). This schema is sought&nbsp; in
4375the directory defined by &lt;SchemaPath&gt; in the installation
4376file <a href="../PARAM_LINUX.xml">PARAM_LINUX</a>
4377or <a href="../PARAM_WIN.xml">PARAM_WIN</a> of
4378uvmat. If the schema is fund, the hierarchical structure and keys given
4379by the schema are diplayed.&nbsp; Otherwise the &nbsp;keys of
4380the xml file are displayed. <br>
4381
4382
4383
4384
4385&nbsp;&nbsp;&nbsp; Simple elements in the xml
4386file&nbsp; are listed in the forme 'key'='value', and the
4387corresponding attributes are shown in green. Comments from the schema
4388are dispalyed in blue. Complex elements are indicated by '+'. Selecting
4389them on the list gives access to the lower hierarchical
4390level.&nbsp; Press the&nbsp; arrow '&lt;---' to move back
4391upward in the hierarchy. <br>
4392
4393
4394
4395
4396&nbsp;&nbsp;&nbsp; &nbsp;Manual editing of element
4397value is possible. Select the element and use the lower edit box. This
4398edit box transforms in a menu when a preselected list of allowed input
4399values has been set by the schema. <br>
4400
4401
4402
4403
4404&nbsp;&nbsp;&nbsp; </div>
4405
4406
4407
4408
4409<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId609725"></a><a name="civ"></a>10
4410Particle Imaging Velocimetry (PIV)</h1>
4411
4412
4413
4414
4415<p style="text-align: justify;"><a href="uvmat_doc.html#top"><img style="border: 0px solid ; width: 23px; height: 49px;" alt="AG00112_.gif (1861 bytes)" src="AG00112_.gif"></a><a href="uvmat_doc.html#top">Back to the Top</a></p>
4416
4417
4418
4419
4420<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId109414"></a>10-1
4421Civ operations:</h2>
4422
4423
4424
4425
4426<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId1082"></a>
4427The<strong style="font-weight: normal;"> <span style="text-decoration: underline;">civ.fig</span></strong><span style="font-weight: bold;"> </span>interface
4428processing can be
4429directly
4430opened by the <strong style="font-weight: normal;">'civ'</strong>
4431command on the Matlab
4432prompt. Then
4433a documentation file (.xml or .civ) should be enter to begin. It can be
4434also opened by uvmat, activating the pusch button<strong> civ</strong>.
4435With the fields option <strong>images</strong>
4436it sets the interface at the default starting operation civ1. With
4437the other fields options, it detects the state of processing of the
4438existing NetCDF files, and proposes the next operation (fix1, patch1,
4439civ2...). A third way of opening the interface is just to open the
4440Matlab image (.fig file) stored after each processing in the
4441directory of the .civ file. Then just edit it and run a new
4442calculation. <br>
4443
4444
4445
4446
4447First check the root name in the top edit box, and the series of
4448fields. Then set the chosen series of
4449operation by the check boxes on the left; The corresponding menus
4450appear. <br>
4451
4452
4453
4454
4455<br>
4456
4457
4458
4459
4460<span style="font-style: italic; font-weight: bold;">CIV1:</span><span style="font-style: italic; font-weight: bold;"> </span>The
4461main parameters is the chosen image pair in the
4462left menu, the size of the correlation box (<strong>ibx, iby</strong>),
4463the search range defined by its size in pixels (<strong>isx, isy</strong>)
4464and a systematic shift (<strong>shift x,y</strong>). The
4465default
4466value 21x21 is generally good, use a larger size for images with few
4467particles, use an elongated box (e.g. 11x41) to optimize the
4468resolution in one direction (for instance in a boundary layer). The
4469search parameters (<strong>isx, isy</strong>,<strong>shift
4470x,y</strong>)
4471can be estimated using the press button <strong>calcul search
4472range</strong>.
4473First introduce the estimated minimum and maximum values of each
4474velocity component u and v. The result depends on the time interval
4475of the image pair. Change the selected image pair if the maximum
4476displacement (ibsx-ibx)/2 is too small (lack of precision) or too
4477large (bad image correlations and risks of faulse vectors). A good
4478typical displacement is 5-10 pixels. A parameter <strong>rho</strong>
4479controls the smoothing of the image corelation curves used in civ,
4480the default value 1 is generally used. <br>
4481
4482
4483
4484
4485&nbsp;&nbsp;&nbsp; The grid determines the central
4486positions of the correlation boxes
4487(in pixels). A default regular grid can be set by the meshes <strong>dx</strong>
4488and <strong>dy</strong>
4489(in pixels). A custom grid can be stored in a
4490text file, and selected by the GET_GRID push button. This is
4491convenient to limitate the processing to a subregion or to fine tune
4492the resolution. See the site http://www.civproject.org/documentation
4493for the file format. The function MISC_FCT/makegrid.m in UVMAT
4494creates an example. An alternating way to select a subregion is to
4495use a mask image. If a mask image with an appropriate name is found
4496in the image directory, it wil be detected by the pushbutton
4497GET_MASK, and the indication xxmask appears in the edit box. (xx is
4498the number of slices, equal to 1 for a single mask).&nbsp; Finally
4499thresholds on image intensity can be introduced to suppress
4500underexposed or overexposed parts of the image: select the check box <span style="font-weight: bold;">ImaThresh</span>
4501('THRESH'), and edit the boxes <span style="font-weight: bold;">MinIma</span>
4502and <span style="font-weight: bold;">MaxIma</span>
4503which then appear. <br>
4504
4505
4506
4507
4508&nbsp;&nbsp;&nbsp; The velocity results are stored
4509in the subdirectory set by SUBDIR_CIV1. <br>
4510
4511
4512
4513
4514<br>
4515
4516
4517
4518
4519<span style="font-style: italic; font-weight: bold;">FIX1:</span><u>
4520</u>used after civ1 to remove some false vectors using
4521different criteria. Use generally the default options on vec_F. A
4522threshold on the image correlation values (vec_C) can be introduced.
4523Use first a small threshold 0.2, look at the resulting fields, by
4524looking at red vectors in the view_field menu. If many red vectors
4525appear, redo the fix operation with a higher threshold. A threshold
4526on the velocity values can be also introduced: erratic zero velocity
4527vectors can be indeed produced by a fixed image background. A mask
4528image can be also introduced. It has the same effect as the one used
4529in civ1, but the removed vectors are kept in memory, and labelled as
4530false. <br>
4531
4532
4533
4534
4535With a civ field selected and a second field, for instance filter,
4536you can remove all vectors whose difference with the second field
4537exceeds a threshold. <br>
4538
4539
4540
4541
4542Interactive fixing with the mouse&nbsp;is also possible, see <a href="vectors">section 3.2</a>, but it is not
4543recommended. <br>
4544
4545
4546
4547
4548<br>
4549
4550
4551
4552
4553<span style="font-style: italic; font-weight: bold;">PATCH1:</span>
4554interpolates the velocity values on a regular grid
4555with a smoothing parameter<strong> rho</strong>. This also
4556provides
4557the spatial derivatives (vorticity, divergence) needed for the
4558refined processing civ2. The numbers of grid points in x and y are
4559set by<strong> nx</strong> and <strong>ny</strong>.
4560The vectors which
4561are too far from the smoothed field (erratic vectors) can be
4562eliminated, using a threshold expressed in pixel displacement. The
4563thin plate spline method must be done by subdomains for computational
4564saving, use the default value 300. <br>
4565
4566
4567
4568
4569<br>
4570
4571
4572
4573
4574<span style="font-style: italic; font-weight: bold;">CIV2:</span><span style="font-style: italic; font-weight: bold;"> </span>provides
4575a refined calculation of the velocity field,
4576using the civ1 result as previous estimate. The search range is
4577determined by the civ1 field so there is no parameter. Use the option <strong>decimal
4578shift</strong> to reduce peaklocking
4579effects
4580(advised). The option <strong>deformation</strong> is
4581useful in the
4582presence of strong shear or vorticity. Then image deformation and
4583rotation is introduced before calculating the correlations. The other
4584parameters (<strong>rho, ibx,iby, grid, mask</strong>) are
4585used like
4586for civ1 (take the same by default). The image pair for civ2 can be
4587different than the one used in civ1 to get the first estimate. It is
4588generally advised to use a moderate time interval for civ1, to avoid
4589false vectors, and to take a larger intervel for civ2, in order to
4590optimize precision. As civ2 already knows where to look and takes
4591into account image strain and rotation (with the option deformation)
4592it allows for higher time intervals. <br>
4593
4594
4595
4596
4597<br>
4598
4599
4600
4601
4602<span style="font-style: italic; font-weight: bold;">FIX2:</span>
4603like FIX1, except for the different flags vec_F
4604provided by civ2. Use the default options. <br>
4605
4606
4607
4608
4609<br>
4610
4611
4612
4613
4614<span style="font-style: italic;">PATCH2:</span>
4615like PATCH1 <br>
4616
4617
4618
4619
4620<br>
4621
4622
4623
4624
4625<span style="font-style: italic; font-weight: bold;">Further
4626iterations:</span> improvements can be obtained by further
4627iterations of the civ2-fix2-patch2 process. Open again the interface,
4628and consider the previous civ2 result as the prior guess civ1. It
4629will be recopied and relabelled as civ1 in the new NetCDF file
4630produced. <br>
4631
4632
4633
4634
4635<br>
4636
4637
4638
4639
4640</div>
4641
4642
4643
4644
4645<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId178080"></a>10-2
4646Codes for vector flags:</h2>
4647
4648
4649
4650
4651<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId393398"></a>
4652<u>Code for vec_F:</u> </div>
4653
4654
4655
4656
4657<ul style="text-align: justify;">
4658
4659
4660
4661
4662  <li>
4663   
4664   
4665   
4666    <p style="margin-bottom: 0cm;">vec_F(i)=1 : default ,
4667evrything is fine </p>
4668
4669
4670
4671
4672  </li>
4673
4674
4675
4676
4677  <li>
4678   
4679   
4680   
4681    <p style="margin-bottom: 0cm;">vec_F(i)=-2: the
4682maximum of the correlation function is close to the border: the search
4683domain is too small </p>
4684
4685
4686
4687
4688  </li>
4689
4690
4691
4692
4693  <li>
4694   
4695   
4696   
4697    <p style="margin-bottom: 0cm;">vec_F(i)=2: (only in
4698civ1) we keep the inaccurate Hart result (resulting from averaging with
4699neighborhing points) and&nbsp; vec_C(i)=0 is chosen by convention. </p>
4700
4701
4702
4703
4704  </li>
4705
4706
4707
4708
4709  <li>
4710   
4711   
4712   
4713    <p style="margin-bottom: 0cm;">vec_F(i)=3: the
4714optimization of the correlation function is unstable&nbsp;
4715or&nbsp; local Intensity rms of the image =0 </p>
4716
4717
4718
4719
4720  </li>
4721
4722
4723
4724
4725  <li>
4726   
4727   
4728   
4729    <p style="margin-bottom: 0cm;">vec_F(i)=4:only in
4730civ2: the difference between the estimator and the result is more than
47311 pixel </p>
4732
4733
4734
4735
4736  </li>
4737
4738
4739
4740
4741  <li>
4742   
4743   
4744   
4745    <p>vec_F(i)=1 . :vectors manually selected by <b>uvmat</b>
4746for removalhave a value&nbsp; 1 for the second digit, in front of
4747the vec_F unit value. &nbsp;&nbsp; </p>
4748
4749
4750
4751
4752   
4753   
4754   
4755    <p><u>Code for FixFlag:</u> </p>
4756
4757
4758
4759
4760  </li>
4761
4762
4763
4764
4765  <li>
4766   
4767   
4768   
4769    <p style="margin-bottom: 0cm;">FixFlag(i)=0 :default,
4770everything is fine </p>
4771
4772
4773
4774
4775  </li>
4776
4777
4778
4779
4780  <li>
4781   
4782   
4783   
4784    <p style="margin-bottom: 0cm;">FixFlag(i)=1. : value 1
4785for the second digit: vector removed by criteria on vec_F or/and low
4786correlation value </p>
4787
4788
4789
4790
4791  </li>
4792
4793
4794
4795
4796  <li>
4797   
4798   
4799   
4800    <p style="margin-bottom: 0cm;">FixFlag(i)=1..: value 1
4801for the third digit: vector selected by a criterium of difference with
4802another field, for instance filter, or a field with differnt time
4803interval. </p>
4804
4805
4806
4807
4808  </li>
4809
4810
4811
4812
4813  <li>
4814   
4815   
4816   
4817    <p>FixFlag(i)=...1, 2, 3&nbsp; different criteria for
4818elimination set by the program Fix of CIVx (not yet documented). </p>
4819
4820
4821
4822
4823  </li>
4824
4825
4826
4827
4828</ul>
4829
4830
4831
4832
4833<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId109414"></a>10-3
4834<span style="font-weight: bold;">RUN and BATCH:</span>&nbsp;</h2>
4835
4836
4837
4838
4839<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId558175"></a>
4840&nbsp;&nbsp;&nbsp; RUN controls the computation from the
4841Matlab
4842window, which you cannot use until the computations are finished,
4843while BATCH sends the same computations as background computing tasks
4844in the network. In the first option, the civ1 computations are first
4845perfomed fo all the fields, then the fix1, then the patch1.... In the
4846batch option, the whole series of computations is performed for the
4847first field, and then repeated for each successive field. <br>
4848
4849
4850
4851
4852&nbsp;&nbsp;&nbsp; In both cases, the status of the
4853computations can be checked by
4854opening .cmx and .log files, using the uvmat browser or any text
4855editor. These files are writtent in the same subdirectory as the NetCDF
4856result files. Each .cmx file contains the set of parameters
4857used for a civ computation. It is written by the civ interface just
4858before ordering the computations. By contrast , the .log file is
4859produced after completion of the computations, and it contains some
4860information on the process, including possibly error messages. <br>
4861
4862
4863
4864
4865<br>
4866
4867
4868
4869
4870</div>
4871
4872
4873
4874
4875<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId491591"></a><span style="font-weight: bold;">10-4 Displacement between two
4876image series:</span> &nbsp;</h2>
4877
4878
4879
4880
4881<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId954071"></a>
4882&nbsp;&nbsp;&nbsp; This can be useful for steroscopic view,
4883or to
4884compare series of images to a reference, to measure displacement rather
4885than velocity. &nbsp;For that purpose select the check box <span style="font-weight: bold;">compare</span> ( <span style="font-weight: bold;">'-'</span> )on the top
4886left, and browse the second file, or edit manually the edit boxes <span style="font-weight: bold;">displ_filebase</span> and <span style="font-weight: bold;">displ_filebase_1</span>. <br>
4887
4888
4889
4890
4891&nbsp;&nbsp;&nbsp; Then select the option 'displacement'. A
4892file with
4893recognized indexing will be varied with the same index in each series
4894(appropiate for stereo view), while a second file with no index will
4895remain unchanged (approprite for a fixed reference). <br>
4896
4897
4898
4899
4900&nbsp;&nbsp;&nbsp; <br>
4901
4902
4903
4904
4905</div>
4906
4907
4908
4909
4910<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId118098"></a><span style="font-weight: bold;">10-5 Stereoscopic PIV:</span><span style="font-weight: bold; font-style: italic;"> </span><span style="font-weight: bold;"></span></h2>
4911
4912
4913
4914
4915<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId650824"></a>
4916To<span style="font-weight: bold; font-style: italic;"> </span><span style="font-style: italic;"></span>obtain the three
4917velocity components in a plane with stereoscopic PIV, use the following
4918procedure:<br>
4919
4920
4921
4922
4923<br>
4924
4925
4926
4927
4928<span style="font-style: italic; font-weight: bold;">Install
4929two cameras</span>
4930viewing a common field with angle about 45 &deg; on each side. A
4931system
4932of titled objective lenses (Sheimpflug) allows to optimize the focus in
4933the whole image.&nbsp;<br>
4934
4935
4936
4937
4938<br>
4939
4940
4941
4942
4943<span style="font-style: italic; font-weight: bold;">Make
4944a careful geometric calibration</span>,
4945by taking the images of a grid positioned in the plane of the laser
4946sheet used for particle illumination. Introduce a Tsai calibration with
4947the calibration tool associated with the&nbsp; image acquisition
4948software Acquix. Calibration can be adjusted with the uvmat interface
4949(see <a href="#calib">calibration</a>). <br>
4950
4951
4952
4953
4954&nbsp;&nbsp;&nbsp; This calibration model is valid in air
4955or with an
4956interface air-water perpendicular to the line of sight for each camera.
4957Otherwise, the calibration problem is more complex. <br>
4958
4959
4960
4961
4962<br>
4963
4964
4965
4966
4967<span style="font-weight: bold; font-style: italic;">Perform
4968usual PIV for each image series:</span> <br>
4969
4970
4971
4972
4973&nbsp;&nbsp;&nbsp; The images from each camera (camA and
4974camB) must be
4975in the same directory and the PIV results in a single subdirectory. It
4976is advised to do the successive operations including civ2 and fix2.
4977This double series of PIV processing can be done in two steps (keeping
4978the same CIV subdirectory) or simulatenously, using the <span style="font-weight: bold;">compare</span> (<span style="font-weight: bold;">'-'</span>) option.
4979&nbsp;Then the check boxed <span style="font-weight: bold;">test_stereo1</span>
4980and <span style="font-weight: bold;">test_stereo2</span>
4981in the<span style="font-weight: bold;"> PATCH1</span>
4982and <span style="font-weight: bold;">PATCH2</span>
4983frames must be unselected. <br>
4984
4985
4986
4987
4988&nbsp;&nbsp;&nbsp; For PIV near a staigth wall, it is
4989advised to create
4990a grid for each image series, corresponding to a common array of
4991physical positions. This can be done by the pusch button <span style="font-weight: bold;">grid</span> in uvmat
4992(bottom right).<br>
4993
4994
4995
4996
4997<br>
4998
4999
5000
5001
5002<span style="font-weight: bold; font-style: italic;">Combine
5003PIV fields:</span> &nbsp;this is done by selecting <span style="font-weight: bold;">PATCH1</span> and&nbsp;
5004<span style="font-weight: bold;">test_stereo1 </span>(at
5005level civ1), or<span style="font-weight: bold;"> </span><span style="font-weight: bold;">PATCH2</span> and&nbsp;
5006test_stereo2 (at level civ2) in the stereo mode (check box <span style="font-weight: bold;">compare</span>
5007selected). The resulting fields camA-camB are in physical coordinates.
5008They are final results which cannot be processed for further Civ
5009operations: one must go back to the two image series for that purpose.
5010Note that this stereo combination is only &nbsp;possible in the RUN
5011mode for the moment (no BATCH)**. <br>
5012
5013
5014
5015
5016<br>
5017
5018
5019
5020
5021</div>
5022
5023
5024
5025
5026<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId691001"></a><span style="font-weight: bold;">10-6 3D PIV in a volume:(to be
5027implemented**)</span></h2>
5028
5029
5030
5031
5032<div style="text-align: justify;"></div>
5033
5034
5035
5036
5037<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId280008"></a>11
5038LIF:(to update **)</h1>
5039
5040
5041
5042<br>
5043
5044
5045
5046<h1 style="text-align: justify;"><a class="mozTocH1" name="mozTocId67078"></a><a name="SECTION000110000000000000000"></a>About this
5047document
5048...</h1>
5049
5050
5051
5052
5053<p style="text-align: justify;"><b>UVMAT HELP</b>
5054</p>
5055
5056
5057
5058
5059<p style="text-align: justify;">This document was
5060generated using the <a href="http://www.latex2html.org/"><b>LaTeX</b>2<tt>HTML</tt></a>
5061translator Version 2002 (1.62) </p>
5062
5063
5064
5065
5066<p style="text-align: justify;">Copyright &copy; 1993,
50671994, 1995, 1996, <a href="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos
5068Drakos</a> , Computer Based Learning Unit, University of Leeds. <br>
5069
5070
5071
5072
5073Copyright &copy; 1997, 1998, 1999, <a href="http://www.maths.mq.edu.au/%7Eross/">Ross
5074Moore</a> , Mathematics Department, Macquarie University, Sydney.
5075</p>
5076
5077
5078
5079
5080<p style="text-align: justify;">The command line arguments
5081were: <br>
5082
5083
5084
5085
5086<b>latex2html</b> <tt>-no_subdir
5087-split 0 -show_section_numbers
5088/tmp/lyx_tmpdir24503WtIvn5/lyx_tmpbuf24503v5Erql/uvmat_doc.tex</tt>
5089</p>
5090
5091
5092
5093
5094<div style="text-align: justify;"><a class="mozTocDIV" name="mozTocId600163"></a>
5095</div>
5096
5097
5098
5099
5100<p style="text-align: justify;">The translation was
5101initiated by Joel Sommeria on
51022002-12-04 </p>
5103
5104
5105
5106
5107<hr>
5108<p style="margin-bottom: 0cm;"><!--Navigation Panel--><img src="/////C-red/BIG_RED/civbin3/UVMAT/nx_grp_g.png" name="Image4" alt="next_inactive" align="bottom" border="0" height="24" width="81"><img src="/////C-red/BIG_RED/civbin3/UVMAT/up_g.png" name="Image5" alt="up" align="bottom" border="0" height="24" width="26"><img src="/////C-red/BIG_RED/civbin3/UVMAT/prev_g.png" name="Image6" alt="previous" align="bottom" border="0" height="24" width="63"><!--End of Navigation Panel--></p>
5109
5110
5111
5112
5113<address>Joel Sommeria 2002-12-04 </address>
5114
5115
5116
5117
5118</body>
5119</html>
Note: See TracBrowser for help on using the repository browser.