This file is indexed.

/usr/share/gnome/help/gpiv/C/gpiv.html is in gpiv-mpi 0.6.1-2.3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
<HTML><HEAD><TITLE>GPIV</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<BODY>
<A href="index.html"> Contents </A>  <br>
<A href="intro.html"> Previous </A>  <br>
<A href="piv_intro.html"> Next </A> 
<P>
<A NAME="gpiv.html"> <H1>2 GPIV</H1></A>

<A NAME="sect2.1"><H2>2.1 Starting up</H2></A>

Gpiv may be launched in different ways. In case it needs to trigger
the lasers and camera, the RTAI and gpivtrig Linux kernel modules will
have to be loaded (and unloaded after closing Gpiv). The gpiv_control
script (from the gpivtrig package, which also includes the gpivtrig
module) might be used: "gpiv_control <b>"</b>gpiv [OPTION1]
... [IMAGE1] ...<b>"</b>". Gpiv_control has to be run with root
privileges. In case no trigering is used or if the modules have
already been loaded in the kernel, starting the application is
straightforward with: "gpiv [OPTION1] ... [IMAGE1] ...". If the
modules have not been loaded in the kernel, a warning message will be
displayed and the trigger services will be disabled.
<br>

The Gpiv console consists a menu bar, a tool-bar, process
toggle-buttons, a tabulator and a data buffer list (<a
href="#fig2.1">Figure 2.1</A>). At the bottom of the console you can
find an application bar that displays information of the highlighted
item as well as a progress bar that displays the progress of the
running process.
<br>

Gpiv reads its default program parameters from ~/.gnome2/gpiv
following the GNOME mechanism. These parameters are defined frome the
Settings->Preferences from the console menu's and may be overruled by
command line keys for the current session. (Invoke "gpiv --help" or
"man gpiv" for information about the command line options.) Apart from
the Gpiv parameter settings, there are also variables to ease the use
of the program, which can not be defined by command line keys. These
variables are stored from previous sessions (like the last displayed
tabulator, image base-names during recording or the last selected
image-name during loading with File->Open). The PIV process variables
that are used for recording, interrogation, validation and
post-processing are read from ~/.gpivrc or from the system-wide
available gpiv.conf (mostly installed at /etc/ under Unix/Linux)
respectively. These process variables are shared with the programs
from the Gpivtools package.
<br>

<P>
<IMG SRC = "figures/gpiv-fig_console_record.png"><br> <A NAME="fig2.1"
id="fig2.1">Figure 2.1 Gpiv console with image recording
tabulator. This tab may (partly) be absent, depending on the
configuration options during the building of the program</A>
<P>
<P>

<A NAME="sect2.2"><H2>2.2 Menu and toolbar</H2></A>

The menu bar consists general tasks for Gpiv, like file-handling,
preferences and help menus. Underlined characters represent the ALT
short-hand key for launching the menus.
<P>

The "File" menu contains "open", "save", "save as", "close" for
reading, storing, and closing data and "exit" for closing the
application. For reading and saving images and data, Gpiv uses the
Gnome Virtual File System (GVFS). This allows you to load data from an
other system (server) you have access to, like ftp or ssh. Loading
data from a server is done by typing Ctr+L when the filebrowser
is open and typing, for example:
<br>
ssh:///my_other_account@another_system:image.png
<br>
or from Nautilus (see below).
<P>

The native image format for Gpiv is the Portable Network Graphics
(PNG) format. Image data may also be read to or stored from raw binary
data (name.<strong>r</strong>) that is accompanied by an ASCII header
file (name.<strong>h)</strong> or HDF5
(name.<strong>gpi</strong>). Images of formats that use lossless
compression (tif, gif, pgm, bmp) are converted to PNG during the
loading to guarantee the storage of all header information. To save
disk space, the original image will be deleted. In case of
cross-correlation, it is expected that the second frame is attached to
the first image frame. This may be performed manually with
<strong>gpiv_combing</strong> from the Gpivtools package.

<P>
The maximum image dimensions that may be used are defined in
gpiv_gtk.h by IMAGE_WIDTH_MAX and IMAGE_HEIGHT_MAX or by the options
--enable-img-width and --enable-img-hight of the ./configure script.
The maximum image dimensions can not be changed during execution of
Gpiv. In case the image dimensions are larger, ./configure will have
to be executed (or gpiv_gtk modified) and Gpiv will have to be
recompiled. In case IMAGE_WIDTH_MAX and IMAGE_HEIGHT_MAX will have to
be redefined, it is recommended to set them at the minimum needed
values in order to save RAM memory usage. 
<br>
After loading, the file basename is displayed in the buffer list and
the complete image name is displayed in the "Image Info" tabulator of
the console.  A display window (or viewer) is launched that shows the
image together with the interrogation area's and its name is displayed
in the application bar of the viewer as well (<a
href="#fig2.2">Figure 2.2</a>.
 
<P>
<IMG SRC = "figures/gpiv-fig_display.png"><br>
<A NAME="fig2.2" id="fig2.2">Figure 2.2 Buffer display 
containing image, Interrogation Area contours and data</A>
<P>
<P>

<P>
Saving the image and data is done in PNG, raw binary or HDF5 format,
depending on the program settings or start-up keys (--hdf and
--hdf_img). Image data may also be loaded from the Gnome filemanager
NAUTILUS with the "open with.." popup menu or by "drag and drop" of
the selected images into the buffer list in case Gpiv has already been
launched. Typing Ctr+L or from the Go->Location... menu of Nautilus, the
filemanager can be connected to another system or server by using GVFS.

<P>
The settings menu contains the menus "gpiv buttons" and "tabulator" to
(un)display these parts of the console and "preferences" for defining
all Gpiv settings. Closing the "preferences" menu with "OK" stores the
settings for future sessions. "Apply" only affects the current
session. When settings for the buffer display have been changed, they
will be broadcasted to all display windows when "OK" or "Apply" are
pressed. "Cancel" closes the preferences window without action. Some
parameter settings (image width and image height) need to restart
Gpiv. You will be acknowledged in that case.
<P>
The "help" menu contains "show tooltips" for obtaining additional
help. Tooltips are small windows that pop up when an item is
highlighted and contain more extended information about the item than
can be displayed in the short line of the application bar. The "manual"
menu shows this document. "About" gives short info concerning this
application.

<P>
The toolbar is a quick way for opening / saving / closing images and
data, executing / stopping processes that are enabled by the process
toggle buttons, which are found below the toolbar, for closing
buffers and for exiting the program.



<A NAME="sect2.3"><H2>2.3 Process toggle-buttons</H2></A>

The process toggle-buttons may be switched on in order to define a
chain of processes (pipeline). These processes include recording,
image processing, image PIV interrogation, validation and
post-processes of the PIV estimators. The parameter settings of the
processes are defined in the tabulators of the Gpiv console. The
pipeline process is invoked by the "Execute" button on the toolbar
and, eventually, interrupted by the "Stop" button.


<A NAME="sect2.4"><H2>2.4 Buffer list and display window</H2></A>

The buffer list shows a number and the file basename (i.e. the
filename without directory name and extension) of the loaded
images. Images may be loaded directly into the buffer list by means of
"drag and drop" from the Gnome file-manager NAUTILUS. A single buffer
may be selected by pointing to it and left mouse clicking. Several
buffers may be selected by clicking the first and last buffer while
holding the "Shift" key. The execution of processes will than
be performed on every selected buffer. The selected buffers will be
closed following the Window manager protocol (mostly by pressing
Ctrl-W).

<P>
For each buffer, a display window is launched that contains the image,
squared frames that represent the contours of interrogation areas
during the initial and the final step of an iterative interrogation
process, a vector field representing the PIV estimators and solid,
coloured, squares expressing the magnitudes of derived scalars
obtained from the PIV estimators by post processing. The interrogation
areas are highlighted when the pointer moves over them. At the bottom
of the display window an application bar shows information concerning
the data. If displaying of interrogation area frames is disabled,
image intensities are shown. Else, the centre point of the highlighted
interrogation area and, eventually, values of the PIV estimators and
its derived quantities are shown. If the settings of Interrogation
Areas are changed or, for some other reason not in accordance with the
settings the PIV data have been generated, the PIV values will not be
displayed. The same information is displayed in the application bar of
the Gpiv console as well. A menubar at the top of the window shows
options for changing the settings for the displaying of the data in the
individual buffer window. When clicking the right mouse button when
pointing within the display, a menu pops up with identic functions as
the menubar.  Zooming and moving (paning) the image and data may also
be performed by the mouse scroll button and moving the pointer (when
mouse select is set to "None" in the console) while pressing the left
mouse button. In case the display settings will have to be adjusted
for all open buffers, change the settings from the
Settings->Preferences menu in the Gpiv console. Then, the new settings
will be updated to all buffer windows when "Apply" or "OK" is pressed.


<A NAME="sect2.5"><H2>2.5 Tabulator</H2></A>

The tabulator contains pages with parameter settings and buttons to
invoke the processes for image recording, information, processing and
interrogation, PIV-data validation and post-processing. Some of these
pages may be missing, depending on the options during the compilation
of the program.

<A NAME="sect2.5.1"><H3>2.5.1 Record</H3></A> 

The most left tabulator 'Record' (<a href="#fig2.1">Figure 2.1</A>)
contains all settings for the triggering of the lasers the
camera. This tabulator may only show the widgets for triggering or
camera or may be completely absent. This is defined by the compilation
options of the program. Triggering is performed by a Linux kernel
module from the Gpivtrig software package which sends its trigger
pulses over the parallel port. It uses the RealTimeLinux Application
Interface (<a href="http://www.rtai.org">RTAI</a>), which is a real
time micro kernel to perform processes at accurate timings,
independently of the computing load of the system. <br>

The base-name of the images to be recorded are defined in the
entry. The last 5 names that have been used during the actual or
previous Gpiv sessions are stored. The name may be extended with the
current date and time.
<br>

Different timing schedules may be used. For PIV, "Indefinite", "Duration"
and "Double exposure" are most relevant. "Indefinite" will continue until
"stop timings" button (or "Stop" button from the main tool bar of the
application) is pressed. The images are displayed and updated in frame
buffer #0. This setting is convenient for pointing, adjusting and
focussing the camera. For the other timing settings, images are stored
in subsequent buffers, starting at #0. A maximum of GPIV_NIMG_MAX
(defined in gpiv.h of Libgpiv and currently set to fourty) buffers
may be retrieved. Duration will only send a limited amount of trigger
pulses as defined in "frames (N)".
<br>

TODO "Interrupt" ... 
<br>

"Increment dt" will increase the timing of pulses to the lasers as
defined in "inc. dt (ms).,
<br>

TODO "double exposure" ...
<br>

"Dt" represents the time beween two laser pulses of an image-pair.
<br><br>

The camera uses the IEEE1394 (Firewire), IIDC-compliant protocol. The
"Node.." menu selects the camera if different cameras are connected to
the computer. All other menu-options and settings that belong to the
selected camera are updated and enabled / disabled
automatically. "Format .., selects the image format, "... fps" the
frame rate, TRIGGER MODE ...", "Exp", "Iris", "Shut", "Gain", "Temp",
"Zoom" "Pan" and "Tilt" are obvious.

Enabling "RTAI trigerring" will use the application's trigger
system. If "record" and "stop record" are pressed, the recording of
images and the triggering is started and stopped.



<A NAME="sect2.5.2"><H3>2.5.2 Image</H3></A>

The 'Image' (<a href="#fig2.3">Figure 2.3</A>) tab displays
information of the image. Some settings, like image file name,
correlation type, image dimensions and image colour depth are only
displayed for informative purposes and can not be changed. The image
filename is determined during recording or loading the image. The
image dimensions, correlatation type and colour depth may be modified
from the Gpiv settings or from the command line keys. During loading
of an image it is checked whether the image header info is in
agreement with these settings.
<P>
<IMG SRC = "figures/gpiv-fig_console_image_info.png"><br> <A NAME="fig2.3"
id="fig2.3"></A>Figure 2.3 GPIV console with image information
tabulator</A>
<P>
<P>

<br> 
Time scaling, spatial scaling, the positions of row #0 and column #0
(related to a typical location in the experiment) are identic as in
the Post processing tabulator. These parameters are used for scaling
and positioning the PIV data. 

<br> 

Spatial scaling may be determined interactively by pointing a ruler in
a image. The number of pixels that are spanned by the imaged ruler may
be obtained in arbitrary, horizontal or vertical direction by
activating the subsequent radio buttons. Entering the viewer, then,
will change the pointer image to cross-hair. Pressing and holding the
left pointer button within the image starts drawing a straight line
and shows the pointer position in the application bar. By releasing
the pointer button, the straight line disappears, the span length is
written to the "span" entry and the "spatial scale" entry is updated
for the new value. When pointing in arbitrary direction, Pythagoras'
rule is applied for calculating the correct spanned length by the
ruler image. The length of the ruler that has been spanned, expressed
in mm, will have to be specified manually. Changing this
value will automatically update the "spatial scale" value, as well. If
"span" or "length" are not changed, the spatial scale setting, like
all other image header information and process settings, is read from
the system wide gpiv.conf or from ~/.gpivrc during launching Gpiv.

<br>
The items Creation Date, Author, Usertext, Copyright, Software,
Source, Warning, Disclaimer and "Comment" are typical header
text, often recognised, for example, in PNG formatted images.



<A NAME="sect2.5.3"><H3>2.5.3 Process</H3></A>

The 'Process' tab (<a href="#fig2.4">Figure 2.4</A>)shows the
settings for some image processing that are often used for PIV.
<P> 
<P>
<IMG SRC = "figures/gpiv-fig_console_image_process.png"><br>
<A NAME="fig2.4" id="fig2.4">
Figure 2.4 Gpiv console with the Image processing tabulator</A>
<P>
<P>
An image process is enabled by clicking the check button. A variable
is set in the spinner. As a sequence of image processing steps is
non-linear, the order of the processes do matter. Therefore, a step
number indicates when the process will be invoked. These numbers are
automatically set when enabling the process. Disabling an individual
process will re-adjust the step numbering of other enabled processes.

<A NAME="sect2.5.4"><H3>2.5.4 Interrogation</H3></A>

The 'Interrogation' tab (<a href="#fig2.5a">Figure 2.5a, b</A>)show all the
settings for interrogation an image (pair). 
<P> 
<P>
<IMG SRC = "figures/gpiv-fig_console_interrogat_upper.png"><br>
<A NAME="fig2.5a" id="fig2.5a">
Figure 2.5a Gpiv console with Interrogation tabulator, upper part</A>
<P>
<IMG SRC = "figures/gpiv-fig_console_interrogat_lower.png"><br>
<A NAME="fig2.5b" id="fig2.5b">
Figure 2.5b Gpiv console with Interrogation tabulator, lower part</A>
<P>
<P>

- The upper-left corner of the image represents pixel # (0,0). The
starting point (first col/row) and the end-point (last col/row) of the
image to be interrogated may be defined in the entry-fields as well as
a global pre-shift in horizontal (pre-shift col) and vertical
(pre-shift row). The first column and row, as defined in the entry's will
always be included in the interrogations. The last column/row of the image
to be analyzed depends on Interrogation Area sizes and shifts, but
will never exceed the last column/row as defined in the
entry-fields. 
<P>

- The size of the interrogation area's (I.A.) and adjacent shift,
expressed in image pixels, may be defined by entry's (for arbitrary
dimensions) or by radio-buttons (which is convenient for power of 2
dimensions) in 'Int. Size 1', 'Int. Size 2' and 'Shift'. The size of
the second I.A. has to be equal or larger than the first one in order
to perform adaptive dimensions during an iterative interrogation
process. Some of the settings in the entries and of the radio buttons,
then, may be disabled for manipulation or its value to be entered may
be limited. In case adaptive dimensions of the I.A.'s is applied, zero
offsetting is enabled and the grid of the nodes at which estimators
are calculated, is adapted during each iteration. This will often
increase computation speed and the stability of the
calculation. Starting by a course grid with I.A. dimensions of
'Int. Size 2' and 50% overlap. During each iteration, the sizes of the
I.A.'s and adjacent shifts are halved until 'Int. Size 1' and adjacent
shifts as defined in 'Shift' have been reached. The new estimators at
the finer grid, used as local pre-shift values for zero offsetting,
are obtained from the previous interrogation at a courser grid by
linear or, if possible (i.e. an internal node) bi-linear
interpolation. Finally, an additional interrogation, then, should
guarantee an optimum estimator.
<P>
If the settings of I.A.'s are changed after aninterrogation, the PIV
values will not be displayed when moving the pointer over the data.
<P>

<H4>Mouse select</H4>
<ul>
<li>"None": disables mouse activity within the viewer window.

<li>"Area": entering a viewer window, holding the left mouse
button and moving the mouse creates a rectangular frame that defines the area
to be interrogated. This is an alternative for using the entries "first/last
col/row". The entry values will be updated automatically.

<!--
<li>"Single int.": entering a viewer window and clicking the left
mouse button invokes a new interrogation at the highlighted
interrogation area. The actual interrogation takes place after
releasing of the mouse button. The pointer has to be at the identic
interrogation area during pressing and during releasing of the
button. When the pointer has been moved out of the interrogation area
during releasing, nothing will happen and a new interrogation may be
invoked immediately. In case a successfull interrogation has taken
place, the mouse selection will be set to "None" in order to prevent
accidential interrogations. For multiple interrogations, hold down the
shift key during releasing of the mouse button. Other, already
existing estimators will be conserved.

<li>"Single point": entering a viewer window and clicking the left
mouse button invokes a new interrogation at an arbitrary point.  The
mouse selection will be set to "None" in order to prevent accidential
interrogations. For multiple interrogations, hold down the shift key
during releasing of the mouse button. Already existing estimators will
be thrown away!

<li>"Drag int.": entering a viewer window causes to displace (drag)
the highlighted interrogation area. An adjacent interrogation area is
highlighted and dragged in case the pointer is closer to its centre
point. Clicking the right mouse button invokes an interrogation at the
centre point of the (displaced) interrogation area. The actual
interrogation takes place after releasing of the mouse button. The
pointer has to be at the identic interrogation area during pressing
and during releasing of the button. When the pointer has been moved
out of the interrogation area during releasing, nothing will happen
and a new interrogation may be invoked immediately. In case a
successfull interrogation has taken place, the mouse selection will be
set to "None" in order to prevent accidential interrogations. For
multiple interrogations, hold down the shift key during releasing of
the mouse button. Other, already existing estimators will be
conserved.
/-->

<li>"Vert. line": a vertical line in the image may be defined at which
a single column of interrogation areas are to be drawn. Interrogation
of the line has to be performed by clicking the "piv" button at the
bottom of the "Evaluation" tabulator or by enabling the "piv" process
button and pressing the "Execute" button on the toolbar.

<li>"Hor. line": a horizontal line in the image may be defined at which a 
single row of interrogation areas are to be drawn.Interrogation
of the line has to be performed by clicking the "piv" button at the
bottom of the "Evaluation" tabulator or by enabling the "piv" process
button and pressing the "Execute" button on the toolbar.
</ul>



<H4>Sub-pixel Interpolation</H4>

Selects an interpolation scheme for estimating the correlation peak at
sub-pixel level.



<H4>Peak #</H4>

Normally the highest correlation peak is used (or the second highest
in case of auto-correlation, which is done automatically if
auto-correlation has been enabled). An erroneous velocity vector,
though, might be caused by a high noise peak in the correlation
function that overwhelms the 'true' particle displacement
peak. Searching the second or third highest peak may result in a
correct estimation.



<H4>Interrogation scheme</H4>

Image deformation uses all estimators of the entire displacement field
to deform the image towards the moment in-between the two images have
been recorded. The deformed and shifted Interrogation Areas are
obtained by interpolation of the image data with a fith order B-spline
interpolation routine  <a href="#ref1">[1]</a>.
<p>
In case zero offset (at an integer number of pixels) is enabled,
i.e. a second interrogation is performed with a pre-shift of the local
estimator, the new correlation peak is found between -1 and +1
pixels. The 'classic' forward
interrogation scheme or a central differential scheme may be
used. Interrogation following the central differential scheme is done
by displacing the interrogation area of the first image with half the
magnitude of the pre-shift value in negative direction and displacing
the interrogation area of the second image in positive direction (of
identic, integer magnitude).
<p>
A linear weight kernel in order to correct for biasing effects that is
generated by the estimation of the correlation function.
<p>
"Image deformation", "Central differential" and "Zero offset" are
iterative processes that continue until the convergence criterium has
been reached.  The total amount of differences in the estimators
between two succesive iteration steps, related to the number of
gridpoints, is used as criterium for convergence and amounts to 0.25
pixels (defined by GPIV_EPSI_MIN).

The estimators are validated on outliers after each iteration step of the
interrogation procedure. Erroneous vectors are subsequently
substitued (and re-validated) by the second or third highest
correlation peak or by the quantity as specified in "Outliers" in the
Validation tabulator.

<H4>Correlation</H4> 

In case subsequent recordings have been performed on separate image
frames ("Cross") or on one single frame ("Auto"). This option is
informative and can not be changed. as it is defined in the
header of the image.
<p>
The Gauss weigthing check button enables weighting of the Interrogation
Area's with a Gaussian function. It is believed that this may improve
the PIV analyses as the high-frequency signal generated by the abrupt
borders of the I.A. is suppressed.
<p>

Symmetric Phase Only filtering (SPOF) is applied to the
(2-dimensional) correlation function. Only the phase, but not the
amplitude, of the correlation is used to determine the displacement
peak. SPOF filtering increases the SNR, by generating a high and
narrow displacement peak and low side lobes. It might improve the
analysis, especially when there are reflections, from boundaries for
example, in one of the images are present <a
href="#ref3">[3]</a>.

<H4>Interrogation areas and correlation</H4>

The "Monitor" button allows to monitor the interrogation process by
visualizing the interrogation areas, the correlation function and the
estimated displacement vector. Coloured areas, that are 128x128 pixels
in size, are displayed as indication of the dimensions. The
interrogation areas and correlation function may be magnified by the
"Zoom" entry. The vector length may be adjusted by "Vector scale". By
zooming and scaling, the dimensions of the images and the vector may
exceed the coloured area's. For that case, only a part of the images
and vector is displayed. Monitoring the interrogation process will
slightly slow down the calculation speed.

<br>
Tip: by enabling "Single Int" of the mouse selection, each
interrogation area may be monitored individually, which might often be
more convenient than monitoring the interrogation of an entire image.
<P>



<H4>piv</H4>

At the bottom of the "Evaluation" tabulator the "piv" button may be
invoked to interrogate the image, which is identic as enabling the
'piv' check-button in the process toolbar of the console and pressing
the 'Execute' button. The function of this button is similar to that
of the command line program <b>rr</b> of the Gpivtools package.


<A NAME="sect2.5.5"><H3>2.5.5 Validation </H3></A>

<P>
<IMG SRC = "figures/gpiv-fig_console_valid.png"><br>
<A NAME="fig2.6" id="fig2.6">Figure 2.6 Gpiv console with Validation 
tabulator</A>



<H4>Disable data</H4> 

Put PIV data into  (in)active state for further processing.
At inactive state the vector color will be displayed red. 
<ul>
<li>"None": disables mouse activity within the viewer window.

<li>"Enable": puts data in active state by pointing and clicking a
single PIV estimator.

<li>"Disable point": puts data in inactive state by pointing and
clicking a single PIV estimator.

<li>"Enable area": puts a rectangular area containing PIV data in
active state. The starting corner of the area (upper-left) is defined
by pressing the right mouse button. The opposite corner is defined by
moving the mouse with holding the button pressed and releasing it at the
location of the opposite corner. A rectangular frame is drawn during
the operation.

<li>"Disable area": puts a rectangular area containing PIV data in
inactive state. The starting corner of the area (upper-left) is defined
by pressing the right mouse button. The opposite corner is defined by
moving the mouse with holding the button pressed and releasing it at the
location of the opposite corner. A rectangular frame is drawn during
the operation.
</ul>



<H4>Histograms</H4> 

<ul>
<li>"residu" displays the (log) inverse histogram of median
residus. The critical residu value for accepting/rejecting outliers is
determined by the slope of the straight line plotted through the
histogram data. The critical value is calculated and displayed in the
"Threshold" entry. The function of this process is similar to that of
the command line program <b>errvec</b> of the Gpivtools package.</li>

<li>"sub-pixel" displays a histogram of sub-pixel estimators of the
PIV dataset. The function of this process is similar to that of the
command line program <b>peaklck</b> of the Gpivtools package.</li>

<li>The "U-comp" and "V-comp" buttons display the histograms of
horizontal and vertical particle displacement estimators. These data
may be stored by "Save" in filename.pdf.</li>


</ul>


<H4>Validate on velocity gradient</H4>

Calculates velocity gradient over an interrogation area and displays
vectors in red color if they exceed the critical value. The critical
value is defined in libgpiv/include/gpiv/valid.h: GRADIENT_THRESHOLD
and is set to 2 pixels, i.e. identic to the optimum particle image
diameter. This quantity is chosen in order to prevent a too wide, or
even a splitting up, of the highest correlation peak.


<H4>Outliers</H4>

To set the parameters for testing and substituting on erroneous
vectors. The number of the surrounding displacement data of a point
under investigation may be defined by "Neighbors". The number
represents the two-dimensional array, which is typically 3x3 and may
have a maximum of 9x9. The "Data yield" is needed to calculate the
threshold value from the residu statistics. This value has to be
filled in manually and should be obtained from the mean number of
particles within an interrogation area. One way to obtain the particle
density, is by enabling the "Monitor" button and "Single int" of the
mouse selection in the "Interrogation" tabulator and analyzing some points
in the image. 
<p>

The critical threshold may be filled in manually or may
be obtained by invoking "residu" button.
<p>

The type of residus may be chosen between "Normalized median",
"Median" or "Snr". The normalized median option uses the ratio between
the residu (obtained from the actual didplacement and the median
displacement from the neighboring data) and between the median residu
(resulting from the neighbors). The threshold, then, may be kept at 2
pixels for obtaining a data yield of 90% <a href="#ref2">[2]</a>. This
setting should be advantageous if turbulence is heterogeneous within
the area of observation. The median option uses the residu between
actual data point and the median displacement from its surroundings.
<p>

Outliers may be substituted by the local mean value of the surrounding
vectors, by the median value of the surrounding vectors or by the
displacement from the next highest correlation peak. Unless "Nothing"
has been choosen, the data will first be substituted subsequently by a
PIV estimator from the next highest correlation peak, the median
displacement value, and local mean. If the residu still exceeds the
threshold after trying these substitutions, the PIV estimator will be
substituted by the preferred option as enabled here.
<p>

Finally, the validation on outliers is performed by pressing the
"validate on outliers" button or by enabling "validate" in the process
toolbar of the Gpiv console and pressing "Execute". Validation is also
performed after each step of the interrogation procedure if the
Interrogation scheme is set to "Image deformation", "Central
differential" or "Zero offset". The function of testing on outliers
and substituting is similar to that of the command line program
<b>errvec</b> of the Gpivtools package.

<A NAME="sect2.5.6"><H3>2.5.6 Post processing </H3></A>

The "Post processing" tab (<a href="#fig2.7">Figure 2.7</A>) contains
tools to apply modifications on PIV estimators and to calculate
derived quantities from the PIV estimators.
<P>

<H4>Scaling</H4> 

<ul>
<li>"Spatial scale" is calculated by measuring the number of pixels per
mm. The values will have to be set manually or may be obtained interactively 
from the <a href="#sect2.5.2">Image</A> tabulator.

<li>"time scale" represents the time between
two successive image recordings (mostly the separation time between
two laser flashes). 

<li>"pos. of col #0": The horizontal location of the image within an
experiment is defined by the position of column #0, related to
a marker point in the experiment.

<li>"pos. of row #0": The vertical location of the image within an
experiment is defined by the position of column #0, related to
a marker point in the experiment.

The function of this
process is similar to the command line program <b>scale </b> of the 
Gpivtools package.
</ul>
<P>

Vorticity, shear and normal strain may be derived from the PIV
estimators with different numerical schemes; Central differential
scheme, Least squares, Richardson and the Circulation method (only for
the calculation of vorticity). The function of this process is similar
to the command line program <b> vorstra </b> of
the Gpivtools package.

<P>
<IMG SRC = "figures/gpiv-fig_console_post.png"><br>
<A NAME="fig2.7" id="fig2.7">Figure 2.7 Gpiv console with Post processing
tabulator</A>
<P>
<P>
<P>
<H4>References</H4>

<a id="ref1"> [1] P. Thévenaz, T. Blu, M. Unser, "Interpolation
Revisited," IEEE Transactions on Medical Imaging, vol. 19, no. 7,
pp. 739-758, July 2000</a>
<P>
<a id="ref2"> [2] J. Westerweel, F. Scarano, "Universal outlier
detection for PIV data", Exp. in Fluids (2005) 39:1096-1100</a>
<P>
<a id="ref3"> [3] M.P. Wernet, "Symmetric phase only filtering: a new paradigm for DPIV
data processing", Meas. Sci. Technol (2005), vol 16, pp 601-618</a>

<P>
<P>
<A href="index.html"> Contents </A>  <br>
<A href="intro.html"> Previous </A>  <br>
<A href="piv_intro.html"> Next </A> 
</BODY>


</HTML>