Changes between Version 45 and Version 46 of UvmatHelp
- Timestamp:
- Jun 5, 2013, 10:32:27 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UvmatHelp
v45 v46 4 4 == 1 Generalities == 5 5 === 1.1 Aim === 6 The package uvmat can be used to visualise, scan and analyse a wide variety of input data: all image and movie formats recognised by Matlab (see [#a3.1Inputdataformats section 3.1]), NetCDF binary files(see [#a7.1TheNetCDFformat :section 7]). It is however particularly designed for laboratory data obtained from imaging systems: it includes a Particle Image Velocimetry software, as well as tools for geometric calibration, masks, grid generation and image pre-processing (e.g. background removal), and editing documentation files in the format xml. Stereoscopic PIV, PIV-LIF and 3D PIV in a volume (still under development) are handled.6 The package uvmat can be used to visualise, scan and analyse a wide variety of input data: all image and movie formats recognised by Matlab (see [#a3.1Inputdataformats section 3.1]), NetCDF binary files(see [#a7.1TheNetCDFformat section 7]). It is however particularly designed for laboratory data obtained from imaging systems: it includes a Particle Image Velocimetry software, as well as tools for geometric calibration, masks, grid generation and image pre-processing (e.g. background removal), and editing documentation files in the format xml. Stereoscopic PIV, PIV-LIF and 3D PIV in a volume (still under development) are handled. 7 7 8 8 This package can be used without knowledge of the Matlab language, but it is designed to be complemented by user defined Matlab functions, providing flexibility for further data analysis. It provides convenient tools to develop a set of processing functions with a standardised system for input-output. … … 11 11 12 12 === 1.2 The package === 13 The master piece is a Matlab GUI, made of a Matlab figure '''uvmat.fig''' and an associated set of sub-functions in the file ''uvmat.m''. The menu bar at the top of the GUI, push buttons and editing box in '''uvmat.fig''' activate the Matlab sub-functions (''callback'' functions) in ''uvmat.m''. The package also contains the following set of GUI (see [#Appendix:overviewofthepackage :overview of the package] for a complete list).14 15 * '''browse_data.fig ''' scans the data directory of a project13 The master piece is a Matlab GUI, made of a Matlab figure '''uvmat.fig''' and an associated set of sub-functions in the file ''uvmat.m''. The menu bar at the top of the GUI, push buttons and editing box in '''uvmat.fig''' activate the Matlab sub-functions (''callback'' functions) in ''uvmat.m''. The package also contains the following set of GUI (see [#Appendix:overviewofthepackage overview of the package] for a complete list). 14 15 * '''browse_data.fig:''' scans the data directory of a project 16 16 * '''civ.fig:''' runs the software for Particle Imaging Velocimetry 17 * '''editxml.fig:''' displays and edits xml files according to an xml schema. xml reading and editing is performed by the toolbox [http://www.artefact.tk/software/matlab/xml/ xmltree], integrated in the package ''uvmat' as a subdirectory /@xmltree.17 * '''editxml.fig:''' displays and edits xml files according to an xml schema. xml reading and editing is performed by the toolbox [http://www.artefact.tk/software/matlab/xml/ xmltree], integrated in the package ''uvmat'' as a subdirectory /@xmltree. 18 18 * '''geometry_calib.fig''': determines geometric calibration parameters for relating image to physical coordinates. The toolbox http://www.vision.caltech.edu/bouguetj/calib_doc/ is used, integrated in the package ''uvmat'' as a subdirectory /toolbox_calib. 19 19 * '''get_field.fig:''' selects coordinates and field in a general NetCDF file. … … 84 84 After selection by the browser, the path and file names are determined. The path is split into the two first edit boxes '''[!RootPath]''' and '''[!SubDir],''' while the file name is split into a root name '''[!RootFile]''', file index string '''[!FileIndex]''', and file extension '''[!FileExt]'''. The input file name can be directly entered and modified in these edit boxes, without the browser. 85 85 86 Once a root name has been introduced, navigation among the file indices is provided by the red push buttons '''[runplus]''' ( '''[+>]''') and '''[runmin] ''' ('''[<-]'''). The central push button '''[run0]''' ('''[0]''') refreshes the current plot. See [#a3.4Navigationamongfileindices :section 3.4] for more details.87 88 When available, the time of each frame or field is displayed in the edit box '''[!TimeValue]''', at the very right. In the case of image pairs, the time interval Dt is displayed between the edit boxes '''[i1], [j1]''' and '''[i2], [j2]'''. This timing information can be read directly in the input file, in the case of movies or Netcdf files, or can be defined in an image documentation file, see [#a3.5Imagedocumentationfiles.xml :section 3.5] (in case of conflict, the latter prevails).86 Once a root name has been introduced, navigation among the file indices is provided by the red push buttons '''[runplus]''' ( '''[+>]''') and '''[runmin] ''' ('''[<-]'''). The central push button '''[run0]''' ('''[0]''') refreshes the current plot. See [#a3.4Navigationamongfileindices section 3.4] for more details. 87 88 When available, the time of each frame or field is displayed in the edit box '''[!TimeValue]''', at the very right. In the case of image pairs, the time interval Dt is displayed between the edit boxes '''[i1], [j1]''' and '''[i2], [j2]'''. This timing information can be read directly in the input file, in the case of movies or Netcdf files, or can be defined in an image documentation file, see [#a3.5Imagedocumentationfiles.xml section 3.5] (in case of conflict, the latter prevails). 89 89 90 90 '''Note: ''' the five last input file names, as well as other pieces of personal information, are stored for convenience in a file (''uvmat_perso.mat'') automatically created in the user preference directory of Matlab (indicated by the Matlab command '>>prefdir'. Browsers then read default input in this file. A corruption of this file ''uvmat_perso.mat'' may lead to problems for opening uvmat, type '>>reinit' on the Matlab prompt to delete it and reinitialise the configuration of uvmat. … … 108 108 uvmat can read any image format recognised by the Matlab image reading function ''imread.m''. Images can be in true color or B&W, with 8 bit or 16 bit grey levels. Image files containing multiple frames are handled. Movie files can be also opened, using the Matlab function ''!VideoReader.m'', or ''mmreader.m'' for older versions of Matlab. 109 109 110 ''Uvmat'' can also read various kinds of data in the format Netcdf. Velocity fields obtained by PIV and results of data processing are stored in this format, see [#a7Netcdffilesandget_field.fig :section 7] for details. Then different quantities (vorticity, divergence...) can be obtained. The input file type is recognized by the function ''get_file_type.m'' of uvmat and the file is opened by the function ''read_field.m'' according to this file type. it is possible to include new file types by a modification of these two functions.110 ''Uvmat'' can also read various kinds of data in the format Netcdf. Velocity fields obtained by PIV and results of data processing are stored in this format, see [#a7Netcdffilesandget_field.fig section 7] for details. Then different quantities (vorticity, divergence...) can be obtained. The input file type is recognized by the function ''get_file_type.m'' of uvmat and the file is opened by the function ''read_field.m'' according to this file type. it is possible to include new file types by a modification of these two functions. 111 111 112 112 The PIV software CIVx requires B&W images in the format png (portable network graphics). It is a binary format for images with lossless (reversible) compression, recommended by w3c (http://www.w3.org/Graphics/PNG). It is an open source patent-free replacement of GIF and can also replace many common uses of TIFF. It can be read directly by all standard programs of image visualisation and processing. Compressing a raw binary image to its png form typically saves disk storage by a factor of 3. … … 114 114 For 3D PIV**, 'volume' images, with file extension .vol are used. These are images in the png format, where the npz slices are concatenated along the y direction, forming a composite image of dimension (npy x npz, npx) from the images (npy x npx). 115 115 116 === 3.2 Selecting fields from CIV :===117 The package uvmat recognizes the NetCDF fields obtained from the CIVx software. This includes the velocity fields and their spatial derivatives, as well as information about the CIV processing (image correlation values and flags). The vorticity, divergence, or strain are read in the same NetCDF files, but are available only after a PATCH operation has been run in the CIVx software, see [#a11-PIV:ParticleImagingVelocimetrys :section 11].116 === 3.2 Selecting fields from CIV === 117 The package uvmat recognizes the NetCDF fields obtained from the CIVx software. This includes the velocity fields and their spatial derivatives, as well as information about the CIV processing (image correlation values and flags). The vorticity, divergence, or strain are read in the same NetCDF files, but are available only after a PATCH operation has been run in the CIVx software, see [#a11-PIV:ParticleImagingVelocimetrys section 11]. 118 118 119 119 <doc71|center> … … 136 136 -'''Nomenclature types:''' These different indexing systems are implemented by a functions {fullfile_uvmat.m}. The inputs are the root name, four indices i1,i2,j1,j2 and a character string representing the nomenclature type. The reverse operation, splitting a name into a root and indices while detecting the nomenclature type, is performed by the function {fileparts_uvmat.m}. Once the nomenclature type has been detected by the browser of '''uvmat.fig''', it is displayed in the edit box '''[!NomType]''' of '''uvmat.fig'''. This nomenclature type is defined as the index string for the first file in the series, for instance '_1' for a single indexing and '1_1-2' for a double indexing. For a field series in a single file, like a movie, the nomenclature type is '*'. For a set of indexed movies (or multimage files), the index i labels the files while the index j labels the frames within a file. 137 137 138 === 3.4 Navigation among file indices :===138 === 3.4 Navigation among file indices === 139 139 The field indices can be incremented or decremented by the push buttons '''[runplus]''' ( '''+''') and '''[runmin]''' ('''-''') respectively. This scanning is performed over the first index (i) or the second one (j), depending on the selection of the check boxes '''[scan_i]''' or '''[scan_j]''' respectively. The step for increment is set by the edit box '''[increment_scan]'''. If this box is blank (or does not contain a number) the next available file is opened. 140 140 … … 153 153 -'''Keyboard short cuts:''' the activation of the push buttons '''[runplus]''' and '''[runmin]''' can be performed by typing the key board letters 'p' and 'm' respectively, after the uvmat figure has been selected by the mouse. Similarly the command of the push button '''[run0]''' can be performed by typing the 'return carriage' key. 154 154 155 === 3.5 Image documentation files (.xml) :===155 === 3.5 Image documentation files (.xml) === 156 156 Information on image series is provided by a documentation file in the format xml. This file can include sections about image timing, geometric calibration, camera type and illumination. An xml file is a text file in which each element of information, or group of elements, is labelled by a tag. The list of tags and their hierarchical organisation is specified by a schema file (.xsd). The schema used for image documentation is ''ImaDoc.xsd'', available in the uvmat package at the path indicated in {PARAM.xml}). For a general introduction to the xml language, see http://www.w3schools.com/xml. 157 157 158 When a new file series is opened in uvmat, a documentation file is automatically sought, whose path and name are displayed by ''!RootPath'' and ''!RootFile'' respectively, with extension {.xml} (''!RootPath'' and ''!RootFile'' are the contents of the edit boxes '''[!RootPath]''' and ''' [!RootFile]'''). The detection of this file is indicated by the visibility of the pushbutton '''[view_xml]''' on the upper right of the GUI '''uvmat.fig'''. Press this button to see the content through an xml editor '''editxml.fig''' (described in [#a10-Processingfieldseries :section 10]). The xml file can be also opened directly by the uvmat browser, or by any text editor.158 When a new file series is opened in uvmat, a documentation file is automatically sought, whose path and name are displayed by ''!RootPath'' and ''!RootFile'' respectively, with extension {.xml} (''!RootPath'' and ''!RootFile'' are the contents of the edit boxes '''[!RootPath]''' and ''' [!RootFile]'''). The detection of this file is indicated by the visibility of the pushbutton '''[view_xml]''' on the upper right of the GUI '''uvmat.fig'''. Press this button to see the content through an xml editor '''editxml.fig''' (described in [#a10-Processingfieldseries section 10]). The xml file can be also opened directly by the uvmat browser, or by any text editor. 159 159 160 160 The xml file <!ImaDoc> can contain the following sections: … … 162 162 * <Heading>: contains elements <Campaign>, <Experiment>, <!DataSeries>, which recall the position of the file in the tree structure of data files. This allows the user to check that the document file has not been displaced. 163 163 * <Camera> contains information on the camera settings, as well as the timing of all the images in a subsection <!BurstTiming>. <!TranslationMotor> and <Oscillator> contains information on the mechanical devices used to produce the laser sheet and scan volumes. 164 * <!GeometryCalib> contains the parameters of the geometric calibration relating the pixel position to the real space coordinates (see [#a8-Geometriccalibration :section 8]]). In the case of volume scanning, it also describes the set of laser plane positions and angles.164 * <!GeometryCalib> contains the parameters of the geometric calibration relating the pixel position to the real space coordinates (see [#a8-Geometriccalibration section 8]]). In the case of volume scanning, it also describes the set of laser plane positions and angles. 165 165 * <Illumination> describes the illumination system used, including the position of the laser source. 166 166 * <Tracor> describes the properties of the flow tracor (particle, dye...) … … 168 168 The detailed commented structure is provided in the schema file ''ImaDoc.xsd''. The xml documentation file is read by the function ''imadoc2struct.m''. If this file does not exist, a file with the same root name but extension .civ is sought (obsolete format). 169 169 170 === 3.6 Ancillary input files :===170 === 3.6 Ancillary input files === 171 171 * ''' Mask:''' Masks are used to avoid PIV computations in specified areas. The file is a B&W 8 bit png image, with the same size as the image it has to mask. The grayscale code used is : 172 172 * Intensity < 20: ('black mask') the vector in this place will be set to zero 173 173 * 20 < Intensity < 200:('gray mask') the vector in this place will be absent 174 174 * Intensity>200 the vector will be computed 175 The mask corresponding to an image or velocity field can be displayed in '''uvmat.fig''' by selecting the check box '''[view_mask]([CheckMask])''' on the upper left. Images with appropriate name can be automatically recognised by '''uvmat.fig''' and civ functions, see [#a9-Masksandgrids :section 9.1]. Otherwise file selection by a browser is proposed when '''[view_mask]''' is selected.175 The mask corresponding to an image or velocity field can be displayed in '''uvmat.fig''' by selecting the check box '''[view_mask]([CheckMask])''' on the upper left. Images with appropriate name can be automatically recognised by '''uvmat.fig''' and civ functions, see [#a9-Masksandgrids section 9.1]. Otherwise file selection by a browser is proposed when '''[view_mask]''' is selected. 176 176 177 177 * ''' Grid:''' List of numbers (in ascii text) specifying the set of points where the PIV processing is performed. It specifies the number of points n and a corresponding list of x and y coordinates expressed in image pixels, as follows … … 179 179 n X1 Y1 X2 Y2 ...... Xn Yn 180 180 }}} 181 The coordinates correspond to the center of the correlation box on the first image of the pair (the actual vector position will be shifted by half the displacement found between the two images). A tool to create grids is described in [#a9-Masksandgrids :section 9.2].181 The coordinates correspond to the center of the correlation box on the first image of the pair (the actual vector position will be shifted by half the displacement found between the two images). A tool to create grids is described in [#a9-Masksandgrids section 9.2]. 182 182 183 183 * '''.fig''' Matlab figures represent plots but also Graphic User Interfaces (GUI). In that case Matlab functions (callbacks) are attached to the graphic objects in the figure and can be activated by the mouse. Matlab figures can be directly opened by the browser of '''uvmat.fig'''. … … 238 238 Scalars (or image intensity) can be also represented with contour plots, by switching the popup menu '''[Contours] ''' from the setting 'image' to the setting 'contours'. Contours for positive scalar values are in sold line while contours for negative values are dashed. The interval between contours can be set by the edit box '''[num_IncrA]'''. 239 239 240 === 4.2 Vectors :===240 === 4.2 Vectors === 241 241 The vector fields are represented by arrows. The length of the arrows is automatically set when the check box'''[!CheckFixVectors]''' is not selected, or it can be adjusted by the edit box '''[num_VecScale]'''. For clarity of visualisation, the number of displayed vectors can be divided by 2 or 4 in each direction by selecting the check box '''[CheckDecimate4]''', or '''[CheckDecimate16]''' respectively. 242 242 … … 275 275 The second field can be removed by unselecting the check box '''[SubField] ''' on the very right. 276 276 277 === 4.5 Field transforms :===277 === 4.5 Field transforms === 278 278 A transform can be systematically applied after reading the input field, for instance the transform 'phys' which takes into account geometric calibration. This transform can possibly combine two input fields, for instance to substract a background from an image. The processing function is chosen by the popup menu '''[transform_fct]''' on the left, and its path is displayed in the box '''[path_transform]'''. Select the option 'more...' to browse new functions. The same functions can be called in data processsing using the GUI '''series.fig'''. A few functions are provided in the folder /transform_fct, see list in [annex->#overview]. 279 279 … … 290 290 -'''Plotting:''' plot the results of projection. Function used: {plot_field.m} 291 291 292 == 5- Field structures :==293 294 === 5.1 Griding of data :===292 == 5- Field structures == 293 294 === 5.1 Griding of data === 295 295 Physical fields can be defined either on regular grids, either scattered on an unstructured set of positions. Some measurements techniques, like PIV or particle tracking, provided unstructured data, while most methods of analysis require data on a regular grid. This can be done by interpolation, defining a projection on a plane (with ProjMode='interp', see [#a6-Projectionobjects: next section]). The three possibilities of griding are defined as follows: 296 296 … … 315 315 Because of memory limitation, the tps interpolation must be done in sub-domains for large data sets (with non-empty overlap to avoid steps). Then the tps coordinates and tps weights are represented with an addition index, labelling the subdomain. 316 316 317 === 5.2 Field representation as Matlab structure :===317 === 5.2 Field representation as Matlab structure === 318 318 The uvmat package represents data as ''Matlab structures'', a set of data elements characterized by a tag name (char string) and a value. The value can be any Matlab object: number, array, character string or cell, or a structure containing elements in a hierarchical way. Each element is denoted in the form ''Data.tag=value''. 319 319 … … 397 397 * 'nb_subdomain' denotes the dimension for the subdomain index for tps coefficients 398 398 399 == 6- Projection objects :==400 === 6.1 Definition and editing with the uvmat interface :===399 == 6- Projection objects == 400 === 6.1 Definition and editing with the uvmat interface === 401 401 These are geometrical objects used to define cuts along lines or planes, to interpolate fields on a regular grid, to restrict the analysis or visualisation of fields to subregions. Objects are created by the menu bar command '''[Projection object]''' in '''uvmat.fig'''. The creation of a new object ('points', 'line'....) can be initiated by selecting the corresponding item in the menu. Alternatively, an existing xml object file can be opened by the option 'browse...'. 402 402 … … 436 436 [sec6.3<-] 437 437 438 === 6.3 Projection modes :===438 === 6.3 Projection modes === 439 439 Each variable of the input field yields a corresponding variable in the projected field. Integral quantities (circulation, flux...) can be calculated as well. The result depends on the nature of the field variable (set by the variable attribute 'Role', on the object style and projection mode ProjMode: when any averaging or interpolation process is involved, the only projected variables are scalars and vector components, excluding 'warnflag', 'errorflag', 'ancillary'. Those are only projected with the mode 'projection' on line, planes or volumes. 440 440 … … 471 471 * ''' {Projection on volumes:**} ''' This is used to delimitate a volume for 3D representation 472 472 473 === 6.5 Object representation :===473 === 6.5 Object representation === 474 474 Projections objects are drawn in magenta color when they are selected for creation or edition, and in blue otherwise. 475 475 … … 491 491 [<doc115|right>->#top] 492 492 493 == 7- Netcdf files and get_field.fig :==494 === 7.1 The NetCDF format :===493 == 7- Netcdf files and get_field.fig == 494 === 7.1 The NetCDF format === 495 495 NetCDF (network Common Data Form) is a machine-independent format for representing scientific data, suitable for large arrays (http://www.unidata.ucar.edu/software/netcdf/). Each piece of data can be directly accessed by its name without reading the whole file. New records can be added to the file without perturbing the remaining information. The next release of NetCDF is intended to be compatible with the newly developed and more general hdf format. 496 496 … … 515 515 A variable may have attributes, but an attribute cannot have attributes. Attributes assigned to variables may have the same units as the variable (for example, valid_range) or have no units (for example, scale_factor). If you want to store data that requires units different from those of the associated variable, it is better to use a variable than an attribute. More generally, if data require ancillary data to describe them, are multidimensional, require any of the defined NetCDF dimensions to index their values, or require a significant amount of storage, that data should be represented using variables rather than attributes. 516 516 517 === 7.3 The GUI get_field :===517 === 7.3 The GUI get_field === 518 518 This GUI is designed to analyse a NetCDF file, showing all the variables, attributes and variable dimensions. Variables can be selected and plotted. The GUI is opened by the Matlab prompt command '>>get_field'. It is also opened by the GUI '''uvmat.fig''' when an input NetCDF file does contain recognised CIVx data: then it takes the name 'uvmat_field', and some dfeatures are inhibited, to show that it depends on uvmat. 519 519 … … 534 534 In the case of a 3D input field, the fig is set to uvmat. A middle plane of cut is automatically selected. This can be moved then with the slider on the interface set_object (see section 5). The default cuts are made at constant z coordiante, but any of the three initial coordiantes can be used as z coordinate, using the menu coord_z. 535 535 536 == 8- Geometric calibration :==537 === 8.1 Generalities :===536 == 8- Geometric calibration == 537 === 8.1 Generalities === 538 538 Transforming image to physical coordinates is a key problem for measuring techniques based on imaging. The image coordinates represent the two cartesian axis x,y of the image, with origin at the lower left corner: the y direction is directed upward, while the corresponding image index j increases downward. The physical coordinates are defined from the experimental set-up. The correspondance is obtained by locating on the image a set of calibration points whose positions are known in the physical coordinate system. A cartesian calibration grid covering the whole image is the best option, but any set of calibration points can be used. We handle three kinds of transforms: 539 539 … … 548 548 <doc68|center> 549 549 550 === 8.2 The GUI geometry_calib.fig} :===550 === 8.2 The GUI geometry_calib.fig} === 551 551 -''' {Opening the GUI:} ''' it is made visible from the GUI '''uvmat.fig''' by the menu bar command '''[Tools/Geometric calibration] '''. If calibration data already exist in the current file <code>ImaDoc </code>, the corresponding list of reference points is displayed in the central window '''[ListCoord] ''' of '''geometry_calib.fig'''. The three first columns indicate the physical coordinates and the two last ones the corresponding image coordinates. Calibration points can be alternatively introduced by opening any <code><ImaDoc></code> xml file with the menu bar command''' [Open] ''' of '''geometry_calib.fig'''. 552 552 … … 575 575 Alternatively the command '''[REPLICATE]''' can be used to calibrate a whole set of experiments, using an overview of the data set provided by the GUI '''dataview.fig'''. 576 576 577 === 8.3 Structure of the xml file :===577 === 8.3 Structure of the xml file === 578 578 The coefficients are recorded in the xml element <code><ImaDoc/GeometryCalib></code> as follows: 579 579 … … 587 587 [<doc115|right>->#top] 588 588 589 == 9- Masks and grids :==590 === 9.1 Masks :===589 == 9- Masks and grids == 590 === 9.1 Masks === 591 591 Mask files are used to restrict the domain of CIV processing, to take into account fluid boundaries or invalid image zones. They must be stored as .png images with 8 bits, as described in [section 3.6->#sec3.6_mask]. 592 592 … … 601 601 [sec9.2<-] 602 602 603 === 9.2 Grids :===603 === 9.2 Grids === 604 604 Grid files, see [section 3.6->#sec3.6_grid], are used to impose a set of positions for PIV vectors. To create a grid for PIV, activate the menu bar Tools/Make grid on the GUI uvmat. Introduce a minimum value, mesh, and maximum value for each coordinate x in the edit boxes XMin, DX, XMax respectively. Do the same for the y coordinate. This must be expressed in physical coordinates. 605 605 … … 624 624 A transform function can be introduced. A projection object can be introduced by selecting the check box '''[CheckObject]'''. If a projection object has been already created the opened interface '''set_object.fig''' will be used. Otherwise a browser appears to open an object file (xml). Similarly the check box '''[CheckMask]''' can be used to select a mask option. 625 625 626 627 628 === 10.2 check_files: === 626 === 10.2 check_files === 629 627 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). 630 628 … … 640 638 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. 641 639 642 === 10.4 time_series :===640 === 10.4 time_series === 643 641 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. 644 642 645 643 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. 646 644 647 === 10.5 merge_proj :} ===645 === 10.5 merge_proj } === 648 646 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 the check box GetObject, creating a projection object of type 'plane' with projection mode 'interp'. 649 647 650 648 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. 651 649 652 === 10.6 more... :===650 === 10.6 more... === 653 651 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}. 654 652 … … 660 658 661 659 == 11- PIV: Particle Imaging Velocimetry == 662 === 11.1 Overview :===660 === 11.1 Overview === 663 661 664 662 The GUI '''civ.fig''' is used to run the programs [CIVx->3] (Correlation Imaging Velocimetry). It is a free advanced Imaging Velocimetry implementation that relies on direct cross-correlation of pattern boxes between image pairs. The binary executable files suitable for the computer operating system need to be properly installed (see {uvmat_doc/README_INSTALL.txt }). … … 703 701 In both cases, the status of the computations can be checked by opening {.cmx } and {.log} files, using the uvmat browser or any text editor. These files are writtent in the same subdirectory as the NetCDF result files. Each {.cmx} file contains the set of parameters used for a civ computation. It is written by the civ interface just before ordering the computations. By contrast , the {.log} file is produced after completion of the computations, and it contains some information on the process, including possible error messages. 704 702 705 [sec11.3<-] {===11.3 FIX===} 703 === 11.3 FIX === 706 704 707 705 The FIX operation is used after civ to remove false vectors, using different criteria: -''' {warning flags:} ''' these are flags (vec_F) indicating problems with the image correlation process: -*vec_F(i)=0 or 1 : default , the processing is fine -*vec_F(i)=-2: the maximum of the correlation function is close to the border of the search box (at a distance of two pixels or less), so that its maximum cannot be reliably obtained: the search domain is too small -*vec_F(i)=2: (only in civ1) we keep the less accurate Hart result (resulting from combining correlation functions from neighborhing points) and vec_C(i)=-1 is chosen by convention. Reference: Hart D. P. (2000) 'PIV error correction',{ Exp. Fluids} '''29''', 13-22. -*vec_F(i)=3: the optimisation of the correlation function is unstable or local Intensity rms of the image =0 -*vec_F(i)=4:only in civ2: the difference between the estimator and the result is more than 1 pixel. The two criteria, vec_F(i)=-2, and 3, should be selected (default options). The criterium vec_F=2 (Hart) should not be selected, while vec_F=4 (for civ2) could be selected only for excellent data (otherwise it may be too strict). -''' {Threshold on the image correlation} ''' (vec_C) can be introduced by the edit box [thresh_vecC] (value between 0 and 1). It removes vectors with poor correlation. -''' {Threshold on the velocity modulus } ''' (expressed in pixels): it can remove either too small values (menu '''[inf_sup1]''' set to '<'), or excessive values (menu '''[inf_sup1]''' set to '>'). Erratic zero velocity vectors, produced by a fixed image background, can be eliminated by this criterium. These criteria can be as well applied to the difference with a reference field, defined by a file series (edit box '''[ref_fix1]''') and a field inside the file (menu '''[field_ref1]'''). -''' {Mask fix:} ''' It has the same effect as the one used in civ1, but the removed vectors are kept in memory, labelled as false. -''' {Manual fix:} ''' Interactive fixing with the mouse is also possible, see [section 4.2->#4.2]. … … 800 798 {=== 12-1 Multilevel image scanning===} or multiplane scanning it also describes the set of laser planes. Then the current plane index is indicated by the text box z_index and the total number of planes by the text box nb_slice. 801 799 802 {=== 12-2 Volume image scanning===} 803 804 {=== 12-3 3D3C PIV :**===}This is performed by the GUI '''civ_3D.fig'''. The program requires input volume images .vol. These are images in the png format, where npz slices are concatenated along the y direction, forming a composite image of dimension (npy x npz, npx) from the images (npy x npx). These volume images can be created by the function {ima2vol.m} in {/series}.800 === 12-2 Volume image scanning === 801 802 === 12-3 3D3C PIV ** === This is performed by the GUI '''civ_3D.fig'''. The program requires input volume images .vol. These are images in the png format, where npz slices are concatenated along the y direction, forming a composite image of dimension (npy x npz, npx) from the images (npy x npx). These volume images can be created by the function {ima2vol.m} in {/series}. 805 803 806 804 ---- 807 805 [editxml<-] 808 806 809 == 13 Editing xml files with the GUI editxml.fig :==807 == 13 Editing xml files with the GUI editxml.fig == 810 808 This GUI '''editxml.fig''' visualises and edits xml files. It is automatically called by the browser of '''uvmat.fig''' when a file with extension .xml is opened. 811 809 … … 816 814 Manual editing of element value is possible. Select the element and use the lower edit box. This edit box transforms in a menu when a preselected list of allowed input values has been set by the schema. 817 815 818 == Appendix: overview of the package :==816 == Appendix: overview of the package == 819 817 === Master GUI: === 820 818 * 'uvmat';...% master function for file scanning and visualisation of 2D fields