Changes between Version 85 and Version 86 of UvmatHelp


Ignore:
Timestamp:
Jul 5, 2013, 11:12:39 AM (11 years ago)
Author:
sommeria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UvmatHelp

    v85 v86  
    581581-''' Editing the coordinate table: ''' After mouse selection, the physical coordinates  must be introduced by editing the table. To make this task easier it is possible to export the table content on the Matlab command window by pressing '''[COPY PTS]''', and copy-paste a column on the table '''[!ListCoord]''' (the column below the introduction cell is filled). A single point can be removed by the 'backward' or 'suppr' keyboard command after selecting its line on the table. The whole set of points can be removed by pressing '''[CLEAR PT]'''. They can be also removed by pressing '''[STORE PT]''', then stored in a xml file (whose path and name is listed in '''[!ListCoordFiles]'''). Stored points can be retrieved by the menu bar command '''[Import/calibration points]'''.
    582582
    583 -''' Creating a physical grid: ''' This tool '''[!Tools/Create grid]''' in the  menu bar command provides the whole set of physical coordinates of a cartesian grid, after all their image coordinates have been picked out by the mouse. In the  GUI '''Create_grid.fig''' which appears, set the first and last x and y values and the meshes for the physical grid corresponding to the points already selected by the mouse. The physical coordinates of all the grid points then appears on '''[!ListCoord]'''.
     583-''' Creating a physical grid: ''' This tool '''[!Tools/Create grid]''' in the  menu bar command provides the set of physical coordinates of a cartesian grid, ranked line by line from the bottom. First pick the set of image coordinates with the mouse. Then launch  '''[!Tools/Create grid]''' and fill the first and last x and y values, as well as the meshes, in physical coordinates. These coordanates then fill '''[!ListCoord]'''.
    584584
    585585-''' Detecting a physical grid: ''' This tool '''[!Tools/Detect grid]''' provides the same result as '''[!Tools/Create grid]''', but it automatically recognises the grid points on the image, provided the four corners of the grid have been previously selected by the mouse. The calibration points are detected either as image maxima (option 'white markers'), or as black crosses (option 'black markers'). Their position can be adjusted by selection with the mouse.
     
    593593Alternatively the command '''[REPLICATE]''' can be used to calibrate a whole set of experiments, using an overview of the data set provided by the GUI '''data_browser.fig'''.
    594594
    595 -'''3D calibration''': take a set of (typically 5-10) calibrations images using a grid with different tilting angles (for precision the grid must cover a large area of the view field). On each image, get calibration points with the tool '''[!Tools/Detect grid]''', introducing the appropriate grid mesh, then apply calibration with the option 3D_linear or 3D_quadr (if non-linear distortion is significant). Store the points each time, which fills the list [ListCoordFiles] of file names.
     595-'''3D calibration''': take a set of (typically 5-10) calibrations images using a plane grid with different tilting angles (for precision the grid must cover a large area of the view field). On each image, get calibration points with the tool '''[!Tools/Detect grid]''', introducing the appropriate grid mesh. Do not fill info on ''z'' coordinates. Store the points each time (without applying calibration at this stage), which fills the list [ListCoordFiles] of file names. Then introduce a last grid image which will be considered as defining the orientation of the ''z'' axis, perpendicular to the grid. Detect points on this last image, but instead of storing them, apply the calibration with the option 3D_linear or 3D_quadr (if non-linear distortion is significant). The ''z'' position chosen for this reference calibration plane can be indicated at this stage.
     596
     597-'''Intrinsic parameters''': the previous procedure first determines the extrinsic parameters which characterize the camera optics (focal lengths and nonlinear deformation parameter). Then the extrinsic parameters, translation and rotation of the camera with respect to the reference grid, are determined on the last grid image. if the same optics is used in a new experiment, it is possible to skip the multiplane detection, importing the intrinsic parameters from a previous <!ImaDoc> file by the menu bar tool '''[!Import/Intrinsic]''' parameters, then applying the calibration with the option '3D_extrinsic' with the reference grid image only.
    596598
    597599=== 8.3 Structure of the xml file ===
     
    600602 * <!CalibrationType>: type of calibration ('rescale', 'linear', '3D...')
    601603
    602  * <fx_fy>: focal length along each coordinate of the image sensor, expressed in pixel interval.
    603 
    604  * <Cx_Cy>: position coordinates of the optical axis on the
    605 
    606  * <kc>: coefficient of quadratic deformation (=1 for the options calib_lin and calib_rescale)
     604 * <fx_fy>: focal length along each coordinate of the image sensor, expressed in pixels/cm.
     605
     606 * <Cx_Cy>: position coordinates of the optical axis on the image sensor.
     607
     608 * <kc>: coefficient of quadratic deformation (=0 for the options calib_lin and calib_rescale)
    607609
    608610 * <!CoordUnit>: coordinate unit in physical space.
     
    610612 * {{{<Tx_Ty_Tz>}}}: translation, (Tz=1 for the options calib_lin and calib_rescale)
    611613
    612  * {{{<R>}}}: rotation matrix (in 3 lines). For the option <[https://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/search?q=wiki%3ACalibrationType CalibrationType]>= 'rescale', [[BR]] R (i=1)= [pxcmx 0 0] R (i=2)= [0 pxcmy 0] R (i=3)= [0 0 1], [[BR]]where pxcmx and pxcmy are the scaling factors along x and y.
     614 * {{{<R>}}}: rotation matrix (in 3 lines). For the option <[https://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/search?q=wiki%3ACalibrationType CalibrationType]>= 'rescale', [[BR]] R (i=1)= [pxcmx 0 0] R (i=2)= [0 pxcmy 0] R (i=3)= [0 0 1], [[BR]]where pxcmx and pxcmy are the scaling factors along ''x'' and ''y''.
    613615
    614616 * <omc> 3 components of the rotation vector (this is for diagnostic use, it is redondant with the matrix R used for actual coordinate transforms).  The physical coordinate axis are transformed to the image coordinate axis by a composition of the translation T and the rotation)
    615617
    616  * <ErrorRms>: rms difference (in X and Y direction) between the image coordinates measured for the calibration points and the coordinates transformed from their physical coordinates (using the function ''px_XYZ.m in uvmat'')
     618 * <!ErrorRms>: rms difference (in X and Y direction) between the image coordinates measured for the calibration points and the coordinates transformed from their physical coordinates (using the function ''px_XYZ.m in uvmat'')
    617619
    618620 * <!ErrorMax> : maximum difference (in X and Y direction) between the image coordinates measured for the calibration points and the coordinates transformed from their physical coordinates. (using the function ''px_XYZ.m'' in uvmat)
     
    620622 * <!SourceCalib> set of the point coordinates used for calibration
    621623
    622  * <!PointCoord> [x y z X Y] , where x,y,z are the physical coordinates of each point, X Y its image coordinates
     624   * <!PointCoord> [x y z X Y] , where x,y,z are the physical coordinates of each point, X Y its image coordinates
    623625
    624626 * <!NbSlice_i> nbre of slices for the first field  index i (multilevel case), =1 by default.