Skip to content
Snippets Groups Projects
Commit c821b1da authored by Kelvin Rodriguez's avatar Kelvin Rodriguez Committed by Stuart Sides
Browse files

Naif Keyword update (sledgehammer edition) (#273)

* Naif Keyword update (sledgehammer edition)

* updated test data

* renamed func

* updated as per comments

* passing tests

* getting call stack for python sometimes causes bus error

* removed debug prints
parent a9b1ef04
No related branches found
No related tags found
No related merge requests found
......@@ -426,6 +426,7 @@ class NaifSpice():
"""
return float(spice.gdpool('INS{}_BORESIGHT_LINE'.format(self.ikid), 0, 1)[0])
@property
def isis_naif_keywords(self):
"""
......@@ -438,11 +439,7 @@ class NaifSpice():
naif_keywords['BODY{}_RADII'.format(self.target_id)] = self.target_body_radii
naif_keywords['BODY_FRAME_CODE'] = self.target_frame_id
naif_keywords['INS{}_PIXEL_SIZE'.format(self.ikid)] = self.pixel_size
naif_keywords['INS{}_ITRANSL'.format(self.ikid)] = self.focal2pixel_lines
naif_keywords['INS{}_ITRANSS'.format(self.ikid)] = self.focal2pixel_samples
naif_keywords['INS{}_FOCAL_LENGTH'.format(self.ikid)] = self.focal_length
naif_keywords['INS{}_BORESIGHT_SAMPLE'.format(self.ikid)] = self.detector_center_sample + 0.5
naif_keywords['INS{}_BORESIGHT_LINE'.format(self.ikid)] = self.detector_center_line + 0.5
naif_keywords['BODY_CODE'] = self.target_id
naif_keywords = {**naif_keywords, **util.query_kernel_pool(f"*{self.ikid}*")}
return naif_keywords
......@@ -389,7 +389,7 @@ namespace ale {
Py_DECREF(pStringFormatter);
if(!pResult) {
throw invalid_argument(getPyTraceback());
throw invalid_argument("No Valid instrument found for label.");
}
PyObject *pResultStr = PyObject_Str(pResult);
......
......@@ -189,19 +189,20 @@ def test_isis_naif_keywords(driver):
expected_keywords = {
'BODY199_RADII' : driver.target_body_radii,
'BODY_FRAME_CODE' : 10011,
'INS-236820_PIXEL_SIZE' : 0.014,
'INS-236820_PIXEL_PITCH' : 0.014,
'INS-236820_ITRANSL' : [0.0, 0.0, 71.42857143],
'INS-236820_ITRANSS' : [0.0, 71.42857143, 0.0],
'INS-236820_FOCAL_LENGTH' : 549.5535053027719,
'INS-236820_FOCAL_LENGTH' : 549.1178195372703,
'INS-236820_BORESIGHT_SAMPLE' : 512.5,
'INS-236820_BORESIGHT_LINE' : 512.5
}
assert set(driver.isis_naif_keywords.keys()) == set(expected_keywords.keys())
for key, value in driver.isis_naif_keywords.items():
if isinstance(value, np.ndarray):
np.testing.assert_almost_equal(value, expected_keywords[key])
print(driver.isis_naif_keywords.keys())
assert set(expected_keywords.keys()).issubset(set(driver.isis_naif_keywords.keys()))
for key, value in expected_keywords.items():
if isinstance(value, np.ndarray) or isinstance(value, list):
np.testing.assert_almost_equal(value, driver.isis_naif_keywords[key])
else:
assert value == expected_keywords[key]
assert value == driver.isis_naif_keywords[key]
def test_sensor_model_version(driver):
assert driver.sensor_model_version == 2
......
......@@ -66,14 +66,48 @@ def usgscsm_compare_dict():
def isis_compare_dict():
return {
'CameraVersion': 1,
'NaifKeywords': {'BODY499_RADII': [3396.19, 3396.19, 3376.2],
'NaifKeywords': {
'BODY499_RADII': [3396.19, 3396.19, 3376.2],
'BODY_FRAME_CODE': 10014,
'INS-74021_PIXEL_SIZE': 7e-06,
'INS-74021_ITRANSL': [0.0, 142.85714285714, 0.0],
'INS-74021_ITRANSS': [0.0, 0.0, 142.85714285714],
'BODY_CODE': 499,
'INS-74021_FOV_ANGLE_UNITS': 'DEGREES',
'TKFRAME_-74021_UNITS': 'DEGREES',
'INS-74021_FOV_ANGULAR_SIZE': [5.73, 0.001146],
'INS-74021_PIXEL_LINES': 1.0,
'TKFRAME_-74021_ANGLES': [0.0, 0.0, 0.0],
'INS-74021_IFOV': [2e-05, 2e-05],
'FRAME_-74021_CENTER': -74.0,
'INS-74021_F/RATIO': 3.25,
'INS-74021_PLATFORM_ID': -74000.0,
'INS-74021_CCD_CENTER': [2500.5, 0.5],
'INS-74021_PIXEL_SAMPLES': 5000.0,
'INS-74021_FOCAL_LENGTH': 352.9271664,
'INS-74021_FOV_CROSS_ANGLE': 0.00057296,
'INS-74021_TRANSX': [0.0, 0.0, 0.007],
'INS-74021_FOV_CLASS_SPEC': 'ANGLES',
'INS-74021_TRANSY': [0.0, 0.007, 0.0],
'INS-74021_FOV_REF_VECTOR': [0.0, 1.0, 0.0],
'INS-74021_BORESIGHT': [0.0, 0.0, 1.0],
'FRAME_-74021_NAME': 'MRO_CTX',
'INS-74021_PIXEL_PITCH': 0.007,
'TKFRAME_-74021_AXES': [1.0, 2.0, 3.0],
'TKFRAME_-74021_SPEC': 'ANGLES',
'INS-74021_BORESIGHT_LINE': 0.430442527,
'INS-74021_FOV_SHAPE': 'RECTANGLE',
'INS-74021_BORESIGHT_SAMPLE': 2543.46099,
'INS-74021_BORESIGHT_LINE': 0.9304425270000001},
'FRAME_-74021_CLASS': 4.0,
'INS-74021_CK_FRAME_ID': -74000.0,
'INS-74021_ITRANSL': [0.0, 142.85714285714, 0.0],
'INS-74021_FOV_REF_ANGLE': 2.86478898,
'INS-74021_ITRANSS': [0.0, 0.0, 142.85714285714],
'FRAME_-74021_CLASS_ID': -74021.0,
'INS-74021_OD_K': [-0.0073433925920054505,
2.8375878636241697e-05,
1.2841989124027099e-08],
'INS-74021_FOV_FRAME': 'MRO_CTX',
'INS-74021_CK_REFERENCE_ID': -74900.0,
'TKFRAME_-74021_RELATIVE': 'MRO_CTX_BASE',
'INS-74021_PIXEL_SIZE': [0.007, 0.007]},
'InstrumentPointing': {'TimeDependentFrames': [-74021, 1],
'CkTableStartTime': 297088762.24158406,
'CkTableEndTime': 297088762.9923841,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment