Commit f2879b36 authored by Kelvin Rodriguez's avatar Kelvin Rodriguez Committed by GitHub
Browse files

Updated Cassini ISS tests (#340)

parent f4437662
Loading
Loading
Loading
Loading
+332 −0
Original line number Diff line number Diff line
{
  "IsisCameraVersion": 1,
  "NaifKeywords": {
    "BODY602_RADII": [
      256.6,
      251.4,
      248.3
    ],
    "BODY_FRAME_CODE": 10040,
    "BODY_CODE": 602,
    "INS-82360_P0_UV3_FOCAL_LENGTH": 2002.71,
    "INS-82360_P60_IR1_FOCAL_LENGTH": 2002.36,
    "INS-82360_BL1_CL2_FOCAL_LENGTH": 2002.79,
    "INS-82360_MODE_NAME": "NOMINAL",
    "TKFRAME_-82360_UNITS": "DEGREES",
    "INS-82360_P60_MT1_FOCAL_LENGTH": 2002.34,
    "INS-82360_IR2_CL2_FOCAL_LENGTH": 2002.71,
    "INS-82360_HAL_CL2_FOCAL_LENGTH": 2002.94,
    "INS-82360_P60_UV3_FOCAL_LENGTH": 2002.51,
    "INS-82360_CL1_CL2_FOCAL_LENGTH": 2002.88,
    "FRAME_-82360_NAME": "CASSINI_ISS_NAC",
    "INS-82360_BORESIGHT": [
      0.0,
      0.0,
      1.0
    ],
    "INS-82360_UV1_CL2_FOCAL_LENGTH": 2003.03,
    "INS-82360_IR2_IR3_FOCAL_LENGTH": 2002.55,
    "INS-82360_ITRANSL": [
      0.0,
      0.0,
      83.33333333333333
    ],
    "INS-82360_ITRANSS": [
      0.0,
      83.33333333333333,
      0.0
    ],
    "INS-82360_P0_CB1_FOCAL_LENGTH": 2002.3,
    "INS-82360_CL1_IR3_FOCAL_LENGTH": 2002.65,
    "INS-82360_IRP0_CB3_FOCAL_LENGTH": 2002.74,
    "INS-82360_PIXEL_LINES": 1024.0,
    "TKFRAME_-82360_AXES": [
      1.0,
      2.0,
      3.0
    ],
    "INS-82360_CL1_MT3_FOCAL_LENGTH": 2002.87,
    "TKFRAME_-82360_SPEC": "ANGLES",
    "INS-82360_DEFAULT_FOCAL_LENGTH": 2003.44,
    "INS-82360_P60_CB1_FOCAL_LENGTH": 2002.18,
    "INS-82360_FOV_CROSS_ANGLE": 0.175,
    "INS-82360_P0_BL2_FOCAL_LENGTH": 2002.19,
    "INS-82360_FOV_CENTER_PIXEL": [
      511.5,
      511.5
    ],
    "INS-82360_RED_CL2_FOCAL_LENGTH": 2002.69,
    "INS-82360_PLATFORM_ID": -82000.0,
    "INS-82360_IRP0_MT2_FOCAL_LENGTH": 2002.72,
    "INS-82360_FOV_SHAPE": "RECTANGLE",
    "INS-82360_CL1_CB3_FOCAL_LENGTH": 2002.68,
    "INS-82360_FOV_REF_ANGLE": 0.175,
    "INS-82360_P60_BL2_FOCAL_LENGTH": 2002.13,
    "INS-82360_TRIGGER_OFFSET": "0:01:00.0",
    "INS-82360_P120_GRN_FOCAL_LENGTH": 2002.38,
    "INS-82360_IRP0_CB2_FOCAL_LENGTH": 2002.48,
    "FRAME_-82360_CLASS_ID": -82360.0,
    "INS-82360_UV2_UV3_FOCAL_LENGTH": 2002.9,
    "INS-82360_IR4_CL2_FOCAL_LENGTH": 2002.89,
    "INS-82360_CL1_MT2_FOCAL_LENGTH": 2002.91,
    "INS-82360_IR4_IR3_FOCAL_LENGTH": 2002.81,
    "TKFRAME_-82360_ANGLES": [
      -90.009796,
      -0.033,
      89.9148
    ],
    "INS-82360_FOV_FRAME": "CASSINI_ISS_NAC",
    "INS-82360_CL1_GRN_FOCAL_LENGTH": 2002.75,
    "INS-82360_IRP0_IR1_FOCAL_LENGTH": 2002.6,
    "INS-82360_BORESIGHT_SAMPLE": 512.5,
    "FRAME_-82360_CENTER": -82.0,
    "INS-82360_P120_IR1_FOCAL_LENGTH": 2002.39,
    "INS-82360_FOV_CLASS_SPEC": "ANGLES",
    "INS-82360_FOV_REF_VECTOR": [
      1.0,
      0.0,
      0.0
    ],
    "INS-82360_P120_MT1_FOCAL_LENGTH": 2002.54,
    "TKFRAME_-82360_RELATIVE": "CASSINI_SC_COORD",
    "INS-82360_CL1_CB2_FOCAL_LENGTH": 2002.66,
    "INS-82360_P120_UV3_FOCAL_LENGTH": 2002.71,
    "INS-82360_PIXEL_PITCH": 0.012,
    "INS-82360_FOCAL_LENGTH": 2003.44,
    "INS-82360_IR2_IR1_FOCAL_LENGTH": 2002.56,
    "INS-82360_RED_GRN_FOCAL_LENGTH": 2002.61,
    "INS-82360_CL1_IR1_FOCAL_LENGTH": 2002.74,
    "INS-82360_P120_CB1_FOCAL_LENGTH": 2002.28,
    "INS-82360_CL1_MT1_FOCAL_LENGTH": 2002.88,
    "FRAME_-82360_CLASS": 4.0,
    "INS-82360_BORESIGHT_LINE": 512.5,
    "INS-82360_PIXEL_SIZE": 12.0,
    "INS-82360_CL1_UV3_FOCAL_LENGTH": 2003.09,
    "INS-82360_IFOV": 6.0,
    "INS-82360_TRANSX": [
      0.0,
      0.012,
      0.0
    ],
    "INS-82360_TRANSY": [
      0.0,
      0.0,
      0.012
    ],
    "INS-82360_F/NUMBER": 10.5,
    "INS-82360_UV2_CL2_FOCAL_LENGTH": 2002.91,
    "INS-82360_P0_GRN_FOCAL_LENGTH": 2002.38,
    "INS-82360_CK_REFERENCE_ID": 1.0,
    "INS-82360_CK_FRAME_ID": -915240.0,
    "INS-82360_P120_BL2_FOCAL_LENGTH": 2002.11,
    "INS-82360_PIXEL_SAMPLES": 1024.0,
    "INS-82360_RED_IR1_FOCAL_LENGTH": 2002.48,
    "INS-82360_CL1_CB1_FOCAL_LENGTH": 2002.66,
    "INS-82360_FL_UNCERTAINTY": 0.03,
    "INS-82360_P60_GRN_FOCAL_LENGTH": 2002.28,
    "INS-82360_CYCLE_DURATION": "0:01:00.0",
    "INS-82360_WAVELENGTH_RANGE": [
      200.0,
      1100.0
    ],
    "INS-82360_FOV_ANGLE_UNITS": "DEGREES",
    "INS-82360_K1": 8e-06,
    "INS-82360_P0_IR1_FOCAL_LENGTH": 2002.35,
    "INS-82360_CL1_BL2_FOCAL_LENGTH": 2002.37,
    "INS-82360_IRP0_IR3_FOCAL_LENGTH": 2002.48,
    "INS-82360_CCD_CENTER": [
      512.5,
      512.5
    ],
    "INS-82360_P0_MT1_FOCAL_LENGTH": 2002.4,
    "INS_-82360_FRAME_ID": 14082360.0,
    "INS-82360_IRP0_MT3_FOCAL_LENGTH": 2002.72,
    "BODY602_CCOEF": [
      0.0,
      0.0,
      0.0015497999999999998
    ],
    "BODY602_POLE_DEC": [
      83.52,
      -0.004,
      0.0
    ],
    "BODY602_POLE_RA": [
      40.66,
      -0.036,
      0.0
    ],
    "BODY602_PM": [
      6.32,
      262.7318996,
      0.0
    ],
    "BODY602_JCOEF": [
      0.0,
      0.0054352
    ],
    "BODY602_LONG_AXIS": 0.0,
    "BODY602_GM/PRIMARY": 1.29181e-07,
    "BODY602_GM": 7.211777492985
  },
  "detector_sample_summing": 1,
  "detector_line_summing": 1,
  "focal_length_model": {
    "focal_length": 2003.09
  },
  "detector_center": {
    "line": 512,
    "sample": 512
  },
  "starting_detector_line": 0,
  "starting_detector_sample": 0,
  "focal2pixel_lines": [
    0.0,
    0.0,
    83.33333333333333
  ],
  "focal2pixel_samples": [
    0.0,
    83.33333333333333,
    0.0
  ],
  "optical_distortion": {
    "radial": {
      "coefficients": [
        0,
        -8e-06,
        0
      ]
    }
  },
  "image_lines": 1024,
  "image_samples": 1024,
  "name_platform": "CASSINI ORBITER",
  "name_sensor": "IMAGING SCIENCE SUBSYSTEM - NARROW ANGLE",
  "reference_height": {
    "maxheight": 1000,
    "minheight": -1000,
    "unit": "m"
  },
  "name_model": "USGS_ASTRO_FRAME_SENSOR_MODEL",
  "center_ephemeris_time": 376938208.24072826,
  "radii": {
    "semimajor": 256.6,
    "semiminor": 248.3,
    "unit": "km"
  },
  "InstrumentPointing": {
    "TimeDependentFrames": [
      -82000,
      1
    ],
    "CkTableStartTime": 376938208.24072826,
    "CkTableEndTime": 376938208.24072826,
    "CkTableOriginalSize": 1,
    "EphemerisTimes": [
      376938208.24072826
    ],
    "Quaternions": [
      [
        -0.714592970784935,
        0.21489250965350096,
        0.44184670438419815,
        -0.4979453636940545
      ]
    ],
    "AngularVelocity": [
      [
        -0.0007574572640014708,
        -0.0003505925165897519,
        -0.00010610139650303626
      ]
    ],
    "ConstantFrames": [
      14082360,
      -82360,
      -82000
    ],
    "ConstantRotation": [
      -0.0014870197280318354,
      -0.00017182872562465645,
      0.9999988796229811,
      -0.9999987285211891,
      -0.0005757037366556639,
      -0.0014871184258905545,
      0.0005759586213144874,
      -0.999999819520032,
      -0.00017097242433417037
    ]
  },
  "BodyRotation": {
    "TimeDependentFrames": [
      10040,
      1
    ],
    "CkTableStartTime": 376938208.24072826,
    "CkTableEndTime": 376938208.24072826,
    "CkTableOriginalSize": 1,
    "EphemerisTimes": [
      376938208.24072826
    ],
    "Quaternions": [
      [
        -0.49726210411698374,
        0.01884225276113552,
        0.0532896313700967,
        0.8657572318545625
      ]
    ],
    "AngularVelocity": [
      [
        4.544323197605555e-06,
        3.902625629848413e-06,
        5.273422216698314e-05
      ]
    ]
  },
  "InstrumentPosition": {
    "SpkTableStartTime": 376938208.24072826,
    "SpkTableEndTime": 376938208.24072826,
    "SpkTableOriginalSize": 1,
    "EphemerisTimes": [
      376938208.24072826
    ],
    "Positions": [
      [
        21961.77283021467,
        10151.980187116338,
        -3287.1339343305876
      ]
    ],
    "Velocities": [
      [
        5.455579135911339,
        -3.302834463297056,
        -0.20371606661791924
      ]
    ]
  },
  "SunPosition": {
    "SpkTableStartTime": 376938208.24072826,
    "SpkTableEndTime": 376938208.24072826,
    "SpkTableOriginalSize": 1,
    "EphemerisTimes": [
      376938208.24072826
    ],
    "Positions": [
      [
        1342712164.7010403,
        521645736.9735198,
        157522069.3546536
      ]
    ],
    "Velocities": [
      [
        -15.573457955043763,
        5.743795762971043,
        4.859416365721263
      ]
    ]
  }
}
+9 −44
Original line number Diff line number Diff line
@@ -6,50 +6,12 @@ import numpy as np
from ale.drivers import co_drivers
import unittest
from unittest.mock import patch

from conftest import get_image_label, get_image_kernels, convert_kernels, compare_dicts
import json
from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts

from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver
from conftest import get_image_kernels, convert_kernels, get_image_label

@pytest.fixture()
def usgscsm_compare_dict():
    return {'radii':
             {'semimajor': 256.6,
               'semiminor': 248.3,
               'unit': 'km'},
            'sensor_position':
              {'positions': np.array([[-2256845.0758612, -24304022.50656576, -639184.92761627]]),
               'velocities': np.array([[-6889.88091886, -2938.52964751, 21.84486935]]),
               'unit': 'm'},
            'sun_position':
              {'positions': [np.array([-2.30750862e+11, -1.39662303e+12, 3.09841240e+11])],
               'velocities': [np.array([-7.41107317e+07, 1.22577658e+07, 3.91731010e+03])],
               'unit': 'm'},
            'sensor_orientation':
              {'quaternions': np.array([[-0.21183452, -0.66567547, -0.69966839,  0.14988809]])},
            'detector_sample_summing': 1,
            'detector_line_summing': 1,
            'focal_length_model': {'focal_length': 2003.09},
            'detector_center': {'line': 512, 'sample': 512},
            'starting_detector_line': 0,
            'starting_detector_sample': 0,
            'focal2pixel_lines': [0.0, 0.0, 83.33333333333333],
            'focal2pixel_samples': [0.0, 83.33333333333333, 0.0],
            'optical_distortion':
              {'radial':
                {'coefficients': [0, -8e-06, 0]}},
            'image_lines': 1024,
            'image_samples': 1024,
            'name_platform': 'CASSINI ORBITER',
            'name_sensor': 'IMAGING SCIENCE SUBSYSTEM - NARROW ANGLE',
            'reference_height':
              {'maxheight': 1000,
               'minheight': -1000,
               'unit': 'm'},
            'name_model': 'USGS_ASTRO_FRAME_SENSOR_MODEL',
            'center_ephemeris_time': 376938208.24072826}

@pytest.fixture()
def test_kernels(scope="module", autouse=True):
    kernels = get_image_kernels("N1702360370_1")
@@ -58,11 +20,14 @@ def test_kernels(scope="module", autouse=True):
    for kern in binary_kernels:
        os.remove(kern)

def test_cassini_load(test_kernels, usgscsm_compare_dict):
def test_load(test_kernels):
    label_file = get_image_label("N1702360370_1")
    usgscsm_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter='usgscsm')
    print(usgscsm_isd)
    assert compare_dicts(usgscsm_isd, usgscsm_compare_dict) == []
    compare_dict = get_isd("cassiniiss")

    isd_str = ale.loads(label_file, props={'kernels': test_kernels})
    isd_obj = json.loads(isd_str)
    print(json.dumps(isd_obj, indent=2))
    assert compare_dicts(isd_obj, compare_dict) == []

# ========= Test cassini pds3label and naifspice driver =========
class test_cassini_pds3_naif(unittest.TestCase):