Skip to content

ALE and ISIS 4.0 after FY19

Jesse Mapel edited this page Oct 2, 2019 · 9 revisions

This page is now out of date and only kept here for legacy links

See https://astrodiscuss.usgs.gov/t/ale-and-isis-4-0-after-fy19/

ALE integration into ISIS 4.0

During the planning and proposal of ALE and the SPICE Refactor project we established a clean cut over from the current kernel loading and querying logic to ALE. In order to get the new logic into production, we are instead going to be gradually moving sensors over to using ALE.

In order to integrate sensor by sensor, we have changed some of our previous decisions.

Maintaining the current kernel loading and querying code

The largest change is that we are keeping the current kernel loading and querying code in ISIS until every sensor is supported in ALE. If a sensor is supported by ALE, then ISIS will not load and query and kernels. If a sensor is not supported by ALE yet, then ISIS will fall back to the current functionality. This will allow us to carefully add sensors and support a more gradual transition to using ALE.

In order to better isolate the current kernel loading and querying code, we will be moving kernel loading out of the Spice class and into spiceinit. This means that we still won't support cubes without attached SPICE data in ISIS 4.0 because kernels are ONLY furnished in spiceinit (and a handful of calibration apps).

Until support for ISIS 3 ends, new sensor models will be allowed to be added without ALE drivers. Once dual support for ISIS 3 and ISIS 4 ends, all new sensor models will need to have a corresponding ALE driver. We hope this will provide some cushion for external developers to become familiar with ALE and ease the transition.

Maintaining current attached SPICE file structure

As part of maintaining the current kernel querying logic, we are keeping the current ISIS attached SPICE data format. Exterior orientations will still be stored in binary Table objects and interior orientation parameters will still be stored in the NaifKeywords object.

A side effect of this decisions is that cubes spiceinit'd in ISIS 4.0 will work with previous older versions of ISIS. We still plan to move away from this file format after ALE supports a more robust number of sensor models.

ISIS and ALE right now

ISIS (dev) currently uses ALE for the following sensors:

  • Voyager 1 NAC
  • Voyager 1 WAC
  • Voyager 2 NAC
  • Voyager 2 WAC
  • MRO CTX
  • MESSENGER MDIS NAC
  • New Horizons Lorri Camera
  • Viking 1 & 2 vis cameras A & B
  • Juno JunoCam

Before the ISIS 4.0 release we plan to add support for the following sensors:

  • TGO CaSSIS
  • Mars Odyssey THEMIS IR
  • Mars Odyssey THEMIS Vis
  • Mars Express HRSC
  • Hayabusa 2 ONC

The future of ALE

We still plan to add support for every sensor in ISIS to ALE. In an effort to get the sensors we expect users to be most interested in supported first we've divided the ISIS sensor models into three groups. We plan to add support for group 1 first, followed by group 2 and finally group 3. These groups have been initially decided by the development team, but we are looking for user feedback on which sensor models are the highest priority for the community.

Group 1

  • Lro NAC
  • Lro WAC
  • CrismCamera (Potentially only supports projected data)
  • HiriseCamera
  • KaguyaMiCamera
  • KaguyaTcCamera
  • OsirisRex OCams (On hold until mission pushes back changes)
  • NewHorizonsMvicFramerCamera
  • NewHorizonsLeisaCamera
  • NewHorizonsMvicTdiCamera

Group 2

  • Chandrayaan1M3Camera
  • MarciCamera
  • MiniRF
  • Outer Planets
  • IssNACamera
  • IssWACamera
  • SsiCamera
  • VimsCamera
  • DawnFcCamera
  • DawnVirCamera
  • RosettaOsirisCamera
  • RosettaVirtisCamera
  • HayabusaAmicaCamera
  • HayabusaNirsCamera

Group 3

  • ApolloMetricCamera
  • ApolloPanoramicCamera
  • HiresCamera
  • LoHighCamera
  • LoMediumCamera
  • LwirCamera
  • MsiCamera
  • UvvisCamera
  • Mariner10Camera
  • NirCamera
  • MocNarrowAngleCamera
  • mocWideAngleCamera