Loading ale/formatters/formatter.py +35 −33 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ def to_isd(driver): The ISIS compatible meta data as a JSON encoded string. """ meta_data = {} meta_data['isis_camera_version'] = driver.sensor_model_version Loading @@ -45,10 +44,9 @@ def to_isd(driver): meta_data['interpolation_method'] = 'lagrange' start_lines, start_times, scan_rates = driver.line_scan_rate center_time = driver.center_ephemeris_time meta_data['line_scan_rate'] = [[line, time, rate] for line, time, rate in zip(start_lines, start_times, scan_rates)] meta_data['starting_ephemeris_time'] = driver.ephemeris_start_time meta_data['center_ephemeris_time'] = center_time meta_data['center_ephemeris_time'] = driver.center_ephemeris_time # frame sensor model specifics if isinstance(driver, Framer): Loading Loading @@ -116,7 +114,6 @@ def to_isd(driver): body_rotation["reference_frame"] = destination_frame meta_data['body_rotation'] = body_rotation if isinstance(driver, LineScanner) or isinstance(driver, Framer) or isinstance(driver, PushFrame): # sensor orientation sensor_frame = driver.sensor_frame_id Loading Loading @@ -146,8 +143,12 @@ def to_isd(driver): # interiror orientation meta_data['naif_keywords'] = driver.naif_keywords if isinstance(driver,LineScanner) or isinstance(driver, Framer) or isinstance(driver, PushFrame): meta_data['detector_sample_summing'] = driver.sample_summing meta_data['detector_line_summing'] = driver.line_summing meta_data['focal_length_model'] = { 'focal_length' : driver.focal_length } Loading @@ -155,13 +156,14 @@ def to_isd(driver): 'line' : driver.detector_center_line, 'sample' : driver.detector_center_sample } meta_data['starting_detector_line'] = driver.detector_start_line meta_data['starting_detector_sample'] = driver.detector_start_sample meta_data['focal2pixel_lines'] = driver.focal2pixel_lines meta_data['focal2pixel_samples'] = driver.focal2pixel_samples meta_data['optical_distortion'] = driver.usgscsm_distortion_model meta_data['starting_detector_line'] = driver.detector_start_line meta_data['starting_detector_sample'] = driver.detector_start_sample j2000_rotation = frame_chain.compute_rotation(target_frame, 1) instrument_position = {} Loading tests/pytests/data/isds/lrominirf_isd.json +344 −44 Original line number Diff line number Diff line Loading @@ -366,6 +366,306 @@ ], "reference_frame": 1 }, "instrument_pointing": { "time_dependent_frames": [ 31006, 1 ], "ck_table_start_time": 325441417.4304223, "ck_table_end_time": 325441420.7234223, "ck_table_original_size": 14, "ephemeris_times": [ 325441417.4304223, 325441417.68373, 325441417.9370377, 325441418.1903454, 325441418.44365305, 325441418.69696075, 325441418.95026845, 325441419.20357615, 325441419.45688385, 325441419.71019155, 325441419.9634992, 325441420.2168069, 325441420.4701146, 325441420.7234223 ], "quaternions": [ [ -0.9759213987320261, 0.19770025384845868, 0.030876383685049705, -0.08682558410810928 ], [ -0.9759214279969775, 0.19770026426283943, 0.0308763171549909, -0.08682525511444422 ], [ -0.9759214572618375, 0.1977002746772048, 0.030876250624883594, -0.08682492612054747 ], [ -0.9759214865265868, 0.1977002850915476, 0.030876184094772753, -0.08682459712664094 ], [ -0.9759215157912055, 0.19770029550586102, 0.030876117564703306, -0.08682426813294661 ], [ -0.9759215450557329, 0.19770030592015894, 0.030876051034585378, -0.08682393913902053 ], [ -0.9759215743201495, 0.1977003163344344, 0.030875984504463907, -0.08682361014508465 ], [ -0.9759216035844552, 0.19770032674868743, 0.030875917974338897, -0.08682328115113902 ], [ -0.9759216328486501, 0.197700337162918, 0.030875851444210352, -0.0868229521571836 ], [ -0.975921662112714, 0.19770034757711893, 0.030875784914123194, -0.08682262316344026 ], [ -0.975921691376687, 0.1977003579913045, 0.030875718383987543, -0.08682229416946535 ], [ -0.9759217206405492, 0.19770036840546765, 0.030875651853848364, -0.0868219651754806 ], [ -0.9759217499043004, 0.19770037881960828, 0.03087558532370564, -0.08682163618148604 ], [ -0.9759217791679209, 0.19770038923371935, 0.030875518793604312, -0.08682130718770362 ] ], "angular_velocities": [ [ 6.916139484934965e-08, -1.0404590249347596e-06, 2.448709649861581e-06 ], [ 6.916139478040356e-08, -1.0404590253046157e-06, 2.448709649728261e-06 ], [ 6.916139471145752e-08, -1.0404590256744724e-06, 2.4487096495949383e-06 ], [ 6.916139464251199e-08, -1.0404590260443285e-06, 2.4487096494616174e-06 ], [ 6.916139457356657e-08, -1.0404590264141854e-06, 2.4487096493282965e-06 ], [ 6.916139450462146e-08, -1.0404590267840425e-06, 2.4487096491949765e-06 ], [ 6.916139443567654e-08, -1.0404590271539001e-06, 2.448709649061655e-06 ], [ 6.916139436673195e-08, -1.0404590275237573e-06, 2.448709648928333e-06 ], [ 6.916139429778765e-08, -1.0404590278936155e-06, 2.4487096487950135e-06 ], [ 6.916139422884356e-08, -1.0404590282634733e-06, 2.448709648661692e-06 ], [ 6.916139415989972e-08, -1.0404590286333308e-06, 2.4487096485283713e-06 ], [ 6.916139409095615e-08, -1.040459029003189e-06, 2.4487096483950496e-06 ], [ 6.916139402201287e-08, -1.0404590293730477e-06, 2.4487096482617296e-06 ], [ 6.916139395306979e-08, -1.0404590297429065e-06, 2.4487096481284087e-06 ] ], "reference_frame": 1, "constant_frames": [ 31001, 31007, 31006 ], "constant_rotation": [ 0.9999998732547144, -0.00032928542237557133, 0.00038086961867138755, 0.00032928600021094723, 0.9999999457843062, -1.4544409378362713e-06, -0.00038086911909607826, 1.5798557868269087e-06, 0.9999999274681067 ] }, "naif_keywords": { "BODY301_RADII": [ 1737.4, 1737.4, 1737.4 ], "BODY_FRAME_CODE": 31001, "BODY_CODE": 301, "TKFRAME_-85700_UNITS": "DEGREES", "TKFRAME_-85700_ANGLES": [ -47.6, 0.0, 0.0 ], "FRAME_-85700_CENTER": -85.0, "INS-85700_TRANSX": [ 0.0, 0.0, 1.0 ], "INS-85700_TRANSY": [ 0.0, 1.0, 0.0 ], "FRAME_-85700_NAME": "LRO_MINIRF", "INS-85700_ITRANSL": [ 0.0, 1.0, 0.0 ], "TKFRAME_-85700_AXES": [ 1.0, 2.0, 3.0 ], "TKFRAME_-85700_SPEC": "ANGLES", "INS-85700_ITRANSS": [ 0.0, 0.0, 1.0 ], "FRAME_-85700_CLASS_ID": -85700.0, "FRAME_-85700_CLASS": 4.0, "INS-85700_CK_FRAME_ID": -85700.0, "TKFRAME_-85700_RELATIVE": "LRO_SC_BUS", "INS-85700_CK_REFERENCE_ID": 1.0, "BODY301_POLE_RA": [ 269.9949, 0.0031, 0.0 ], "BODY301_NUT_PREC_PM": [ 3.561, 0.1208, -0.0642, 0.0158, 0.0252, -0.0066, -0.0047, -0.0046, 0.0028, 0.0052 ], "BODY301_NUT_PREC_RA": [ -3.8787000000000003, -0.1204, 0.07, -0.0172, 0.0, 0.0072, 0.0, 0.0, 0.0, -0.0052 ], "BODY301_LONG_AXIS": 0.0, "BODY301_NUT_PREC_DEC": [ 1.5419, 0.0239, -0.0278, 0.0068, 0.0, -0.0029, 0.0009, 0.0, 0.0, 0.0008 ], "BODY301_POLE_DEC": [ 66.5392, 0.013, 0.0 ], "BODY301_PM": [ 38.3213, 13.17635815, -1.3999999999999999e-12 ] }, "instrument_position": { "spk_table_start_time": 325441417.4304223, "spk_table_end_time": 325441420.7234223, Loading @@ -389,11 +689,11 @@ "positions": [ [ -1602.0413180595058, -516.3519355717643, -516.3519355717642, 626.5629214314301 ], [ -1602.2222753426279, -1602.222275342628, -516.2237329096426, 626.209036267832 ], Loading @@ -404,7 +704,7 @@ ], [ -1602.5839288255436, -515.9672435181461, -515.967243518146, 625.5011637017926 ], [ Loading @@ -413,9 +713,9 @@ 625.1471764111179 ], [ -1602.9452349872354, -1602.9452349872352, -515.7106407008863, 624.7931556915754 624.7931556915755 ], [ -1603.1257570271464, Loading @@ -423,24 +723,24 @@ 624.4391002690046 ], [ -1603.3061919349582, -1603.306191934958, -515.4539272293902, 624.0850108587218 ], [ -1603.48653981498, -515.3255284898222, 623.7308874532773 -1603.4865398149805, -515.3255284898223, 623.7308874532774 ], [ -1603.6668005479962, -1603.6668005479964, -515.1971017775081, 623.3767301122807 623.3767301122808 ], [ -1603.846974134003, -515.0686471073512, 623.022538910241 623.0225389102411 ], [ -1604.0270606624097, Loading @@ -448,30 +748,30 @@ 622.6683137055942 ], [ -1604.2070600289019, -1604.2070600289017, -514.8116538041043, 622.3140546101049 622.314054610105 ], [ -1604.3869722781783, -514.6831152306211, 621.9597616237739 -1604.3869722781785, -514.6831152306212, 621.9597616237738 ] ], "velocities": [ [ -0.7145494289773817, -0.7145494289773819, 0.5060593097613282, -1.396988974527007 -1.3969889745270072 ], [ -0.7142058550911952, 0.506169991152465, -1.3971235950133665 -0.7142058550911954, 0.5061699911524653, -1.3971235950133671 ], [ -0.7138622425358848, 0.5062806449448201, 0.5062806449448202, -1.3972581395953048 ], [ Loading @@ -480,17 +780,17 @@ -1.3973926082640118 ], [ -0.7131749015619412, 0.5065018696832321, -1.397527000979457 -0.7131749015619413, 0.5065018696832322, -1.3975270009794571 ], [ -0.7128311731757869, 0.5066124406175628, -1.397661317765054 -0.7128311731757871, 0.5066124406175629, -1.3976613177650545 ], [ -0.7124874061027588, -0.712487406102759, 0.5067229839556711, -1.3977955586435142 ], Loading @@ -501,13 +801,13 @@ ], [ -0.7117997562042009, 0.5069439877415162, -1.3980638125508031 0.5069439877415163, -1.3980638125508034 ], [ -0.7114558734106707, 0.5070544481775854, -1.3981978255625913 -0.7114558734106708, 0.5070544481775853, -1.3981978255625915 ], [ -0.711111952156552, Loading @@ -516,17 +816,17 @@ ], [ -0.7107679922960224, 0.5072752860807646, 0.5072752860807647, -1.3984656236281483 ], [ -0.7104239939260297, 0.5073856635621689, -0.7104239939260296, 0.5073856635621687, -1.398599408696237 ], [ -0.7100799570625971, 0.507496013380294, -0.710079957062597, 0.5074960133802943, -1.3987331177658686 ] ], Loading @@ -541,16 +841,16 @@ ], "positions": [ [ 124045259.44540879, 124045259.4454088, 78574027.41897403, 34095053.07306479 34095053.0730648 ] ], "velocities": [ [ -16.302884180886178, 23.506531323358008, 10.232698472917255 10.232698472917269 ] ], "reference_frame": 1 Loading Loading
ale/formatters/formatter.py +35 −33 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ def to_isd(driver): The ISIS compatible meta data as a JSON encoded string. """ meta_data = {} meta_data['isis_camera_version'] = driver.sensor_model_version Loading @@ -45,10 +44,9 @@ def to_isd(driver): meta_data['interpolation_method'] = 'lagrange' start_lines, start_times, scan_rates = driver.line_scan_rate center_time = driver.center_ephemeris_time meta_data['line_scan_rate'] = [[line, time, rate] for line, time, rate in zip(start_lines, start_times, scan_rates)] meta_data['starting_ephemeris_time'] = driver.ephemeris_start_time meta_data['center_ephemeris_time'] = center_time meta_data['center_ephemeris_time'] = driver.center_ephemeris_time # frame sensor model specifics if isinstance(driver, Framer): Loading Loading @@ -116,7 +114,6 @@ def to_isd(driver): body_rotation["reference_frame"] = destination_frame meta_data['body_rotation'] = body_rotation if isinstance(driver, LineScanner) or isinstance(driver, Framer) or isinstance(driver, PushFrame): # sensor orientation sensor_frame = driver.sensor_frame_id Loading Loading @@ -146,8 +143,12 @@ def to_isd(driver): # interiror orientation meta_data['naif_keywords'] = driver.naif_keywords if isinstance(driver,LineScanner) or isinstance(driver, Framer) or isinstance(driver, PushFrame): meta_data['detector_sample_summing'] = driver.sample_summing meta_data['detector_line_summing'] = driver.line_summing meta_data['focal_length_model'] = { 'focal_length' : driver.focal_length } Loading @@ -155,13 +156,14 @@ def to_isd(driver): 'line' : driver.detector_center_line, 'sample' : driver.detector_center_sample } meta_data['starting_detector_line'] = driver.detector_start_line meta_data['starting_detector_sample'] = driver.detector_start_sample meta_data['focal2pixel_lines'] = driver.focal2pixel_lines meta_data['focal2pixel_samples'] = driver.focal2pixel_samples meta_data['optical_distortion'] = driver.usgscsm_distortion_model meta_data['starting_detector_line'] = driver.detector_start_line meta_data['starting_detector_sample'] = driver.detector_start_sample j2000_rotation = frame_chain.compute_rotation(target_frame, 1) instrument_position = {} Loading
tests/pytests/data/isds/lrominirf_isd.json +344 −44 Original line number Diff line number Diff line Loading @@ -366,6 +366,306 @@ ], "reference_frame": 1 }, "instrument_pointing": { "time_dependent_frames": [ 31006, 1 ], "ck_table_start_time": 325441417.4304223, "ck_table_end_time": 325441420.7234223, "ck_table_original_size": 14, "ephemeris_times": [ 325441417.4304223, 325441417.68373, 325441417.9370377, 325441418.1903454, 325441418.44365305, 325441418.69696075, 325441418.95026845, 325441419.20357615, 325441419.45688385, 325441419.71019155, 325441419.9634992, 325441420.2168069, 325441420.4701146, 325441420.7234223 ], "quaternions": [ [ -0.9759213987320261, 0.19770025384845868, 0.030876383685049705, -0.08682558410810928 ], [ -0.9759214279969775, 0.19770026426283943, 0.0308763171549909, -0.08682525511444422 ], [ -0.9759214572618375, 0.1977002746772048, 0.030876250624883594, -0.08682492612054747 ], [ -0.9759214865265868, 0.1977002850915476, 0.030876184094772753, -0.08682459712664094 ], [ -0.9759215157912055, 0.19770029550586102, 0.030876117564703306, -0.08682426813294661 ], [ -0.9759215450557329, 0.19770030592015894, 0.030876051034585378, -0.08682393913902053 ], [ -0.9759215743201495, 0.1977003163344344, 0.030875984504463907, -0.08682361014508465 ], [ -0.9759216035844552, 0.19770032674868743, 0.030875917974338897, -0.08682328115113902 ], [ -0.9759216328486501, 0.197700337162918, 0.030875851444210352, -0.0868229521571836 ], [ -0.975921662112714, 0.19770034757711893, 0.030875784914123194, -0.08682262316344026 ], [ -0.975921691376687, 0.1977003579913045, 0.030875718383987543, -0.08682229416946535 ], [ -0.9759217206405492, 0.19770036840546765, 0.030875651853848364, -0.0868219651754806 ], [ -0.9759217499043004, 0.19770037881960828, 0.03087558532370564, -0.08682163618148604 ], [ -0.9759217791679209, 0.19770038923371935, 0.030875518793604312, -0.08682130718770362 ] ], "angular_velocities": [ [ 6.916139484934965e-08, -1.0404590249347596e-06, 2.448709649861581e-06 ], [ 6.916139478040356e-08, -1.0404590253046157e-06, 2.448709649728261e-06 ], [ 6.916139471145752e-08, -1.0404590256744724e-06, 2.4487096495949383e-06 ], [ 6.916139464251199e-08, -1.0404590260443285e-06, 2.4487096494616174e-06 ], [ 6.916139457356657e-08, -1.0404590264141854e-06, 2.4487096493282965e-06 ], [ 6.916139450462146e-08, -1.0404590267840425e-06, 2.4487096491949765e-06 ], [ 6.916139443567654e-08, -1.0404590271539001e-06, 2.448709649061655e-06 ], [ 6.916139436673195e-08, -1.0404590275237573e-06, 2.448709648928333e-06 ], [ 6.916139429778765e-08, -1.0404590278936155e-06, 2.4487096487950135e-06 ], [ 6.916139422884356e-08, -1.0404590282634733e-06, 2.448709648661692e-06 ], [ 6.916139415989972e-08, -1.0404590286333308e-06, 2.4487096485283713e-06 ], [ 6.916139409095615e-08, -1.040459029003189e-06, 2.4487096483950496e-06 ], [ 6.916139402201287e-08, -1.0404590293730477e-06, 2.4487096482617296e-06 ], [ 6.916139395306979e-08, -1.0404590297429065e-06, 2.4487096481284087e-06 ] ], "reference_frame": 1, "constant_frames": [ 31001, 31007, 31006 ], "constant_rotation": [ 0.9999998732547144, -0.00032928542237557133, 0.00038086961867138755, 0.00032928600021094723, 0.9999999457843062, -1.4544409378362713e-06, -0.00038086911909607826, 1.5798557868269087e-06, 0.9999999274681067 ] }, "naif_keywords": { "BODY301_RADII": [ 1737.4, 1737.4, 1737.4 ], "BODY_FRAME_CODE": 31001, "BODY_CODE": 301, "TKFRAME_-85700_UNITS": "DEGREES", "TKFRAME_-85700_ANGLES": [ -47.6, 0.0, 0.0 ], "FRAME_-85700_CENTER": -85.0, "INS-85700_TRANSX": [ 0.0, 0.0, 1.0 ], "INS-85700_TRANSY": [ 0.0, 1.0, 0.0 ], "FRAME_-85700_NAME": "LRO_MINIRF", "INS-85700_ITRANSL": [ 0.0, 1.0, 0.0 ], "TKFRAME_-85700_AXES": [ 1.0, 2.0, 3.0 ], "TKFRAME_-85700_SPEC": "ANGLES", "INS-85700_ITRANSS": [ 0.0, 0.0, 1.0 ], "FRAME_-85700_CLASS_ID": -85700.0, "FRAME_-85700_CLASS": 4.0, "INS-85700_CK_FRAME_ID": -85700.0, "TKFRAME_-85700_RELATIVE": "LRO_SC_BUS", "INS-85700_CK_REFERENCE_ID": 1.0, "BODY301_POLE_RA": [ 269.9949, 0.0031, 0.0 ], "BODY301_NUT_PREC_PM": [ 3.561, 0.1208, -0.0642, 0.0158, 0.0252, -0.0066, -0.0047, -0.0046, 0.0028, 0.0052 ], "BODY301_NUT_PREC_RA": [ -3.8787000000000003, -0.1204, 0.07, -0.0172, 0.0, 0.0072, 0.0, 0.0, 0.0, -0.0052 ], "BODY301_LONG_AXIS": 0.0, "BODY301_NUT_PREC_DEC": [ 1.5419, 0.0239, -0.0278, 0.0068, 0.0, -0.0029, 0.0009, 0.0, 0.0, 0.0008 ], "BODY301_POLE_DEC": [ 66.5392, 0.013, 0.0 ], "BODY301_PM": [ 38.3213, 13.17635815, -1.3999999999999999e-12 ] }, "instrument_position": { "spk_table_start_time": 325441417.4304223, "spk_table_end_time": 325441420.7234223, Loading @@ -389,11 +689,11 @@ "positions": [ [ -1602.0413180595058, -516.3519355717643, -516.3519355717642, 626.5629214314301 ], [ -1602.2222753426279, -1602.222275342628, -516.2237329096426, 626.209036267832 ], Loading @@ -404,7 +704,7 @@ ], [ -1602.5839288255436, -515.9672435181461, -515.967243518146, 625.5011637017926 ], [ Loading @@ -413,9 +713,9 @@ 625.1471764111179 ], [ -1602.9452349872354, -1602.9452349872352, -515.7106407008863, 624.7931556915754 624.7931556915755 ], [ -1603.1257570271464, Loading @@ -423,24 +723,24 @@ 624.4391002690046 ], [ -1603.3061919349582, -1603.306191934958, -515.4539272293902, 624.0850108587218 ], [ -1603.48653981498, -515.3255284898222, 623.7308874532773 -1603.4865398149805, -515.3255284898223, 623.7308874532774 ], [ -1603.6668005479962, -1603.6668005479964, -515.1971017775081, 623.3767301122807 623.3767301122808 ], [ -1603.846974134003, -515.0686471073512, 623.022538910241 623.0225389102411 ], [ -1604.0270606624097, Loading @@ -448,30 +748,30 @@ 622.6683137055942 ], [ -1604.2070600289019, -1604.2070600289017, -514.8116538041043, 622.3140546101049 622.314054610105 ], [ -1604.3869722781783, -514.6831152306211, 621.9597616237739 -1604.3869722781785, -514.6831152306212, 621.9597616237738 ] ], "velocities": [ [ -0.7145494289773817, -0.7145494289773819, 0.5060593097613282, -1.396988974527007 -1.3969889745270072 ], [ -0.7142058550911952, 0.506169991152465, -1.3971235950133665 -0.7142058550911954, 0.5061699911524653, -1.3971235950133671 ], [ -0.7138622425358848, 0.5062806449448201, 0.5062806449448202, -1.3972581395953048 ], [ Loading @@ -480,17 +780,17 @@ -1.3973926082640118 ], [ -0.7131749015619412, 0.5065018696832321, -1.397527000979457 -0.7131749015619413, 0.5065018696832322, -1.3975270009794571 ], [ -0.7128311731757869, 0.5066124406175628, -1.397661317765054 -0.7128311731757871, 0.5066124406175629, -1.3976613177650545 ], [ -0.7124874061027588, -0.712487406102759, 0.5067229839556711, -1.3977955586435142 ], Loading @@ -501,13 +801,13 @@ ], [ -0.7117997562042009, 0.5069439877415162, -1.3980638125508031 0.5069439877415163, -1.3980638125508034 ], [ -0.7114558734106707, 0.5070544481775854, -1.3981978255625913 -0.7114558734106708, 0.5070544481775853, -1.3981978255625915 ], [ -0.711111952156552, Loading @@ -516,17 +816,17 @@ ], [ -0.7107679922960224, 0.5072752860807646, 0.5072752860807647, -1.3984656236281483 ], [ -0.7104239939260297, 0.5073856635621689, -0.7104239939260296, 0.5073856635621687, -1.398599408696237 ], [ -0.7100799570625971, 0.507496013380294, -0.710079957062597, 0.5074960133802943, -1.3987331177658686 ] ], Loading @@ -541,16 +841,16 @@ ], "positions": [ [ 124045259.44540879, 124045259.4454088, 78574027.41897403, 34095053.07306479 34095053.0730648 ] ], "velocities": [ [ -16.302884180886178, 23.506531323358008, 10.232698472917255 10.232698472917269 ] ], "reference_frame": 1 Loading