                       Calibrate Tcl Command Reference
                       ------------------------------

APPLICATION COMMANDS

  find_script <filename>
    Find a file with the given filename by looking in the Tcl directories.
    The directories to be searched are specified by the GIANT_TCL environment
    variable.  GIANT_TCL can contain multiple directories separated by
    colons.  GIANT_TCL can also refer to environment variables.  If there is no
    GIANT_TCL environment variable, the default is

      $GIANT_DATA_DIR/tcl:$GIANT_DIR/lib/tcl:<executable path>/lib/tcl

    In addition to the directories specified, subdirectories named "calibrate"
    will also be searched.  For example, $GIANT_DATA_DIR/tcl/calibrate will
    be checked before $GIANT_DATA_DIR/tcl.  The startup script is executed
    using this command:

      source [.find_script startup.tcl]

  export_knowns {<id> ...} <path>
    Exports a capture project (.prj) containing the knowns with the given ids
    to the given path.

  export_unknown_sets {<index> ...} <path>
    Exports a capture project (.prj) containing the unknown sets with the given
    indices to the given path.  Indices start at 0.

  import_knowns -project <path> [<options>]
    Options:
      -replace_ids {<id> ...}
      -frame <id>
      -frame_range <first> <last>
      -frame_step <int>
      -frame_points {{<frame id> <point id>} ...}

    Result: A list of the imported known ids.

    Notes:
      * Only one of -frame, -frame_range, and -frame_points can be specified.
      * -frame_step can only be specified if -frame_range is specified first.
      * If -replace_ids is specified then those knowns will be imported.  The
        ids of the imported points will be ignored, and the number of imported
        points must match the number of ids specified by -replace_ids.
      * If -replace_ids is not specified, then the knows will be replaced
        that have ids matching the imported points, and all imported points
        must have unique ids.

  import_unknown_set -project <path> -wand_type <type> [<options>]
    Options:
      -frame <id>
      -frame_range <first> <last>
      -frame_step <int>
      -frame_points {{<frame id> <point id>} ...}

    Wand Types:
      one_marker
      three_marker

    Result:
      The new unknown set index.

    Notes:
      * Only one of -frame, -frame_range, and -frame_points can be specified.
      * -frame_step can only be specified if -frame_range is specified.

  selected_unknown_sets
    Returns the indices of the unknown sets which are selected.
    Indices start at 0.

  calculate [-adjust] <path>
    Calculates a calibration.  If successful, the calibration is saved
    to the given path.
    If the user aborts the calculation and discards the result, the
    calibration is not saved and an error is returned.
    If the calibration is unable to be calculated, the calibration is not
    saved and an error is returned.
    If -adjust is used, the calculation is done in a way that minimizes the
    change in the 3D coordinates of the unknowns.

  abort_calculate
    Stops a caculation in progress.

  open_configuration <name or path>
    Replaces the current configuration with the one specified.
    If <name or path> starts with a slash (/) then it is treated as a path;
    otherwise, it is treated as the name of a directory within
    $GIANT_DATA_DIR/volume/.

  knowns
    Returns a list of the known ids in the current configuration.

  set_selected_knowns {<id> ...}
    Changes which knowns are selected in the knowns list.

  selected_knowns
    Returns the ids of the knowns which are selected.

  unknown_sets
    Returns the indices of the unknown sets which are selected in the
    unknown sets list.
    Indices start at 0.

  set_selected_unknown_sets {<index> ...}
    Changes which unknown sets are selected in the unknown sets list.

  set_cameras_locked {<camera id> ...} <bool>
    Changes the locked state of cameras.

  lock_low_visibility_cameras
    Locks all cameras that don't have enough globs to be used for calculating.

  calibrate_version
    Returns the version of the application in the form:
      {<major> <minor> <patch>}
