Changes between Version 55 and Version 56 of UvmatHelp


Ignore:
Timestamp:
Jun 10, 2013, 8:57:19 PM (7 years ago)
Author:
sommeria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UvmatHelp

    v55 v56  
    214214'''Mirror data trees''' can be created to process a source data set in read only mode, to preserve the safety of the data source, and to allow several users to work in parallel without interference. This is done by opening the source Campaign with the menu bar option Open/browse campaign from uvmat. Select the source campaign directory with the browser. Then the GUI 'browse_data' appears. Then press 'create_mirror' and select the directory which must contain the mirror Campaign. A set of directory is then created for each experiment, in which are created symbolic  links to the !DataSeries directories. Data processing then results in real !DataSeries directories created in the Experiment directory.  An xml mirror.xml is created inside the directory mirror to mark its role; This xml file contains  the path and name of the source directory under the label <!SourceDir>. The mirror directory can be regularly updated by pressing the button 'update_mirror'.
    215215
    216 == 4 Field display ==
     216== 4 Scalar and vector display ==
    217217The uvmat interface primarily reads and visualises two-dimensional fields, which can be images or scalars, or vector fields.
    218218
     
    414414== 6- Projection objects == #ProjObject
    415415=== 6.1 Definition and editing with the uvmat interface ===
    416 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...'.
    417 
    418 In each case an auxiliary GUI '''set_object.fig''' describing the object properties appears, see next [sub-section->#sec6.2] for their definitions. This GUI  can be  edited by mouse drawing in the plotted field or by direct input. In the latter case, refresh the plots by pressing''' [PLOT] ''' in '''set_object.fig''' . Objects can be saved as xml files with the button ''' [SAVE]''' of '''set_object.fig'''.
    419 
    420 The projection of fields on objects is performed by the function ''proj_field.m'', which can be used also in data processing. The projected field from a projection object drawn in the main plotting window of uvmat will be plotted in the secondary plotting GUI '''[view_field]'''.    The list of currently opened projection objects is displayed in the menus '''[ListObject]''' and '''[ListObject_1]''' at the bottom right of '''uvmat.fig'''.  One object can be selected in each of these menus: the projection on the object selected in '''[ListObject]''' is viewed in '''uvmat.fig''' while that of the object selected in '''[ListObject_1]''' is viewed in '''view_field.fig'''. All the created objects are sketched in both views, except the one on which projection leads to the currently plotted field (see [subsection 6.4->#sec6.4] for object representation). The active objects are plotted in magenta, while the inactive ones are in blue.
    421 
    422 === 6.2 Object properties: ===
     416These are geometrical objects used to define cuts along lines or planes, to interpolate fields on a regular grid, to restrict the analysis or visualisation to field subregions. When a 2D or 3D field is opened by uvmat, a default projection plane object is created. New 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 selecting the menu option '''[browse...]'''.
     417
     418In each case an auxiliary GUI '''set_object.fig''' describing the object properties appears, see next [#a6.2Objectproperties sub-section] for their definitions. This GUI can be directly edited and object coordinates can be set by mouse drawing on the plot. In the latter case, refresh the plots by pressing''' [PLOT] ''' in '''set_object.fig''' . Objects can be saved as xml files with the button ''' [SAVE]''' of '''set_object.fig'''.
     419
     420The projection of fields on objects is performed by the function ''proj_field.m'', which can be used also in data processing. The projected field from a projection object drawn in the main plotting window of uvmat will be plotted in the secondary plotting GUI '''view_field.fig'''. The list of currently opened projection objects is displayed in the menus '''[!ListObject]''' and '''[!ListObject_1]''' at the bottom right of '''uvmat.fig'''.  One object can be selected in each of these menus: the projection on the object selected in '''[!ListObject]''' is viewed in '''uvmat.fig''' while that of the object selected in '''[!ListObject_1]''' is viewed in '''view_field.fig'''. All the created objects are sketched in both views, except the one generating the currently plotted field (see [subsection 6.4->#sec6.4] for object representation). The active objects are plotted in magenta, while the inactive ones are in blue.
     421
     422Objects can be viewed, edited, deleted...
     423
     424=== 6.2 Object properties ===
    423425  The objects are defined by the following set of properties:
    424426
    425  * ''' {Name:} ''' any name given to the object
    426  * ''' {Type:} ''' classify the object with the following choice:
     427 * ''' Name: ''' any name given to the object
     428 * ''' Type: ''' classify the object with the following choice:
    427429   * 'points': set of n points
    428430   * 'line': simple straight segment, defined by its two end points
     
    434436   * 'volume': volume with associated cartesian coordinates
    435437
    436  * ''' {ProjMode:} ''': specifies the method of projection of coordinates and field.
    437 
    438  * ''' {Angle:} ''': three component rotation vector used to define the orientation, for instance for planes.
    439 
    440  * ''' {RangeX:} ''', ''' {RangeY:} ''', ''' {RangeZ:} ''':bounds defining the range of projection along each coordinate, one or two values depending on the object type.
    441 
    442  * ''' {DX:} ''', ''' {DY:} ''', ''' {DZ:} ''':meash  along each coordinate defining a grid for interpolation.
    443 
    444  * ''' {Coord:} ''': matrix with two (for 2D fields) or three columns defining the object position.
     438 * ''' ProjMode: ''': specifies the method of projection of coordinates and field.
     439
     440 * ''' Angle: ''': three component rotation vector used to define the orientation, for instance for planes.
     441
     442 * ''' RangeX: ''', ''' RangeY: ''', ''' RangeZ: ''':bounds defining the range of projection along each coordinate, one or two values depending on the object type.
     443
     444 * ''' DX: ''', ''' DY: ''', ''' DZ: ''':meash  along each coordinate defining a grid for interpolation.
     445
     446 * ''' Coord: ''': matrix with two (for 2D fields) or three columns defining the object position.
    445447   * for  'points', 'line', 'polyline', 'polygon': matrix with n lines [xi yi zi], corresponding to each of the n defining points. Note that in 3D case, polygons must be included in a plane, which imposes restrictions on these coordinates.
    446448   * for 'rectangle', 'ellipse': coordinates of the center.
     
    449451 * ''' {CoordUnit:} ''' units for the coordinates, must fit with the units of coordinates for the projected field.
    450452
    451 [sec6.3<-]
    452 
    453453=== 6.3 Projection modes ===
    454 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.
    455 
    456  * ''' {!ProjMode 'projection': } '''  this is a direct projection  of the field data in a range of action around the object, as defined by the parameters 'RangeX', 'RangeY', "RangeZ'. The projection of an input variable defined on unstructured coordinates therefore remains unstructured. By contrast, an input variable defined on a regular grid always yields a variable on a regular grid on the projection project  (for instance on a line or plane).
    457 
    458  * ''' {ProjMode 'interp_lin':} '''   Linear interpolation of the fields on a grid of regularly spaced points defined on the projection object, with meshes DX, DY, DZ. The grid array along x starts at RangeX(1) and ends at the closest value smaller than RangeX(2). Similar convention is used for y and z in case of planes and volumes.
    459 
    460  * ''' {ProjMode  'interp_tps':}  '''  interpolation with thin spline shell.
    461 
    462  * ''' {ProjMode 'inside' and 'ouside} '''': defined only for closed lines: rectangle, polygon, ellipse. For each field U, its probability distribution function Uhist  inside, or respectively outside,  the line is calculated, as well as the mean Umean.
     454Each 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.
     455
     456 * ''' !ProjMode 'projection': '''  this is a direct projection  of the field data in a range of action around the object, as defined by the parameters 'RangeX', 'RangeY', "RangeZ'. The projection of an input variable defined on unstructured coordinates therefore remains unstructured. By contrast, an input variable defined on a regular grid always yields a variable on a regular grid on the projection project  (for instance on a line or plane).
     457
     458 * ''' !ProjMode 'interp_lin': '''   Linear interpolation of the fields on a grid of regularly spaced points defined on the projection object, with meshes DX, DY, DZ. The grid array along x starts at RangeX(1) and ends at the closest value smaller than RangeX(2). Similar convention is used for y and z in case of planes and volumes.
     459
     460 * ''' !ProjMode  'interp_tps':  '''  interpolation with thin spline shell.
     461
     462 * ''' !ProjMode 'inside' and 'ouside '''': defined only for closed lines: rectangle, polygon, ellipse. For each field U, its probability distribution function Uhist  inside, or respectively outside,  the line is calculated, as well as the mean Umean.
    463463
    464464 * ''' {ProjMode 'none', 'mask_inside', 'mask_outside':} ''' no projection operation. The object is used solely for plotting purpose, to show a boundary or to prepare a mask, inside or outside a closed line, see [section 8.1->#sec8.1]).
    465465
    466 === 6.4 Projected fields: ===
     466=== 6.4 Projected fields ===
    467467The result of projection can be easily checked by creating the object in uvmat, and using the menubar option '''[Export/field in workspace]'''  in '''view_field.fig'''.
    468468
    469469 * ''' {Projection on n points:}  '''   for each variable U, a set of n values U(i),i=1 to n is obtained, together with the unstructured coordinates (X(i), Y(i)) of the n points, and Z(i) in 3D.
    470    * ProjMode= 'projection': the value U(i) is obtained as an average of the (non false) data values in a domain  of sizes max(2RangeX, 2RangeY, 2RangeZ) centered at each projection point. An ancillary data U_nbval(i) is also obtained, indicating the number of non-false data around each point.
    471    * ProjMode= 'interp_lin':   U(i),i=1 is obtained as a linear interpolation on each point.
    472 
    473  * ''' {Projection on open lines:} '''   This includes the object styles 'line', 'polyline'. For vector fields, the projected  x component is along the line and the y component is perpendicular. 3D case still needs to be implemented**.
     470   * !ProjMode= 'projection': the value U(i) is obtained as an average of the (non false) data values in a domain  of sizes max(2RangeX, 2RangeY, 2RangeZ) centered at each projection point. An ancillary data U_nbval(i) is also obtained, indicating the number of non-false data around each point.
     471   * !ProjMode= 'interp_lin':   U(i),i=1 is obtained as a linear interpolation on each point.
     472
     473 * ''' Projection on open lines: '''   This includes the object styles 'line', 'polyline'. For vector fields, the projected  x component is along the line and the y component is perpendicular. 3D case still needs to be implemented**.
    474474   * ProjMode='projection': in the case of unstructured coordinates, each data point in the region of action (width max(RangeY) around the line) is projected onto the line. The direction of projection is normal except if 'Phi' is non equal to 0 (only possible for 'line'). For structured coordinates with meshes DX,DY (DZ),  data are interpolated on the line with a mesh =min(DX,DY,DZ). For each field component U, a corresponding projected field U is produced. If DX is defined on the line, a smoothed field U_smooth is also calculated, as well as the mean U_mean along the line.
    475475 * ProjMode='interp_lin': non-false data are linearly interpolated on the line, with mesh =DX along the line. Data which are 'discrete','warnflag' or 'errorflag' (as defined by the attribute 'Role') are not projected.
     
    477477 * ProjMode='interp_tps': same as 'interp' but with a smoothing operation.
    478478
    479  * ''' {Projection on closed lines:} '''  , This includes 'rectangle','ellipse','polygon'. For ProjMode='projection', 'interp', 'filter', it behaves like open lines (not all options implemented yet**). For ProjMode='inside' or 'outside', the pdf of each field variable, restricted to the inside or the outside respectively,  is calculated.
    480 
    481  * ''' {Projection on planes:}  ''' Data in the range of action (RangeZ on each side of the plane) are projected normally to the plane, and its position expressed with respect to the coordinate system attached to the plane. This coordinate system is defined by an origin, the plane position XObject,YObject, ZObject, the ranges [RangeX(1) RangeX(2)]  and [RangeY(1) RangeY(2)] for X and Y, and the Euler angles Phi, Theta, Psi.
    482    * ProjMode='projection': in the case of unstructured coordinates, all field variables are projected onto the plane.  For structured coordinates with meshes DX,DY (DZ),  data are interpolated on the line with a mesh =min(DX,DY,DZ).
    483    * ProjMode='interp_lin': non-false data are linearly interpolated on the grid defined by the plane coordinate system and and meshes DX, DY. Data which are 'discrete','warnflag' or 'errorflag' (as defined by the attribute 'Role') are not projected.
    484    * ProjMode='interp_tps': same as interp_lin but with thin plate shell interpolation.
    485 
    486  * ''' {Projection on volumes:**}  ''' This is used to delimitate a volume for 3D representation
     479 * ''' Projection on closed lines: '''  , This includes 'rectangle','ellipse','polygon'. For ProjMode='projection', 'interp', 'filter', it behaves like open lines (not all options implemented yet**). For ProjMode='inside' or 'outside', the pdf of each field variable, restricted to the inside or the outside respectively,  is calculated.
     480
     481 * ''' Projection on planes:  ''' Data in the range of action (RangeZ on each side of the plane) are projected normally to the plane, and its position expressed with respect to the coordinate system attached to the plane. This coordinate system is defined by an origin, the plane position XObject,YObject, ZObject, the ranges [RangeX(1) RangeX(2)]  and [RangeY(1) RangeY(2)] for X and Y, and the Euler angles Phi, Theta, Psi.
     482   * !ProjMode='projection': in the case of unstructured coordinates, all field variables are projected onto the plane.  For structured coordinates with meshes DX,DY (DZ),  data are interpolated on the line with a mesh =min(DX,DY,DZ).
     483   * !ProjMode='interp_lin': non-false data are linearly interpolated on the grid defined by the plane coordinate system and and meshes DX, DY. Data which are 'discrete','warnflag' or 'errorflag' (as defined by the attribute 'Role') are not projected.
     484   * !ProjMode='interp_tps': same as interp_lin but with thin plate shell interpolation.
     485
     486 * ''' Projection on volumes:**  ''' This is used to delimitate a volume for 3D representation
    487487
    488488=== 6.5 Object representation ===
    489489Projections objects are drawn in magenta color when they are selected for creation or edition, and in blue otherwise.
    490490
    491 -* 'points' are represented by dots surrounded by a dashed circle showing the range of projection. -* 'line' , 'polyline' are plotted as lines, surrounded by two dashed lines showing the range of projection, when applicable (i.e. not in the case ProjMode='interp'). -* 'polygon', 'rectangle', 'ellipse' are drawn. In the case ProjMode ='inside' or 'outside' the corresponding area is painted in magenta (or blue when they are not selected). -* 'plane' are shown by their axis. These axis are limited to their range of selection  (RangeX and RangeY) when applicable. Otherwise they end at the edge of the figure with an arrow. ** -* 'volume' are shown like 'plane', except that they are painted in magenta (or blue) **
     491 * 'points' are represented by dots surrounded by a dashed circle showing the range of projection.
     492 * 'line' , 'polyline' are plotted as lines, surrounded by two dashed lines showing the range of projection, when applicable (i.e. not in the case !ProjMode='interp').
     493 * 'polygon', 'rectangle', 'ellipse' are drawn. In the case ProjMode ='inside' or 'outside' the corresponding area is painted in magenta (or blue when they are not selected).
     494 * 'plane' are shown by their axis. These axis are limited to their range of selection  (RangeX and RangeY) when applicable. Otherwise they end at the edge of the figure with an arrow. **
     495 * 'volume' are shown like 'plane', except that they are painted in magenta (or blue) **
    492496
    493497-''' {Creating and editing objects with the mouse:} '''
     
    506510[<doc115|right>->#top]
    507511
    508 == 7- Netcdf files and get_field.fig ==
     512== 7- Netcdf files and the GUI get_field ==
    509513=== 7.1 The NetCDF format ===
    510514NetCDF (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 tag 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 now connected to the more recent hdf format.
     
    842846----
    843847== 12 Tridimensional features:(to update **) ==
    844 {=== 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.
     848=== 12-1 Multilevel image scanning ===
     849or 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.
    845850
    846851=== 12-2 Volume image scanning ===
    847 === 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}.
    848 
    849 ----
    850 [editxml<-]
    851 
    852 == 13 Editing xml files with the GUI editxml.fig ==
     852=== 12-3 3D3C PIV ** ===
     853This 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}.
     854
     855== 13 Editing xml files with the GUI editxml ==
    853856  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.
    854857
     
    859862  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.
    860863
    861 == Appendix: overview of the package ==
    862 === Master GUI: ===
     864== Appendix: overview of the package functions ==
     865=== Master GUI ===
    863866 * 'uvmat';...% master function for file scanning and visualisation of 2D fields
    864867
    865 === Other GUIs:(function .m and associated figure .fig) ===
     868=== Other GUIs(function .m and associated figure .fig) ===
    866869 * 'browse_data';...% function, associated with the GUI 'browse_data.fig' for scanning directories in a project/campaign
    867870 * 'civ';...   %function associated with the interface 'civ.fig' for PIV and spline interpolation (to be replaced by civ_series in series fcts)
     
    879882 * 'view_field';...% function for visualisation of projected fields'
    880883
    881 === functions activated by mouse and keybord in GUI : ===
     884=== Functions activated by mouse and keybord in GUI : ===
    882885 * 'keyboard_callback';... % function activated when a key is pressed on the keyboard
    883886 * 'mouse_down';% function activated when the mouse button is pressed on a figure (callback for '!WindowButtonDownFcn')
     
    885888 * 'mouse_up';... % function to be activated when the mouse button is released (callback for '!WindowButtonUpFcn')
    886889
    887 === main functions used: ===
     890=== Main functions used ===
    888891 * 'civ_matlab';...% civ programs, Matlab version (called by civ.m, option Civprogram/Matlab in the upper menu bar)
    889892 * 'plot_field';...%displays a vector field and/or scalar or images
     
    934937 * '!ListDir';... scan the structure of the directory tree (for dataview.m)
    935938 * 'mask_proj';...% restrict input fields to a mask region, set to 0 outside
    936  * 'open_uvmat';...% open with uvmat the  field selected in the list of 'civ/status' or 'series/check_data_files'
    937939 * 'peaklock';...%
    938940 * 'phys_XYZ';...% transform coordinates from pixels to phys