Changes between Version 81 and Version 82 of UvmatHelp


Ignore:
Timestamp:
Jul 4, 2013, 10:44:56 PM (11 years ago)
Author:
sommeria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UvmatHelp

    v81 v82  
    553553== 8 - Geometric calibration ==
    554554=== 8.1 Generalities ===
    555 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 coordinate of the first lower left pixel centre is therefore (1/2,1/2). Note that the Y axis is directed upward, while the corresponding image index j increases downward. Therefore, denoting npy the number of pixels along Y, the (X,Y) coordinates of a pixel indexed (i,j) are [[BR]] X=i-1/2, Y=npy-j+1/2.
     555Transforming image to physical coordinates is a prerequisit for measuring techniques based on imaging. 
     556
     557The ''image coordinates'', expressed in pixels, represent the two cartesian axis X,Y of the image, with origin taken at the lower left corner. The coordinate of the first lower left pixel centre is therefore (1/2,1/2). Note that the Y axis is directed upward, while the corresponding image index j increases downward. Therefore, denoting ''npy'' the number of pixels along ''Y'', the (''X,Y'') coordinates of a pixel indexed (''i,j'') are ''X''=''i''-1/2, ''Y''=''npy''-''j''+1/2.
    556558
    557559The ''physical coordinates'' are defined from the experimental set-up. The correspondance with images is obtained by identifying 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:
     
    569571
    570572=== 8.2 The GUI geometry_calib.fig ===
    571 -''' 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'''.
    572 
    573 -''' Plotting calibration points: ''' press the menu bar command button '''[Plot] ''' to visualise the list of calibration points. The physical or image coordinates will be used in the list '''[!ListCoord]''', depending on the option 'phys' or 'px' in the menu '''[transform_fct]''' of ''' uvmat.fig''' .
     573-''' 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 !ImaDoc, the corresponding parameters and the list of reference points are displayed. 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 ImaDoc xml file with the menu bar command''' [Open] ''' of '''geometry_calib.fig'''.
     574
     575-''' Plotting calibration points: ''' press the button '''[Plot] ''' to visualise the list of calibration points. The physical or image coordinates will be used in the list '''[!ListCoord]''', depending on the option 'phys' or 'px' in the menu '''[transform_fct]''' of ''' uvmat.fig''' .
    574576
    575577-''' Appending  calibration points with the mouse: ''' Calibration points can be manually picked out by the mouse (left button click) after a calibration image has been opened by '''uvmat.fig''' (with the option 'blank' in the popup menu '''[transform_fct]'''), and the option '''[mouse_active]''' (at the very bottom) has been selected. Zoom can be used to improve the precision, but must be desactivated for mouse selection (then move across the image by the key board directional arrows). The coordinates in pixel of the selected points get listed in the box '''[!ListCoord]''' of '''geometry_calib.fig'''. A calibration point can be later adjusted by selecting it with the mouse and moving it while pressing the left mouse button. Points can be accumulated from several images (use the key board short cuts 'p' and 'm' to move in the image series without monopolising the mouse).'''''''
     
    608610 * <!CoordUnit>: coordinate unit in physical space.
    609611
    610  * <Tx_Ty_Tz></code>: translation, (Tz=1 for the options calib_lin and calib_rescale)
    611 
    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.
     612 * {{{<Tx_Ty_Tz>}}}: translation, (Tz=1 for the options calib_lin and calib_rescale)
     613
     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)
     
    616618 * <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
    618  * <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)
    619 
    620  * <SourceCalib> set of the point coordinates used for calibration
    621 
    622  * <PointCoord> [x y z X Y] , where x,y,z are the physical coordinates of each point, X Y its image coordinates
    623 
    624  * <NbSlice_i> nbre of slices for the first field  index i (multilevel case), =1 by default.
    625 
    626  * <NbSlice_j> nbre of slices for the second index j (volume scan), =1 by default.
    627 
    628  * <SliceCoord> [x y z] positions (nb lines) of the nb planes, where nb=NbSlice_i (multilevel case) or nb=NbSlice_j of j indices (volume scan), for parallel volume scan, x=y=0, z= slice height, for angular scan, [x,y,z]=[origin].
     620 * <!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)
     621
     622 * <!SourceCalib> set of the point coordinates used for calibration
     623
     624 * <!PointCoord> [x y z X Y] , where x,y,z are the physical coordinates of each point, X Y its image coordinates
     625
     626 * <!NbSlice_i> nbre of slices for the first field  index i (multilevel case), =1 by default.
     627
     628 * <!NbSlice_j> nbre of slices for the second index j (volume scan), =1 by default.
     629
     630 * <!SliceCoord> [x y z] positions (nb lines) of the nb planes, where nb=NbSlice_i (multilevel case) or nb=NbSlice_j of j indices (volume scan), for parallel volume scan, x=y=0, z= slice height, for angular scan, [x,y,z]=[origin].
    629631
    630632 * <SliceDZ>   step distance between planes, or