def test_load(test_kernels, usgscsm_comparison_isd): label_file = get_image_label('M103595705LE') usgscsm_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter='usgscsm') print(usgscsm_isd) assert compare_dicts(usgscsm_isd, usgscsm_comparison_isd) == []
def test_load(test_kernels, label_type, image): label_file = get_image_label(image, label_type) isd_str = ale.loads(label_file, props={'kernels': test_kernels[image]}) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, image_dict[image]) == []
def test_load_invalid_spice_root(monkeypatch): monkeypatch.delenv('ALESPICEROOT', raising=False) reload(ale) label_file = get_image_label('EN1072174528M') with pytest.raises(Exception): ale.load(label_file)
def test_load_minirf(test_kernels): label_file = get_image_label('03821_16N196_S1', 'isis3') # isd_str = ale.loads(label_file, props={'kernels': test_kernels['03821_16N196_S1']}, formatter='usgscsm', verbose=True) isd_str = ale.loads(label_file, props={'kernels': test_kernels['03821_16N196_S1']}, verbose=True) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, image_dict['03821_16N196_S1']) == []
def test_mro_load(test_kernels, label_type): label_file = get_image_label('JNCR_2016240_01M06152_V01', label_type) isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_obj = json.loads(isd_str) compare_dict = get_isd('juno') print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == []
def test_newhorizons_load(test_kernels): label_file = get_image_label("lor_0034974380_0x630_sci_1", "isis") isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_obj = json.loads(isd_str) compare_dict = get_isd('newhorizons') print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == []
def test_load(test_kernels, label_type, formatter, image): label_file = get_image_label(image, label_type) usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels[image]}, formatter=formatter) usgscsm_isd_obj = json.loads(usgscsm_isd_str) print(json.dumps(usgscsm_isd_obj, indent=4)) assert compare_dicts(usgscsm_isd_obj, image_dict[image][formatter]) == []
def test_cassini_load(test_kernels, usgscsm_compare_dict): 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) == []
def test_mex_load(test_kernels, formatter, usgscsm_compare_dict, label): label_file = get_image_label('h5270_0000_ir2', label) with patch('ale.drivers.mex_drivers.MexHrscPds3NaifSpiceDriver.binary_ephemeris_times', \ new_callable=PropertyMock) as binary_ephemeris_times, \ patch('ale.drivers.mex_drivers.MexHrscPds3NaifSpiceDriver.binary_exposure_durations', \ new_callable=PropertyMock) as binary_exposure_durations, \ patch('ale.drivers.mex_drivers.MexHrscPds3NaifSpiceDriver.binary_lines', \ new_callable=PropertyMock) as binary_lines, \ patch('ale.drivers.mex_drivers.MexHrscIsisLabelNaifSpiceDriver.ephemeris_time', \ new_callable=PropertyMock) as ephemeris_time, \ patch('ale.drivers.mex_drivers.read_table_data', return_value=12345) as read_table_data, \ patch('ale.drivers.mex_drivers.parse_table', return_value={'EphemerisTime': [255744599.02748165, 255744684.33197814, 255744684.34504557], \ 'ExposureTime': [0.012800790786743165, 0.012907449722290038, 0.013227428436279297], \ 'LineStart': [1, 6665, 6666]}) as parse_table: ephemeris_time.return_value = [ 255744599.02748, 255744623.61901, 255744635.91477 ] binary_ephemeris_times.return_value = [ 255744599.02748165, 255744599.04028246, 255744795.73322123 ] binary_exposure_durations.return_value = [ 0.012800790786743165, 0.012800790786743165, 0.013227428436279297 ] binary_lines.return_value = [0.5, 1.5, 15086.5] usgscsm_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter=formatter, verbose='true') assert compare_dicts( usgscsm_isd, usgscsm_compare_dict['h5270_0000_ir2'][formatter]) == []
def test_viking1_load(test_kernels, label_type, formatter, image): label_file = get_image_label(image, label_type) isis_isd = ale.load(label_file, props={'kernels': test_kernels[image]}, formatter=formatter) print(isis_isd) assert compare_dicts(isis_isd, image_dict[image][formatter]) == []
def test_cassis_load(test_kernels, isis_compare_dict): label_file = get_image_label( "CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1", "isis") isis_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter="isis") assert compare_dicts(isis_isd, isis_compare_dict) == []
def test_mro_load(test_kernels, label_type, formatter, isis_compare_dict): label_file = get_image_label('JNCR_2016240_01M06152_V01', label_type) usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels}, formatter=formatter) usgscsm_isd_obj = json.loads(usgscsm_isd_str) print(json.dumps(usgscsm_isd_obj, indent=4)) assert compare_dicts(usgscsm_isd_obj, isis_compare_dict) == []
def test_load_pds(test_kernels): label_file = get_image_label("N1702360370_1") 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) == []
def test_load(test_kernels): label_file = get_image_label('FC21A0038582_15170161546F6F') compare_dict = get_isd("dawnfc") 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) == []
def test_cassis_load(test_kernels): label_file = get_image_label( "CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1", "isis") isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_obj = json.loads(isd_str) compare_dict = get_isd('cassis') print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == []
def test_load(test_kernels, label_type, image): label_file = get_image_label(image, label_type) print(test_kernels) usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels}, verbose=True) usgscsm_isd_obj = json.loads(usgscsm_isd_str) print(json.dumps(usgscsm_isd_obj, indent=2)) assert compare_dicts(usgscsm_isd_obj, image_dict[image]) == []
def test_mess_load(mess_kernels): updated_kernels = mess_kernels label_file = get_image_label('EN1072174528M') usgscsm_isd_str = ale.loads(label_file, props={'kernels': updated_kernels}, formatter='usgscsm') usgscsm_isd_obj = json.loads(usgscsm_isd_str) assert usgscsm_isd_obj['name_platform'] == 'MESSENGER' assert usgscsm_isd_obj['name_sensor'] == 'MERCURY DUAL IMAGING SYSTEM NARROW ANGLE CAMERA' assert usgscsm_isd_obj['name_model'] == 'USGS_ASTRO_FRAME_SENSOR_MODEL'
def test_hayabusa_load(test_kernels, label_type): label_file = get_image_label('hyb2_onc_20151203_084458_w2f_l2a', label_type) isd_str = ale.loads(label_file, props={'kernels': test_kernels}, verbose=False) isd_obj = json.loads(isd_str) compare_dict = get_isd('hayabusa2') print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == []
def test_mro_load(test_kernels, label_type): label_file = get_image_label('B10_013341_1010_XN_79S172W', label_type) isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_obj = json.loads(isd_str) compare_isd = get_isd('ctx') if label_type == 'isis3': compare_isd['image_samples'] = 5000 assert compare_dicts(isd_obj, compare_isd) == []
def test_galileo_load(test_kernels, label_type, kernel_type): label_file = get_image_label('E6I0032', label_type) if label_type == 'isis3' and kernel_type == 'isis': label_file = get_image('E6I0032') isd_str = ale.loads(label_file) compare_isd = get_isd('galileossi_isis') else: isd_str = ale.loads(label_file, props={'kernels': test_kernels}) compare_isd = get_isd('galileossi') isd_obj = json.loads(isd_str) assert compare_dicts(isd_obj, compare_isd) == []
def test_no_tables(): test_file = get_image_label('B10_013341_1010_XN_79S172W') test_mix_in = IsisSpice() test_mix_in._file = test_file test_mix_in.label = pvl.load(test_file) with pytest.raises(ValueError): test_mix_in.inst_pointing_table with pytest.raises(ValueError): test_mix_in.body_orientation_table with pytest.raises(ValueError): test_mix_in.inst_position_table with pytest.raises(ValueError): test_mix_in.sun_position_table
def test_load_isis(): label_file = get_image_label("N1702360370_1", label_type="isis3") compare_dict = get_isd("cassiniiss_isis") def read_detatched_table(table_label, cube): return get_table_data("N1702360370_1", table_label["Name"]) with patch('ale.base.data_isis.read_table_data', side_effect=read_detatched_table): isd_str = ale.loads(label_file) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == []
def test_load(test_kernels, label_type, image, kernel_type): if (kernel_type == "naif"): label_file = get_image_label(image, label_type) isd_str = ale.loads(label_file, props={'kernels': test_kernels}) compare_isd = image_dict[image] else: label_file = get_image(image) isd_str = ale.loads(label_file) compare_isd = get_isd("messmdis_isis") isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_isd) == []
def test_viking1_load(test_kernels, label_type, formatter, image, kernel_type): if kernel_type == "naif": label_file = get_image_label(image, label_type) isis_isd = ale.loads(label_file, props={'kernels': test_kernels[image]}, formatter=formatter) compare_dict = image_dict[image][formatter] else: label_file = get_image(image) isis_isd = ale.loads(label_file, verbose=True) isd_name = image + '_isis' compare_dict = get_isd(isd_name) print(isis_isd) assert compare_dicts(json.loads(isis_isd), compare_dict) == []
def test_mro_load(test_kernels, label_type, formatter, usgscsm_compare_dict, isis_compare_dict): label_file = get_image_label('B10_013341_1010_XN_79S172W', label_type) usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels}, formatter=formatter) usgscsm_isd_obj = json.loads(usgscsm_isd_str) print(json.dumps(usgscsm_isd_obj, indent=4)) if formatter=='usgscsm': # Check to change the line based on ISIS vs PDS3 # This is due to a processing step in mroctx2isis that removes samples # based on some flags on the label if label_type == 'isis3': usgscsm_compare_dict['image_samples'] = 5000 assert compare_dicts(usgscsm_isd_obj, usgscsm_compare_dict) == [] else: assert compare_dicts(usgscsm_isd_obj, isis_compare_dict) == []
def test_load_mes_with_no_metakernels(tmpdir, monkeypatch, mess_kernels): monkeypatch.setenv('ALESPICEROOT', str(tmpdir)) # reload module to repopulate ale.spice_root reload(ale) updated_kernels = mess_kernels label_file = get_image_label('EN1072174528M') tmpdir.mkdir('mes') # intentially make an mk file with wrong year with open(tmpdir.join('mes', 'mes_2016_v1.tm'), 'w+') as mk_file: mk_str = util.write_metakernel_from_kernel_list(updated_kernels) print(mk_str) mk_file.write(mk_str) with pytest.raises(Exception): usgscsm_isd_obj = ale.load(label_file, verbose=True)
def test_load_mes_from_metakernels(tmpdir, monkeypatch, mess_kernels): monkeypatch.setenv('ALESPICEROOT', str(tmpdir)) # reload module to repopulate ale.spice_root reload(ale) updated_kernels = mess_kernels label_file = get_image_label('EN1072174528M') tmpdir.mkdir('mess') with open(tmpdir.join('mess', 'mess_2015_v1.tm'), 'w+') as mk_file: mk_str = util.write_metakernel_from_kernel_list(updated_kernels) print(mk_str) mk_file.write(mk_str) usgscsm_isd_obj = ale.load(label_file, verbose=True) assert usgscsm_isd_obj['name_platform'] == 'MESSENGER' assert usgscsm_isd_obj['name_sensor'] == 'MERCURY DUAL IMAGING SYSTEM NARROW ANGLE CAMERA' assert usgscsm_isd_obj['name_model'] == 'USGS_ASTRO_FRAME_SENSOR_MODEL'
def setUp(self): label = get_image_label("E6I0032", "isis3") self.driver = GalileoSsiIsisLabelNaifSpiceDriver(label)
def setUp(self): label = get_image_label("f735a00", "isis3") self.driver = VikingIsisLabelNaifSpiceDriver(label)
def setUp(self): label = get_image_label("h5270_0000_ir2", "isis3") self.driver = MexHrscIsisLabelNaifSpiceDriver(label)