352 | | * (optional) '''!!!ListGlobalAttribute:''' list (cell array of character strings) of the names of global attributes Att_1, Att_2... |
353 | | * (mandatory) '''!!!ListVarName:''' list of the variable names Var_1, Var_2....(cell array of character strings). |
354 | | * (mandatory) '''!!!VarDimName:''' list of the dimensions associated with each variable: this is a cell array whose number of element is equal to that of '''ListVarName'''. Each element is the dimension name for a unidimensional variable, or a cell array specifying the list of dimension names for a multidimensional variable. |
355 | | * (optional) '''!!!VarAttribute:''' cell array of structures of the form !VarAttribute{ivar}.key=value, defining an attribute tag name and value for the variable #ivar (variable number in the list !ListVarName]). |
| 352 | * (optional) '''!!!!ListGlobalAttribute:''' list (cell array of character strings) of the names of global attributes Att_1, Att_2... |
| 353 | * (mandatory) '''!!!!ListVarName:''' list of the variable names Var_1, Var_2....(cell array of character strings). |
| 354 | * (mandatory) '''!!!!VarDimName:''' list of the dimensions associated with each variable: this is a cell array whose number of element is equal to that of '''ListVarName'''. Each element is the dimension name for a unidimensional variable, or a cell array specifying the list of dimension names for a multidimensional variable. |
| 355 | * (optional) '''!!!!VarAttribute:''' cell array of structures of the form !VarAttribute{ivar}.key=value, defining an attribute tag name and value for the variable #ivar (variable number in the list !ListVarName]). |
690 | | The min and max indices available in the series are indicated as a guide-line, as well as the corresponding times in '''[wiki:TimeTable [TimeTable]]'''. The times for the first and last chosen indices are also indicated, as well as the source of the time information (column 'Name' in the table). |
691 | | |
692 | | When input files are indexed by pairs i1-i2 or j1-j2, as resulting for instance from PIV, the pair indexing can be chosen by pressing the button''' [wiki:SetPairs "[SetPairs]"]''' which opens an ancilliary GUI. Depending on the input file names, this can provides the choice between 'bursts', 'Di','Dj'. In mode 'bursts' a single j index pair is selected in the menu '''[!ListPairs]'''. In mode 'Di' and 'Dj' it selects a given index interval in i or j respectively. Then the first_i and last_i refer to the ''reference indices''. With the option '*-*' in '''[!ListPairs]''', available pairs are automatically chosen. In case of multiple input lines, the selection from '''[Set pairs]''' refers to the line number displayed in [[https://servforge.legi.grenoble-inp.fr/search?q=wiki%3AListView ListView]]. It is transfered to the corresponding line in the table '''[!PairString]'''. |
| 690 | The min and max indices available in the series are indicated as a guide-line, as well as the corresponding times in '''[!TimeTable]'''. The times for the first and last chosen indices are also indicated, as well as the source of the time information (column 'Name' in the table). |
| 691 | |
| 692 | When input files are indexed by pairs i1-i2 or j1-j2, as resulting for instance from PIV, the pair indexing can be chosen by pressing the button '''[!SetPairs]''' which opens an ancilliary GUI. Depending on the input file names, this can provides the choice between 'bursts', 'Di','Dj'. In mode 'bursts' a single j index pair is selected in the menu '''[!ListPairs]'''. In mode 'Di' and 'Dj' it selects a given index interval in i or j respectively. Then the first_i and last_i refer to the ''reference indices''. With the option '*-*' in '''[!ListPairs]''', available pairs are automatically chosen. In case of multiple input lines, the selection from '''[Set pairs]''' refers to the line number displayed in [!ListView]. It is transfered to the corresponding line in the table '''[!PairString]'''. |
709 | | The actual start of the processing is triggered by pressing the button '''[RUN]'''. It can be run in local mode, i.e. on the current Matlab session, or as ''background'', by selecting this option in '''!RunMode'''. In mode ''background'', calculation is performed in a new Matlab session (without graphics) so that the current Matlab session is free for new operations. If a cluster system has been detected, a third option ''cluster'' appears in the menu, allowing to dispatch parallel computations on a computer cluster. For the latter option, a compiled version of the action function is useful, to avoid installing Matlab on each node of the cluster. This is achieved by selecting the option ''.sh'' in the menu '''!ActionExt'''. If the compiled version is not yet available, or outdated, the GUI proposes a new compilation of the selected function (launching the function ''compile.m''). |
710 | | |
711 | | === 10.7 check_data_files === |
712 | | Gives the series of files selected for processing and checks their existence. The oldest modified file is indicated, which is useful to detect whether any file in a civ processing is missing (then the oldest file is not updated). |
713 | | |
714 | | For NetCDF files, the last operation made (civ1, fix1, patch1, civ2, fix2, patch2) is indicated. The details of each NetCDF file can be dispalyed by selecting it with the mouse in the list. |
715 | | |
716 | | === 10.8 aver_stat: === |
717 | | This option provides any average over the processed files. If nb_slice is not equal to 1, the average is performed slice by slice, providing nb_slice results. If a projection object is selected (check box '''[!CheckObject]'''), the field is projected before averaging. |
718 | | |
719 | | For unstructured coordinates varying for successive fields, the data is linearly interpolated on the coordinates of the first field in the series. It is then advised to project the fields on a regular grid, creating a projection object of type 'plane' with projection mode 'interp_lin' or 'interp_tps'. |
720 | | |
721 | | With a projection mode 'inside' or 'outside', the global histogram of field variables on the selected region will be obtained. |
722 | | |
723 | | In the case of two input files series, the field difference will be perfomed like with the interface '''uvmat.fig'''. It is not possible to use more than two input series for this funtion. |
724 | | |
725 | | === 10.9 time_series === |
726 | | This action provides a time series of the input field. It is advised to use a POINTS projection object, so the series is limited to the selected points. |
727 | | |
728 | | In the case of two input files series, the field difference will be perfomed like with the interface '''uvmat.fig'''. It is not possible to use more than two input series for this funtion. |
729 | | |
730 | | === 10.10 merge_proj === |
731 | | This option allows to merge several field series in a single one. This is useful to merge fields obtained with different cameras. Select the different series, activating the check box add. In this case, it is generally useful to first interpolate the fields on a single grid. For that purpose select a projection object of type 'plane' with projection mode 'interp' or 'interp_tps' to get spatial derivative. |
732 | | |
733 | | Since the different views have their own calibration, it is important to use the option 'phys' (menu menu_coord), and to create the grid in phys coordinates. |
734 | | |
735 | | === 10.12 more... === |
736 | | This action calls any user defined function by its name, acting on the series of fields defiend for ACTION. Some examples of usr_defined functions are in the subdirectory {/series}. |
737 | | |
738 | | -List of available functions: |
| 709 | The actual start of the processing is triggered by pressing the button '''[RUN]'''. It can be run in local mode, i.e. on the current Matlab session, or as ''background'', by selecting this option in '''!RunMode'''. In mode ''background'', calculation is performed in a new Matlab session (without graphics) so that the current Matlab session is free for new operations. If a cluster system has been detected, a third option ''cluster'' appears in the menu, allowing to dispatch parallel computations on a computer cluster. |
| 710 | |
| 711 | For the cluster option, a compiled version of the action function is useful, to avoid installing Matlab on each node of the cluster. This is achieved by selecting the option ''.sh'' in the menu '''!ActionExt'''. If the compiled version is not yet available, or outdated, the GUI proposes a new compilation of the selected function (launching the function ''compile.m'' requiring the Matlab compilator toolbox). The use of compiled function on the cluster requires a file 'RunTime' whose address needs to be specified in the parameter file PARAM.xml of the package uvmat. The commands in '''series''' are set for the system 'oar', but adding the equivalent commands for another cluster system is straightforward (this must be done in the sub-function ''RUN_Callback''of ''series.m''). |
| 712 | |
| 713 | === 10.7 Action functions of general use === |
| 714 | A few functions are provided by default in the menu '''[!ActionName]'''. In addition to ''civ_series'', discussed in [#Civ: section 11], these are: |
| 715 | |
| 716 | * ''check_data_files:'' gives the series of files selected for processing and checks their existence. The oldest modified file is indicated, which is useful to detect whether any file in a civ processing is missing (then the oldest file is not updated). For NetCDF files, the last operation made (civ1, fix1, patch1, civ2, fix2, patch2) is indicated. The details of each NetCDF file can be dispalyed by selecting it with the mouse in the list. |
| 717 | * ''aver_stat'': this option provides any average over the processed files. If ['''!!NbSlice]''' is not equal to 1, the average is performed slice by slice, providing !!NbSlice results. If a projection object is selected (check box '''[!CheckObject]'''), the field is projected before averaging. For unstructured coordinates varying for successive fields, the data is linearly interpolated on the coordinates of the first field in the series. It is then advised to project the fields on a regular grid, creating a projection object of type '''plane''' with projection mode '''interp_lin''' or '''interp_tps'.'' With a projection mode 'inside' or 'outside', the global histogram of field variables on the selected region will be obtained. In the case of two input files series, the field difference will be perfomed like with the interface '''uvmat.fig'''. It is not possible to use more than two input series for this function. |
| 718 | * ''time_series:'' this action provides a time series of the input field, possibly projected . Thus projection on 'points' lead to time series of the projected variable(s) for each point, projection by interpolation on a line will (x,time) field, while projection on a plane gives a 3D matrix, whose first index corresponds to time. Note that for a vector field, projections on a tilted line or plane give the vector components longitudinal and normal to the object. To preserve the original x and y components, introduce them as ''scalar'', not ''vectors''. In the case of two input files series, the field difference will be perfomed like with the interface '''uvmat.fig'''. It is not possible to use more than two input series for this funtion. |
| 719 | * ''merge_proj'': this option allows to merge several field series in a single one. This is useful to merge fields obtained with different cameras. Select the different series, using the input option ''append''. In this case, it is generally useful to interpolate the fields on a single grid. For that purpose select a projection object of type 'plane' with projection mode 'interp_lin', or 'interp_tps' to get spatial derivative. Since the different views have their own calibration, it is important to use the option 'phys' (menu menu_coord), and to create the grid in phys coordinates. |
| 720 | |
| 721 | === 10.8 Other functions Action... === |
| 722 | With the option '''more...' ''in !!ActionName, a browsers pops up to choose an Action function. Some examples of functions are in the subdirectory ''{/series}'' of the folder containing '''''umat'''''. |
743 | | * ''turb_stat.m'': produces turbulent statistics (reynolds stress tensor) |
744 | | |
745 | | To update (**): -uvprofile: calculate the mean velocity profile and Reynolds stress u'v' along a band, averaged over the series of fields. -view_ima3D: provides a perspective view of a 3D image defined by a series of slice 2D images. The isosurfaces of the scalar field are represented. -part_stat: count particles and provides their density and luminosity histogramm Peaklocking errors:(to update **) |
746 | | |
747 | | By selecting the press button 'peaklocking' on the 'plotgraph' interface, you smooth the current velocity histograms while preserving its integral over each unity (in pixels). This appears in red. Then an estimate of the peaklocking error is obtained by comparing the initial histogram to the smooth one. |
| 727 | * ''turb_stat.m'': produces turbulent statistics (Reynolds stress tensor) |
| 728 | |
| 729 | These can be used as template to create other functions. The general input of these functions in Matlab structure 'Param' which contains all the input parameters as given by the GUI series (see comments in the function for details). For batch operations, as needed for the cluster, this input is replaced by the name of an xml file which contains these parameters (this is the file produced in the floder '''/0_XM'L'' under the result directrory Output Subdir ). The first part of the function must give some options for the requested input information and may interactively introduce specific parameters needed for the function. The second part of the function, where the processing itself takes place, is then free from any input (so the operation can be easily dispatched to a remote computer). |
| 730 | |
| 731 | To update (**): LIF_series: do LIF analysis, Stereo_PIV: combine two velicity series to yield the 3 components, part_stat: count particles and provides their density and luminosity histogramm, Peaklocking errors: estimate errors in PIV . By selecting the press button 'peaklocking' on the 'plotgraph' interface, you smooth the current velocity histograms while preserving its integral over each unity (in pixels). This appears in red. Then an estimate of the peaklocking error is obtained by comparing the initial histogram to the smooth one. |
754 | | An alternative possibility is to use the older Fortran program ''CivX'' from the GUI '''civ.fig'''. This can be called directly on the Matlab prompt, by typing ''>>civ'', or from uvmat by the menu bar command '''[RUN/PIV (old civ)]'''. '''-Modes of frame pair indexing''' A first menu '''[ListCompareMode]''' selects one among four modes of operation: |
755 | | |
756 | | * '''PIV''': makes image comparisons on sliding index pairs, as usual for measuring velocities by particle displacements. A second menu '''[ListPairMode]''' in the panel '''[PairIndices]''' then selects one among three possibilities (not always available depending on the file indexing): |
757 | | * ''pair j1-j2:'' selects a given j index pair (sometimes denoted by letter index) for the whole time series. This is the most common case for PIV. Pair selection is performed in the menu '''[ListPairCiv1]''' and '''[ListPairCiv2]''' for the second iteration Civ2, see below. If timing from an xml file [#a3.5Imagedocumentationfiles.xml <!ImaDoc>] has been detected, this is indicated in the edit box '''[ImaDoc]''' and the corresponding time intervals are indicated (in ms). For some applications, this time interval may evolve in time, so that reference indices ref_i and ref_j are chosen for the display. |
758 | | * series (Di): selects a given index interval for the i index, around a set of reference i indices. The intervals are denoted Di=0|1, -1|1, -1|2, -2|2 ... , corresponding to the index pairs i|i+1, i-1|i+1, i-1|i+2, i-2|i+2 ...around each reference index i. Pair selection is then performed in the menu '''[ListPairCiv1]''' and '''[ListPairCiv2]''' like for 'pair j1-j2'. |
| 738 | An alternative possibility is to use the older Fortran program ''CivX'' from the GUI '''civ.fig'''. This can be called directly on the Matlab prompt, by typing ''>>civ'', or from uvmat by the menu bar command '''[RUN/PIV (old civ)]'''. '''-Modes of frame pair indexing''' A first menu '''[!ListCompareMode]''' selects one among four modes of operation: |
| 739 | |
| 740 | * '''PIV''': makes image comparisons on sliding index pairs, as usual for measuring velocities by particle displacements. A second menu '''[!ListPairMode]''' in the panel '''[!PairIndices]''' then selects one among three possibilities (not always available depending on the file indexing): |
| 741 | * ''pair j1-j2:'' selects a given j index pair (sometimes denoted by letter index) for the whole time series. This is the most common case for PIV. Pair selection is performed in the menu '''[!ListPairCiv1]''' and '''[!ListPairCiv2]''' for the second iteration Civ2, see below. If timing from an xml file [#a3.5Imagedocumentationfiles.xml <!ImaDoc>] has been detected, this is indicated in the edit box '''[!ImaDoc]''' and the corresponding time intervals are indicated (in ms). For some applications, this time interval may evolve in time, so that reference indices ref_i and ref_j are chosen for the display. |
| 742 | * series (Di): selects a given index interval for the i index, around a set of reference i indices. The intervals are denoted Di=0|1, -1|1, -1|2, -2|2 ... , corresponding to the index pairs i|i+1, i-1|i+1, i-1|i+2, i-2|i+2 ...around each reference index i. Pair selection is then performed in the menu '''[!ListPairCiv1]''' and '''[!ListPairCiv2]''' like for 'pair j1-j2'. |