diff --git a/ale/drivers/apollo_drivers.py b/ale/drivers/apollo_drivers.py index 04e475a0e..927915e10 100644 --- a/ale/drivers/apollo_drivers.py +++ b/ale/drivers/apollo_drivers.py @@ -3,9 +3,10 @@ from ale.base import Driver from ale.base.data_naif import NaifSpice +from ale.base.data_isis import IsisSpice, read_table_data, parse_table from ale.base.label_isis import IsisLabel from ale.base.type_distortion import NoDistortion -from ale.base.type_sensor import Framer +from ale.base.type_sensor import Framer, LineScanner class ApolloMetricIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, NoDistortion, Driver): @@ -136,3 +137,207 @@ def detector_center_sample(self): The center of the CCD formatted as line, sample """ return float(spice.gdpool('INS{}_BORESIGHT'.format(self.ikid), 0, 3)[1]) + + +class ApolloPanIsisLabelIsisSpiceDriver(LineScanner, IsisLabel, IsisSpice, NoDistortion, Driver): + + @property + def instrument_name(self): + """ + The name of the instrument. + + Returns + ------- + str + The short text name for the instrument + """ + id_lookup = { + "APOLLO_PAN": "APOLLO PANORAMIC CAMERA" + } + + return id_lookup[super().instrument_id] + + + @property + def sensor_model_version(self): + """ + The ISIS Sensor model number for ApolloPanCamera in ISIS. + + Returns + ------- + : int + ISIS sensor model version + """ + return 1 + + + @property + def focal2pixel_lines(self): + """ + The line component of the affine transformation + from focal plane coordinates to centered ccd pixels. + + This information is not contained in the label, so it is + hard-coded to match apollo kernels. + + Returns + ------- + list : + The coefficients of the affine transformation + formatted as constant, x, y + """ + return (0.0, 0.0, 200.0) + + @property + def focal2pixel_samples(self): + """ + The sample component of the affine transformation + from focal plane coordinates to centered ccd pixels + + This information is not contained in the label, so it is + hard-coded to match apollo kernels. + + Returns + ------- + list : + The coefficients of the affine transformation + formatted as constant, x, y + """ + return (0.0, 200.0, 0.0) + + @property + def pixel2focal_x(self): + """ + Returns detector to focal plane x. + + This information is not contained in the label, so it is + hard-coded to match apollo kernels. + + Returns + ------- + : list + detector to focal plane x + """ + return (0.0, 0.005, 0.0) + + + @property + def pixel2focal_y(self): + """ + Returns detector to focal plane y. + + This information is not contained in the label, so it is + hard-coded to match apollo kernels. + + Returns + ------- + : list + detector to focal plane y + """ + return (0.0, 0.0, 0.0) + + + @property + def focal_length(self): + """ + The focal length of the instrument + Hard-coded to return the same value as Isis::ApolloPanoramicCamera.cpp + + Returns + ------- + float : + The focal length in millimeters + """ + return 610.0 + + + @property + def ephemeris_start_time(self): + """ + The image start time in ephemeris time + The only time information written to the label by apollopaninit is UTC time, + so this pulls from tables. + + Returns + ------- + float : + The image start ephemeris time + """ + isis_bytes = read_table_data(self.label['Table'], self._file) + return parse_table(self.label['Table'], isis_bytes)['ET'][0] + + + @property + def target_body_radii(self): + + """ + The triaxial radii of the target body + This information is not added to the label by apollopaninit, so it + is pulled from kernels. + + Returns + ------- + list : + The body radii in kilometers. For most bodies, + this is formatted as semimajor, semimajor, + semiminor + """ + return (1737.4, 1737.4, 1737.4) + + + @property + def detector_center_line(self): + """ + The center line of the CCD in detector pixels + This information is not recorded in the label by apollopaninit, so this is + hard-coded to match the apollo kernels. + + Returns + ------- + list : + The center line of the CCD + """ + if self.spacecraft_name == "APOLLO16": + return 11503.5 + else: + return 11450.5 + + + @property + def detector_center_sample(self): + """ + The center sample of the CCD in detector pixels + This information is not recorded in the label by apollopaninit, so this is + hard-coded to match the apollo kernels. + + Returns + ------- + list : + The center sample of the CCD + """ + if self.spacecraft_name == "APOLLO16": + return 115537.5 + else: + return 11450.5 + + + @property + def naif_keywords(self): + """ + Apollopaninit doesn't create naif keywords section, so populate it manually here. + Only includes the NAIF keywords that are necessary for the ALE formatter. + ------- + : dict + Dictionary of NAIF keywords that are normally attached to the label + """ + return {"BODY301_RADII": self.target_body_radii, + "BODY_FRAME_CODE": self.target_frame_id, + f"INS{self.ikid}_CONSTANT_TIME_OFFSET": 0, + f"INS{self.ikid}_ADDITIONAL_PREROLL": 0, + f"INS{self.ikid}_ADDITIVE_LINE_ERROR": 0, + f"INS{self.ikid}_MULTIPLI_LINE_ERROR": 0, + f"INS{self.ikid}_TRANSX": self.pixel2focal_x, + f"INS{self.ikid}_TRANSY": self.pixel2focal_y, + f"INS{self.ikid}_ITRANSS": self.focal2pixel_samples, + f"INS{self.ikid}_ITRANSL": self.focal2pixel_lines, + "BODY_CODE": 301} \ No newline at end of file diff --git a/tests/pytests/data/apolloPanImage/apolloPanImage_isis3.lbl b/tests/pytests/data/apolloPanImage/apolloPanImage_isis3.lbl new file mode 100644 index 000000000..d16adc172 --- /dev/null +++ b/tests/pytests/data/apolloPanImage/apolloPanImage_isis3.lbl @@ -0,0 +1,282 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 479 + TileLines = 319 + + Group = Dimensions + Samples = 23950 + Lines = 2552 + Bands = 1 + End_Group + + Group = Pixels + Type = Real + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = APOLLO15 + InstrumentName = "APOLLO PANORAMIC CAMERA" + InstrumentId = APOLLO_PAN + TargetName = MOON + StartTime = 1971-08-04T16:28:24.9159358 + StopTime = 1971-08-04T16:28:26.7420639 + LineExposureDuration = -0.0015893195483426 + End_Group + + Group = Kernels + NaifFrameCode = -915230 + LeapSecond = $base/kernels/lsk/naif0010.tls + TargetAttitudeShape = ($base/kernels/pck/pck00009.tpc, + $apollo15/kernels/pck/moon_080317.tf, + $apollo15/kernels/pck/moon_assoc_me.tf) + TargetPosition = (Table, + $apollo15/kernels/tspk/moon_pa_de421_1900-2050.bpc, + $apollo15/kernels/tspk/de421.bsp) + ShapeModel = $base/dems/ldem_128ppd_Mar2011_clon180_radius_pad.c- + ub + InstrumentPointing = Table + InstrumentPosition = Table + InstrumentAddendum = $apollo15/kernels/iak/apolloPanAddendum001.ti + CameraVersion = 1 + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = Table + Name = BodyRotation + StartByte = 244547137 + Bytes = 5568 + Records = 87 + ByteOrder = Lsb + TimeDependentFrames = (31006, 1) + ConstantFrames = (31001, 31007, 31006) + ConstantRotation = (0.99999987325471, -3.29285422375571e-04, + 3.80869618671387e-04, 3.29286000210947e-04, + 0.99999994578431, -1.45444093783627e-06, + -3.80869119096078e-04, 1.57985578682691e-06, + 0.99999992746811) + CkTableStartTime = -896556653.92828 + CkTableEndTime = -896556652.04736 + CkTableOriginalSize = 87 + FrameTypeCode = 6 + Description = "Created by apollopaninit" + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = SunPosition + StartByte = 244552705 + Bytes = 4872 + Records = 87 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -896556653.92828 + SpkTableEndTime = -896556652.04736 + SpkTableOriginalSize = 87.0 + Description = "Created by apollopaninit" + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = InstrumentPosition + StartByte = 244557577 + Bytes = 64 + Records = 2 + ByteOrder = Lsb + SpkTableStartTime = -896556653.91001 + SpkTableEndTime = -896556652.04736 + CacheType = Linear + Description = "Created by apollopaninit" + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = InstrumentPointing + StartByte = 244557641 + Bytes = 3480 + Records = 87 + ByteOrder = Lsb + CkTableStartTime = -896556653.92828 + CkTableEndTime = -896556652.04736 + Description = "Created by appollopan2isis" + TimeDependentFrames = (-915000, 1) + ConstantFrames = (-915230, -915000) + ConstantRotation = (1, 0, 0, 0, 1, 0, 0, 0, 1) + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = "Fiducial Measurement" + StartByte = 244561121 + Bytes = 1780 + Records = 89 + ByteOrder = Lsb + + Group = Field + Name = FID_INEX + Type = Integer + Size = 1 + End_Group + + Group = Field + Name = X_COORD + Type = Double + Size = 1 + End_Group + + Group = Field + Name = Y_COORD + Type = Double + Size = 1 + End_Group +End_Object +End diff --git a/tests/pytests/data/isds/apolloPanImage_isd.json b/tests/pytests/data/isds/apolloPanImage_isd.json new file mode 100644 index 000000000..401a706e7 --- /dev/null +++ b/tests/pytests/data/isds/apolloPanImage_isd.json @@ -0,0 +1,2808 @@ +{ + "isis_camera_version": 1, + "image_lines": 2552, + "image_samples": 23950, + "name_platform": "APOLLO15", + "name_sensor": "APOLLO PANORAMIC CAMERA", + "reference_height": { + "maxheight": 1000, + "minheight": -1000, + "unit": "m" + }, + "name_model": "USGS_ASTRO_LINE_SCANNER_SENSOR_MODEL", + "interpolation_method": "lagrange", + "line_scan_rate": [ + [ + 0.5, + 2.0279717445373535, + -0.0015893195483426 + ] + ], + "starting_ephemeris_time": -896556653.9282758, + "center_ephemeris_time": -896556655.9562476, + "radii": { + "semimajor": 1737.4, + "semiminor": 1737.4, + "unit": "km" + }, + "body_rotation": { + "time_dependent_frames": [ + 31006, + 1 + ], + "ck_table_start_time": -896556653.9282758, + "ck_table_end_time": -896556652.0473639, + "ck_table_original_size": 87, + "ephemeris_times": [ + -896556653.9282758, + -896556653.9064047, + -896556653.8845336, + -896556653.8626627, + -896556653.8407916, + -896556653.8189205, + -896556653.7970494, + -896556653.7751783, + -896556653.7533072, + -896556653.7314363, + -896556653.7095652, + -896556653.6876941, + -896556653.665823, + -896556653.6439519, + -896556653.6220808, + -896556653.6002098, + -896556653.5783387, + -896556653.5564677, + -896556653.5345966, + -896556653.5127255, + -896556653.4908544, + -896556653.4689834, + -896556653.4471123, + -896556653.4252412, + -896556653.4033701, + -896556653.381499, + -896556653.3596281, + -896556653.337757, + -896556653.3158859, + -896556653.2940148, + -896556653.2721437, + -896556653.2502726, + -896556653.2284017, + -896556653.2065306, + -896556653.1846595, + -896556653.1627884, + -896556653.1409173, + -896556653.1190462, + -896556653.0971752, + -896556653.0753042, + -896556653.0534331, + -896556653.031562, + -896556653.0096909, + -896556652.9878199, + -896556652.9659488, + -896556652.9440777, + -896556652.9222066, + -896556652.9003356, + -896556652.8784645, + -896556652.8565935, + -896556652.8347224, + -896556652.8128513, + -896556652.7909802, + -896556652.7691091, + -896556652.747238, + -896556652.7253671, + -896556652.703496, + -896556652.6816249, + -896556652.6597538, + -896556652.6378827, + -896556652.6160116, + -896556652.5941406, + -896556652.5722696, + -896556652.5503985, + -896556652.5285274, + -896556652.5066563, + -896556652.4847853, + -896556652.4629142, + -896556652.4410431, + -896556652.419172, + -896556652.397301, + -896556652.3754299, + -896556652.3535589, + -896556652.3316878, + -896556652.3098167, + -896556652.2879456, + -896556652.2660745, + -896556652.2442034, + -896556652.2223325, + -896556652.2004614, + -896556652.1785903, + -896556652.1567192, + -896556652.1348481, + -896556652.112977, + -896556652.091106, + -896556652.069235, + -896556652.0473639 + ], + "quaternions": [ + [ + 0.5631913942473026, + -0.11874713318587575, + 0.15297462637514467, + -0.8033139706810161 + ], + [ + 0.5631913708676717, + -0.11874712872833479, + 0.15297462985760366, + -0.8033139870678826 + ], + [ + 0.5631913474880289, + -0.11874712427079152, + 0.1529746333400642, + -0.8033140034547565 + ], + [ + 0.5631913241085225, + -0.11874711981327427, + 0.15297463682250426, + -0.8033140198415337 + ], + [ + 0.5631913007288901, + -0.11874711535573297, + 0.15297464030496286, + -0.8033140362283983 + ], + [ + 0.5631912773492574, + -0.11874711089819158, + 0.15297464378742134, + -0.8033140526152621 + ], + [ + 0.563191253969624, + -0.11874710644065013, + 0.15297464726987972, + -0.8033140690021253 + ], + [ + 0.5631912305899902, + -0.11874710198310855, + 0.15297465075233793, + -0.8033140853889877 + ], + [ + 0.5631912072103562, + -0.11874709752556685, + 0.15297465423479603, + -0.8033141017758495 + ], + [ + 0.5631911838308468, + -0.118747093068049, + 0.1529746577172353, + -0.8033141181626229 + ], + [ + 0.5631911604512116, + -0.11874708861050709, + 0.15297466119969313, + -0.8033141345494832 + ], + [ + 0.5631911370715645, + -0.11874708415296295, + 0.1529746646821525, + -0.803314150936351 + ], + [ + 0.5631911136919282, + -0.11874707969542084, + 0.15297466816461006, + -0.80331416732321 + ], + [ + 0.5631910903122915, + -0.11874707523787865, + 0.15297467164706752, + -0.8033141837100686 + ], + [ + 0.5631910669326545, + -0.11874707078033636, + 0.15297467512952484, + -0.8033142000969262 + ], + [ + 0.5631910435531423, + -0.11874706632281785, + 0.15297467861196332, + -0.8033142164836954 + ], + [ + 0.5631910201735042, + -0.11874706186527537, + 0.1529746820944204, + -0.8033142328705518 + ], + [ + 0.5631909967938656, + -0.11874705740773278, + 0.15297468557687732, + -0.8033142492574075 + ], + [ + 0.5631909734142152, + -0.11874705295018793, + 0.1529746890593358, + -0.8033142656442706 + ], + [ + 0.5631909500345756, + -0.11874704849264514, + 0.15297469254179252, + -0.8033142820311249 + ], + [ + 0.5631909266549359, + -0.11874704403510224, + 0.152974696024249, + -0.8033142984179784 + ], + [ + 0.5631909032754207, + -0.11874703957758316, + 0.1529746995066868, + -0.8033143148047437 + ], + [ + 0.5631908798957797, + -0.11874703512004006, + 0.152974702989143, + -0.8033143311915959 + ], + [ + 0.5631908565161382, + -0.11874703066249684, + 0.1529747064715992, + -0.8033143475784476 + ], + [ + 0.5631908331364963, + -0.11874702620495356, + 0.15297470995405524, + -0.8033143639652984 + ], + [ + 0.5631908097568425, + -0.118747021747408, + 0.15297471343651284, + -0.8033143803521567 + ], + [ + 0.563190786377325, + -0.1187470172898884, + 0.15297471691894987, + -0.8033143967389184 + ], + [ + 0.5631907629976818, + -0.1187470128323448, + 0.15297472040140553, + -0.8033144131257673 + ], + [ + 0.5631907396180378, + -0.1187470083748011, + 0.15297472388386105, + -0.8033144295126157 + ], + [ + 0.5631907162383936, + -0.11874700391725729, + 0.1529747273663164, + -0.803314445899463 + ], + [ + 0.5631906928587488, + -0.11874699945971337, + 0.1529747308487716, + -0.8033144622863099 + ], + [ + 0.5631906694791035, + -0.1187469950021694, + 0.1529747343312268, + -0.8033144786731563 + ], + [ + 0.563190646099583, + -0.11874699054464923, + 0.1529747378136631, + -0.8033144950599138 + ], + [ + 0.5631906227199368, + -0.118746986087105, + 0.152974741296118, + -0.8033145114467588 + ], + [ + 0.5631905993402788, + -0.1187469816295585, + 0.1529747447785744, + -0.8033145278336108 + ], + [ + 0.5631905759606316, + -0.11874697717201411, + 0.15297474826102897, + -0.8033145442204542 + ], + [ + 0.5631905525809838, + -0.11874697271446963, + 0.15297475174348346, + -0.8033145606072971 + ], + [ + 0.5631905292013359, + -0.11874696825692502, + 0.15297475522593781, + -0.8033145769941391 + ], + [ + 0.5631905058218126, + -0.11874696379940418, + 0.15297475870837335, + -0.8033145933808927 + ], + [ + 0.5631904824421634, + -0.11874695934185936, + 0.1529747621908274, + -0.8033146097677334 + ], + [ + 0.5631904590625139, + -0.11874695488431446, + 0.15297476567328136, + -0.8033146261545736 + ], + [ + 0.5631904356828523, + -0.1187469504267673, + 0.15297476915573693, + -0.803314642541421 + ], + [ + 0.563190412303202, + -0.1187469459692222, + 0.15297477263819062, + -0.8033146589282596 + ], + [ + 0.5631903889236761, + -0.11874694151170086, + 0.1529747761206255, + -0.8033146753150098 + ], + [ + 0.5631903655440247, + -0.11874693705415555, + 0.1529747796030789, + -0.8033146917018472 + ], + [ + 0.5631903421643727, + -0.11874693259661012, + 0.15297478308553222, + -0.8033147080886839 + ], + [ + 0.5631903187847204, + -0.11874692813906461, + 0.15297478656798544, + -0.8033147244755198 + ], + [ + 0.5631902954050673, + -0.11874692368151901, + 0.15297479005043846, + -0.8033147408623553 + ], + [ + 0.563190272025414, + -0.1187469192239733, + 0.1529747935328914, + -0.8033147572491898 + ], + [ + 0.5631902486458854, + -0.11874691476645136, + 0.1529747970153255, + -0.8033147736359358 + ], + [ + 0.5631902252662195, + -0.11874691030890329, + 0.15297480049777987, + -0.8033147900227773 + ], + [ + 0.5631902018865649, + -0.11874690585135726, + 0.15297480398023242, + -0.8033148064096097 + ], + [ + 0.5631901785069093, + -0.11874690139381114, + 0.15297480746268485, + -0.8033148227964417 + ], + [ + 0.5631901551272538, + -0.11874689693626492, + 0.15297481094513707, + -0.803314839183273 + ], + [ + 0.5631901317475974, + -0.11874689247871859, + 0.15297481442758926, + -0.8033148555701035 + ], + [ + 0.5631901083680659, + -0.11874688802119608, + 0.15297481791002257, + -0.8033148719568455 + ], + [ + 0.5631900849884088, + -0.11874688356364957, + 0.15297482139247448, + -0.8033148883436747 + ], + [ + 0.5631900616087395, + -0.11874687910610075, + 0.15297482487492794, + -0.8033149047305114 + ], + [ + 0.5631900382290814, + -0.11874687464855405, + 0.15297482835737955, + -0.8033149211173392 + ], + [ + 0.5631900148494227, + -0.11874687019100719, + 0.15297483183983107, + -0.8033149375041663 + ], + [ + 0.5631899914697636, + -0.11874686573346029, + 0.15297483532228243, + -0.8033149538909927 + ], + [ + 0.5631899680902293, + -0.11874686127593713, + 0.15297483880471496, + -0.8033149702777307 + ], + [ + 0.5631899447105692, + -0.11874685681838999, + 0.1529748422871661, + -0.8033149866645559 + ], + [ + 0.5631899213309086, + -0.1187468523608428, + 0.15297484576961712, + -0.8033150030513804 + ], + [ + 0.5631898979512475, + -0.11874684790329545, + 0.15297484925206795, + -0.8033150194382042 + ], + [ + 0.5631898745715744, + -0.11874684344574585, + 0.15297485273452038, + -0.8033150358250352 + ], + [ + 0.5631898511920379, + -0.1187468389882222, + 0.15297485621695234, + -0.8033150522117698 + ], + [ + 0.5631898278123753, + -0.11874683453067457, + 0.15297485969940275, + -0.8033150685985916 + ], + [ + 0.5631898044327123, + -0.11874683007312688, + 0.1529748631818531, + -0.8033150849854126 + ], + [ + 0.5631897810530487, + -0.11874682561557903, + 0.15297486666430335, + -0.803315101372233 + ], + [ + 0.563189757673385, + -0.11874682115803108, + 0.15297487014675337, + -0.8033151177590526 + ], + [ + 0.5631897342937204, + -0.11874681670048305, + 0.15297487362920334, + -0.8033151341458716 + ], + [ + 0.5631897109141808, + -0.11874681224295881, + 0.15297487711163452, + -0.8033151505326023 + ], + [ + 0.5631896875345156, + -0.1187468077854106, + 0.1529748805940842, + -0.8033151669194198 + ], + [ + 0.5631896641548381, + -0.11874680332786007, + 0.15297488407653548, + -0.8033151833062449 + ], + [ + 0.5631896407751718, + -0.11874679887031164, + 0.1529748875589849, + -0.8033151996930611 + ], + [ + 0.5631896173955051, + -0.11874679441276309, + 0.1529748910414342, + -0.8033152160798768 + ], + [ + 0.5631895940158377, + -0.11874678995521445, + 0.15297489452388335, + -0.8033152324666917 + ], + [ + 0.5631895706362953, + -0.1187467854976896, + 0.15297489800631375, + -0.8033152488534182 + ], + [ + 0.563189547256627, + -0.11874678104014075, + 0.15297490148876267, + -0.8033152652402317 + ], + [ + 0.5631895238769582, + -0.11874677658259185, + 0.15297490497121147, + -0.8033152816270447 + ], + [ + 0.5631895004972891, + -0.11874677212504278, + 0.15297490845366016, + -0.8033152980138568 + ], + [ + 0.5631894771176079, + -0.11874676766749144, + 0.15297491193611035, + -0.8033153144006764 + ], + [ + 0.5631894537379377, + -0.1187467632099422, + 0.1529749154185587, + -0.8033153307874872 + ], + [ + 0.5631894303583924, + -0.11874675875241676, + 0.15297491890098835, + -0.8033153471742096 + ], + [ + 0.5631894069787212, + -0.11874675429486732, + 0.1529749223834365, + -0.8033153635610192 + ], + [ + 0.5631893835990496, + -0.11874674983731777, + 0.1529749258658845, + -0.803315379947828 + ] + ], + "angular_velocities": [ + [ + 5.0893544200631194e-08, + -1.0117904987049646e-06, + 2.461213036281154e-06 + ], + [ + 5.089354421883666e-08, + -1.0117904986957658e-06, + 2.4612130362727807e-06 + ], + [ + 5.0893544237042236e-08, + -1.0117904986865668e-06, + 2.4612130362644065e-06 + ], + [ + 5.089354425524771e-08, + -1.0117904986773685e-06, + 2.4612130362560336e-06 + ], + [ + 5.089354427345333e-08, + -1.01179049866817e-06, + 2.4612130362476594e-06 + ], + [ + 5.089354429165879e-08, + -1.0117904986589707e-06, + 2.461213036239285e-06 + ], + [ + 5.0893544309864305e-08, + -1.0117904986497721e-06, + 2.461213036230912e-06 + ], + [ + 5.0893544328069816e-08, + -1.0117904986405732e-06, + 2.4612130362225373e-06 + ], + [ + 5.08935443462756e-08, + -1.0117904986313746e-06, + 2.461213036214164e-06 + ], + [ + 5.08935443644809e-08, + -1.0117904986221756e-06, + 2.4612130362057897e-06 + ], + [ + 5.0893544382686566e-08, + -1.0117904986129772e-06, + 2.4612130361974164e-06 + ], + [ + 5.089354440089208e-08, + -1.0117904986037785e-06, + 2.461213036189042e-06 + ], + [ + 5.089354441909764e-08, + -1.0117904985945795e-06, + 2.461213036180669e-06 + ], + [ + 5.089354443730309e-08, + -1.011790498585381e-06, + 2.4612130361722947e-06 + ], + [ + 5.089354445550871e-08, + -1.011790498576182e-06, + 2.461213036163921e-06 + ], + [ + 5.0893544473714054e-08, + -1.0117904985669831e-06, + 2.461213036155548e-06 + ], + [ + 5.089354449191972e-08, + -1.0117904985577848e-06, + 2.4612130361471734e-06 + ], + [ + 5.0893544510125274e-08, + -1.0117904985485858e-06, + 2.4612130361387996e-06 + ], + [ + 5.089354452833067e-08, + -1.011790498539387e-06, + 2.461213036130426e-06 + ], + [ + 5.089354454653638e-08, + -1.0117904985301882e-06, + 2.4612130361220525e-06 + ], + [ + 5.0893544564741826e-08, + -1.0117904985209893e-06, + 2.4612130361136774e-06 + ], + [ + 5.089354458294728e-08, + -1.011790498511791e-06, + 2.461213036105304e-06 + ], + [ + 5.089354460115272e-08, + -1.011790498502592e-06, + 2.4612130360969307e-06 + ], + [ + 5.089354461935822e-08, + -1.0117904984933931e-06, + 2.461213036088557e-06 + ], + [ + 5.089354463756393e-08, + -1.0117904984841944e-06, + 2.461213036080183e-06 + ], + [ + 5.0893544655769367e-08, + -1.0117904984749954e-06, + 2.461213036071809e-06 + ], + [ + 5.089354467397481e-08, + -1.0117904984657968e-06, + 2.461213036063435e-06 + ], + [ + 5.0893544692180355e-08, + -1.011790498456598e-06, + 2.461213036055061e-06 + ], + [ + 5.08935447103859e-08, + -1.0117904984473992e-06, + 2.4612130360466873e-06 + ], + [ + 5.089354472859134e-08, + -1.0117904984382007e-06, + 2.461213036038314e-06 + ], + [ + 5.0893544746796874e-08, + -1.0117904984290017e-06, + 2.4612130360299398e-06 + ], + [ + 5.0893544765002365e-08, + -1.0117904984198035e-06, + 2.4612130360215664e-06 + ], + [ + 5.08935447832077e-08, + -1.011790498410604e-06, + 2.461213036013192e-06 + ], + [ + 5.089354480141329e-08, + -1.0117904984014058e-06, + 2.461213036004819e-06 + ], + [ + 5.0893544819618824e-08, + -1.0117904983922066e-06, + 2.4612130359964447e-06 + ], + [ + 5.0893544837824355e-08, + -1.011790498383008e-06, + 2.4612130359880713e-06 + ], + [ + 5.089354485602989e-08, + -1.011790498373809e-06, + 2.4612130359796967e-06 + ], + [ + 5.0893544874235264e-08, + -1.0117904983646105e-06, + 2.461213035971323e-06 + ], + [ + 5.0893544892440695e-08, + -1.0117904983554115e-06, + 2.461213035962949e-06 + ], + [ + 5.089354491064618e-08, + -1.011790498346213e-06, + 2.461213035954576e-06 + ], + [ + 5.089354492885165e-08, + -1.0117904983370141e-06, + 2.461213035946202e-06 + ], + [ + 5.089354494705718e-08, + -1.0117904983278153e-06, + 2.4612130359378283e-06 + ], + [ + 5.089354496526271e-08, + -1.0117904983186166e-06, + 2.4612130359294533e-06 + ], + [ + 5.0893544983468137e-08, + -1.0117904983094178e-06, + 2.46121303592108e-06 + ], + [ + 5.0893545001673555e-08, + -1.0117904983002194e-06, + 2.4612130359127074e-06 + ], + [ + 5.0893545019879026e-08, + -1.0117904982910202e-06, + 2.461213035904333e-06 + ], + [ + 5.08935450380846e-08, + -1.0117904982818212e-06, + 2.461213035895958e-06 + ], + [ + 5.089354505628997e-08, + -1.0117904982726229e-06, + 2.461213035887586e-06 + ], + [ + 5.0893545074495485e-08, + -1.011790498263424e-06, + 2.4612130358792115e-06 + ], + [ + 5.089354509270086e-08, + -1.011790498254225e-06, + 2.461213035870837e-06 + ], + [ + 5.0893545110906374e-08, + -1.0117904982450266e-06, + 2.4612130358624636e-06 + ], + [ + 5.089354512911189e-08, + -1.0117904982358274e-06, + 2.461213035854089e-06 + ], + [ + 5.08935451473173e-08, + -1.0117904982266288e-06, + 2.461213035845716e-06 + ], + [ + 5.0893545165522814e-08, + -1.0117904982174302e-06, + 2.4612130358373427e-06 + ], + [ + 5.089354518372833e-08, + -1.0117904982082312e-06, + 2.461213035828969e-06 + ], + [ + 5.0893545201933584e-08, + -1.0117904981990325e-06, + 2.461213035820595e-06 + ], + [ + 5.0893545220139095e-08, + -1.0117904981898339e-06, + 2.461213035812221e-06 + ], + [ + 5.08935452383445e-08, + -1.011790498180635e-06, + 2.4612130358038476e-06 + ], + [ + 5.089354525655006e-08, + -1.0117904981714361e-06, + 2.461213035795473e-06 + ], + [ + 5.0893545274755415e-08, + -1.0117904981622373e-06, + 2.4612130357870992e-06 + ], + [ + 5.089354529296087e-08, + -1.0117904981530386e-06, + 2.461213035778726e-06 + ], + [ + 5.089354531116628e-08, + -1.0117904981438398e-06, + 2.461213035770352e-06 + ], + [ + 5.0893545329371676e-08, + -1.011790498134641e-06, + 2.4612130357619783e-06 + ], + [ + 5.089354534757723e-08, + -1.0117904981254422e-06, + 2.4612130357536037e-06 + ], + [ + 5.089354536578258e-08, + -1.0117904981162432e-06, + 2.461213035745231e-06 + ], + [ + 5.089354538398803e-08, + -1.0117904981070447e-06, + 2.4612130357368566e-06 + ], + [ + 5.089354540219348e-08, + -1.0117904980978461e-06, + 2.4612130357284837e-06 + ], + [ + 5.0893545420398767e-08, + -1.0117904980886471e-06, + 2.4612130357201095e-06 + ], + [ + 5.0893545438604264e-08, + -1.0117904980794483e-06, + 2.4612130357117353e-06 + ], + [ + 5.089354545680976e-08, + -1.0117904980702496e-06, + 2.461213035703362e-06 + ], + [ + 5.089354547501515e-08, + -1.0117904980610506e-06, + 2.4612130356949878e-06 + ], + [ + 5.089354549322065e-08, + -1.0117904980518518e-06, + 2.4612130356866144e-06 + ], + [ + 5.0893545511425936e-08, + -1.011790498042653e-06, + 2.4612130356782407e-06 + ], + [ + 5.089354552963133e-08, + -1.0117904980334547e-06, + 2.461213035669867e-06 + ], + [ + 5.089354554783682e-08, + -1.0117904980242555e-06, + 2.4612130356614927e-06 + ], + [ + 5.0893545566042204e-08, + -1.0117904980150567e-06, + 2.4612130356531185e-06 + ], + [ + 5.089354558424764e-08, + -1.011790498005858e-06, + 2.461213035644745e-06 + ], + [ + 5.089354560245303e-08, + -1.0117904979966591e-06, + 2.461213035636372e-06 + ], + [ + 5.089354562065836e-08, + -1.0117904979874606e-06, + 2.461213035627999e-06 + ], + [ + 5.089354563886374e-08, + -1.0117904979782616e-06, + 2.4612130356196234e-06 + ], + [ + 5.089354565706917e-08, + -1.0117904979690626e-06, + 2.4612130356112497e-06 + ], + [ + 5.0893545675274706e-08, + -1.0117904979598638e-06, + 2.4612130356028763e-06 + ], + [ + 5.0893545693480084e-08, + -1.0117904979506652e-06, + 2.461213035594502e-06 + ], + [ + 5.089354571168546e-08, + -1.0117904979414663e-06, + 2.461213035586129e-06 + ], + [ + 5.089354572989079e-08, + -1.0117904979322675e-06, + 2.461213035577755e-06 + ], + [ + 5.0893545748096167e-08, + -1.011790497923069e-06, + 2.4612130355693813e-06 + ], + [ + 5.089354576630154e-08, + -1.01179049791387e-06, + 2.461213035561008e-06 + ] + ], + "constant_frames": [ + 31001, + 31006 + ], + "constant_rotation": [ + 0.9999998732547142, + -0.0003292854223755708, + 0.0003808696186713869, + 0.0003292860002109467, + 0.999999945784306, + -1.4544409378362703e-06, + -0.0003808691190960776, + 1.5798557868269073e-06, + 0.9999999274681065 + ], + "reference_frame": 1 + }, + "instrument_pointing": { + "time_dependent_frames": [ + -915000, + 1 + ], + "ck_table_start_time": -896556653.9282768, + "ck_table_end_time": -896556652.047363, + "ck_table_original_size": 87, + "ephemeris_times": [ + -896556653.9282768, + -896556653.9064057, + -896556653.8845346, + -896556653.8626635, + -896556653.8407924, + -896556653.8189213, + -896556653.7970502, + -896556653.7751791, + -896556653.753308, + -896556653.731437, + -896556653.7095659, + -896556653.6876948, + -896556653.6658237, + -896556653.6439526, + -896556653.6220815, + -896556653.6002104, + -896556653.5783393, + -896556653.5564682, + -896556653.5345972, + -896556653.5127261, + -896556653.490855, + -896556653.4689839, + -896556653.4471128, + -896556653.4252417, + -896556653.4033706, + -896556653.3814995, + -896556653.3596284, + -896556653.3377573, + -896556653.3158863, + -896556653.2940152, + -896556653.2721441, + -896556653.250273, + -896556653.2284019, + -896556653.2065308, + -896556653.1846597, + -896556653.1627886, + -896556653.1409175, + -896556653.1190464, + -896556653.0971754, + -896556653.0753043, + -896556653.0534332, + -896556653.0315621, + -896556653.009691, + -896556652.9878199, + -896556652.9659488, + -896556652.9440777, + -896556652.9222066, + -896556652.9003356, + -896556652.8784645, + -896556652.8565934, + -896556652.8347223, + -896556652.8128512, + -896556652.7909801, + -896556652.769109, + -896556652.7472379, + -896556652.7253668, + -896556652.7034957, + -896556652.6816247, + -896556652.6597536, + -896556652.6378825, + -896556652.6160114, + -896556652.5941403, + -896556652.5722692, + -896556652.5503981, + -896556652.528527, + -896556652.5066559, + -896556652.4847848, + -896556652.4629138, + -896556652.4410427, + -896556652.4191716, + -896556652.3973005, + -896556652.3754294, + -896556652.3535583, + -896556652.3316872, + -896556652.3098161, + -896556652.287945, + -896556652.266074, + -896556652.2442029, + -896556652.2223318, + -896556652.2004607, + -896556652.1785896, + -896556652.1567185, + -896556652.1348474, + -896556652.1129763, + -896556652.0911052, + -896556652.0692341, + -896556652.047363 + ], + "quaternions": [ + [ + 0.9850782493088203, + -0.10144294526631335, + 0.13884762585023033, + -0.0071769345907541585 + ], + [ + 0.9861443303479817, + -0.09038656627181141, + 0.13899469991980914, + -0.005486506568332337 + ], + [ + 0.9870855099176137, + -0.07931850797613452, + 0.139127107809243, + -0.003797140471426363 + ], + [ + 0.9879016784644593, + -0.06824015427160185, + 0.13924477202626828, + -0.002109145667026522 + ], + [ + 0.9885927426648222, + -0.057152890670277595, + 0.13934761373595236, + -0.000422829246344647 + ], + [ + 0.9891586254253135, + -0.04605810414393493, + 0.1394355528433262, + 0.0012615041207732563 + ], + [ + 0.989599265881052, + -0.03495718296346454, + 0.1395085080797263, + 0.0029435523285794426 + ], + [ + 0.9899146193913316, + -0.023851516537718647, + 0.13956639709277893, + 0.004623015975202315 + ], + [ + 0.990104657532775, + -0.012742495251803373, + 0.13960913653988155, + 0.006299598499345497 + ], + [ + 0.990169368089983, + -0.0016315103048116935, + 0.13963664218510066, + 0.007973006313763822 + ], + [ + 0.9901087550436978, + 0.009480046452983932, + 0.13964882899937675, + 0.009642948935416862 + ], + [ + 0.9899228385564974, + 0.02059078268347781, + 0.13964561126391126, + 0.011309139112116888 + ], + [ + 0.9896116549560405, + 0.0316993057246245, + 0.13962690267659916, + 0.012971292945687427 + ], + [ + 0.9891752567158718, + 0.04280422275483499, + 0.13959261646146182, + 0.014629130011283298 + ], + [ + 0.9886137124338176, + 0.05390414095791406, + 0.139542665480845, + 0.01628237347303734 + ], + [ + 0.9879271068079866, + 0.0649976676884963, + 0.13947696235032975, + 0.017930750195727194 + ], + [ + 0.9871155406103936, + 0.07608341063799008, + 0.139395419556201, + 0.01957399085245908 + ], + [ + 0.9861791306582307, + 0.0871599780010051, + 0.13929794957534355, + 0.021211830028212045 + ], + [ + 0.9851180097828083, + 0.09822597864226575, + 0.13918446499741535, + 0.022844006319196735 + ], + [ + 0.9839323267961867, + 0.109280022264002, + 0.13905487864914132, + 0.024470262427974447 + ], + [ + 0.98262224645552, + 0.12032071957378045, + 0.1389091037206622, + 0.026090345254082863 + ], + [ + 0.9811879494251398, + 0.13134668245279668, + 0.13874705389367806, + 0.027704005980332895 + ], + [ + 0.9796296322364005, + 0.14235652412459449, + 0.13856864347131015, + 0.029311000154537605 + ], + [ + 0.9779475072453091, + 0.1533488593242132, + 0.1383737875095283, + 0.03091108776663725 + ], + [ + 0.9761418025879709, + 0.16432230446771554, + 0.1381624019499528, + 0.032504033321202275 + ], + [ + 0.9742127621338701, + 0.17527547782212896, + 0.1379344037539174, + 0.0340896059051937 + ], + [ + 0.9721606454370152, + 0.18620699967575446, + 0.1376897110375743, + 0.03566757925103714 + ], + [ + 0.9699857276849753, + 0.19711549250881902, + 0.13742824320799552, + 0.03723773179476747 + ], + [ + 0.9676882996458335, + 0.2079995811644788, + 0.13714992109997343, + 0.038799846729438606 + ], + [ + 0.9652686676130876, + 0.21885789302014125, + 0.1368546671134547, + 0.040353712053596065 + ], + [ + 0.9627271533485219, + 0.22968905815908072, + 0.13654240535140827, + 0.04189912061485099 + ], + [ + 0.9600640940230811, + 0.24049170954234508, + 0.13621306175797834, + 0.04343587014850867 + ], + [ + 0.9572798421557742, + 0.25126448318091843, + 0.13586656425674473, + 0.04496376331124932 + ], + [ + 0.9543747655506373, + 0.2620060183081226, + 0.13550284288893683, + 0.04648260770983196 + ], + [ + 0.9513492472317836, + 0.27271495755223435, + 0.13512182995145058, + 0.04799221592480598 + ], + [ + 0.94820368537657, + 0.2833899471093125, + 0.1347234601344343, + 0.04949240552930474 + ], + [ + 0.9449384932469111, + 0.2940296369161689, + 0.13430767065842641, + 0.05098299910274957 + ], + [ + 0.9415540991187674, + 0.304632680823513, + 0.13387440141069895, + 0.05246382423969182 + ], + [ + 0.9380509462098409, + 0.31519773676920365, + 0.13342359508078075, + 0.05393471355364608 + ], + [ + 0.9344294926055051, + 0.32572346695160637, + 0.13295519729493205, + 0.055395504676009254 + ], + [ + 0.9306902111830007, + 0.3362085380030119, + 0.1324691567494423, + 0.05684604025005064 + ], + [ + 0.9268335895339268, + 0.346651621163104, + 0.13196542534257202, + 0.05828616792003319 + ], + [ + 0.922860129885057, + 0.357051392452449, + 0.1314439583049394, + 0.05971574031553533 + ], + [ + 0.9187703657787669, + 0.36740633617199264, + 0.13090555012773544, + 0.061133755431664306 + ], + [ + 0.9145645648470904, + 0.3777152847099772, + 0.13034894286247276, + 0.06254577137704131 + ], + [ + 0.9102435265181836, + 0.38797678825719567, + 0.1297753919362364, + 0.06394592913679706 + ], + [ + 0.9058077941768241, + 0.3981897407506458, + 0.12918403014017918, + 0.06533495791833646 + ], + [ + 0.9012579421964525, + 0.40835284509410835, + 0.12857482993505784, + 0.0667127322070854 + ], + [ + 0.8965945590890756, + 0.4184648100046462, + 0.1279477677714089, + 0.06807913132491669 + ], + [ + 0.8918182474149481, + 0.4285243501849584, + 0.1273028242066503, + 0.06943403938487391 + ], + [ + 0.8869296236908019, + 0.43853018649550995, + 0.1266399840195554, + 0.0707773452414859 + ], + [ + 0.8819293182966542, + 0.448481046126416, + 0.12595923632193384, + 0.07210894243676959 + ], + [ + 0.8768179753812283, + 0.45837566276901937, + 0.12526057466749554, + 0.07342872914190272 + ], + [ + 0.8715962527660063, + 0.46821277678716855, + 0.12454399715757679, + 0.07473660809482009 + ], + [ + 0.8662648218479535, + 0.4779911353881269, + 0.12380950654375007, + 0.07603248653369199 + ], + [ + 0.860824367500933, + 0.48770949279309445, + 0.12305711032712205, + 0.07731627612643788 + ], + [ + 0.8552755879758474, + 0.49736661040730296, + 0.12228682085419644, + 0.07858789289637767 + ], + [ + 0.8496191947995274, + 0.5069612569896434, + 0.1214986554092194, + 0.07984725714409444 + ], + [ + 0.843855912672401, + 0.5164922088218088, + 0.12069263630278154, + 0.08109429336570242 + ], + [ + 0.8379864793649684, + 0.5259582498768767, + 0.11986879095676348, + 0.08232893016748144 + ], + [ + 0.832011645613107, + 0.5353581719873408, + 0.11902715198527244, + 0.0835511001771812 + ], + [ + 0.8259321750122364, + 0.5446907750125198, + 0.11816775727164229, + 0.08476073995198001 + ], + [ + 0.819748843910367, + 0.553954867005322, + 0.11729065004131081, + 0.08595778988328948 + ], + [ + 0.813462441300059, + 0.5631492643783162, + 0.11639587893052142, + 0.08714219409850069 + ], + [ + 0.8070737687093158, + 0.5722727920690843, + 0.11548349805071616, + 0.08831390035983386 + ], + [ + 0.8005836400914383, + 0.5813242837047992, + 0.11455356704856866, + 0.08947285996040209 + ], + [ + 0.7939928817138578, + 0.590302581766014, + 0.11360615116150177, + 0.0906190276176703 + ], + [ + 0.7873023320459843, + 0.5992065377495852, + 0.11264132126876711, + 0.09175236136435948 + ], + [ + 0.7805128416460781, + 0.6080350123307292, + 0.11165915393781906, + 0.0928728224370552 + ], + [ + 0.773625273047176, + 0.6167868755241512, + 0.11065973146603976, + 0.09398037516259247 + ], + [ + 0.7666405006420937, + 0.6254610068442086, + 0.10964314191771803, + 0.09507498684238583 + ], + [ + 0.7595594105675224, + 0.6340562954640729, + 0.10860947915622243, + 0.09615662763485562 + ], + [ + 0.7523829005872442, + 0.6425716403738454, + 0.10755884287131723, + 0.0972252704361049 + ], + [ + 0.7451118799744829, + 0.6510059505375939, + 0.10649133860155853, + 0.09828089075900724 + ], + [ + 0.7377472693934151, + 0.6593581450492563, + 0.10540707775178396, + 0.09932346661083305 + ], + [ + 0.7302900007798513, + 0.6676271532873956, + 0.10430617760552316, + 0.1003529783696434 + ], + [ + 0.7227410172211224, + 0.6758119150687268, + 0.10318876133253382, + 0.10136940865948983 + ], + [ + 0.715101272835168, + 0.6839113808004194, + 0.10205495799116153, + 0.10237274222471837 + ], + [ + 0.7073717326488619, + 0.6919245116311044, + 0.10090490252570437, + 0.10336296580343969 + ], + [ + 0.6995533724755804, + 0.6998502796005597, + 0.09973873575866923, + 0.10434006800037374 + ], + [ + 0.6916471787920381, + 0.7076876677880263, + 0.09855660437796801, + 0.1053040391592054 + ], + [ + 0.6836541486143977, + 0.7154356704591225, + 0.09735866091899026, + 0.10625487123464125 + ], + [ + 0.675575289373678, + 0.72309329321131, + 0.09614506374161555, + 0.10719255766430091 + ], + [ + 0.6674116187904612, + 0.7306595531178874, + 0.09491597700206866, + 0.10811709324065182 + ], + [ + 0.659164164748936, + 0.7381334788704372, + 0.09367157061983983, + 0.10902847398306406 + ], + [ + 0.6508339651702598, + 0.7455141109197353, + 0.09241202023940522, + 0.10992669701026019 + ], + [ + 0.6424220678852782, + 0.7528005016150441, + 0.09113750718701119, + 0.11081176041322799 + ] + ], + "angular_velocities": null, + "reference_frame": 1, + "constant_frames": [ + -915230, + -915000 + ], + "constant_rotation": [ + 1.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "naif_keywords": { + "BODY301_RADII": [ + 1737.4, + 1737.4, + 1737.4 + ], + "BODY_FRAME_CODE": 31001, + "INS-915230_CONSTANT_TIME_OFFSET": 0, + "INS-915230_ADDITIONAL_PREROLL": 0, + "INS-915230_ADDITIVE_LINE_ERROR": 0, + "INS-915230_MULTIPLI_LINE_ERROR": 0, + "INS-915230_TRANSX": [ + 0.0, + 0.005, + 0.0 + ], + "INS-915230_TRANSY": [ + 0.0, + 0.0, + 0.0 + ], + "INS-915230_ITRANSS": [ + 0.0, + 200.0, + 0.0 + ], + "INS-915230_ITRANSL": [ + 0.0, + 0.0, + 200.0 + ], + "BODY_CODE": 301 + }, + "detector_sample_summing": 1, + "detector_line_summing": 1, + "focal_length_model": { + "focal_length": 610.0 + }, + "detector_center": { + "line": 11450.5, + "sample": 11450.5 + }, + "focal2pixel_lines": [ + 0.0, + 0.0, + 200.0 + ], + "focal2pixel_samples": [ + 0.0, + 200.0, + 0.0 + ], + "optical_distortion": { + "radial": { + "coefficients": [ + 0.0, + 0.0, + 0.0 + ] + } + }, + "starting_detector_line": 0, + "starting_detector_sample": 0, + "instrument_position": { + "spk_table_start_time": -896556653.9100145, + "spk_table_end_time": -896556652.0473639, + "spk_table_original_size": 2, + "ephemeris_times": [ + -896556653.9100145, + -896556652.0473639 + ], + "positions": [ + [ + -738.4459715176926, + 1248.5712565643134, + 1155.0589791515376 + ], + [ + -735.8725484872542, + 1248.972721311876, + 1156.3181738069636 + ] + ], + "velocities": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "reference_frame": 1 + }, + "sun_position": { + "spk_table_start_time": -896556653.9282758, + "spk_table_end_time": -896556652.0473639, + "spk_table_original_size": 87, + "ephemeris_times": [ + -896556653.9282758, + -896556653.9064047, + -896556653.8845336, + -896556653.8626627, + -896556653.8407916, + -896556653.8189205, + -896556653.7970494, + -896556653.7751783, + -896556653.7533072, + -896556653.7314363, + -896556653.7095652, + -896556653.6876941, + -896556653.665823, + -896556653.6439519, + -896556653.6220808, + -896556653.6002098, + -896556653.5783387, + -896556653.5564677, + -896556653.5345966, + -896556653.5127255, + -896556653.4908544, + -896556653.4689834, + -896556653.4471123, + -896556653.4252412, + -896556653.4033701, + -896556653.381499, + -896556653.3596281, + -896556653.337757, + -896556653.3158859, + -896556653.2940148, + -896556653.2721437, + -896556653.2502726, + -896556653.2284017, + -896556653.2065306, + -896556653.1846595, + -896556653.1627884, + -896556653.1409173, + -896556653.1190462, + -896556653.0971752, + -896556653.0753042, + -896556653.0534331, + -896556653.031562, + -896556653.0096909, + -896556652.9878199, + -896556652.9659488, + -896556652.9440777, + -896556652.9222066, + -896556652.9003356, + -896556652.8784645, + -896556652.8565935, + -896556652.8347224, + -896556652.8128513, + -896556652.7909802, + -896556652.7691091, + -896556652.747238, + -896556652.7253671, + -896556652.703496, + -896556652.6816249, + -896556652.6597538, + -896556652.6378827, + -896556652.6160116, + -896556652.5941406, + -896556652.5722696, + -896556652.5503985, + -896556652.5285274, + -896556652.5066563, + -896556652.4847853, + -896556652.4629142, + -896556652.4410431, + -896556652.419172, + -896556652.397301, + -896556652.3754299, + -896556652.3535589, + -896556652.3316878, + -896556652.3098167, + -896556652.2879456, + -896556652.2660745, + -896556652.2442034, + -896556652.2223325, + -896556652.2004614, + -896556652.1785903, + -896556652.1567192, + -896556652.1348481, + -896556652.112977, + -896556652.091106, + -896556652.069235, + -896556652.0473639 + ], + "positions": [ + [ + -101712663.6237539, + 103751899.22910981, + 45008256.416321695 + ], + [ + -101712664.1186013, + 103751898.82579605, + 45008256.23941977 + ], + [ + -101712664.61344868, + 103751898.42248224, + 45008256.06251784 + ], + [ + -101712665.1082934, + 103751898.01917073, + 45008255.88561691 + ], + [ + -101712665.60314077, + 103751897.61585693, + 45008255.708714984 + ], + [ + -101712666.0979882, + 103751897.2125432, + 45008255.53181308 + ], + [ + -101712666.59283549, + 103751896.80922936, + 45008255.35491113 + ], + [ + -101712667.08768286, + 103751896.40591559, + 45008255.17800921 + ], + [ + -101712667.58253027, + 103751896.0026018, + 45008255.001107275 + ], + [ + -101712668.07737496, + 103751895.5992902, + 45008254.82420634 + ], + [ + -101712668.5722223, + 103751895.1959764, + 45008254.647304386 + ], + [ + -101712669.06706963, + 103751894.79266265, + 45008254.47040248 + ], + [ + -101712669.56191699, + 103751894.38934878, + 45008254.293500505 + ], + [ + -101712670.05676438, + 103751893.98603497, + 45008254.11659859 + ], + [ + -101712670.55161172, + 103751893.58272117, + 45008253.93969665 + ], + [ + -101712671.04645635, + 103751893.17940955, + 45008253.762795664 + ], + [ + -101712671.54130371, + 103751892.77609575, + 45008253.58589375 + ], + [ + -101712672.03615105, + 103751892.37278193, + 45008253.4089918 + ], + [ + -101712672.53099847, + 103751891.96946818, + 45008253.23208989 + ], + [ + -101712673.0258458, + 103751891.56615432, + 45008253.05518793 + ], + [ + -101712673.52069318, + 103751891.16284047, + 45008252.87828599 + ], + [ + -101712674.0155378, + 103751890.75952886, + 45008252.701385014 + ], + [ + -101712674.5103851, + 103751890.35621503, + 45008252.52448307 + ], + [ + -101712675.00523244, + 103751889.95290118, + 45008252.34758112 + ], + [ + -101712675.50007981, + 103751889.54958734, + 45008252.170679174 + ], + [ + -101712675.99492715, + 103751889.14627354, + 45008251.99377723 + ], + [ + -101712676.48977178, + 103751888.74296187, + 45008251.816876225 + ], + [ + -101712676.98461911, + 103751888.33964805, + 45008251.639974296 + ], + [ + -101712677.47946647, + 103751887.9363342, + 45008251.463072345 + ], + [ + -101712677.97431369, + 103751887.53302026, + 45008251.28617036 + ], + [ + -101712678.46916105, + 103751887.12970646, + 45008251.1092684 + ], + [ + -101712678.96400838, + 103751886.72639263, + 45008250.932366446 + ], + [ + -101712679.45885299, + 103751886.32308093, + 45008250.75546547 + ], + [ + -101712679.95370035, + 103751885.91976711, + 45008250.57856352 + ], + [ + -101712680.44854763, + 103751885.51645324, + 45008250.401661545 + ], + [ + -101712680.94339493, + 103751885.11313929, + 45008250.224759564 + ], + [ + -101712681.43824224, + 103751884.70982544, + 45008250.047857605 + ], + [ + -101712681.93308958, + 103751884.30651158, + 45008249.870955646 + ], + [ + -101712682.42793417, + 103751883.90319993, + 45008249.69405462 + ], + [ + -101712682.92278147, + 103751883.499886, + 45008249.517152674 + ], + [ + -101712683.4176288, + 103751883.09657219, + 45008249.340250716 + ], + [ + -101712683.91247608, + 103751882.69325823, + 45008249.16334872 + ], + [ + -101712684.4073233, + 103751882.2899443, + 45008248.986446746 + ], + [ + -101712684.90216798, + 103751881.88663265, + 45008248.80954576 + ], + [ + -101712685.39701523, + 103751881.48331875, + 45008248.632643774 + ], + [ + -101712685.89186248, + 103751881.0800048, + 45008248.45574177 + ], + [ + -101712686.38670984, + 103751880.67669098, + 45008248.27883983 + ], + [ + -101712686.88155705, + 103751880.273377, + 45008248.101937816 + ], + [ + -101712687.37640439, + 103751879.87006313, + 45008247.92503585 + ], + [ + -101712687.87124895, + 103751879.46675138, + 45008247.74813484 + ], + [ + -101712688.36609627, + 103751879.06343752, + 45008247.57123285 + ], + [ + -101712688.86094351, + 103751878.66012356, + 45008247.39433086 + ], + [ + -101712689.35579081, + 103751878.25680964, + 45008247.21742888 + ], + [ + -101712689.85063803, + 103751877.8534957, + 45008247.04052688 + ], + [ + -101712690.34548536, + 103751877.4501818, + 45008246.8636249 + ], + [ + -101712690.84032992, + 103751877.04687005, + 45008246.68672387 + ], + [ + -101712691.33517721, + 103751876.64355615, + 45008246.509821884 + ], + [ + -101712691.83002439, + 103751876.24024217, + 45008246.33291985 + ], + [ + -101712692.3248717, + 103751875.83692823, + 45008246.15601788 + ], + [ + -101712692.81971897, + 103751875.43361428, + 45008245.97911589 + ], + [ + -101712693.31456617, + 103751875.0303003, + 45008245.802213885 + ], + [ + -101712693.80941077, + 103751874.62698856, + 45008245.62531285 + ], + [ + -101712694.30425806, + 103751874.22367468, + 45008245.44841086 + ], + [ + -101712694.79910527, + 103751873.82036066, + 45008245.27150883 + ], + [ + -101712695.29395255, + 103751873.41704673, + 45008245.094606854 + ], + [ + -101712695.7887998, + 103751873.01373279, + 45008244.91770485 + ], + [ + -101712696.28364441, + 103751872.61042106, + 45008244.740803815 + ], + [ + -101712696.7784916, + 103751872.20710705, + 45008244.563901804 + ], + [ + -101712697.27333884, + 103751871.80379304, + 45008244.386999786 + ], + [ + -101712697.76818603, + 103751871.40047905, + 45008244.21009775 + ], + [ + -101712698.2630333, + 103751870.99716513, + 45008244.03319577 + ], + [ + -101712698.75788055, + 103751870.59385115, + 45008243.856293745 + ], + [ + -101712699.25272503, + 103751870.19053933, + 45008243.67939269 + ], + [ + -101712699.7475723, + 103751869.7872254, + 45008243.50249069 + ], + [ + -101712700.24241953, + 103751869.38391139, + 45008243.32558866 + ], + [ + -101712700.73726675, + 103751868.98059736, + 45008243.148686655 + ], + [ + -101712701.23211394, + 103751868.57728338, + 45008242.97178464 + ], + [ + -101712701.7269612, + 103751868.17396937, + 45008242.7948826 + ], + [ + -101712702.22180569, + 103751867.77065758, + 45008242.61798153 + ], + [ + -101712702.71665296, + 103751867.36734363, + 45008242.44107954 + ], + [ + -101712703.21150015, + 103751866.96402957, + 45008242.26417751 + ], + [ + -101712703.70634735, + 103751866.56071557, + 45008242.08727546 + ], + [ + -101712704.20119455, + 103751866.15740155, + 45008241.91037343 + ], + [ + -101712704.69604178, + 103751865.75408752, + 45008241.73347141 + ], + [ + -101712705.19088626, + 103751865.35077566, + 45008241.55657032 + ], + [ + -101712705.68573342, + 103751864.94746165, + 45008241.37966829 + ], + [ + -101712706.18058066, + 103751864.54414767, + 45008241.20276627 + ] + ], + "velocities": [ + [ + -22.62563902355981, + -18.4404968936856, + -8.088390477582275 + ], + [ + -22.625638924898055, + -18.440497032994784, + -8.088390541213565 + ], + [ + -22.625638826237, + -18.44049717230434, + -8.088390604845888 + ], + [ + -22.62563872757461, + -18.4404973116114, + -8.088390668476976 + ], + [ + -22.62563862891373, + -18.440497450921598, + -8.088390732107815 + ], + [ + -22.625638530253433, + -18.440497590232233, + -8.088390795739338 + ], + [ + -22.625638431590108, + -18.440497729539434, + -8.088390859371415 + ], + [ + -22.625638332929636, + -18.440497868849953, + -8.088390923002516 + ], + [ + -22.625638234268525, + -18.44049800815963, + -8.088390986634447 + ], + [ + -22.62563813560782, + -18.440498147468666, + -8.088391050265155 + ], + [ + -22.625638036945542, + -18.440498286777352, + -8.088391113896549 + ], + [ + -22.625637938284957, + -18.440498426087142, + -8.088391177528537 + ], + [ + -22.62563783962204, + -18.44049856539545, + -8.088391241159917 + ], + [ + -22.62563774096209, + -18.440498704706524, + -8.088391304791163 + ], + [ + -22.625637642299523, + -18.44049884401489, + -8.088391368422032 + ], + [ + -22.625637543638355, + -18.440498983323195, + -8.088391432053744 + ], + [ + -22.62563744497724, + -18.440499122632783, + -8.088391495685238 + ], + [ + -22.62563734631543, + -18.440499261941994, + -8.088391559316893 + ], + [ + -22.62563724765368, + -18.440499401251408, + -8.088391622947368 + ], + [ + -22.625637148992393, + -18.440499540560936, + -8.088391686579271 + ], + [ + -22.62563705033221, + -18.440499679871486, + -8.088391750211072 + ], + [ + -22.625636951670458, + -18.440499819179504, + -8.088391813841897 + ], + [ + -22.62563685300923, + -18.44049995848903, + -8.088391877473667 + ], + [ + -22.625636754346953, + -18.44050009779757, + -8.088391941105598 + ], + [ + -22.625636655684502, + -18.440500237106345, + -8.088392004736656 + ], + [ + -22.625636557024787, + -18.44050037641742, + -8.088392068367932 + ], + [ + -22.625636458361928, + -18.440500515724445, + -8.088392131998946 + ], + [ + -22.625636359700643, + -18.44050065503415, + -8.08839219563012 + ], + [ + -22.62563626103947, + -18.44050079434391, + -8.088392259261571 + ], + [ + -22.625636162377777, + -18.44050093365286, + -8.088392322893647 + ], + [ + -22.625636063716083, + -18.440501072961894, + -8.088392386525651 + ], + [ + -22.625635965055146, + -18.44050121227221, + -8.088392450156157 + ], + [ + -22.625635866394674, + -18.440501351581393, + -8.088392513787475 + ], + [ + -22.62563576773298, + -18.440501490890746, + -8.088392577418738 + ], + [ + -22.62563566907012, + -18.440501630198355, + -8.088392641051003 + ], + [ + -22.62563557040942, + -18.440501769508906, + -8.088392704682017 + ], + [ + -22.625635471747024, + -18.440501908817737, + -8.088392768313046 + ], + [ + -22.625635373086492, + -18.440502048127733, + -8.088392831945239 + ], + [ + -22.62563527442509, + -18.44050218743604, + -8.088392895576487 + ], + [ + -22.625635175763747, + -18.440502326746298, + -8.088392959206438 + ], + [ + -22.625635077100945, + -18.440502466053935, + -8.088393022839155 + ], + [ + -22.625634978440008, + -18.440502605363932, + -8.088393086470736 + ], + [ + -22.62563487977837, + -18.440502744673083, + -8.088393150102464 + ], + [ + -22.625634781118134, + -18.44050288398299, + -8.08839321373275 + ], + [ + -22.62563468245603, + -18.440503023291704, + -8.088393277364638 + ], + [ + -22.625634583793754, + -18.440503162600244, + -8.088393340996088 + ], + [ + -22.625634485131886, + -18.4405033019094, + -8.088393404627698 + ], + [ + -22.62563438647159, + -18.440503441219917, + -8.088393468259572 + ], + [ + -22.62563428780768, + -18.44050358052738, + -8.088393531890441 + ], + [ + -22.62563418914762, + -18.44050371983723, + -8.088393595521207 + ], + [ + -22.6256340904868, + -18.44050385914711, + -8.088393659153168 + ], + [ + -22.62563399182493, + -18.44050399845629, + -8.088393722784472 + ], + [ + -22.625633893162476, + -18.440504137764975, + -8.088393786415807 + ], + [ + -22.625633794502004, + -18.440504277075494, + -8.088393850047288 + ], + [ + -22.62563369583874, + -18.44050441638322, + -8.088393913679145 + ], + [ + -22.625633597178734, + -18.440504555692982, + -8.088393977309854 + ], + [ + -22.62563349851634, + -18.440504695001728, + -8.088394040941246 + ], + [ + -22.625633399854532, + -18.440504834311053, + -8.088394104572144 + ], + [ + -22.625633301192778, + -18.44050497362003, + -8.088394168204541 + ], + [ + -22.625633202532654, + -18.440505112930957, + -8.088394231835832 + ], + [ + -22.625633103869855, + -18.44050525223973, + -8.088394295466104 + ], + [ + -22.62563300520915, + -18.44050539154865, + -8.088394359097583 + ], + [ + -22.62563290654798, + -18.440505530858005, + -8.088394422730198 + ], + [ + -22.62563280788588, + -18.44050567016739, + -8.088394486360732 + ], + [ + -22.625632709223602, + -18.440505809476047, + -8.088394549992502 + ], + [ + -22.625632610561734, + -18.440505948784963, + -8.088394613624462 + ], + [ + -22.62563251190027, + -18.440506088093564, + -8.088394677255055 + ], + [ + -22.62563241323916, + -18.44050622740359, + -8.088394740886272 + ], + [ + -22.625632314577874, + -18.440506366712942, + -8.088394804518408 + ], + [ + -22.625632215914724, + -18.440506506021368, + -8.088394868149335 + ], + [ + -22.625632117253378, + -18.440506645331187, + -8.088394931780407 + ], + [ + -22.625632018591393, + -18.44050678464008, + -8.088394995412397 + ], + [ + -22.62563191993092, + -18.440506923949403, + -8.088395059043352 + ], + [ + -22.62563182126876, + -18.44050706325806, + -8.08839512267521 + ], + [ + -22.62563172260759, + -18.44050720256823, + -8.08839518630605 + ], + [ + -22.625631623945896, + -18.44050734187782, + -8.088395249937049 + ], + [ + -22.62563152528409, + -18.440507481186913, + -8.088395313569054 + ], + [ + -22.62563142662146, + -18.440507620495424, + -8.088395377200868 + ], + [ + -22.62563132796, + -18.440507759803992, + -8.088395440831432 + ], + [ + -22.625631229298538, + -18.44050789911358, + -8.088395504462882 + ], + [ + -22.625631130637544, + -18.44050803842346, + -8.088395568094812 + ], + [ + -22.625631031974628, + -18.44050817773171, + -8.088395631726103 + ], + [ + -22.625630933313573, + -18.440508317041765, + -8.088395695357628 + ], + [ + -22.625630834651645, + -18.440508456350827, + -8.08839575898931 + ], + [ + -22.625630735990125, + -18.440508595659253, + -8.088395822620194 + ], + [ + -22.625630637329362, + -18.440508734969683, + -8.088395886251266 + ], + [ + -22.62563053866703, + -18.4405088742784, + -8.088395949883036 + ] + ], + "reference_frame": 1 + } +} diff --git a/tests/pytests/test_apollo_drivers.py b/tests/pytests/test_apollo_drivers.py index 3199390b1..0e9f31818 100644 --- a/tests/pytests/test_apollo_drivers.py +++ b/tests/pytests/test_apollo_drivers.py @@ -8,7 +8,7 @@ from conftest import get_image, get_image_label, get_isd, get_image_kernels, convert_kernels, compare_dicts import ale -from ale.drivers.apollo_drivers import ApolloMetricIsisLabelNaifSpiceDriver +from ale.drivers.apollo_drivers import ApolloMetricIsisLabelNaifSpiceDriver, ApolloPanIsisLabelIsisSpiceDriver from ale import util @@ -64,4 +64,59 @@ def test_sensor_model_version(self): assert self.driver.sensor_model_version == 1 def test_ikid(self): - assert self.driver.ikid == -915240 \ No newline at end of file + assert self.driver.ikid == -915240 + + +class test_apollo_isis_isis(unittest.TestCase): + def setUp(self): + label = get_image_label("apolloPanImage", "isis3") + self.driver = ApolloPanIsisLabelIsisSpiceDriver(label) + + def test_instrument_name(self): + assert self.driver.instrument_name == "APOLLO PANORAMIC CAMERA" + + def test_sensor_model_version(self): + assert self.driver.sensor_model_version == 1 + + def test_focal2pixel_lines(self): + assert self.driver.focal2pixel_lines == (0.0, 0.0, 200.0) + + def test_focal2pixel_samples(self): + assert self.driver.focal2pixel_samples == (0.0, 200.0, 0.0) + + def test_pixel2focal_x(self): + assert self.driver.pixel2focal_x == (0.0, 0.005, 0.0) + + def test_pixel2focal_y(self): + assert self.driver.pixel2focal_y == (0.0, 0.0, 0.0) + + def test_focal_length(self): + assert self.driver.focal_length == 610.0 + + def test_ephemeris_start_time(self): + with patch('ale.drivers.apollo_drivers.read_table_data', return_value=1234), \ + patch('ale.drivers.apollo_drivers.parse_table', return_value={'ET':[5678]}) : + assert self.driver.ephemeris_start_time == 5678 + + def test_target_body_radii(self): + assert self.driver.target_body_radii == (1737.4, 1737.4, 1737.4) + + def test_detector_center_line(self): + assert self.driver.detector_center_line == 11450.5 + + def test_detector_center_sample(self): + assert self.driver.detector_center_sample == 11450.5 + + def test_naif_keywords(self): + with patch('ale.drivers.apollo_drivers.IsisSpice.target_frame_id', 31006): + assert compare_dicts(self.driver.naif_keywords, {"BODY301_RADII": (1737.4, 1737.4, 1737.4), + "BODY_FRAME_CODE": 31006, + "INS-915230_CONSTANT_TIME_OFFSET": 0, + "INS-915230_ADDITIONAL_PREROLL": 0, + "INS-915230_ADDITIVE_LINE_ERROR": 0, + "INS-915230_MULTIPLI_LINE_ERROR": 0, + "INS-915230_TRANSX": (0.0, 0.005, 0.0), + "INS-915230_TRANSY": (0.0, 0.0, 0.0), + "INS-915230_ITRANSS": (0.0, 200.0, 0.0), + "INS-915230_ITRANSL": (0.0, 0.0, 200.0), + "BODY_CODE": 301}) == [] \ No newline at end of file