When running the following pipeline, I am getting unexpected results. Talking with @acpaquette these results are sensical because of how ISIS implements cropping.
Here is the pipeline:
Generate an ISIS cube
Crop the cube and propagate SPICE
Use isd_generate to create an ISD from the cropped cube
My expected behavior is that the ISD generated by isd_generate will be appropriate to use with the cropped ISIS cube. By appropriate, I mean that a campt call and some knoten sensor model function will return the same results, plus or minus the accepted tolerance. In reality, the results are quite different. Why?
ISIS tracks the offsets in the cropped cube and carries around the full observation SPICE. Therefore, the ISD created by ALE is the full observation SPICE. But, the cropped cube is just that, a cropped image. The CSM has no idea that the ISD is provided for an uncropped image.
The result is that a test to ensure that say, pixel (10,10) in the cropped ISIS image returns the same lon/lat between both campt and knoten requires that I add whatever the start sample/line used for the crop command. That information is not recorded in the ISD. It is available via cathist.
I do not know that I have a suggested fix. Options that come to mind (without a lot of thought about the trickle down effects):
"Fix" ISIS so that a cropped cube crops the SPICE as well. (I say "fix" because I think ISIS is working as intended.)
Fix isd_generate to create a proper cropped ISD if the input ISIS cube is cropped
When running the following pipeline, I am getting unexpected results. Talking with @acpaquette these results are sensical because of how ISIS implements cropping.
Here is the pipeline:
isd_generate
to create an ISD from the cropped cubeMy expected behavior is that the ISD generated by
isd_generate
will be appropriate to use with the cropped ISIS cube. By appropriate, I mean that acampt
call and some knoten sensor model function will return the same results, plus or minus the accepted tolerance. In reality, the results are quite different. Why?ISIS tracks the offsets in the cropped cube and carries around the full observation SPICE. Therefore, the ISD created by ALE is the full observation SPICE. But, the cropped cube is just that, a cropped image. The CSM has no idea that the ISD is provided for an uncropped image.
The result is that a test to ensure that say, pixel (10,10) in the cropped ISIS image returns the same lon/lat between both
campt
andknoten
requires that I add whatever the start sample/line used for thecrop
command. That information is not recorded in the ISD. It is available viacathist
.I do not know that I have a suggested fix. Options that come to mind (without a lot of thought about the trickle down effects):
isd_generate
to create a proper cropped ISD if the input ISIS cube is cropped