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.