This program will update the camera pointing (CK) in the labels of a 
      Level1 cube using a map projected, Level2 
      "Base" cube to determine the latitude/longitude of
      control points.  Angles 1 and 2 of the camera pointing
      stored in the cube labels will be adjusted to align the
      coordinate of each sample/line from the "Match" level 1 cube with
      the latitude/longitude from the "Base" map projected cube.  To
      solve for all three camera angles select the TWIST radio button in
      the Qtie Tool window.  At least two control points will need to be
      selected for the TWIST option.
    
    
      The application will adjust the camera
      angles to align all control points with the latitude/longitude
      values from the "Base" cube with minimal errors using an iterative
      least-squares bundle adjustment.  The number of iterations and
      tolerance (sigma0) for convergence can be selected from the 
      Qtie Tool window.  Solving for two angles only is similar to a 
      translation of the image.  Solving for twist will result in both a
      translation and a rotation of the image.
    
    
      This is the interactive version of the program "deltack".
      Like "jigsaw" and "deltack", it works on both framing cameras and line
      scanners.  Note that only the camera pointing is solved for with 
      qtie and deltack (solving for radius and spacecraft position are not
      options with these applications, refer to jigsaw for more options).
    
    
      To run qtie, you will enter a base map cube (map projected) and a match
      cube (unprojected) which will be the cube which will have the camera
      pointing updated.  The unprojected match cube must have been initialized
      with the "spiceinit" program using ATTACH="YES".  Optionally, an
      existing control network containing control points between the "Match"
      cube and a basemap, may be entered.
    
    
    There are 2 core windows used in this application.
    
    Qtie window
 
    
      The main qtie window is similar to the qview application. You will see many
      of the same tools, such as "Band Selection", "Zoom", "Pan", "Stretch" and 
      "Find" along the right border. The "Tie" tool is the last button along the
      right toolbar. It will be the default tool selected when qtie is launched.
    
    
      In this window, select the "Open images" button or the Open action (from 
      File menu).  You will be prompted to enter the base map cube first followed 
      by the level 1 (unprojected) cube to be tied to the base map.  You then
      have the option of opening an existing control network which has control
      points between the "Match" cube and a basemap.  Click the "Cancel"
      button to create a new control points.
    
      When the "Tie" tool is activated, the mouse buttons have the following 
      function in the cube viewports of the main qtie window:
      (
Note:  Mouse events will only work on the "Match" cube)
    
      - 
Left Button:  Modify the closest control point
 
      - 
Middle Button:  Delete the closest control point
 
      - 
Right Button:  Create new control point
 
    
    Qtie Tool window
      This is the point editor window of qtie for modifying or creating a point.
      The window will display the cube that is the base map on the left and 
      the level 1 cube on the right.  Both measures ("Base" and "Match") may be 
      moved.
      
Changing Measure Locations
      
        The measure location can be adjusted by:
      
        - Move the cursor location under the crosshair by clicking the left mouse
            button
 
        - Move 1 pixel at a time by using arrow keys on the keyboard, or using  arrow
             buttons located above the measure views
 
      
      
      Other point editor functions
      In the File menu:
      
        - 
Save Control Network As Save the ground points
          in a control network.
 
        - 
Close Close the Tie Point Tool.
 
      
      In the Options menu:
      
        - 
Registration Set or view and save registration 
          templates.
 
      
      Along the top of the window:
      
        - 
Twist Turning off twist will solve for right ascension and
        declination only which is a translation of the image.  Solving for twist 
        includes both translation and rotation.
 
        - 
Maximum Iterations Maximum number of iterations to try
          for convergence to tolerance before stopping.
 
        - 
Sigma0 Standard deviation of unit weight.  Solution
          converges on stabilization
 
      
      Along the right border of the window:
      
        - 
Geom:  Geometrically match the right view to the left
            view
 
        - 
Rotate:  Rotate the right view using either the dial
            or entering degrees 
 
        - 
Show control points: Draw crosshairs at all control
             point locations visible within the view
 
        - 
Show crosshair: Show a red crosshair across the entire
            view
 
        - 
Circle Draw circle which may help center measure
            on a crater
 
      
      Below the left view:
      
        - 
Blink controls:  Blink the left and right view in the
        left view window using the "Blink Start" button (with play icon) and 
        "Blink Stop" button (with stop icon).  Both arrow keys above the right view 
        and the keyboard arrow keys may be used to move the right view while
        blinking.
 
        - 
Find: Center the right view so that the same latitude / 
        longitude is under the crosshair as the left view. Shortcut: F
 
      
      Below the right view:
      
        - 
Register:  Sub-pixel register the right view to
            the left view. Shortcut: R
 
        - 
Undo Registration: Undo the sub-pixel registration.
            Shortcut: U
 
        - 
Save Measure:  Save the control measure under the
            right view to the edit control point. Shortcut: M
 
      
      Along the bottom:
      
        - 
Solve Attempt the bundle solution using the control
        points picked with the given input parameters such as Twist, Maximum
        Iterations and Sigma0.  If the solution converges, a window will be
        displayed showing the bundle adjustment results.  The option is given
        to update the camera pointing on the labels of the "Match" cube.
 
        Once the camera pointing labels have been updated (Match cube labels), 
        there are various ways to evaluate the results.   The 'Find' tool with
        the "Match" cube and "Base" cube can give a visual indication how 
        correlated the features are between the two images.  The updated 
        "Match" cube can be projected to a map projection (cam2map), the 
        projected result can then be displayed with other reference images 
        (for example, the "Base" image) in qview.
        If the results of the updated "Match" cube are unsatisfactory, the
        original 'CK/camera pointing' can recovered by re-running spiceinit
        on the "Match" cube. 
      
   
| Tracie Sucharski | 2008-12-03 | 
      Original version
     | 
| Tracie Sucharski | 2008-12-30 | 
      Add option to save ground points to a ControlNet.
     | 
| Tracie Sucharski | 2008-01-20 | 
      Correct user documentation in qtie.xml.
     | 
| Tracie Sucharski | 2009-06-10 | 
      Added error checking when opening files and allow new files to be opened.
     | 
| Eric Hyer | 2010-03-22 | 
      Discontinued forcing of gui style to windows
     | 
| Tracie Sucharski | 2011-09-15 | 
      Updated for binary control networks.
     | 
| Tracie Sucharski | 2011-10-05 | 
        Updated documentation with input from Tammy Becker.
     | 
| Tracie Sucharski | 2011-10-12 | 
        Added links to definitions and made corrections to  documentation
        based on suggestions from Trent Hare.
     | 
| Tracie Sucharski | 2012-05-15 | 
        Fixed bug when opening new sets of files (base,match,cnet).  Moved
        error checking from QtieTool to QtieFileTool.
     | 
| Tracie Sucharski | 2013-05-16 | 
      Fixed bugs when attempting to delete a point in an empty network, deleting all
      measures in a point.  Fixed repetitive warnings when the current edit point does
      not fall on the ground source.  References #1493.
     | 
| Ian Humphrey | 2015-10-07 | 
      Updated icons. Fixes #1041.
     | 
| Ian Humphrey | 2015-11-19 | 
      Added shortcuts to Qtie Tool window for selecting right measures, registration, saving 
      measures, and find. Fixes #2324.
     | 
| Marjorie Hahn | 2016-08-02 | 
      Prevented qtie from crashing when user attempts to select a registration template. 
      Fixes #2375.
     | 
| Jeannie Backer | 2016-08-18 | 
      Modified to use the CholMod sparse decomposition matrix solve method instead of the 
      "SpecialK" solve method (deprecated). Results are expected to be identical. References #4162.
     | 
| Tyler Wilson | 2016-10-19 | 
        Cleaned up heap allocated objects after the program returns in the main function of qtie.cpp.  
        This was not being done before like it is in  other qisis apps such as qnet and qview, 
        and was causing a segfault due to the new Qt5 libraries IPCE uses.  Fixes #4471.
    |