.. _config-trackingtools:

Configure GazeParser.TrackingTools
=============================================================

TrackingTools configuration file is a plain text file.
This is a sample of TrackingTools configuration file.

::

    [Controller]
    IMAGE_WIDTH = 320
    IMAGE_HEIGHT = 240
    PREVIEW_WIDTH = 640
    PREVIEW_HEIGHT = 480
    VALIDATION_SHIFT = 20
    SHOW_CALDISPLAY = True
    NUM_SAMPLES_PER_TRGPOS = 10
    CALTARGET_MOTION_DURATION = 1.0
    CALTARGET_DURATION_PER_POS = 2.0
    CAL_GETSAMPLE_DEALAY = 0.4
    TRACKER_IP_ADDRESS = 192.168.1.1
    MAX_CAL_POINTS = 18
    MAX_SAMPLES_PER_TRGPOS = 50
    CAMERA_SAMPLING_RATE = 100.0

Following table shows the meaning of these parameters.
These parameters can be set and changed without using TrackingTools configuration file.

Parameters
------------

========================== ============================================================================ ===================================
parameter                  description                                                                  how to set/change
========================== ============================================================================ ===================================
IMAGE_WIDTH                Width of the image transfered from the Recorder PC.                          :func:`~GazeParser.TrackingTools.BaseController.setReceiveImageSize`
                           If you set non-zero value to ROI_WIDTH in SimpleGazeTracker configuration
                           file, this value must be equal to ROI_WIDTH.  Otherwise, this value must 
                           be equal to CAMERA_WIDTH in SimpleGazeTracker configuration file.
IMAGE_HEIGHT               Height of the image transfered from the Recorder PC.                         :func:`~GazeParser.TrackingTools.BaseController.setReceiveImageSize`
                           If you set non-zero value to ROI_HEIGHT in SimpleGazeTracker configuration
                           file, this value must be equal to ROI_HEIGHT.  Otherwise, this value must 
                           be equal to CAMERA_HEIGHT in SimpleGazeTracker configuration file.
PREVIEW_WIDTH              Width of the preview image on the presentation PC.                           :func:`~GazeParser.TrackingTools.BaseController.setPreviewImageSize`
PREVIEW_HEIGHT             Width of the preview image on the presentation PC.                           :func:`~GazeParser.TrackingTools.BaseController.setPreviewImageSize`
VALIDATION_SHIFT           Shift of the target position in the Validation process.                      :func:`~GazeParser.TrackingTools.BaseController.setValidationShift`
                           If this parameter is 10, target position in the Validation is
                           10 pixel distant from target position in the Calibration process.
SHOW_CALDISPLAY            If this parameter is true, preview image is shown at the presentation PC.    (press 'a' key to toggle this 
                           Set this parameter false if you want to hide preview image from participant. parameter during calibration loop)
NUM_SAMPLES_PER_TRGPOS     Number of calibration samples acquired at each target position.              :func:`~GazeParser.TrackingTools.BaseController.setCalSampleAcquisitionParams`
                           This value must be must be integer and greater than 0.
                           If sampling frequency of SimpleGazeTracker is 120Hz and this parameter is 
                           10, it takes 83.3 msec (1000msec/120*10) to complete sample acquisition at
                           each target position. **New in 0.6.0**
CALTARGET_MOTION_DURATION  Duration in which target moves to a calibration position. Unit is second.    :func:`~GazeParser.TrackingTools.BaseController.setCalTargetMotionParams`
                           This value must be greater than or equal to 0 and smaller than 
                           CALTARGET_DURATION_PER_POS. **New in 0.6.0**
CALTARGET_DURATION_PER_POS Duration in which target moves to and stays at a calibration position.       :func:`~GazeParser.TrackingTools.BaseController.setCalTargetMotionParams`
                           Unit is second. This value must be greater than or equal to 0.
                           **New in 0.6.0**
CAL_GETSAMPLE_DEALAY       Delay of starting sample acquisition from target arrived at calibration      :func:`~GazeParser.TrackingTools.BaseController.setCalSampleAcquisitionParams`
                           position. Unit is second. This value must not be negative and should be
                           smaller than CALTARGET_DURATION_PER_POS minus CALTARGET_MOTION_DURATION.
                           **New in 0.6.0**
TRACKER_IP_ADDRESS         Set default IP address of SimpleGazeTracker. **New in 0.6.1**                :func:`~GazeParser.TrackingTools.BaseController.connect`
MAX_CAL_POINTS             Max calibration points supported by SimpleGazeTracker. Appropriate value of  :func:`~GazeParser.TrackingTools.BaseController.getTrackerInfo`
                           this parameter can/should be transferred from SimpleGazeTracker at runtime.
                           **New in 0.12.0**
MAX_SAMPLES_PER_TRGPOS     Max samples per target position supported by SimpleGazeTracker. Appropriate  :func:`~GazeParser.TrackingTools.BaseController.getTrackerInfo`
                           value of this parameter can/should be transferred from SimpleGazeTracker
                           at runtime.  **New in 0.12.0**
CAMERA_SAMPLING_RATE       Sampling frequency of camera unit. Actual frequency can be transferred from  :func:`~GazeParser.TrackingTools.BaseController.getTrackerInfo`
                           SimpleGazeTracker at runtime.  **New in 0.12.0**
========================== ============================================================================ ===================================