Help for M20RECOVER

PURPOSE:

Usually, the process of taking an image generates a thumbnail (ECM/T) product
and a “full-size” (ECM/N) product with some kind of JPEG compression.  These two 
products are stored on-board for transmission.  These products contain an IDPH 
and other ancillary information associated with the image and the first 64 bytes 
of the image stream forms the mini-header.  A raw, uncompressed product is also 
saved in the instrument Data Electronics Assembly (DEA).  The only instrument 
information saved with the raw product is what is in the mini-header.  Sometime 
later (days to months) the same raw image may get transmitted to the Earth, but 
at a better compression.  This later transmitted image is the recovered product
(ECR).

The initially transmitted thumbnail and "full-size" products have a complete set
of labels describing the image. However, the recovered product has a smaller set
of labels.  The purpose of M20RECOVER (this) code is to construct a new image 
file (EDR) from the image of the recovered product, where the output file has
a complete set of labels.  Some labels are copied from the recovered product
to the output file.  The rest of the labels could be copied from either the 
thumbnail product or the initial "full-size" product.  However, the thumbnail
product is chosen to be the source for the remaining labels because it is more
likely to be available.

If the recovered product is a video product
(VIDEO_PARMS.GROUP_APPLICABILITY_FLAG=TRUE) then several additional time-related
labels are transferred from the recovered product (as well as the video parms
group itself), because there is only one thumb for each "Group Of Pictures"
(GOP) in the zcam/sherloc camera videos.  A GOP contains up to 16 individual
frames.

The image in the output product should be identical to the image in the input
recovered product.

EXECUTION:

m20recover inp=data.thumbnail inp_recover=data.recovered out=output-file
where:
data.thumbnail is the input thumbnail file used for its labels.
data.recovered is the input recovered product used for its image data and
   some of the labels it contains.
output-file is the image file, where its image data is identical to the one
   in the recovered product, and it has a complete set of labels.

METHOD:

First, the program copies 
    all the labels form the input thumbnail file and
    the image data from the recovered product
to the output file.  Then it selectively overwrites some of the labels copied 
from the thumbnail file with those from the recovered product file.

OUTPUT FORMAT:

The geometry of the image in the output file is identical to the geometry of
the image in the input recovered product file.  They have the same number of
bands, the same number of lines, and the same number of samples per line.


HISTORY:
2020-09-08 Initial version by E. Sarkissian


PARAMETERS:


INP

Input thumbnail file. Must be 1 filename.

OUT

Output file. Must be 1 filename.

INP_RECOVER

Input recovered product. Must be 1 filename.

NAVTABLE

Corrected navigation filename.

CONFIG_PATH

Path used to find configuration/calibration files.

POINT_METHOD

Specifies a mission- specific pointing method to use

NOSITE

Disables coordinate system sites.

RSF

Rover State File(s) to use.

DEBUG_RSF

Turns on debugging of RSF parameter.

COORD

Coordinate system to use.

COORD_INDEX

Coordinate system index for some COORD/mission combos.

FIXED_SITE

Which site is FIXED for rover missions.

SOLUTION_ID

Solution ID to use for COORD_INDEX

DATA_SET_NAME

Specifies the full name given to a data set or a data product.

DATA_SET_ID

Specifies a unique alphanumeric identifier for a data set or data product.

RELEASE_ID

Specifies the unique identifier associated with the release to the public of all or part of a data set. The release number is associated with the data set, not the mission.

PRODUCT_ID

Specifies a permanent, unique identifier assigned to a data product by its producer.

PRODUCER_ID

Specifies the unique identifier of an entity associated with the production a data set.

PRODUCER_INST

Specifies the full name of the identity of an entity associated with the production of a data set.

TARGET_NAME

Specifies a target.

TARGET_TYPE

Specifies the type of a named target.

Cognizant Programmer: