bugrepair VFS, update autotools files
[gpiv.git] / doc / C / gpiv.html
blob50ccdb6aab542ae55e60030717bf6260f4a0c949
1 <HTML><HEAD><TITLE>GPIV</TITLE>
2 </HEAD>
3 <BODY BGCOLOR="#FFFFFF">
4 <BODY>
5 <A href="index.html"> Contents </A> <br>
6 <A href="intro.html"> Previous </A> <br>
7 <A href="piv_intro.html"> Next </A>
8 <P>
9 <A NAME="gpiv.html"> <H1>2 GPIV</H1></A>
11 <A NAME="sect2.1"><H2>2.1 Starting up</H2></A>
13 Gpiv may be launched in different ways. In case it needs to trigger
14 the lasers and camera, the RTAI and gpivtrig Linux kernel modules will
15 have to be loaded (and unloaded after closing Gpiv). The gpiv_control
16 script (from the gpivtrig package, which also includes the gpivtrig
17 module) might be used: "gpiv_control <b>"</b>gpiv [OPTION1]
18 ... [IMAGE1] ...<b>"</b>". Gpiv_control has to be run with root
19 privileges. In case no trigering is used or if the modules have
20 already been loaded in the kernel, starting the application is
21 straightforward with: "gpiv [OPTION1] ... [IMAGE1] ...". If the
22 modules have not been loaded in the kernel, a warning message will be
23 displayed and the trigger services will be disabled.
24 <br>
26 The Gpiv console consists a menu bar, a tool-bar, process
27 toggle-buttons, a tabulator and a data buffer list (<a
28 href="#fig2.1">Figure 2.1</A>). At the bottom of the console you can
29 find an application bar that displays information of the highlighted
30 item as well as a progress bar that displays the progress of the
31 running process.
32 <br>
34 Gpiv reads its default program parameters from ~/.gnome2/gpiv
35 following the GNOME mechanism. These parameters are defined frome the
36 Settings->Preferences from the console menu's and may be overruled by
37 command line keys for the current session. (Invoke "gpiv --help" or
38 "man gpiv" for information about the command line options.) Apart from
39 the Gpiv parameter settings, there are also variables to ease the use
40 of the program, which can not be defined by command line keys. These
41 variables are stored from previous sessions (like the last displayed
42 tabulator, image base-names during recording or the last selected
43 image-name during loading with File->Open). The PIV process variables
44 that are used for recording, interrogation, validation and
45 post-processing are read from ~/.gpivrc or from the system-wide
46 available gpiv.conf (mostly installed at /etc/ under Unix/Linux)
47 respectively. These process variables are shared with the programs
48 from the Gpivtools package.
49 <br>
51 <P>
52 <IMG SRC = "figures/gpiv-fig_console_record.png"><br> <A NAME="fig2.1"
53 id="fig2.1">Figure 2.1 Gpiv console with image recording
54 tabulator. This tab may (partly) be absent, depending on the
55 configuration options during the building of the program</A>
56 <P>
57 <P>
59 <A NAME="sect2.2"><H2>2.2 Menu and toolbar</H2></A>
61 The menu bar consists general tasks for Gpiv, like file-handling,
62 preferences and help menus. Underlined characters represent the ALT
63 short-hand key for launching the menus.
64 <P>
66 The "File" menu contains "open", "save", "save as", "close" for
67 reading, storing, and closing data and "exit" for closing the
68 application. For reading and saving images and data, Gpiv uses the
69 Gnome Virtual File System (GVFS). This allows you to load data from an
70 other system (server) you have access to, like ftp or ssh. Loading
71 data from a server is done by typing Ctr+L when the filebrowser
72 is open and typing, for example:
73 <br>
74 ssh:///my_other_account@another_system:image.png
75 <br>
76 or from Nautilus (see below).
77 <P>
79 The native image format for Gpiv is the Portable Network Graphics
80 (PNG) format. Image data may also be read to or stored from raw binary
81 data (name.<strong>r</strong>) that is accompanied by an ASCII header
82 file (name.<strong>h)</strong> or HDF5
83 (name.<strong>gpi</strong>). Images of formats that use lossless
84 compression (tif, gif, pgm, bmp) are converted to PNG during the
85 loading to guarantee the storage of all header information. To save
86 disk space, the original image will be deleted. In case of
87 cross-correlation, it is expected that the second frame is attached to
88 the first image frame. This may be performed manually with
89 <strong>gpiv_combing</strong> from the Gpivtools package.
91 <P>
92 The maximum image dimensions that may be used are defined in
93 gpiv_gtk.h by IMAGE_WIDTH_MAX and IMAGE_HEIGHT_MAX or by the options
94 --enable-img-width and --enable-img-hight of the ./configure script.
95 The maximum image dimensions can not be changed during execution of
96 Gpiv. In case the image dimensions are larger, ./configure will have
97 to be executed (or gpiv_gtk modified) and Gpiv will have to be
98 recompiled. In case IMAGE_WIDTH_MAX and IMAGE_HEIGHT_MAX will have to
99 be redefined, it is recommended to set them at the minimum needed
100 values in order to save RAM memory usage.
101 <br>
102 After loading, the file basename is displayed in the buffer list and
103 the complete image name is displayed in the "Image Info" tabulator of
104 the console. A display window (or viewer) is launched that shows the
105 image together with the interrogation area's and its name is displayed
106 in the application bar of the viewer as well (<a
107 href="#fig2.2">Figure 2.2</a>.
110 <IMG SRC = "figures/gpiv-fig_display.png"><br>
111 <A NAME="fig2.2" id="fig2.2">Figure 2.2 Buffer display
112 containing image, Interrogation Area contours and data</A>
117 Saving the image and data is done in PNG, raw binary or HDF5 format,
118 depending on the program settings or start-up keys (--hdf and
119 --hdf_img). Image data may also be loaded from the Gnome filemanager
120 NAUTILUS with the "open with.." popup menu or by "drag and drop" of
121 the selected images into the buffer list in case Gpiv has already been
122 launched. Typing Ctr+L or from the Go->Location... menu of Nautilus, the
123 filemanager can be connected to another system or server by using GVFS.
126 The settings menu contains the menus "gpiv buttons" and "tabulator" to
127 (un)display these parts of the console and "preferences" for defining
128 all Gpiv settings. Closing the "preferences" menu with "OK" stores the
129 settings for future sessions. "Apply" only affects the current
130 session. When settings for the buffer display have been changed, they
131 will be broadcasted to all display windows when "OK" or "Apply" are
132 pressed. "Cancel" closes the preferences window without action. Some
133 parameter settings (image width and image height) need to restart
134 Gpiv. You will be acknowledged in that case.
136 The "help" menu contains "show tooltips" for obtaining additional
137 help. Tooltips are small windows that pop up when an item is
138 highlighted and contain more extended information about the item than
139 can be displayed in the short line of the application bar. The "manual"
140 menu shows this document. "About" gives short info concerning this
141 application.
144 The toolbar is a quick way for opening / saving / closing images and
145 data, executing / stopping processes that are enabled by the process
146 toggle buttons, which are found below the toolbar, for closing
147 buffers and for exiting the program.
151 <A NAME="sect2.3"><H2>2.3 Process toggle-buttons</H2></A>
153 The process toggle-buttons may be switched on in order to define a
154 chain of processes (pipeline). These processes include recording,
155 image processing, image PIV interrogation, validation and
156 post-processes of the PIV estimators. The parameter settings of the
157 processes are defined in the tabulators of the Gpiv console. The
158 pipeline process is invoked by the "Execute" button on the toolbar
159 and, eventually, interrupted by the "Stop" button.
162 <A NAME="sect2.4"><H2>2.4 Buffer list and display window</H2></A>
164 The buffer list shows a number and the file basename (i.e. the
165 filename without directory name and extension) of the loaded
166 images. Images may be loaded directly into the buffer list by means of
167 "drag and drop" from the Gnome file-manager NAUTILUS. A single buffer
168 may be selected by pointing to it and left mouse clicking. Several
169 buffers may be selected by clicking the first and last buffer while
170 holding the "Shift" key. The execution of processes will than
171 be performed on every selected buffer. The selected buffers will be
172 closed following the Window manager protocol (mostly by pressing
173 Ctrl-W).
176 For each buffer, a display window is launched that contains the image,
177 squared frames that represent the contours of interrogation areas
178 during the initial and the final step of an iterative interrogation
179 process, a vector field representing the PIV estimators and solid,
180 coloured, squares expressing the magnitudes of derived scalars
181 obtained from the PIV estimators by post processing. The interrogation
182 areas are highlighted when the pointer moves over them. At the bottom
183 of the display window an application bar shows information concerning
184 the data. If displaying of interrogation area frames is disabled,
185 image intensities are shown. Else, the centre point of the highlighted
186 interrogation area and, eventually, values of the PIV estimators and
187 its derived quantities are shown. If the settings of Interrogation
188 Areas are changed or, for some other reason not in accordance with the
189 settings the PIV data have been generated, the PIV values will not be
190 displayed. The same information is displayed in the application bar of
191 the Gpiv console as well. A menubar at the top of the window shows
192 options for changing the settings for the displaying of the data in the
193 individual buffer window. When clicking the right mouse button when
194 pointing within the display, a menu pops up with identic functions as
195 the menubar. Zooming and moving (paning) the image and data may also
196 be performed by the mouse scroll button and moving the pointer (when
197 mouse select is set to "None" in the console) while pressing the left
198 mouse button. In case the display settings will have to be adjusted
199 for all open buffers, change the settings from the
200 Settings->Preferences menu in the Gpiv console. Then, the new settings
201 will be updated to all buffer windows when "Apply" or "OK" is pressed.
204 <A NAME="sect2.5"><H2>2.5 Tabulator</H2></A>
206 The tabulator contains pages with parameter settings and buttons to
207 invoke the processes for image recording, information, processing and
208 interrogation, PIV-data validation and post-processing. Some of these
209 pages may be missing, depending on the options during the compilation
210 of the program.
212 <A NAME="sect2.5.1"><H3>2.5.1 Record</H3></A>
214 The most left tabulator 'Record' (<a href="#fig2.1">Figure 2.1</A>)
215 contains all settings for the triggering of the lasers the
216 camera. This tabulator may only show the widgets for triggering or
217 camera or may be completely absent. This is defined by the compilation
218 options of the program. Triggering is performed by a Linux kernel
219 module from the Gpivtrig software package which sends its trigger
220 pulses over the parallel port. It uses the RealTimeLinux Application
221 Interface (<a href="http://www.rtai.org">RTAI</a>), which is a real
222 time micro kernel to perform processes at accurate timings,
223 independently of the computing load of the system. <br>
225 The base-name of the images to be recorded are defined in the
226 entry. The last 5 names that have been used during the actual or
227 previous Gpiv sessions are stored. The name may be extended with the
228 current date and time.
229 <br>
231 Different timing schedules may be used. For PIV, "Indefinite", "Duration"
232 and "Double exposure" are most relevant. "Indefinite" will continue until
233 "stop timings" button (or "Stop" button from the main tool bar of the
234 application) is pressed. The images are displayed and updated in frame
235 buffer #0. This setting is convenient for pointing, adjusting and
236 focussing the camera. For the other timing settings, images are stored
237 in subsequent buffers, starting at #0. A maximum of GPIV_NIMG_MAX
238 (defined in gpiv.h of Libgpiv and currently set to fourty) buffers
239 may be retrieved. Duration will only send a limited amount of trigger
240 pulses as defined in "frames (N)".
241 <br>
243 TODO "Interrupt" ...
244 <br>
246 "Increment dt" will increase the timing of pulses to the lasers as
247 defined in "inc. dt (ms).,
248 <br>
250 TODO "double exposure" ...
251 <br>
253 "Dt" represents the time beween two laser pulses of an image-pair.
254 <br><br>
256 The camera uses the IEEE1394 (Firewire), IIDC-compliant protocol. The
257 "Node.." menu selects the camera if different cameras are connected to
258 the computer. All other menu-options and settings that belong to the
259 selected camera are updated and enabled / disabled
260 automatically. "Format .., selects the image format, "... fps" the
261 frame rate, TRIGGER MODE ...", "Exp", "Iris", "Shut", "Gain", "Temp",
262 "Zoom" "Pan" and "Tilt" are obvious.
264 Enabling "RTAI trigerring" will use the application's trigger
265 system. If "record" and "stop record" are pressed, the recording of
266 images and the triggering is started and stopped.
270 <A NAME="sect2.5.2"><H3>2.5.2 Image</H3></A>
272 The 'Image' (<a href="#fig2.3">Figure 2.3</A>) tab displays
273 information of the image. Some settings, like image file name,
274 correlation type, image dimensions and image colour depth are only
275 displayed for informative purposes and can not be changed. The image
276 filename is determined during recording or loading the image. The
277 image dimensions, correlatation type and colour depth may be modified
278 from the Gpiv settings or from the command line keys. During loading
279 of an image it is checked whether the image header info is in
280 agreement with these settings.
282 <IMG SRC = "figures/gpiv-fig_console_image_info.png"><br> <A NAME="fig2.3"
283 id="fig2.3"></A>Figure 2.3 GPIV console with image information
284 tabulator</A>
288 <br>
289 Time scaling, spatial scaling, the positions of row #0 and column #0
290 (related to a typical location in the experiment) are identic as in
291 the Post processing tabulator. These parameters are used for scaling
292 and positioning the PIV data.
294 <br>
296 Spatial scaling may be determined interactively by pointing a ruler in
297 a image. The number of pixels that are spanned by the imaged ruler may
298 be obtained in arbitrary, horizontal or vertical direction by
299 activating the subsequent radio buttons. Entering the viewer, then,
300 will change the pointer image to cross-hair. Pressing and holding the
301 left pointer button within the image starts drawing a straight line
302 and shows the pointer position in the application bar. By releasing
303 the pointer button, the straight line disappears, the span length is
304 written to the "span" entry and the "spatial scale" entry is updated
305 for the new value. When pointing in arbitrary direction, Pythagoras'
306 rule is applied for calculating the correct spanned length by the
307 ruler image. The length of the ruler that has been spanned, expressed
308 in mm, will have to be specified manually. Changing this
309 value will automatically update the "spatial scale" value, as well. If
310 "span" or "length" are not changed, the spatial scale setting, like
311 all other image header information and process settings, is read from
312 the system wide gpiv.conf or from ~/.gpivrc during launching Gpiv.
314 <br>
315 The items Creation Date, Author, Usertext, Copyright, Software,
316 Source, Warning, Disclaimer and "Comment" are typical header
317 text, often recognised, for example, in PNG formatted images.
321 <A NAME="sect2.5.3"><H3>2.5.3 Process</H3></A>
323 The 'Process' tab (<a href="#fig2.4">Figure 2.4</A>)shows the
324 settings for some image processing that are often used for PIV.
325 <P>
327 <IMG SRC = "figures/gpiv-fig_console_image_process.png"><br>
328 <A NAME="fig2.4" id="fig2.4">
329 Figure 2.4 Gpiv console with the Image processing tabulator</A>
332 An image process is enabled by clicking the check button. A variable
333 is set in the spinner. As a sequence of image processing steps is
334 non-linear, the order of the processes do matter. Therefore, a step
335 number indicates when the process will be invoked. These numbers are
336 automatically set when enabling the process. Disabling an individual
337 process will re-adjust the step numbering of other enabled processes.
339 <A NAME="sect2.5.4"><H3>2.5.4 Interrogation</H3></A>
341 The 'Interrogation' tab (<a href="#fig2.5a">Figure 2.5a, b</A>)show all the
342 settings for interrogation an image (pair).
343 <P>
345 <IMG SRC = "figures/gpiv-fig_console_interrogat_upper.png"><br>
346 <A NAME="fig2.5a" id="fig2.5a">
347 Figure 2.5a Gpiv console with Interrogation tabulator, upper part</A>
349 <IMG SRC = "figures/gpiv-fig_console_interrogat_lower.png"><br>
350 <A NAME="fig2.5b" id="fig2.5b">
351 Figure 2.5b Gpiv console with Interrogation tabulator, lower part</A>
355 - The upper-left corner of the image represents pixel # (0,0). The
356 starting point (first col/row) and the end-point (last col/row) of the
357 image to be interrogated may be defined in the entry-fields as well as
358 a global pre-shift in horizontal (pre-shift col) and vertical
359 (pre-shift row). The first column and row, as defined in the entry's will
360 always be included in the interrogations. The last column/row of the image
361 to be analyzed depends on Interrogation Area sizes and shifts, but
362 will never exceed the last column/row as defined in the
363 entry-fields.
366 - The size of the interrogation area's (I.A.) and adjacent shift,
367 expressed in image pixels, may be defined by entry's (for arbitrary
368 dimensions) or by radio-buttons (which is convenient for power of 2
369 dimensions) in 'Int. Size 1', 'Int. Size 2' and 'Shift'. The size of
370 the second I.A. has to be equal or larger than the first one in order
371 to perform adaptive dimensions during an iterative interrogation
372 process. Some of the settings in the entries and of the radio buttons,
373 then, may be disabled for manipulation or its value to be entered may
374 be limited. In case adaptive dimensions of the I.A.'s is applied, zero
375 offsetting is enabled and the grid of the nodes at which estimators
376 are calculated, is adapted during each iteration. This will often
377 increase computation speed and the stability of the
378 calculation. Starting by a course grid with I.A. dimensions of
379 'Int. Size 2' and 50% overlap. During each iteration, the sizes of the
380 I.A.'s and adjacent shifts are halved until 'Int. Size 1' and adjacent
381 shifts as defined in 'Shift' have been reached. The new estimators at
382 the finer grid, used as local pre-shift values for zero offsetting,
383 are obtained from the previous interrogation at a courser grid by
384 linear or, if possible (i.e. an internal node) bi-linear
385 interpolation. Finally, an additional interrogation, then, should
386 guarantee an optimum estimator.
388 If the settings of I.A.'s are changed after aninterrogation, the PIV
389 values will not be displayed when moving the pointer over the data.
392 <H4>Mouse select</H4>
393 <ul>
394 <li>"None": disables mouse activity within the viewer window.
396 <li>"Area": entering a viewer window, holding the left mouse
397 button and moving the mouse creates a rectangular frame that defines the area
398 to be interrogated. This is an alternative for using the entries "first/last
399 col/row". The entry values will be updated automatically.
401 <!--
402 <li>"Single int.": entering a viewer window and clicking the left
403 mouse button invokes a new interrogation at the highlighted
404 interrogation area. The actual interrogation takes place after
405 releasing of the mouse button. The pointer has to be at the identic
406 interrogation area during pressing and during releasing of the
407 button. When the pointer has been moved out of the interrogation area
408 during releasing, nothing will happen and a new interrogation may be
409 invoked immediately. In case a successfull interrogation has taken
410 place, the mouse selection will be set to "None" in order to prevent
411 accidential interrogations. For multiple interrogations, hold down the
412 shift key during releasing of the mouse button. Other, already
413 existing estimators will be conserved.
415 <li>"Single point": entering a viewer window and clicking the left
416 mouse button invokes a new interrogation at an arbitrary point. The
417 mouse selection will be set to "None" in order to prevent accidential
418 interrogations. For multiple interrogations, hold down the shift key
419 during releasing of the mouse button. Already existing estimators will
420 be thrown away!
422 <li>"Drag int.": entering a viewer window causes to displace (drag)
423 the highlighted interrogation area. An adjacent interrogation area is
424 highlighted and dragged in case the pointer is closer to its centre
425 point. Clicking the right mouse button invokes an interrogation at the
426 centre point of the (displaced) interrogation area. The actual
427 interrogation takes place after releasing of the mouse button. The
428 pointer has to be at the identic interrogation area during pressing
429 and during releasing of the button. When the pointer has been moved
430 out of the interrogation area during releasing, nothing will happen
431 and a new interrogation may be invoked immediately. In case a
432 successfull interrogation has taken place, the mouse selection will be
433 set to "None" in order to prevent accidential interrogations. For
434 multiple interrogations, hold down the shift key during releasing of
435 the mouse button. Other, already existing estimators will be
436 conserved.
437 /-->
439 <li>"Vert. line": a vertical line in the image may be defined at which
440 a single column of interrogation areas are to be drawn. Interrogation
441 of the line has to be performed by clicking the "piv" button at the
442 bottom of the "Evaluation" tabulator or by enabling the "piv" process
443 button and pressing the "Execute" button on the toolbar.
445 <li>"Hor. line": a horizontal line in the image may be defined at which a
446 single row of interrogation areas are to be drawn.Interrogation
447 of the line has to be performed by clicking the "piv" button at the
448 bottom of the "Evaluation" tabulator or by enabling the "piv" process
449 button and pressing the "Execute" button on the toolbar.
450 </ul>
454 <H4>Sub-pixel Interpolation</H4>
456 Selects an interpolation scheme for estimating the correlation peak at
457 sub-pixel level.
461 <H4>Peak #</H4>
463 Normally the highest correlation peak is used (or the second highest
464 in case of auto-correlation, which is done automatically if
465 auto-correlation has been enabled). An erroneous velocity vector,
466 though, might be caused by a high noise peak in the correlation
467 function that overwhelms the 'true' particle displacement
468 peak. Searching the second or third highest peak may result in a
469 correct estimation.
473 <H4>Interrogation scheme</H4>
475 Image deformation uses all estimators of the entire displacement field
476 to deform the image towards the moment in-between the two images have
477 been recorded. The deformed and shifted Interrogation Areas are
478 obtained by interpolation of the image data with a fith order B-spline
479 interpolation routine <a href="#ref1">[1]</a>.
481 In case zero offset (at an integer number of pixels) is enabled,
482 i.e. a second interrogation is performed with a pre-shift of the local
483 estimator, the new correlation peak is found between -1 and +1
484 pixels. The 'classic' forward
485 interrogation scheme or a central differential scheme may be
486 used. Interrogation following the central differential scheme is done
487 by displacing the interrogation area of the first image with half the
488 magnitude of the pre-shift value in negative direction and displacing
489 the interrogation area of the second image in positive direction (of
490 identic, integer magnitude).
492 A linear weight kernel in order to correct for biasing effects that is
493 generated by the estimation of the correlation function.
495 "Image deformation", "Central differential" and "Zero offset" are
496 iterative processes that continue until the convergence criterium has
497 been reached. The total amount of differences in the estimators
498 between two succesive iteration steps, related to the number of
499 gridpoints, is used as criterium for convergence and amounts to 0.25
500 pixels (defined by GPIV_EPSI_MIN).
502 The estimators are validated on outliers after each iteration step of the
503 interrogation procedure. Erroneous vectors are subsequently
504 substitued (and re-validated) by the second or third highest
505 correlation peak or by the quantity as specified in "Outliers" in the
506 Validation tabulator.
508 <H4>Correlation</H4>
510 In case subsequent recordings have been performed on separate image
511 frames ("Cross") or on one single frame ("Auto"). This option is
512 informative and can not be changed. as it is defined in the
513 header of the image.
515 The Gauss weigthing check button enables weighting of the Interrogation
516 Area's with a Gaussian function. It is believed that this may improve
517 the PIV analyses as the high-frequency signal generated by the abrupt
518 borders of the I.A. is suppressed.
521 Symmetric Phase Only filtering (SPOF) is applied to the
522 (2-dimensional) correlation function. Only the phase, but not the
523 amplitude, of the correlation is used to determine the displacement
524 peak. SPOF filtering increases the SNR, by generating a high and
525 narrow displacement peak and low side lobes. It might improve the
526 analysis, especially when there are reflections, from boundaries for
527 example, in one of the images are present <a
528 href="#ref3">[3]</a>.
530 <H4>Interrogation areas and correlation</H4>
532 The "Monitor" button allows to monitor the interrogation process by
533 visualizing the interrogation areas, the correlation function and the
534 estimated displacement vector. Coloured areas, that are 128x128 pixels
535 in size, are displayed as indication of the dimensions. The
536 interrogation areas and correlation function may be magnified by the
537 "Zoom" entry. The vector length may be adjusted by "Vector scale". By
538 zooming and scaling, the dimensions of the images and the vector may
539 exceed the coloured area's. For that case, only a part of the images
540 and vector is displayed. Monitoring the interrogation process will
541 slightly slow down the calculation speed.
543 <br>
544 Tip: by enabling "Single Int" of the mouse selection, each
545 interrogation area may be monitored individually, which might often be
546 more convenient than monitoring the interrogation of an entire image.
551 <H4>piv</H4>
553 At the bottom of the "Evaluation" tabulator the "piv" button may be
554 invoked to interrogate the image, which is identic as enabling the
555 'piv' check-button in the process toolbar of the console and pressing
556 the 'Execute' button. The function of this button is similar to that
557 of the command line program <b>rr</b> of the Gpivtools package.
560 <A NAME="sect2.5.5"><H3>2.5.5 Validation </H3></A>
563 <IMG SRC = "figures/gpiv-fig_console_valid.png"><br>
564 <A NAME="fig2.6" id="fig2.6">Figure 2.6 Gpiv console with Validation
565 tabulator</A>
569 <H4>Disable data</H4>
571 Put PIV data into (in)active state for further processing.
572 At inactive state the vector color will be displayed red.
573 <ul>
574 <li>"None": disables mouse activity within the viewer window.
576 <li>"Enable": puts data in active state by pointing and clicking a
577 single PIV estimator.
579 <li>"Disable point": puts data in inactive state by pointing and
580 clicking a single PIV estimator.
582 <li>"Enable area": puts a rectangular area containing PIV data in
583 active state. The starting corner of the area (upper-left) is defined
584 by pressing the right mouse button. The opposite corner is defined by
585 moving the mouse with holding the button pressed and releasing it at the
586 location of the opposite corner. A rectangular frame is drawn during
587 the operation.
589 <li>"Disable area": puts a rectangular area containing PIV data in
590 inactive state. The starting corner of the area (upper-left) is defined
591 by pressing the right mouse button. The opposite corner is defined by
592 moving the mouse with holding the button pressed and releasing it at the
593 location of the opposite corner. A rectangular frame is drawn during
594 the operation.
595 </ul>
599 <H4>Histograms</H4>
601 <ul>
602 <li>"residu" displays the (log) inverse histogram of median
603 residus. The critical residu value for accepting/rejecting outliers is
604 determined by the slope of the straight line plotted through the
605 histogram data. The critical value is calculated and displayed in the
606 "Threshold" entry. The function of this process is similar to that of
607 the command line program <b>errvec</b> of the Gpivtools package.</li>
609 <li>"sub-pixel" displays a histogram of sub-pixel estimators of the
610 PIV dataset. The function of this process is similar to that of the
611 command line program <b>peaklck</b> of the Gpivtools package.</li>
613 <li>The "U-comp" and "V-comp" buttons display the histograms of
614 horizontal and vertical particle displacement estimators. These data
615 may be stored by "Save" in filename.pdf.</li>
618 </ul>
621 <H4>Validate on velocity gradient</H4>
623 Calculates velocity gradient over an interrogation area and displays
624 vectors in red color if they exceed the critical value. The critical
625 value is defined in libgpiv/include/gpiv/valid.h: GRADIENT_THRESHOLD
626 and is set to 2 pixels, i.e. identic to the optimum particle image
627 diameter. This quantity is chosen in order to prevent a too wide, or
628 even a splitting up, of the highest correlation peak.
631 <H4>Outliers</H4>
633 To set the parameters for testing and substituting on erroneous
634 vectors. The number of the surrounding displacement data of a point
635 under investigation may be defined by "Neighbors". The number
636 represents the two-dimensional array, which is typically 3x3 and may
637 have a maximum of 9x9. The "Data yield" is needed to calculate the
638 threshold value from the residu statistics. This value has to be
639 filled in manually and should be obtained from the mean number of
640 particles within an interrogation area. One way to obtain the particle
641 density, is by enabling the "Monitor" button and "Single int" of the
642 mouse selection in the "Interrogation" tabulator and analyzing some points
643 in the image.
646 The critical threshold may be filled in manually or may
647 be obtained by invoking "residu" button.
650 The type of residus may be chosen between "Normalized median",
651 "Median" or "Snr". The normalized median option uses the ratio between
652 the residu (obtained from the actual didplacement and the median
653 displacement from the neighboring data) and between the median residu
654 (resulting from the neighbors). The threshold, then, may be kept at 2
655 pixels for obtaining a data yield of 90% <a href="#ref2">[2]</a>. This
656 setting should be advantageous if turbulence is heterogeneous within
657 the area of observation. The median option uses the residu between
658 actual data point and the median displacement from its surroundings.
661 Outliers may be substituted by the local mean value of the surrounding
662 vectors, by the median value of the surrounding vectors or by the
663 displacement from the next highest correlation peak. Unless "Nothing"
664 has been choosen, the data will first be substituted subsequently by a
665 PIV estimator from the next highest correlation peak, the median
666 displacement value, and local mean. If the residu still exceeds the
667 threshold after trying these substitutions, the PIV estimator will be
668 substituted by the preferred option as enabled here.
671 Finally, the validation on outliers is performed by pressing the
672 "validate on outliers" button or by enabling "validate" in the process
673 toolbar of the Gpiv console and pressing "Execute". Validation is also
674 performed after each step of the interrogation procedure if the
675 Interrogation scheme is set to "Image deformation", "Central
676 differential" or "Zero offset". The function of testing on outliers
677 and substituting is similar to that of the command line program
678 <b>errvec</b> of the Gpivtools package.
680 <A NAME="sect2.5.6"><H3>2.5.6 Post processing </H3></A>
682 The "Post processing" tab (<a href="#fig2.7">Figure 2.7</A>) contains
683 tools to apply modifications on PIV estimators and to calculate
684 derived quantities from the PIV estimators.
687 <H4>Scaling</H4>
689 <ul>
690 <li>"Spatial scale" is calculated by measuring the number of pixels per
691 mm. The values will have to be set manually or may be obtained interactively
692 from the <a href="#sect2.5.2">Image</A> tabulator.
694 <li>"time scale" represents the time between
695 two successive image recordings (mostly the separation time between
696 two laser flashes).
698 <li>"pos. of col #0": The horizontal location of the image within an
699 experiment is defined by the position of column #0, related to
700 a marker point in the experiment.
702 <li>"pos. of row #0": The vertical location of the image within an
703 experiment is defined by the position of column #0, related to
704 a marker point in the experiment.
706 The function of this
707 process is similar to the command line program <b>scale </b> of the
708 Gpivtools package.
709 </ul>
712 Vorticity, shear and normal strain may be derived from the PIV
713 estimators with different numerical schemes; Central differential
714 scheme, Least squares, Richardson and the Circulation method (only for
715 the calculation of vorticity). The function of this process is similar
716 to the command line program <b> vorstra </b> of
717 the Gpivtools package.
720 <IMG SRC = "figures/gpiv-fig_console_post.png"><br>
721 <A NAME="fig2.7" id="fig2.7">Figure 2.7 Gpiv console with Post processing
722 tabulator</A>
726 <H4>References</H4>
728 <a id="ref1"> [1] P. Thévenaz, T. Blu, M. Unser, "Interpolation
729 Revisited," IEEE Transactions on Medical Imaging, vol. 19, no. 7,
730 pp. 739-758, July 2000</a>
732 <a id="ref2"> [2] J. Westerweel, F. Scarano, "Universal outlier
733 detection for PIV data", Exp. in Fluids (2005) 39:1096-1100</a>
735 <a id="ref3"> [3] M.P. Wernet, "Symmetric phase only filtering: a new paradigm for DPIV
736 data processing", Meas. Sci. Technol (2005), vol 16, pp 601-618</a>
740 <A href="index.html"> Contents </A> <br>
741 <A href="intro.html"> Previous </A> <br>
742 <A href="piv_intro.html"> Next </A>
743 </BODY>
746 </HTML>