ISIS Application Documentation
    Edit control networks
  
 
          Description
        
    
      This application applies a series of edits to a control network
      based on the control point IDs and control measure
      cube filenames specified in various edit lists.  All edit operations are
      optional, and performed in a sequential order that cannot be changed.  If
      the user wises to perform any edit operations in a different order, it is
      suggested that they run the application multiple times in a pipeline
      fashion.
     
    
      The primary, and most typical, function of this application is to
      selectively delete unwanted points and measures from a network by flagging
      them as "ignored".  Other operations are generally in place to facilitate
      this purpose, but can also be used on their own.
     
    
      The available operations are as follows:
       
        - Unlock
 
        - Ignore
 
        - Delete
 
        - Lock
 
       
      Before any points or measures are ignored and deleted, the listed points
      and measures can be unlocked if edit locked in the input.  Listed points
      and measures can then be ignored, and subsequently any ignored points and
      measures can be deleted from the network.  The deletion operation deletes
      all ignored points and measures, not just those specified in the lists.
      Finally, any listed points or measures can be locked to prevent further
      modification.
    
     
      Additional options include the ability to preserve points with less than a
      single valid measure, ability to retain the reference, and the ability to print detailed logging results to a text file.
     
   
 
          Categories
        
 
              History
          
| Tracie Sucharski | 2008-08-14 | 
      Original version
     | 
 
| Christopher Austin | 2008-12-29 | 
      Added options, including EXCLUDELIST and DELETE
     | 
 
| Christopher Austin | 2009-01-09 | 
      Renamed EXCLUDELIST to IGNORELIST and made other similar name changes.
     | 
 
| Sharmila Prasad | 2009-07-17 | 
      Renamed IGNORELIST to FROMLIST and made other similar name changes
      Added options HOLD and UNHOLD
      Set the default as FALSE for DELETE Ignored Control Points and Measures
     | 
 
| Sharmila Prasad | 2009-07-24 | 
      Renamed IGNORELIST to FROMLIST and  reverted back to previous format
     | 
 
| Sharmila Prasad | 2009-08-11 | 
      Set the default as FALSE for DELETE Ignored Control Points and Measures
     | 
 
| Christopher Austin | 2009-08-11 | 
      Fixed an out of index bug.
     | 
 
| Sharmila Prasad | 2009-08-25 | 
      Added parameter LOG to write logs into the file if explicitly stated,
      parameter POINTLIST to read Control Point ID's from a file
      reverted DELETE default to be TRUE
     | 
 
| Sharmila Prasad | 2009-09-14 | 
      Added parameter PRESERVE with default FALSE. If set the Control Points with
      Measures equal to one are not deleted
     | 
 
| Travis Addair | 2010-11-24 | 
      Added optional measure validity check, removed a redundant deletion
      pass, and fixed a bug causing points to be deleted before all measures
      had been checked.
     | 
 
| Travis Addair | 2010-11-29 | 
      Changed parameter FROMLIST to CUBELIST and ALLFROMLIST to FROMLIST.
     | 
 
| Travis Addair | 2010-11-30 | 
      Added progress bar for validity checking and automatic logging of the
      DEFFILE to the print file when entered.
     | 
 
| Travis Addair | 2010-12-08 | 
      Added check to ensure that ignored reference measures are not deleted,
      but that the entire point is deleted instead, by setting the containing
      point to ignored whenever the reference is.
     | 
 
| Travis Addair | 2010-12-20 | 
      Added information to the log file pertaining to each point and measure
      ignored/deleted with an associated reason why.
     | 
 
| Christopher Austin | 2011-01-18 | 
      Altered to compile with the new Control redesign.
     | 
 
| Sharmila Prasad | 2011-05-14 | 
      Validate DefFile before processing. Added ability to validate measure
      by sample/line residuals or Residual Magnitude
     | 
 
| Sharmila Prasad | 2011-05-23 | 
      Helper function to be able to edit the Deffile.
     | 
 
| Sharmila Prasad | 2011-06-02 | 
      Added option RETAIN_REFERENCE to retain reference even if not validated or
      if it is in the ignore CubeList
     | 
 
| Debbie A. Cook and Tracie Sucharski | 2011-06-07 | 
      Changed point type "ground" to "fixed"
     | 
 
| James Alexander Crough | 2011-07-13 | 
      Changed output of ignored points to show EditLocked points as ignored.
     | 
 
| James Alexander Crough | 2011-07-14 | 
      Changed output again this time in order to seperate skipping EditLocked
      points into their own PVL objects.
     | 
 
| Travis Addair | 2012-02-24 | 
      Changed from ignoring/deletion program to a series of sequential
      and optional operations (unlock, ignore, delete, lock).  Added MEASURELIST
      to allow editing specific measures.  Updated documentation.
     | 
 
| Steven Lambright | 2012-05-03 | 
      Added "IGNOREALL" option. Fixes #293.
     | 
 
| Kristin Berry | 2015-07-30 |  
      Updated so that behavior is consistent with documentation. Now when a reference
      measure is removed, the whole point is only removed if IGNOREALL is true. 
      Fixes #2238.
     | 
 
| Tyler Wilson | 2016-01-04 | 
      Fixed a problem with single measure points being deleted when running a validity
      check even when delete = false.  Zero measure points are now deleted no matter what.
      Ref #2342.
     | 
 
 
 | 
 
 
                Parameter Groups
            
Files
| 
                    Name
                     | 
                    Description
                     | 
 
| CNET | 
          Input control network
         | 
 
| ONET | 
          Output control network
         | 
 
| LOG | 
          Log of all ignored or deleted points and measures
         | 
 
 
Edit Lists
| 
                    Name
                     | 
                    Description
                     | 
 
| POINTLIST | 
          List of IDs mapping to points to be edited
         | 
 
| CUBELIST | 
          List of cube filenames to be edited
         | 
 
| MEASURELIST | 
          List of paired Point IDs and cube filenames
         | 
 
 
Edit Operations
| 
                    Name
                     | 
                    Description
                     | 
 
| UNLOCK | 
          Unlock listed points and measures
         | 
 
| IGNORE | 
          Ignore listed points and measures
         | 
 
| DELETE | 
          Delete ignored points and measures
         | 
 
| LOCK | 
          Lock listed points and measures
         | 
 
 
Validity Check
| 
                    Name
                     | 
                    Description
                     | 
 
| CHECKVALID | 
          Ignore all control measures outside user-specified tolerances
         | 
 
| FROMLIST | 
          List of all Input cubes in the control network
         | 
 
| DEFFILE | 
          PVL file containing the description of the Validity Keywords
         | 
 
 
Deletion Options
| 
                    Name
                     | 
                    Description
                     | 
 
| PRESERVE | 
          Do not delete points with only one remaining measure
         | 
 
| RETAIN_REFERENCE | 
          Never ignore a reference measure unless the entire point is removed
         | 
 
| IGNOREALL | 
          Ignore the whole point when the reference measure is ignored
         | 
 
 
 | 
 
Files:
                        CNET
                         Description
                       
          A control network generated from programs such as autoseed or qnet.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.net
         | 
 
 
Files:
                        ONET
                         Description
                       
          Updated control network with the applied edits.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | output | 
| 
                               Filter
                              | 
          *.net
         | 
 
 
Files:
                        LOG
                         Description
                       
          This file provides a PVL record of all points and measures ignored or
          deleted from the input network.  It also makes note of points and
          measures that could not be ignored or deleted, and provides rationales
          for each.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | output | 
| 
                               Internal Default
                              | 
          None
         | 
| 
                               Filter
                              | 
          *.pvl *.txt
         | 
 
 
Edit Lists:
                        POINTLIST
                         Description
                       
          The given edit operations will be applied to all the points in the
          control network mapped by the IDs in this list.  Each entry in this
          list should be a control point ID on its own line.  Operations such as
          unlocking, ignoring, and locking will only be applied at the point
          level (e.g. locking lat/lon but not measurements).  Deleting a point,
          however, will remove it and all its measures from the network.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Internal Default
                              | None | 
| 
                               Filter
                              | 
          *.lis
         | 
 
 
Edit Lists:
                        CUBELIST
                         Description
                       
          The given edit operations will be applied to all the measurements
          taken on a cube in this list.  This information is derived from the
          measurement's cube serial number, mapping to a filename in this list.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Internal Default
                              | None | 
| 
                               Filter
                              | 
          *.lis
         | 
 
 
Edit Lists:
                        MEASURELIST
                         Description
                       
          A file containing a list of paired Point IDs and cube filenames,
          uniquely identifying specific measures to be edited.  Each pairing
          must be on its own line and have the Point ID and filename separated
          by a comma (',').
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Internal Default
                              | None | 
| 
                               Filter
                              | 
          *.lis *.csv
         | 
 
 
Edit Operations:
                        UNLOCK
                         Description
                       
          Any listed point or measure will have its edit lock removed if it has
          one in the input network.  If not, nothing will happen to the point or
          measure and processing will continue.  Unlocking a point does not
          automatically unlock its measurements, except for the reference.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | False | 
 
 
Edit Operations:
                        IGNORE
                         Description
                       
          Any listed point or measure will be ignored. 
          Ignoring can sometimes fail, for example, if the point or measure is
          edit locked, and the UNLOCK operation is not enabled.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | True | 
| 
                               Inclusions
                              | 
 | 
 
 
Edit Operations:
                        DELETE
                         Description
                       
          Any ignored point or measure will be deleted, regardless of whether
          or not it is present in an edit list.  Deleting a point will delete
          all its measurements in the process.  If any control point has less
          than two remaining measures after all measurement deletions have been
          performed, then that point will be deleted as well.  This can be
          prevented by enabling the PRESERVE option.  Furthermore, the
          RETAIN_REFERENCE option can be enabled to prevent reference measures
          from being deleted under any circumstance.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
| 
                               Inclusions
                              | 
- PRESERVE
 
- RETAIN_REFERENCE
 
 
 | 
 
 
Edit Operations:
                        LOCK
                         Description
                       
          Any listed point or measure will have its edit lock set if it does not
          already have one in the input network.  Otherwise, nothing will happen
          to the point or measure and processing will continue.  Locking a point
          does not automatically lock its measurements, except for the
          reference.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | False | 
 
 
Validity Check:
                        CHECKVALID
                         Description
                       
          If enabled, the application will check the validity of each control
          measure against the tolerances set in the relevant definition file
          (DEFFILE).  Because validity checking requires camera information not
          contained within the control measure itself, a list of all cubes in
          the network is necessary (FROMLIST), and could result in a noticeably
          more time-intensive run of the program.  For the aforementioned
          reasons, this option is disabled by default.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | False | 
| 
                               Inclusions
                              | 
 | 
 
 
Validity Check:
                        FROMLIST
                         Description
                       
          This parameter specifies a list of cube names corresponding to the
          serial numbers for every control measure in the input control
          network.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.lis
         | 
 
 
Validity Check:
                        DEFFILE
                         Description
                       
          This parameter specifies a PVL file containing descriptions for the
          validity keywords when the user chooses to perform a validity check
          on each of the measures in the input control network.  Invalid control
          measures will be ignored and, unless otherwise specified, removed.
        
| 
                             Type
                            | filename | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.def
         | 
 
 
Deletion Options:
                        PRESERVE
                         Description
                       
          PRESERVE is only applied when DELETE=YES. This option will prevent the DELETE operation from removing control
          points that only have one measure remaining at the end of the deletion process.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | FALSE | 
 
 
Deletion Options:
                        RETAIN_REFERENCE
                         Description
                       
          RETAIN_REFERENCE is only applied when DELETE=YES. This option will prevent reference measures from being ignored 
          when they are included in the MEASURELIST, CUBELIST, or determined to be invalid when CHECKVALID is used. It does 
          not prevent them from being deleted if they are already ignored prior to running cnetedit. Note: After the deletion process, 
          if the RETAIN_REFERENCE=YES and the reference measure is the only remaining single measure of a point and PRESERVE=NO,
          the entire point will be deleted. In order to gurarntee retaining a reference in this case, set both PRESERVE=YES 
          and RETAIN_REFERENCE=YES.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | False | 
 
 
Deletion Options:
                        IGNOREALL
                         Description
                       
          If a reference measure is ignored, the whole point is ignored. If DELETE=yes, 
          then the whole point will be deleted. 
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | False |