ISIS Application Documentation
    Copys labels and blobs from one cube into another cube.
  
 
          Description
        
    
      This application copys labels between cubes. Think long and hard before you
      use this program as there should hopefully be some way of doing what you
      want that doesn't require this. Be thoughtful and careful when using this
      program, it can be used to create cubes which are 100% invalid, incorrect,
      and wrong. This is especially true when the source file is not a cube but
      a simple Pvl.
     
    
      With that out of the way, the label groups that can be copied by default are: 
       
        - Instrument
 
        - Bandbin
 
        - Kernels
 
        - Mapping
 
        - Radiometry
 
       
      As well as the following blobs:
       
      By default, the blobs associated with Kernels are copied, if it is 
      requested for kernels to be copied. The application also allows for and
      groups desired to be manually put in and copied, as well as any blobs
      that may exist in the source cube.
    
     
      There are effectively three input sets that the program may be run on,
      those are:
       
- The SOURCE cube matchs FROM cube in dimensions 
          
- Limited safety checks can occur on this case regarding sizing.
 
 
 
          - The SOURCE cube and FROM cube have matching sample and line scale
          
- Safety checks can occur on this case. A very major assumption
      is made using this case, that is, that the cube data in both cubes has the
      same four corners, it is just scaled differently. This case makes an AlphaCube
      group to make the cube valid, if the above stated fact isn't true, the cube
      is entirely invalid.
 
 
 
      - The SOURCE file is a pvl or lbl file.
        
- No safety checks can be done in this case.
 
 
 
 
    
    
      For the last details about how the program works, Groups are always
      expected to be inside an IsisCube Object, and Blobs to be copied always
      inside the base Pvl. The program will throw exceptions if it encounters
      conditions where it can't legitimately continue copying, however, in most
      cases it will run through. To do this, it makes several assumptions about
      desired behaviors. If a group or blob is requested, the application will
      try to copy it, if the application can't find the group, the app continues,
      if the group exists in the FROM cube, the app will delete it. For blobs,
      again, if the app can find it, the app will copy it over, if it can't be
      found, the app will continue.
     
   
 
          Categories
        
 
              History
          
| Mackenzie Boyd | 2011-04-27 | 
     Original version.  
    | 
 
| Adam Paquette | 2022-08-02 | 
     Added the ability to directly request objects from a cubes
     label to be copied to the new cube. Similarly to how the
     GROUPS argument functions.
    | 
 
 
 | 
 
 
                Parameter Groups
            
Files
| 
                    Name
                     | 
                    Description
                     | 
 
| FROM | 
          Cube to have labels copied to
         | 
 
| SOURCE | 
          Label source file
         | 
 
 
Labels to copy
| 
                    Name
                     | 
                    Description
                     | 
 
| INSTRUMENT | 
          Copy Instrument group
         | 
 
| BANDBIN | 
          Copy BandBin group
         | 
 
| KERNELS | 
          Copy the Kernels group
         | 
 
| MAPPING | 
          Copy the Mapping group
         | 
 
| RADIOMETRY | 
          Copy the Radiometry group
         | 
 
| POLYGON | 
          Copy the Polygon blob
         | 
 
| CAMSTATS | 
          Copy the CameraStatistics blob
         | 
 
| GROUPS | 
          Copy the given groups, in CSV format
         | 
 
| OBJECTS | 
          Copy the given objects, in CSV format
         | 
 
| BLOBS | 
          Copy over the given blobs, in CSV format
         | 
 
 
 | 
 
Files:
                        FROM
                         Description
                       
          The cube which will be modified and have the labels copied into.
        
| 
                             Type
                            | cube | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.cub
         | 
 
 
Files:
                        SOURCE
                         Description
                       
          The file which the labels will come from. If this file is a cube then
          some minimal safety checks will be performed. If it is not a cube,
          the desired groups must be in the IsisCube object. Blobs will not be
          copied if it is just a label file.
        
| 
                             Type
                            | cube | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.cub *.lbl *.pvl
         | 
 
 
Labels to copy:
                        INSTRUMENT
                         Description
                       
          Copy the Instrument group over, can only be copied if sample and line
          counts are equal or of equal scale.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        BANDBIN
                         Description
                       
          Copy the BandBin group over, can only be copied if the number of bands
          matches.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        KERNELS
                         Description
                       
          Copy the Kernels group over as well as the four table blobs usually
          associated with it, those are InstrumentPointing, InstrumentPosition,
          SunPosition, and BodyRotation. They will only be copied if they exist.
          Obviously these blobs can only be copied if SOURCE is a cube.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        MAPPING
                         Description
                       
          Copy the Mapping group over, can only be done when the cubes rae the
          same size or have matching scaling factors.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        RADIOMETRY
                         Description
                       
          Copy the Radiometry group over, if the image data isn't the same
          between the two cubes, the data stored in the Radiometry group will
          be completely invalid. 
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        POLYGON
                         Description
                       
          Copy the Polygon blob over, if the input file is a cube and has a
          Polygon blob.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        CAMSTATS
                         Description
                       
          Copy the CameraStatistics blob over, if the input file is a cube and
          has a CameraStatistics blob.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | TRUE | 
 
 
Labels to copy:
                        GROUPS
                         Description
                       
          Copy any given groups over to the FROM cube, groups must exist in the
          IsisCube Object to be copied, and must be specified with exact spelling,
          comma separated.
        
| 
                             Type
                            | string | 
| 
                               Internal Default
                              | none | 
 
 
Labels to copy:
                        OBJECTS
                         Description
                       
          Copy any given objects over to the FROM cube, groups must be specified 
          with exact spelling, and be comma separated.
        
| 
                             Type
                            | string | 
| 
                               Internal Default
                              | none | 
 
 
Labels to copy:
                        BLOBS
                         Description
                       
          Copy over the given Blobs to the FROM cube, blobs must be specified in
          the following format: <Object name>:Name keyword comma separated.
          For example, Table:CameraStatistics,... would do the same as the above
          CAMSTATS option.
        
| 
                             Type
                            | string | 
| 
                               Internal Default
                              | none |