Open ladoramkershner opened 2 years ago
ALE should not use ISIS camera plugin files. It is already rather entangled with ISIS and it is better if it remains something that is primarily consumed by ISIS.
I'd much rather change the logic in ALE. We could potentially remove the ISIS camera version completely from ALE and just let ISIS handle all of it.
I think @jessemapel is correct that we should just let ISIS handle it's camera versioning. Looking a little closer at ALE's integration into ISIS, we don't actually use the isis_camera_version
defined on the ALE isd anywhere. So I am all for removing it from the formatter. It will break the old isis_formatter
but I don't know if anyone uses it
Old versions of ISIS use it, but they are all pinned to old versions of ALE
Currently if there is no information in ["IsisCube"]["Kernels"]["CameraVersion"] in the incoming label, ALE fails here and ISIS handles the spiceinit. However, since Camera Version is ISIS camera version information, I don't think failing is the proper way to handle this because no raw mission EDR label will have this information.
Looking into how ISIS handles this, it seems spiceinit calls CameraFactory::CamerVersion here which looks for a Camera plugin file (either local or at location $ISISROOT/lib/Camera.plugin) to inform the ISIS camera version.
We could duplicate this logic, since ALE is typically used WITH ISIS we could assume this plugin file exists exactly the same as ISIS does? I am really curious to hear other's thought because I am not well versed in ALE big picture architecture.