Changes between Version 193 and Version 194 of UvmatHelp


Ignore:
Timestamp:
Feb 20, 2015, 10:42:39 PM (6 years ago)
Author:
sommeria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UvmatHelp

    v193 v194  
    284284If the two files are both images or scalar, their difference is introduced as the input field. If one field  is an image (or scalar), while the other one is a vector field, the image will appear as a background in the vector field. This is convenient for instance to relate the CIV result to the quality of the images, or to relate vorticity to the vector field.
    285285
    286 If  two vector fields are compared, their difference is taken as the input field, and is then displayed and analysed. If the two fields are not at the same points, the velocity of the second field is linearly interpolated at the positions of the first one (using the Matlab function ''griddata.m''). The color and flags are then taken from the first field.
     286If  two vector fields defined at the same points are compared, their difference is taken as the input field, and is then displayed and analysed. If the vectors are not at the same points, the program proposes to create an interpolation grid for vector subtraction (a projection plane as described in [#ProjMode: section 6]). An alternative possibility is to introduce the [#FieldTransform: transform function] ''diff_vel.m'' which linearly interpolates the vectors of the second field to the positions of the first one before subtraction. The color and flags are then taken from the first field.
    287287
    288288The two file series will be scanned simultaneously by '''[runplus]''' ( '->') and  '''[runmin]''' ('<-') , according to their own nomenclature. It is also possible to manually edit the second file indices '''[!FieldIndex_1] ''' to compare two fields with different indices.  If available, the time of the second field is indicated in the edit box '''[abs_time_1] ''' at the very right, below the time of the main field.
     
    819819  [[Image(11-2 CV1.png)]]
    820820
    821 The button '''[TEST]''' allows the user to witness the correlation as a live plot. It first opens the source image in a new figure '''view_field'''. By moving the mouse in the figure, the local correlation box and the corresponding search box are drawn in the image, and the 2D correlation result then appears in a new figure 'Figure1 Image Correlation' which automatically pops up. It is possible to freeze the current correlation plot by left mouse selection. The figure belows shows the correlation process and the '''[!SearchBox]''' and '''[!CorrBox]''' explained before.
     821The button '''[TEST]''' allows the user to witness the correlation as a live plot. It first opens the source image in a new figure '''view_field'''. By moving the mouse in the figure, the local correlation box and the corresponding search box are drawn in the image, and the 2D correlation result then appears in a new figure 'Figure1 Image Correlation' which automatically pops up. It is possible to freeze the current correlation plot, and get the values in the Matlab work space, by left mouse selection. The figure belows shows the correlation process and the '''[!SearchBox]''' and '''[!CorrBox]''' explained before.
    822822
    823823  [[Image(civ1_test.jpg)]] [[Image(Correlation for PIV.png)]]
     
    837837 * vec_F=3: the optimisation of the correlation function is unstable  or  local Intensity rms of the image =0. Must be selected.
    838838
    839   '''- Threshold on the image correlation:  ''' (vec_C) can be introduced by the edit box '''[num_!MinCorr]''' (value between 0 and 1). It removes vectors with poor correlation.
     839'''- Threshold on the image correlation:  ''' (vec_C) can be introduced by the edit box '''[num_!MinCorr]''' (value between 0 and 1). It removes vectors with poor correlation.
    840840
    841841'''- Threshold on the velocity modulus: ''' (expressed in pixels). It can remove either excessive values (threshold set by '''[num_MaxVel]''') or too small values (threshold set by '''[num_MinVel]'''). Erratic zero velocity vectors, produced by a fixed image background, can be eliminated by the latter criterium.
     
    859859Further iterations: improvements can be obtained by further iterations of the civ2-fix2-patch2 process. Open again the interface, and consider the previous civ2 result as the prior guess civ1. It will be recopied and relabelled as civ1 in the new NetCDF file produced.
    860860
    861 === 11.6 Stereoscopic PIV === #sec11.6
     861=== 11.6 Stereoscopic 3C PIV === #sec11.6
    862862To obtain the three velocity components in a plane with stereoscopic PIV, use the following procedure:
    863863
    864 Install two cameras viewing a common field with angle about 45 ° on each side. A system of titled objective lenses (Sheimpflug) allows to optimize the focus in the whole image.
    865 
    866 Make a careful geometric calibration, by taking the images of a grid positioned in the plane of the laser sheet used for particle illumination, as described in section [#GeometryCalib section 6]. This calibration model is valid in air or with an interface air-water perpendicular to the line of sight for each camera. Otherwise, the calibration problem is more complex.
    867 
    868 Perform usual PIV for each image series.
    869 
    870 For PIV near a staigth wall, it is advised to create a grid for each image series, corresponding to a common array of physical positions. This can be done by the upper menu bar option '''[!Tools/Make Grid]''' in the GUI '''uvmat''' (see section [#a9.2Grids Grids]).
    871 
    872 Combine PIV fields: TO UPDATE**.
    873 
    874 === 11.7 Description of the velocity files: === #civdata
     864 * Install two cameras viewing a common field with angle about 45 ° on each side. A system of titled objective lenses (Sheimpflug) allows to optimize the focus in the whole image.
     865
     866 * Make a careful geometric calibration, by taking the images of a grid positioned in the plane of the laser sheet used for particle illumination, as described in section [#GeometryCalib section 6]. This calibration model is valid in air or with an interface air-water perpendicular to the line of sight for each camera. Otherwise, the calibration problem is more complex.
     867
     868 * Perform usual PIV for each image series. For PIV near a straight wall, it may be useful to create a grid for each image series, corresponding to a common array of physical positions. This can be done by the upper menu bar option '''[!Tools/Make Grid]''' in the GUI '''uvmat''' (see section [#a9.2Grids Grids]).
     869
     870 * To get the 3 velocity components in phys coordinates, ombine the two PIV data series with the function 'civ2vel_3C' activated by the GUI ''series''. The data are assumed by default in a plane ''x,y'' (defined by a laser sheet). A transverse ''z'' displacement can be taken into account, introduced then in the third input line of the GUI ''series''. This ''z'' displacement can be obtained by stereo comparison of the two images (at the same time).
     871
     872=== 11.7 Topography measurement by image correlation from stereoscopic views ===
     873A displacement ''z(x,y)'' can be obtained by comparing two stereoscopic views (at the same time), using the function ''stereo_civ'' activated by the GUI '''series'''. This identifies corresponding points using image correlation, in the same way as ''civ''. A transform of the image to physical coordinates is performed as a first step to minimize the image difference between the two views. The final result is expressed as a set of ''(x,y,z)'' positions in physical coordinates (unlike PIV data which are expressed in image coordinates). See [attachment:3D_view.pdf] for full algorithm description.
     874 
     875
     876=== 11.8 Description of the velocity files: === #civdata
    875877The velocity fields obtained by PIV, as well as their spatial derivatives, are stored in the machine independent binary format [#netcdf NetCDF]. The file contains constants ('global attributes') and fields ('variables') whose values can be directly accessed by their name.
    876878
     
    11011103 * 'avi2png': copy an avi movie to a series of B/W .png images (take the average of green and blue color components)
    11021104 * 'check_data_files': check the existence, type and status of the files selected by series.fig.
     1105 * 'civ2vel_3C': combine velocity fields from two cameras to get three velocity components
    11031106 * 'ima_levels': rescale the image intensity to reduce strong luminosity peaks (their blinking
    11041107 * 'civ_input': function associated with the GUI 'civ_input.fig' to set the input parameters for civ_series.
    11051108 * 'civ_series': PIV function activated by the general GUI series (replaces civ).
    11061109 * 'merge_proj': concatene several fields from series, can project them on a regular grid in phys coordinates.
     1110 * 'stereo_civ': determination of topography by image correlation of two stereo views
     1111 * 'stereo_input': function associated with the GUI 'stereo_input.fig' to set the input parameters for stereo_civ
    11071112 * 'sub_background': subtract a sliding background to an image series.
    11081113 * 'time_series': extract a time series after projection on an object (points , line..).
    11091114
    11101115=== Transform functions ===
     1116 * 'diff_vel': calculate the difference of two input velocity fields.
     1117 * 'ima_color2BW': transform a color image to grey scale image
    11111118 * 'ima_filter': low-pass filter of an image (builtin filtering parameter).
     1119 * 'ima_ratio': take the ratio of two input images with same size
    11121120 * 'ima_remove_background': removes backgound from an image (using the local minimum).
    11131121 * 'ima_remove_particles': removes particles from an image (keeping the local minimum).
     
    11151123 * 'phys': transforms image (Unit='pixel') to real world (phys) coordinates using geometric calibration parameters. It acts if the input field contains the tag '!CoordUnit' with value 'pixel'.
    11161124 * 'phys_polar': this transforms the fields to polar coordinates, radius in abscissa (same unit as x, y) and azimuth in ordinate (unit =degree).
     1125 * 'signal_spectrum': calculate and display power spectrum of the current field
     1126 * 'sub_field': combines two input fields, taking the difference if of the same nature.