DOI-USGS / ale

Abstraction Layer for Ephemerides (ALE)
Other
13 stars 32 forks source link

Dijittered HiRISE cubes are not recognized by ALE #611

Open thareUSGS opened 2 months ago

thareUSGS commented 2 months ago

For HiRISE images that have jitter, UArizona has a processing method to dejitter the HiRISE using the individual CCDs. Once this step is completed, an ISIS cube is re-created and SPICE is added back in.

I don't see anything obvious in the created cube (label) to cause ALE to fail (or to not recognize the instrument). Running isd_generate.py (to create an ISD for GXP, ASP, or ISIS), I get this error:

python isd_generate.py ESP_060697_1985_RED_DEJITTERED.8bit.cub
Reading: ESP_060697_1985_RED_DEJITTERED.8bit.cub
File ESP_060697_1985_RED_DEJITTERED.8bit.cub: No Such Driver for Label

I also don't see any special handling for this style of HiRISE for the original ISIS (Socet SET) code, socetlinescankeywords. Note the example linked works fine in socetlinescankeywords.

Image for ALE testing ~1 GB): ESP_060697_1985_RED_DEJITTERED.8bit.cub.zip Currently, there are limited permissions to download this file. DOI personnel can download it.

thareUSGS commented 1 month ago

Using ALE verbose reporting states many sections are missing from the Dejittered cube (SunPosition, BodyRotation, InstrumentPosition, NaifKeywords). As a “noproj” cube (aka “ideal” camera-geometry), these sections are likely no longer needed, but still apparently required by ALE.

thareUSGS commented 1 month ago

In consultation with Ross, who implemented hiproc (dejitter implementation in Python), I will summarize his response to this issue.

  1. Regarding the dejitter methods used by the HiRISE Team updated the pointing (SPICE), Ross stated, "I believe that hijitter is essentially just moving pixels around in the focal plane, but not really altering the gross position and pose of the original image."

That implies we are likely safe using ALE on a typically derived (non-dejittered) HiRISE image to generate the ISD (pointing metadata) for the HiRISE dejittered image. This is likely a probable workaround.

  1. Perhaps there could be a stab to implement an ALE driver to support “noproj” cubes. Note, these dejittered cubes do contain a "Kernel" group which is enough to run campt. That hopefully implies an ALE driver could be written.
Kelvinrr commented 1 month ago

The thing to do then is to use a generic ideal driver with ISISLabel + NaifSpice. This shouldn't be too hard if there exists a tell for a noproj cube, that way it won't be picked up by other drivers.