Skip to content
Snippets Groups Projects
Commit 290eefbe authored by AustinSanders's avatar AustinSanders Committed by Jesse Mapel
Browse files

Initial KaguyaMiIsisLabelNaifSpiceDriver (#435)

* Initial KaguyaMiIsisLabelNaifSpiceDriver

* Initial kaguyamiisislabelnaifspicedriver and tests

* kaguyami test data

* Removed comment and conf files from data area

* Updated comments to propertly reflect MI instrument
parent eeab47ba
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ import spiceypy as spice
from ale.base import Driver
from ale.base.data_naif import NaifSpice
from ale.base.label_pds3 import Pds3Label
from ale.base.label_isis import IsisLabel
from ale.base.type_sensor import LineScanner
......@@ -558,6 +559,7 @@ class KaguyaMiPds3NaifSpiceDriver(LineScanner, Pds3Label, NaifSpice, Driver):
base_band = band_map[self.label.get("BASE_BAND")]
return base_band
@property
def instrument_id(self):
"""
......@@ -850,3 +852,333 @@ class KaguyaMiPds3NaifSpiceDriver(LineScanner, Pds3Label, NaifSpice, Driver):
ISIS sensor model version
"""
return 1
class KaguyaMiIsisLabelNaifSpiceDriver(LineScanner, NaifSpice, IsisLabel, Driver):
@property
def base_band(self):
"""
Which band the bands are registered to.
Returns
-------
base_band : str
The base band of the instrument
"""
band_map = {
"MV1" : "MI-VIS1",
"MV2" : "MI-VIS2",
"MV3" : "MI-VIS3",
"MV4" : "MI-VIS4",
"MV5" : "MI-VIS5",
"MN1" : "MI-NIR1",
"MN2" : "MI-NIR2",
"MN3" : "MI-NIR3",
"MN4" : "MI-NIR4"
}
base_band = band_map[self.label['IsisCube']['BandBin']['BaseBand']]
return base_band
@property
def instrument_id(self):
"""
Id takes the form of LISM_<BASE_BAND> where <BASE_BAND> is which band
the bands were registered to.
Returns
-------
: str
instrument id
"""
id = f"LISM_{self.base_band}"
return id
@property
def sensor_model_version(self):
"""
Returns ISIS instrument sensor model version number
Returns
-------
: int
ISIS sensor model version
"""
return 2
@property
def spacecraft_clock_start_count(self):
"""
The original SC_CLOCK_START_COUNT key is often incorrect and cannot be trusted.
Therefore we get this information from CORRECTED_SC_CLOCK_START_COUNT
Returns
-------
: float
spacecraft clock start count in seconds
"""
return self.label['IsisCube']['Instrument']['CorrectedScClockStartCount'].value
@property
def spacecraft_clock_stop_count(self):
"""
The original SC_CLOCK_START_COUNT key is often incorrect and cannot be trusted.
Therefore we get this information from CORRECTED_SC_CLOCK_STOP_COUNT
Returns
-------
: float
spacecraft clock start count in seconds
"""
return self.label['IsisCube']['Instrument']['CorrectedScClockStopCount'].value
@property
def ephemeris_start_time(self):
"""
Returns the ephemeris start time of the image. Expects spacecraft_id to
be defined. This should be the integer naif ID code of the spacecraft.
Returns
-------
: float
ephemeris start time of the image
"""
return spice.sct2e(self.spacecraft_id, self.spacecraft_clock_start_count)
@property
def ephemeris_stop_time(self):
"""
Returns the ephemeris start time of the image. Expects spacecraft_id to
be defined. This should be the integer naif ID code of the spacecraft.
Returns
-------
: float
ephemeris start time of the image
"""
return spice.sct2e(self.spacecraft_id, self.spacecraft_clock_stop_count)
@property
def sensor_frame_id(self):
"""
Returns the sensor frame id. Depends on the instrument that was used to
capture the image.
Returns
-------
: int
Sensor frame id
"""
spectra = self.base_band[3]
return spice.namfrm(f"LISM_MI_{spectra}_HEAD")
@property
def detector_center_line(self):
"""
Returns the center detector line of the detector. Expects tc_id to be
defined. This should be a string of the form LISM_MI1 or LISM_MI2.
We subtract 0.5 from the center line because as per the IK:
Center of the first pixel is defined as "1.0".
Returns
-------
: int
The detector line of the principle point
"""
return spice.gdpool('INS{}_CENTER'.format(self.ikid), 0, 2)[1] - 0.5
@property
def detector_center_sample(self):
"""
Returns the center detector sample of the detector. Expects tc_id to be
defined. This should be a string of the form LISM_MI1 or LISM_MI2.
We subtract 0.5 from the center sample because as per the IK:
Center of the first pixel is defined as "1.0".
Returns
-------
: int
The detector sample of the principle point
"""
return spice.gdpool('INS{}_CENTER'.format(self.ikid), 0, 2)[0] - 0.5
@property
def _odkx(self):
"""
Returns the x coefficients of the optical distortion model.
Expects tc_id to be defined. This should be a string of the form
LISM_MI1 or LISM_MI2.
Returns
-------
: list
Optical distortion x coefficients
"""
return spice.gdpool('INS{}_DISTORTION_COEF_X'.format(self.ikid),0, 4).tolist()
@property
def _odky(self):
"""
Returns the y coefficients of the optical distortion model.
Expects tc_id to be defined. This should be a string of the form
LISM_MI1 or LISM_MI2.
Returns
-------
: list
Optical distortion y coefficients
"""
return spice.gdpool('INS{}_DISTORTION_COEF_Y'.format(self.ikid), 0, 4).tolist()
@property
def boresight_x(self):
"""
Returns the x focal plane coordinate of the boresight.
Expects ikid to be defined. This should be the NAIF integer ID for the
sensor.
Returns
-------
: float
Boresight focal plane x coordinate
"""
return spice.gdpool('INS{}_BORESIGHT'.format(self.ikid), 0, 1)[0]
@property
def boresight_y(self):
"""
Returns the y focal plane coordinate of the boresight.
Expects ikid to be defined. This should be the NAIF integer ID for the
sensor.
Returns
-------
: float
Boresight focal plane x coordinate
"""
return spice.gdpool('INS{}_BORESIGHT'.format(self.ikid), 1, 1)[0]
@property
def usgscsm_distortion_model(self):
"""
Kaguya uses a unique radial distortion model so we need to overwrite the
method packing the distortion model into the ISD.
from the IK:
Line-of-sight vector of pixel no. n can be expressed as below.
Distortion coefficients information:
INS<INSTID>_DISTORTION_COEF_X = ( a0, a1, a2, a3)
INS<INSTID>_DISTORTION_COEF_Y = ( b0, b1, b2, b3),
Distance r from the center:
r = - (n - INS<INSTID>_CENTER) * INS<INSTID>_PIXEL_SIZE.
Line-of-sight vector v is calculated as
v[X] = INS<INSTID>BORESIGHT[X] + a0 + a1*r + a2*r^2 + a3*r^3 ,
v[Y] = INS<INSTID>BORESIGHT[Y] + r+a0 + a1*r +a2*r^2 + a3*r^3 ,
v[Z] = INS<INSTID>BORESIGHT[Z]
Expects odkx and odky to be defined. These should be a list of optical
distortion x and y coefficients respectively.
Returns
-------
: dict
radial distortion model
"""
return {
"kaguyalism": {
"x" : self._odkx,
"y" : self._odky,
"boresight_x" : self.boresight_x,
"boresight_y" : self.boresight_y
}
}
@property
def line_exposure_duration(self):
"""
Returns Line Exposure Duration
Kaguya has an unintuitive key for this called CORRECTED_SAMPLING_INTERVAL.
The original LINE_EXPOSURE_DURATION PDS3 keys is often incorrect and cannot
be trusted.
Returns
-------
: float
Line exposure duration
"""
# It's a list, but only sometimes.
# seems to depend on whether you are using the original zipped archives or
# if its downloaded from Jaxa's image search:
# (https://darts.isas.jaxa.jp/planet/pdap/selene/product_search.html#)
try:
return self.label['IsisCube']['Instrument']['CorrectedSamplingInterval'][0].value * 0.001 # Scale to seconds
except:
return self.label['IsisCube']['Instrument']['CorrectedSamplingInterval'].value * 0.001 # Scale to seconds
@property
def focal2pixel_samples(self):
"""
Calculated using 1/pixel pitch
Expects ikid to be defined. This should be the NAIF integer ID code
for the sensor.
Returns
-------
: list
focal plane to detector samples
"""
pixel_size = spice.gdpool('INS{}_PIXEL_SIZE'.format(self.ikid), 0, 1)[0]
return [0, 0, -1/pixel_size]
@property
def focal2pixel_lines(self):
"""
Calculated using 1/pixel pitch
Expects ikid to be defined. This should be the NAIF integer ID code
for the sensor.
Returns
-------
: list
focal plane to detector lines
"""
pixel_size = spice.gdpool('INS{}_PIXEL_SIZE'.format(self.ikid), 0, 1)[0]
return [0, 1/pixel_size, 0]
def spacecraft_direction(self):
"""
Gets the moving direction of the spacecraft from the label, where -1 is moving
as intended and 1 is moving inverted.
Returns
-------
: int
Moving direction of the spacecraft
"""
return int(self.label['SatelliteMovingDirection'])
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 45
'DE-0421LE-0421 '
'106224BBF61FD^8'
'106224CC3A3864^8'
'12D'
'3'
'1'
'2'
45
'10625C4^8'
'2A3^5'
'51A6EB67D3D97^5'
'-CA04D8B8E7F4B8^4'
'-4DEE3DA121F8AC^4'
'16718344E26F3E^3'
'7006B44C4B0EC4^2'
'13506E6AB7B4A9^0'
'-6B3216FA5F9288^0'
'-14C2954787B8FC^-1'
'7E9AE9464F9354^-2'
'17922A55DFA123^-3'
'-BF7C989AFD1078^-4'
'-211C96DB43F6C^-5'
'13E8C9E82B9FC2^-5'
'11B37C409E9D77^5'
'24B2318469809E^5'
'-1188078500E968^4'
'-5E160AC2C70BF4^3'
'8DFE80ACECAC98^1'
'61DDAD9B2EB4D^1'
'F1E550FFA114E8^-1'
'-633B529E342B14^-1'
'-1802D300692DA8^-2'
'87265A26370E68^-3'
'1C8CEA0D3CADB2^-4'
'-DA00813E22E6E^-5'
'-31E9653621A3D^-6'
'EADAB10508F2^4'
'1211BEFDBA3F16^5'
'-E68E922C5123C^3'
'-2EFA0449609426^3'
'C5C502B8819028^1'
'328EF6240B6A24^1'
'5A51A0C7456084^-2'
'-34A24E71F08844^-1'
'-3A1996F384D00A^-3'
'475D695423934C^-3'
'182C495EA96ED^-5'
'-72C2788C494774^-5'
'-3C3D1F9580F4B4^-7'
'105FB94^8'
'546^5'
'29^2'
'1^1'
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0421LE-0421 '
'106224BBF61FD^8'
'106224CC3A3864^8'
'A'
'0'
'1'
'2'
39
'1064FF4^8'
'A8C^5'
'-3727ABF802A68^5'
'-1CA6A937DE3A3D^4'
'8E7EF3F0B85D^1'
'358E096A63D7B2^0'
'8843326AE92BE^-2'
'-2F63A81487A8F^-3'
'-CCBA4E80F0DE9^-4'
'-1F9F258EB79A22^-4'
'-3723599C8F9BAC^-5'
'-F6E1664C2DEB28^-7'
'-183813F68F2719^-7'
'A0A32FF7EB4578^5'
'-8CB54C3B510118^3'
'-18258F16700DE9^2'
'5C448CEB6E90E^-1'
'15C646FF470027^-1'
'F1C7E8F8F776D8^-3'
'10F78FEF5E806C^-3'
'C0A8464498B058^-5'
'-7DF174E569D61^-6'
'-8A9DB034929B6^-6'
'-796BD7A9A35C6C^-7'
'44020271F3FA4C^5'
'-3366C4B3508D06^3'
'-A8E947E9D2D51^1'
'-B4754CEBF58558^-2'
'9947725CB810E^-2'
'81B89F9DC79B48^-3'
'A7F59511813CA^-4'
'9B69DD6C4D3FE8^-5'
'181FA062006DDA^-6'
'-3BDBCACFD626D6^-6'
'-3E584A962C06A8^-7'
'105A734^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0421LE-0421 '
'106224BBF61FD^8'
'106224CC3A3864^8'
'3'
'0'
'1'
'2'
45
'1064FF4^8'
'A8C^5'
'8E22B794F90008^7'
'EEE8D6D81E5A1^5'
'-AABE6F657249A8^5'
'-5FE57B533AAB28^3'
'10A5EB002DE6A5^3'
'10B84FB0EEE394^1'
'-8CD1BA726A1888^-1'
'82CF47E97B1878^-3'
'-7374F2420EB8FC^-4'
'-1EE0E376C39766^-3'
'-BCDF1E7533038^-6'
'1767DFE716A895^-4'
'-5AA83C40B0E84^-6'
'-7CD01731C8E9^6'
'11DDF620B1685D^7'
'A145364DE5254^4'
'-38DE3A1CCB63CA^4'
'-27CEC30CD5D37C^2'
'32E725D2ADAE76^1'
'56E66012BE5428^-1'
'-F5EEDD595F80D^-3'
'-470BB6A9D4CAB4^-3'
'757723E61765FC^-5'
'30F8A540C86366^-4'
'-80026ACD2AD2E8^-6'
'-224EACF88FF4A8^-5'
'-3637D409B11BB4^6'
'7BEFD3A3C13FB^6'
'45EC114469A534^4'
'-18A76F6977E21^4'
'-11425F704D47C5^2'
'1612B48A9069A3^1'
'26226CC069C5DC^-1'
'-898CAA2CC2B57^-3'
'-28024902FFCE78^-3'
'1F64C2D26A07C6^-4'
'1D8A4502AEE38B^-4'
'-191771B4FAC53D^-5'
'-14E65A64A9A4D2^-5'
'105A734^8'
'1518^6'
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
'SPK_STATES_09 '
'106224BBF61FD^8'
'106224CC3A3864^8'
'-83'
'12D'
'1'
'9'
86
'-42BB32A8A76BD8^3'
'135DB59F1D90BE^3'
'-5C58D33F1B0878^3'
'-1466762F2CEFD4^1'
'-A6681B8ABF9D3^0'
'C44E5123E9206^0'
'-476AD2DFD91B6^3'
'10E70DB7F4488D^3'
'-59580AEF4C7964^3'
'-1394034599C91^1'
'-A9DD403DCB23^0'
'D59CAF06F6787^0'
'-4BE782A8232B24^3'
'E6452CFBDA2878^2'
'-561781E31FC34C^3'
'-12B3E2D002AB51^1'
'-ACD85226264E2^0'
'E64CE0129A454^0'
'-502E2015DE040C^3'
'BD75283507FC08^2'
'-52999DDDCF2414^3'
'-11C6B5028D557A^1'
'-AF5741CA079268^0'
'F653D483B5DFD^0'
'-543BB034799524^3'
'941E17A149A528^2'
'-4EE0EEFA06AC04^3'
'-10CD2A294EDEE2^1'
'-B1588A8FDF13A8^0'
'105A6319071F08^1'
'-580D63567F3D6C^3'
'6A5D88AE614D54^2'
'-4AF02DC1A5F73^3'
'-FC7FEACDB049F^0'
'-B2DB5AAB278C28^0'
'11439E9A0C4BBB^1'
'-5BA09539C49F8^3'
'405135C63FD49C^2'
'-46CA36A83504A4^3'
'-EB7E8FD3BAF6D^0'
'-B3DEF119258E48^0'
'122059676A4AA5^1'
'-5EF2CD9F40A128^3'
'161702C71C1811^2'
'-427209BC46D824^3'
'-D9DADE9C87DC9^0'
'-B462CCE85A17E8^0'
'12EFFD2694A74F^1'
'-6201C397B3B11C^3'
'-1433219E69454F^2'
'-3DEAC7F6760A7^3'
'-C7A16FEE4758C^0'
'-B46704C2B72BF8^0'
'13B20780700DBF^1'
'-64CB5CACE73808^3'
'-3E6F505C9672D^2'
'-3937B01D1C148C^3'
'-B4DEA7545A405^0'
'-B3EBB1EE45C4F^0'
'1465F9D22ACD79^1'
'-674DAE2187B6A^3'
'-687FAE6099BFE8^2'
'-345C1E551A328E^3'
'-A19F9752703C08^0'
'-B2F143226AA17^0'
'150B59AB742983^1'
'-6986FF20787F24^3'
'-92468CF2A9E17^2'
'-2F5B8A4EBB3FC4^3'
'-8DF1C3F94BC29^0'
'-B178AEDFC4419^0'
'15A1B6FEB7C59C^1'
'1062238D2EB345^8'
'106223C92EB345^8'
'106224052EB345^8'
'106224412EB345^8'
'1062247D2EB345^8'
'106224B92EB345^8'
'106224F52EB345^8'
'106225312EB344^8'
'1062256D2EB344^8'
'106225A92EB344^8'
'106225E52EB344^8'
'106226212EB344^8'
'B^1'
'C^1'
END_ARRAY 4 86
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_0.bsp LOG FILE
; Created 2022-01-12/22:33:30.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_0.bsp
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/tspk/de421.bsp
INCLUDE_COMMENTS = NO
BODIES = 3, 10, 301
BEGIN_TIME = 2008 SEP 16 20:02:02.779
END_TIME = 2008 SEP 16 20:02:19.045
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/spk/SEL_M_071020_090610_SGMH_02.BSP
INCLUDE_COMMENTS = NO
BODIES = -131
BEGIN_TIME = 2008 SEP 16 20:02:02.779
END_TIME = 2008 SEP 16 20:02:19.045
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 45
'DE-0421LE-0421 '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'12D'
'3'
'1'
'2'
45
'10625C4^8'
'2A3^5'
'51A6EB67D3D97^5'
'-CA04D8B8E7F4B8^4'
'-4DEE3DA121F8AC^4'
'16718344E26F3E^3'
'7006B44C4B0EC4^2'
'13506E6AB7B4A9^0'
'-6B3216FA5F9288^0'
'-14C2954787B8FC^-1'
'7E9AE9464F9354^-2'
'17922A55DFA123^-3'
'-BF7C989AFD1078^-4'
'-211C96DB43F6C^-5'
'13E8C9E82B9FC2^-5'
'11B37C409E9D77^5'
'24B2318469809E^5'
'-1188078500E968^4'
'-5E160AC2C70BF4^3'
'8DFE80ACECAC98^1'
'61DDAD9B2EB4D^1'
'F1E550FFA114E8^-1'
'-633B529E342B14^-1'
'-1802D300692DA8^-2'
'87265A26370E68^-3'
'1C8CEA0D3CADB2^-4'
'-DA00813E22E6E^-5'
'-31E9653621A3D^-6'
'EADAB10508F2^4'
'1211BEFDBA3F16^5'
'-E68E922C5123C^3'
'-2EFA0449609426^3'
'C5C502B8819028^1'
'328EF6240B6A24^1'
'5A51A0C7456084^-2'
'-34A24E71F08844^-1'
'-3A1996F384D00A^-3'
'475D695423934C^-3'
'182C495EA96ED^-5'
'-72C2788C494774^-5'
'-3C3D1F9580F4B4^-7'
'105FB94^8'
'546^5'
'29^2'
'1^1'
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0421LE-0421 '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'A'
'0'
'1'
'2'
39
'1064FF4^8'
'A8C^5'
'-3727ABF802A68^5'
'-1CA6A937DE3A3D^4'
'8E7EF3F0B85D^1'
'358E096A63D7B2^0'
'8843326AE92BE^-2'
'-2F63A81487A8F^-3'
'-CCBA4E80F0DE9^-4'
'-1F9F258EB79A22^-4'
'-3723599C8F9BAC^-5'
'-F6E1664C2DEB28^-7'
'-183813F68F2719^-7'
'A0A32FF7EB4578^5'
'-8CB54C3B510118^3'
'-18258F16700DE9^2'
'5C448CEB6E90E^-1'
'15C646FF470027^-1'
'F1C7E8F8F776D8^-3'
'10F78FEF5E806C^-3'
'C0A8464498B058^-5'
'-7DF174E569D61^-6'
'-8A9DB034929B6^-6'
'-796BD7A9A35C6C^-7'
'44020271F3FA4C^5'
'-3366C4B3508D06^3'
'-A8E947E9D2D51^1'
'-B4754CEBF58558^-2'
'9947725CB810E^-2'
'81B89F9DC79B48^-3'
'A7F59511813CA^-4'
'9B69DD6C4D3FE8^-5'
'181FA062006DDA^-6'
'-3BDBCACFD626D6^-6'
'-3E584A962C06A8^-7'
'105A734^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0421LE-0421 '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'3'
'0'
'1'
'2'
45
'1064FF4^8'
'A8C^5'
'8E22B794F90008^7'
'EEE8D6D81E5A1^5'
'-AABE6F657249A8^5'
'-5FE57B533AAB28^3'
'10A5EB002DE6A5^3'
'10B84FB0EEE394^1'
'-8CD1BA726A1888^-1'
'82CF47E97B1878^-3'
'-7374F2420EB8FC^-4'
'-1EE0E376C39766^-3'
'-BCDF1E7533038^-6'
'1767DFE716A895^-4'
'-5AA83C40B0E84^-6'
'-7CD01731C8E9^6'
'11DDF620B1685D^7'
'A145364DE5254^4'
'-38DE3A1CCB63CA^4'
'-27CEC30CD5D37C^2'
'32E725D2ADAE76^1'
'56E66012BE5428^-1'
'-F5EEDD595F80D^-3'
'-470BB6A9D4CAB4^-3'
'757723E61765FC^-5'
'30F8A540C86366^-4'
'-80026ACD2AD2E8^-6'
'-224EACF88FF4A8^-5'
'-3637D409B11BB4^6'
'7BEFD3A3C13FB^6'
'45EC114469A534^4'
'-18A76F6977E21^4'
'-11425F704D47C5^2'
'1612B48A9069A3^1'
'26226CC069C5DC^-1'
'-898CAA2CC2B57^-3'
'-28024902FFCE78^-3'
'1F64C2D26A07C6^-4'
'1D8A4502AEE38B^-4'
'-191771B4FAC53D^-5'
'-14E65A64A9A4D2^-5'
'105A734^8'
'1518^6'
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
'SPK_STATES_09 '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'-83'
'12D'
'1'
'9'
86
'-6201C397B3B11C^3'
'-1433219E69454F^2'
'-3DEAC7F6760A7^3'
'-C7A16FEE4758C^0'
'-B46704C2B72BF8^0'
'13B20780700DBF^1'
'-64CB5CACE73808^3'
'-3E6F505C9672D^2'
'-3937B01D1C148C^3'
'-B4DEA7545A405^0'
'-B3EBB1EE45C4F^0'
'1465F9D22ACD79^1'
'-674DAE2187B6A^3'
'-687FAE6099BFE8^2'
'-345C1E551A328E^3'
'-A19F9752703C08^0'
'-B2F143226AA17^0'
'150B59AB742983^1'
'-6986FF20787F24^3'
'-92468CF2A9E17^2'
'-2F5B8A4EBB3FC4^3'
'-8DF1C3F94BC29^0'
'-B178AEDFC4419^0'
'15A1B6FEB7C59C^1'
'-6B75CA770151FC^3'
'-BBA67B1173684^2'
'-2A398485CE5374^3'
'-79E33762749C08^0'
'-AF830F04851298^0'
'1628AEF312EF2C^1'
'-6D18C001BAF634^3'
'-E482555591BBF^2'
'-24F9B2ACC124B8^3'
'-65820EB7C95F74^0'
'-AD11E8557B27E^0'
'169FEF25AE68A2^1'
'-6E6EC3F103E5B8^3'
'-10CBD5D6A0723C^3'
'-1F9FCC794028B6^3'
'-50DC22F49C8A7^0'
'-AA270992E4D01^0'
'17072F0197ECB1^1'
'-6F76EE7880D0E4^3'
'-1343B473FDDCAF^3'
'-1A2F99D289FC7F^3'
'-3BFF6415137964^0'
'-A6C473081F613^0'
'175E2CC7E91C3A^1'
'-70308CAA7DE708^3'
'-15AE0476E8E0FC^3'
'-14ACF117B8913B^3'
'-26FA11060CCD08^0'
'-A2EC7A262183D8^0'
'17A4AFE0B7A9D8^1'
'-709B2103BA211^3'
'-180912AB29094E^3'
'-F1BB48D3F4FA2^2'
'-11DA60F45D0DF7^0'
'-9EA1D269C6A078^0'
'17DA8ACFD34168^1'
'-70B663456036E^3'
'-1A53365953EF17^3'
'-97FD004674DE88^2'
'3517C4E96C29FA^-1'
'-99E757C00B181^0'
'17FF99073C3F86^1'
'-708240C771A99C^3'
'-1C8AD1A9A8DE26^3'
'-3DD375394CD92C^2'
'187B001CF430DF^0'
'-94C005CCA8EB7^0'
'1813BAF466EB76^1'
'1062256D2EB344^8'
'106225A92EB344^8'
'106225E52EB344^8'
'106226212EB344^8'
'1062265D2EB344^8'
'106226992EB344^8'
'106226D52EB344^8'
'106227112EB344^8'
'1062274D2EB344^8'
'106227892EB343^8'
'106227C52EB343^8'
'106228012EB343^8'
'B^1'
'C^1'
END_ARRAY 4 86
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_1.bsp LOG FILE
; Created 2022-01-12/22:33:34.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_1.bsp
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/tspk/de421.bsp
INCLUDE_COMMENTS = NO
BODIES = 3, 10, 301
BEGIN_TIME = 2008 SEP 16 20:10:25.508
END_TIME = 2008 SEP 16 20:10:40.793
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/spk/SEL_M_071020_090610_SGMH_02.BSP
INCLUDE_COMMENTS = NO
BODIES = -131
BEGIN_TIME = 2008 SEP 16 20:10:25.508
END_TIME = 2008 SEP 16 20:10:40.793
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
Object = IsisCube
Object = Core
StartByte = 65537
Format = Tile
TileSamples = 320
TileLines = 320
Group = Dimensions
Samples = 320
Lines = 320
Bands = 4
End_Group
Group = Pixels
Type = SignedWord
ByteOrder = Lsb
Base = 0.0
Multiplier = 0.013
End_Group
End_Object
Group = Instrument
MissionName = SELENE
SpacecraftName = KAGUYA
InstrumentName = "Multiband Imager Near Infrared"
InstrumentId = MI-NIR
TargetName = MOON
ObservationModeId = NORMAL
SensorDescription = "MI is a multiband push-broom imaging
camera consisting of VIS(V) and NIR(N)
sensors (each has nadir-directed optics of
f number 65 mm and F ratio 3.7). Detector
pixel sizes in micron are 13(V) and 40(N)."
SensorDescription2 = "Physical band arrangement [from satellite
-x to +x] are VIS1>VIS2>VIS5>VIS4>VIS3 and
NIR3>NIR4>NIR1>NIR2. Parallax between
nearest band sets [degree] are 2.7 for VIS
and 2.6 for NIR. Sampling time [msec] are
13 for VIS and 39 for NIR."
MissionPhaseName = Nominal
RevolutionNumber = 4192
StripSequenceNumber = 3
SceneSequenceNumber = 54
UpperLeftDaytimeFlag = Day
UpperRightDaytimeFlag = Day
LowerLeftDaytimeFlag = Day
LowerRightDaytimeFlag = Day
DetectorStatus = (TC1:OFF, TC2:OFF, MV:ON, MN:ON, SP:ON)
ExposureModeId = MIDDLE
LineExposureDuration = 13.214800 <msec>
SpacecraftClockStartCount = 905631021.1320 <sec>
SpacecraftClockStopCount = 905631033.5740 <sec>
CorrectedScClockStartCount = 905631021.135959 <sec>
CorrectedScClockStopCount = 905631033.576935 <sec>
StartTimeRaw = 2008-09-16T20:10:30.476297
StopTimeRaw = 2008-09-16T20:10:42.918297
StartTime = 2008-09-16T20:10:30.480257
StopTime = 2008-09-16T20:10:42.921232
LineSamplingInterval = 39.000000 <msec>
CorrectedSamplingInterval = 38.999922 <msec>
UpperLeftLatitude = -13.956282 <deg>
UpperLeftLongitude = 357.667916 <deg>
UpperRightLatitude = -13.964236 <deg>
UpperRightLongitude = 356.865687 <deg>
LowerLeftLatitude = -13.335394 <deg>
LowerLeftLongitude = 357.658763 <deg>
LowerRightLatitude = -13.343486 <deg>
LowerRightLongitude = 356.858241 <deg>
LocationFlag = A
RollCant = NO
SceneCenterLatitude = -13.649174 <deg>
SceneCenterLongitude = 357.261545 <deg>
IncidenceAngle = 23.386 <deg>
EmissionAngle = 1.891 <deg>
PhaseAngle = 22.528 <deg>
SolarAzimuthAngle = 301.306 <deg>
FocalPlaneTemperature = 17.73 <degC>
TelescopeTemperature = 17.99 <degC>
SatelliteMovingDirection = +1
FirstSampledLinePosition = UPPERMOST
FirstDetectorElementPosition = LEFT
AAxisRadius = 1737.400 <km>
BAxisRadius = 1737.400 <km>
CAxisRadius = 1737.400 <km>
DefectPixelPosition = (N/A, N/A, N/A, N/A)
SpacecraftAltitude = 119.948 <km>
SpacecraftGroundSpeed = 1.512 <km/sec>
End_Group
Group = Archive
ProductId = MNA_2B2_01_04192S136E3573
FileName = MNA_2B2_01_04192S136E3573.img
SoftwareName = RGC_TC_MI
SoftwareVersion = 2.6.1
ProcessVersionId = L2B
ProductCreationTime = 2009-12-03T22:18:16Z
ProgramStartTime = 2009-12-03T17:36:44Z
ProducerId = LISM
ProductSetId = MI-NIR_Level2B2
ProductVersionId = 01
RegisteredProduct = Y
Level2AFileName = MN12A0_02NM04192_003_0054.img
SpiceMetakernelFileName = RGC_INF_TCv301IK_MIv104IK_SPv104IK_RISE100g_de4-
21_091007.mk
DataSetId = MI-NIR_Level2B
End_Group
Group = BandBin
FilterName = (MN1, MN2, MN3, MN4)
Center = (1000.0, 1049.0, 1248.0, 1548.0) <nm>
Width = (27.0, 28.0, 33.0, 48.0) <nm>
BaseBand = MN1
End_Group
Group = Kernels
NaifFrameCode = -131341
NaifCkCode = -131340
LeapSecond = $base/kernels/lsk/naif0012.tls
TargetAttitudeShape = ($base/kernels/pck/pck00009.tpc,
$kaguya/kernels/pck/moon_080317.tf,
$kaguya/kernels/pck/moon_assoc_me.tf)
TargetPosition = (Table,
$kaguya/kernels/tspk/moon_pa_de421_1900-2050.-
bpc, $kaguya/kernels/tspk/de421.bsp)
InstrumentPointing = (Table, $kaguya/kernels/ck/SEL_M_ALL_D_V02.BC)
Instrument = $kaguya/kernels/ik/SEL_MI_V01.TI
SpacecraftClock = $kaguya/kernels/sclk/SEL_M_V01.TSC
InstrumentPosition = (Table,
$kaguya/kernels/spk/SEL_M_071020_090610_SGMH_-
02.BSP)
InstrumentAddendum = $kaguya/kernels/iak/mi_vis_adendum_v01.ti
ShapeModel = $base/dems/ldem_128ppd_Mar2011_clon180_radius-
_pad.cub
InstrumentPositionQuality = Reconstructed
InstrumentPointingQuality = Reconstructed
CameraVersion = 1
Source = ale
End_Group
End_Object
Object = Label
Bytes = 65536
End_Object
Object = Table
Name = InstrumentPointing
StartByte = 892516
Bytes = 320
Records = 5
ByteOrder = Lsb
TimeDependentFrames = (-131000, 1)
ConstantFrames = (-131340, -131320, -131000)
ConstantRotation = (0.99999966936312, -5.77666821335052e-04,
5.7234141103279e-04, 5.77156075798428e-04,
0.99999943548589, 8.92142792387077e-04,
-5.72856449229044e-04, -8.9181216708896e-04,
0.99999943825312)
CkTableStartTime = 274867895.68995
CkTableEndTime = 274867908.13093
CkTableOriginalSize = 5
FrameTypeCode = 3
Description = "Created by spiceinit"
Kernels = $kaguya/kernels/ck/SEL_M_ALL_D_V02.BC
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 = InstrumentPosition
StartByte = 892836
Bytes = 168
Records = 3
ByteOrder = Lsb
CacheType = HermiteSpline
SpkTableStartTime = 274867895.68995
SpkTableEndTime = 274867908.13093
SpkTableOriginalSize = 5.0
Description = "Created by spiceinit"
Kernels = $kaguya/kernels/spk/SEL_M_071020_090610_SGMH_02.BSP
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 = BodyRotation
StartByte = 893004
Bytes = 320
Records = 5
ByteOrder = Lsb
TimeDependentFrames = (31006, 1)
ConstantFrames = (31001, 31007, 31006)
ConstantRotation = (0.99999987325471, -3.29285422375571e-04,
3.80869618671388e-04, 3.29286000210947e-04,
0.99999994578431, -1.45444093783627e-06,
-3.80869119096078e-04, 1.57985578682691e-06,
0.99999992746811)
CkTableStartTime = 274867895.68995
CkTableEndTime = 274867908.13093
CkTableOriginalSize = 5
FrameTypeCode = 3
Description = "Created by spiceinit"
Kernels = ($kaguya/kernels/tspk/moon_pa_de421_1900-2050.bpc,
$kaguya/kernels/tspk/de421.bsp,
$base/kernels/pck/pck00009.tpc,
$kaguya/kernels/pck/moon_080317.tf,
$kaguya/kernels/pck/moon_assoc_me.tf)
SolarLongitude = 215.20781187145
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 = 893324
Bytes = 56
Records = 1
ByteOrder = Lsb
CacheType = Linear
SpkTableStartTime = 274867901.91044
SpkTableEndTime = 274867901.91044
SpkTableOriginalSize = 1.0
Description = "Created by spiceinit"
Kernels = ($kaguya/kernels/tspk/moon_pa_de421_1900-2050.bpc,
$kaguya/kernels/tspk/de421.bsp)
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 = History
Name = IsisCube
StartByte = 893380
Bytes = 1488
End_Object
Object = OriginalLabel
Name = IsisCube
StartByte = 885343
Bytes = 7173
End_Object
Object = NaifKeywords
BODY301_LONG_AXIS = 0
BODY301_NUT_PREC_DEC = (1.5419, 0.0239, -0.0278, 0.0068, 0,
-0.0029, 0.0009, 0, 0, 0.0008)
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.8787, -0.1204, 0.07, -0.0172, 0,
0.0072, 0, 0, 0, -0.0052)
BODY301_PM = (38.3213, 13.1764, -1.4e-12)
BODY301_POLE_DEC = (66.5392, 0.013, 0)
BODY301_POLE_RA = (269.995, 0.0031, 0)
BODY301_RADII = (1737.4, 1737.4, 1737.4)
BODY_CODE = 301
BODY_FRAME_CODE = 10020
INS-131341_BORESIGHT = (-1.5114, -0.0084, 64.9)
INS-131341_CENTER = (160, 1)
INS-131341_DISTORTION_COEF_X = (-0.00090474, -0.002439, -2.5248e-05,
2.8753e-05)
INS-131341_DISTORTION_COEF_Y = (-0.00017747, 0.0024504, 0.00010338,
-4.728e-05)
INS-131341_FOCAL_LENGTH = 64.9
INS-131341_FOV_BOUNDARY_CORNERS = (-1.4914, 6.3716, 64.9, -1.5314, 6.3716,
64.9, -1.5314, -6.4284, 64.9, -1.4914)
INS-131341_FOV_FRAME = LISM_MI_N_HEAD
INS-131341_FOV_SHAPE = RECTANGLE
INS-131341_F_NUMBER = 3.7
INS-131341_ITRANSL = (0, -25, 0)
INS-131341_ITRANSS = (0, 0, -25)
INS-131341_PIXEL_LINES = 240
INS-131341_PIXEL_SAMPLES = 320
INS-131341_PIXEL_SIZE = 0.04
INS-131341_TRANSX = (0, 0, 0)
INS-131341_TRANSY = (0, -0.04, 0)
End_Object
End
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'SELENE CK file '
BEGIN_ARRAY 1 83
'SELENE CK data type 3 '
'35FAD331^8'
'35FAD342^8'
'-1FFB8'
'1'
'3'
'1'
83
'309C3E01E638E8^0'
'6837EA03D0857C^0'
'-1E11F49A20E54^0'
'E2BB5C80C74E18^0'
'AD03DA5119CE08^-2'
'-100E6B367A0F91^-2'
'38088538EF34D8^-2'
'30A09140DA89B2^0'
'6852874A8E7408^0'
'-1E0B80AA3AB7F1^0'
'E2AF0C6A85D028^0'
'189374BC6A7EFA^-1'
'-5BC01A36E2EB1C^-2'
'75F6FD21FF2E4C^-2'
'30A99CD8DD994^0'
'68856EE1D6B164^0'
'-1DFF93BED778EA^0'
'E2973B946DEF1^0'
'16872B020C49BB^-1'
'-AA64C2F837B4A8^-2'
'902DE00D1B7178^-2'
'30B2F85843E6A6^0'
'68B871137351B4^0'
'-1DF3FAFDCADB67^0'
'E27F33331FF9C^0'
'-624DD2F1A9FBE8^-2'
'-20C49BA5E353F8^-2'
'68DB8BAC710CB4^-2'
'30BC1E6501D784^0'
'68EB90BFCAAA1^0'
'-1DE8D342B5423D^0'
'E2670AB5604958^0'
'-4EA4A8C154C988^-2'
'-89A027525460B^-2'
'624DD2F1A9FBE8^-2'
'30C443D17C667C^0'
'691E8FE835211^0'
'-1DDE472E086375^0'
'E24F050875289^0'
'-624DD2F1A9FBE8^-2'
'-20C49BA5E353F8^-2'
'346DC5D638865A^-2'
'30CB1F03BBC0DA^0'
'6951712AF6D2B^0'
'-1DD438BB7034B6^0'
'E237351C51E5E8^0'
'-346DC5D638865A^-2'
'3AFB7E90FF9726^-2'
'0^0'
'30D0A2605FB4DC^0'
'69840F7B59C4E^0'
'-1DCA8298A37CC5^0'
'E21FB469855F58^0'
'624DD2F1A9FBE8^-2'
'96BB98C7E2824^-2'
'-27525460AA64C4^-2'
'30D50B5552FDC2^0'
'69B691E9E4A8E4^0'
'-1DC0C2EFBC53C6^0'
'E20870B0AD27D8^0'
'9D495182A9931^-2'
'346DC5D638865A^-2'
'-4EA4A8C154C988^-2'
'30D8D34EF92BF8^0'
'69E7A37BEAE2B^0'
'-1DB72D843CE89E^0'
'E1F1E8EBDA02A^0'
'-1C0442D0E56042^-2'
'7B35295E9E1B0C^-3'
'-6833C60AA64C3^-2'
'35FAD331^8'
'35FAD3320CCCCC^8'
'35FAD3340CCCCC^8'
'35FAD3360CCCCC^8'
'35FAD3380CCCCC^8'
'35FAD33A0CCCCC^8'
'35FAD33C0CCCCC^8'
'35FAD33E0CCCCC^8'
'35FAD3400CCCCC^8'
'35FAD342^8'
'35FAD331^8'
'1^1'
'A^1'
END_ARRAY 1 83
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /users/arsanders/pds/kaguya_mi/MNA_2B2_01_04192S136E3573.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'SELENE CK file '
BEGIN_ARRAY 1 83
'SELENE CK data type 3 '
'35FAD528^8'
'35FAD537^8'
'-1FFB8'
'1'
'3'
'1'
83
'360497A7DA2B96^0'
'970A04C3C719A8^0'
'-12C23435437165^0'
'C6A0F1D359F118^0'
'-6BF8773EAB368^-2'
'6FE719096BB99^-2'
'4302B3F7CED918^-2'
'3604BEF3CDD954^0'
'970B22DB81ED7^0'
'-12C1E772D3FE3D^0'
'C6A014D5C2AA68^0'
'-75F6FD21FF2E4C^-2'
'75F6FD21FF2E4C^-2'
'4189374BC6A7F^-2'
'360A717E97EA8E^0'
'973823C2B44CE^0'
'-12B61F0BC35688^0'
'C67D6375B5D578^0'
'F9096BB98C7E28^-2'
'-75F6FD21FF2E4C^-2'
'5BC01A36E2EB1C^-2'
'360EB8613E043^0'
'9765192964976^0'
'-12AB424F386FF8^0'
'C65AF6A7B8F018^0'
'-B780346DC5D638^-2'
'0^0'
'0^0'
'3611FBAF95CC96^0'
'9792029D6370B8^0'
'-12A06CB5E154F2^0'
'C638C8433CB4A8^0'
'-13A92A30553262^-1'
'-89A027525460B^-2'
'-2DE00D1B71758E^-2'
'361464093070D^0'
'97BE5699A22598^0'
'-129576C12C6905^0'
'C6173A74890028^0'
'-13404EA4A8C155^-1'
'75F6FD21FF2E4C^-2'
'-5BC01A36E2EB1C^-2'
'361648820B180E^0'
'97EA686A8C64B8^0'
'-128A2E14705298^0'
'C5F5FAF4ECD4D8^0'
'75F6FD21FF2E4C^-2'
'27525460AA64C4^-2'
'-4189374BC6A7F^-2'
'36182BD236CCCA^0'
'98162203E9663^0'
'-127E88362E0FCD^0'
'C5D4F83D64AA1^0'
'-624DD2F1A9FBE8^-2'
'27525460AA64C4^-2'
'-68DB8BAC710CB4^-2'
'361AA8395CF31C^0'
'984196DBF6FA78^0'
'-127225FF0776EC^0'
'C5B402444D322^0'
'-113404EA4A8C16^-1'
'-13A92A30553262^-2'
'-6F694467381D8^-2'
'361C6CD396415^0'
'98561742E2B45^0'
'-126BF676D088A5^0'
'C5A44E6EBDB21^0'
'-AFA2F0068DB8C^-2'
'-201CD604189376^-2'
'-504816D5CFAAD^-2'
'35FAD528^8'
'35FAD5280CCCCC^8'
'35FAD52A0CCCCC^8'
'35FAD52C0CCCCC^8'
'35FAD52E0CCCCC^8'
'35FAD5300CCCCC^8'
'35FAD5320CCCCC^8'
'35FAD5340CCCCC^8'
'35FAD5360CCCCC^8'
'35FAD537^8'
'35FAD528^8'
'1^1'
'A^1'
END_ARRAY 1 83
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /users/arsanders/pds/kaguya_mi/MNA_2B2_01_04192S136E3573.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
{
"isis_camera_version": 1,
"naif_keywords": {
"BODY301_RADII": [
1737.4,
1737.4,
1737.4
],
"BODY_FRAME_CODE": 10020,
"BODY_CODE": 301,
"INS-131335_FOV_BOUNDARY_CORNERS": [
0.0005,
6.2668,
65.4,
-0.0125,
6.2668,
65.4,
-0.0125,
-6.2392,
65.4,
0.0005
],
"INS-131335_DISTORTION_COEF_X": [
2.8912e-19,
0.00020899000000000002,
4.7727000000000006e-05
],
"INS-131335_DISTORTION_COEF_Y": [
-1.0119e-18,
0.0034982,
1.9597e-05
],
"INS-131335_BORESIGHT": [
-0.006,
-0.0187,
65.4
],
"INS-131335_CENTER": [
484.0,
1.0
],
"INS-131335_PIXEL_SIZE": 0.013,
"INS-131335_FOV_SHAPE": "RECTANGLE",
"INS-131335_F_NUMBER": 3.7,
"INS-131335_PIXEL_LINES": 962.0,
"INS-131335_PIXEL_SAMPLES": 962.0,
"INS-131335_FOCAL_LENGTH": 65.4,
"INS-131335_FOV_FRAME": "LISM_MI_V_HEAD",
"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
]
},
"detector_sample_summing": 1,
"detector_line_summing": 1,
"focal_length_model": {
"focal_length": 65.4
},
"detector_center": {
"line": 0.5,
"sample": 483.5
},
"starting_detector_line": 0,
"starting_detector_sample": 0,
"focal2pixel_lines": [
0,
76.92307692307692,
0
],
"focal2pixel_samples": [
0,
0,
-76.92307692307692
],
"optical_distortion": {
"kaguyalism": {
"x": [
2.8912e-19,
0.00020899000000000002,
4.7727000000000006e-05
],
"y": [
-1.0119e-18,
0.0034982,
1.9597e-05
],
"boresight_x": -0.006,
"boresight_y": -0.0187
}
},
"image_lines": 960,
"image_samples": 962,
"name_platform": "SELENE MAIN ORBITER",
"name_sensor": "MULTIBAND IMAGER VISIBLE",
"isis_camera_version": 2,
"image_lines": 320,
"image_samples": 320,
"name_platform": "KAGUYA",
"name_sensor": "Multiband Imager Near Infrared",
"reference_height": {
"maxheight": 1000,
"minheight": -1000,
......@@ -150,623 +14,449 @@
"line_scan_rate": [
[
0.5,
-6.239987522363663,
0.012999974000000001
-6.23998749256134,
0.038999922
]
],
"starting_ephemeris_time": 261664552.50899568,
"center_ephemeris_time": 261664558.7489832,
"starting_ephemeris_time": 274867895.6899549,
"center_ephemeris_time": 274867901.92994237,
"radii": {
"semimajor": 1737.4,
"semiminor": 1737.4,
"unit": "km"
},
"instrument_pointing": {
"reference_frame" : 1,
"body_rotation": {
"time_dependent_frames": [
-131000,
31006,
1
],
"ck_table_start_time": 261664552.50899568,
"ck_table_end_time": 261664564.98897073,
"ck_table_original_size": 15,
"ck_table_start_time": 274867895.6899549,
"ck_table_end_time": 274867908.1699299,
"ck_table_original_size": 5,
"ephemeris_times": [
261664552.50899568,
261664553.40042248,
261664554.29184926,
261664555.18327606,
261664556.07470283,
261664556.96612963,
261664557.8575564,
261664558.7489832,
261664559.64041,
261664560.53183678,
261664561.42326358,
261664562.31469035,
261664563.20611715,
261664564.09754393,
261664564.98897073
274867895.6899549,
274867898.8099486,
274867901.92994237,
274867905.0499362,
274867908.1699299
],
"quaternions": [
[
-0.051661051153873275,
-0.7006601262613299,
-0.2157810772599907,
0.6781187580045638
],
[
-0.051562981044395585,
-0.7003880184403372,
-0.21580746855442728,
0.6783988643321591
],
[
-0.05146445606152621,
-0.700115253311309,
-0.2158346780237511,
0.6786791831237473
],
[
-0.05136708001228234,
-0.6998405030421031,
-0.21586458749172763,
0.6789603620682242
],
[
-0.05127046633531904,
-0.699564390964678,
-0.2158962831253876,
0.6792420754845951
],
[
-0.0511751795180098,
-0.6992873495647361,
-0.21592809762344845,
0.6795243633577421
],
[
-0.05108229328333569,
-0.6990087241733144,
-0.21596015512155592,
0.6798077774212238
-0.14520074478764572,
0.019735814988855627,
0.19277635092133164,
-0.9702394136733955
],
[
-0.05098986775735178,
-0.6987299676309876,
-0.2159921020605492,
0.6800910803472959
-0.14520477331427661,
0.01973661496794372,
0.1927762725271777,
-0.9702388100807368
],
[
-0.05090111629756331,
-0.6984509844706128,
-0.2160234293298993,
0.680374291572105
-0.14520880183823648,
0.01973741494666503,
0.19277619412970454,
-0.9702382064713765
],
[
-0.05081235635432923,
-0.698171884777203,
-0.21605472054109798,
0.6806573892056684
-0.14521283035974594,
0.019738214925063374,
0.19277611572890765,
-0.9702376028452816
],
[
-0.05072817570257887,
-0.6978937401407959,
-0.21608338484488482,
0.6809397553794
],
[
-0.05064467566415354,
-0.6976156413774419,
-0.21611162443919896,
0.6812219164961324
],
[
-0.050564860199468355,
-0.6973390832126966,
-0.21613496894835,
0.681503538607673
],
[
-0.050487244379830425,
-0.6970634017441713,
-0.21615537312482683,
0.6817847950585597
],
[
-0.050410617013086106,
-0.6967890114743863,
-0.2161734505037639,
0.6820651599944132
-0.14521685887880476,
0.019739014903138737,
0.1927760373247869,
-0.9702369992024523
]
],
"angular_velocities": [
[
-0.0009538064837455751,
-0.0012094992518424988,
0.0006069615960121158
],
[
-0.002153072667121888,
-0.0014504389524459844,
0.0004119513094425205
],
[
-0.003401070022583009,
-0.0016287242889404302,
0.00018909463882446273
],
[
-0.003792990374565126,
-0.0017000000000000003,
-8.726684451103225e-05
4.9326119715647234e-08,
-1.0103040378485462e-06,
2.4618723005275e-06
],
[
-0.0036147050380706787,
-0.0016999999999999997,
-0.0003992661833763125
4.932612075494303e-08,
-1.0103040412591635e-06,
2.46187229787412e-06
],
[
-0.0027211413443088543,
-0.0018748458206653612,
-0.0005841049253940577
4.932612179428222e-08,
-1.0103040446698025e-06,
2.4618722952207415e-06
],
[
-0.0005371459722518923,
-0.0023651304960250856,
-0.0005395335912704471
4.932612283366505e-08,
-1.0103040480804624e-06,
2.4618722925673613e-06
],
[
0.0013395470857620242,
-0.002724433857202531,
-0.0005251887142658237
],
[
0.0008046910762786868,
-0.0020558638453483592,
-0.0007480453848838812
],
[
0.0002698351383209233,
-0.0013872939229011543,
-0.0009709020256996161
],
[
-0.001970097398757935,
-0.0009124826073646547,
-0.0013100139141082763
],
[
-0.004466092109680176,
-0.00046676926612853925,
-0.0016665845870971678
],
[
-0.003391602659225463,
-0.0002721055924892425,
-0.0013815838873386384
],
[
-0.00018246660232543966,
-0.00022753425836563107,
-0.0007130138754844664
],
[
0.0019874078333377834,
-6.37033939361569e-05,
-0.00023185169696807864
4.932612387309121e-08,
-1.0103040514911428e-06,
2.4618722899139793e-06
]
],
"constant_frames": [
-131330,
-131320,
-131000
31001,
31007,
31006
],
"constant_rotation": [
0.9999999022105177,
-0.00041337792156500403,
-0.00015715485723418282,
0.0004135737459753289,
0.9999991356305759,
0.0012480764632437768,
0.0001566387941399994,
-0.00124814133631803,
0.9999992088034335
]
0.9999998732547144,
-0.00032928542237557133,
0.00038086961867138755,
0.00032928600021094723,
0.9999999457843062,
-1.4544409378362713e-06,
-0.00038086911909607826,
1.5798557868269087e-06,
0.9999999274681067
],
"reference_frame": 1
},
"body_rotation": {
"reference_frame" : 1,
"instrument_pointing": {
"time_dependent_frames": [
10020,
-131000,
1
],
"ck_table_start_time": 261664552.50899568,
"ck_table_end_time": 261664564.98897073,
"ck_table_original_size": 15,
"ck_table_start_time": 274867895.6899549,
"ck_table_end_time": 274867908.1699299,
"ck_table_original_size": 5,
"ephemeris_times": [
261664552.50899568,
261664553.40042248,
261664554.29184926,
261664555.18327606,
261664556.07470283,
261664556.96612963,
261664557.8575564,
261664558.7489832,
261664559.64041,
261664560.53183678,
261664561.42326358,
261664562.31469035,
261664563.20611715,
261664564.09754393,
261664564.98897073
274867895.6899549,
274867898.8099486,
274867901.92994237,
274867905.0499362,
274867908.1699299
],
"quaternions": [
[
-0.9710661094490091,
0.18926293156500895,
0.035823610511098454,
-0.14116239848108694
-0.211189167087694,
-0.591758548842394,
0.07283594721177017,
-0.7745423683508311
],
[
-0.9710662770439805,
0.1892629734174178,
0.03582338632897354,
-0.14116124635701674
-0.21125161922443972,
-0.5928173480877278,
0.0725754101135115,
-0.7737397204668645
],
[
-0.9710664446375847,
0.18926301526956016,
0.03582316214679887,
-0.14116009423275103
-0.21129663115718916,
-0.5938629078807577,
0.07230313312828618,
-0.7729507340347552
],
[
-0.9710666122298297,
0.18926305712143787,
0.03582293796456346,
-0.1411589421082355
-0.21135692313333493,
-0.5948976701962789,
0.07200996261700357,
-0.7721655122592219
],
[
-0.9710667798206913,
0.18926309897304502,
0.03582271378229974,
-0.14115778998363532
],
[
-0.9710669474102016,
0.18926314082438966,
0.03582248959996462,
-0.14115663785872964
],
[
-0.9710671149983365,
0.18926318267546582,
0.035822265417590336,
-0.14115548573368458
],
[
-0.9710672825851125,
0.18926322452627745,
0.0358220412351556,
-0.1411543336083884
-0.21145660613848902,
-0.5959267111897691,
0.07169811566017877,
-0.771373345936789
]
],
"angular_velocities": [
[
-0.9710674501705128,
0.1892632663768203,
0.03582181705268147,
-0.1411531814829536
-0.0038859590768814093,
-0.0011402570307254794,
-0.00038008567690849275
],
[
-0.971067617754554,
0.18926330822709891,
0.03582159287014686,
-0.1411520293572682
-0.004030655455589296,
0.0016764286994934076,
-0.0013588095664978025
],
[
-0.9710677853372359,
0.18926335007711273,
0.035821368687551584,
-0.14115087723133254
-0.0003878096759319298,
0.0006000000000000002,
-0.0013977835774421693
],
[
-0.9710679529185265,
0.18926339192685424,
0.0358211445049387,
-0.14114972510536786
-0.00348649845123291,
-0.0003891876935958863,
-0.001477030766010285
],
[
-0.9710681204984658,
0.18926343377633303,
0.035820920322254486,
-0.14114857297909725
1.785543560981759e-05,
-0.00015192399621009824,
-0.00038681371212005613
]
],
[
-0.9710682880770459,
0.1892634756255473,
0.03582069613950957,
-0.1411474208525769
"reference_frame": 1,
"constant_frames": [
-131340,
-131320,
-131000
],
[
-0.9710684556542424,
0.1892635174744909,
0.03582047195673622,
-0.14114626872597225
"constant_rotation": [
0.999999669363122,
-0.0005776668213350525,
0.0005723414110327901,
0.0005771560757984276,
0.9999994354858921,
0.0008921427923870766,
-0.000572856449229044,
-0.0008918121670889601,
0.9999994382531161
]
},
"naif_keywords": {
"BODY301_RADII": [
1737.4,
1737.4,
1737.4
],
"angular_velocities": [
[
4.161664897473834e-08,
-1.004371630350468e-06,
2.464628831254649e-06
"BODY_FRAME_CODE": 31001,
"BODY_CODE": 301,
"INS-131341_FOV_BOUNDARY_CORNERS": [
-1.4914,
6.3716,
64.9,
-1.5314,
6.3716,
64.9,
-1.5314,
-6.4284,
64.9,
-1.4914
],
"INS-131341_F_NUMBER": 3.7,
"INS-131341_TRANSX": [
0.0,
0.0,
0.0
],
[
4.161664885422191e-08,
-1.0043716308813643e-06,
2.4646288315121845e-06
"INS-131341_TRANSY": [
0.0,
-0.04,
0.0
],
[
4.1616648733707034e-08,
-1.004371631412263e-06,
2.464628831769719e-06
"INS-131341_PIXEL_SIZE": 0.04,
"INS-131341_DISTORTION_COEF_X": [
-0.00090474,
-0.002439,
-2.5248e-05,
2.8753e-05
],
"INS-131341_DISTORTION_COEF_Y": [
-0.00017747000000000002,
0.0024504,
0.00010338,
-4.7279999999999995e-05
],
"INS-131341_BORESIGHT": [
-1.5114,
-0.0084,
64.9
],
"INS-131341_FOCAL_LENGTH": 64.9,
"INS-131341_ITRANSL": [
0.0,
-25.0,
0.0
],
[
4.16166486131914e-08,
-1.0043716319431633e-06,
2.4646288320272517e-06
"INS-131341_ITRANSS": [
0.0,
0.0,
-25.0
],
[
4.1616648492676444e-08,
-1.0043716324740668e-06,
2.464628832284783e-06
"INS-131341_CENTER": [
160.0,
1.0
],
[
4.161664837216184e-08,
-1.0043716330049716e-06,
2.4646288325423125e-06
"INS-131341_FOV_SHAPE": "RECTANGLE",
"INS-131341_PIXEL_LINES": 240.0,
"INS-131341_PIXEL_SAMPLES": 320.0,
"INS-131341_FOV_FRAME": "LISM_MI_N_HEAD",
"BODY301_POLE_RA": [
269.9949,
0.0031,
0.0
],
[
4.161664825164693e-08,
-1.004371633535879e-06,
2.464628832799842e-06
"BODY301_NUT_PREC_PM": [
3.561,
0.1208,
-0.0642,
0.0158,
0.0252,
-0.0066,
-0.0047,
-0.0046,
0.0028,
0.0052
],
[
4.16166481311339e-08,
-1.0043716340667901e-06,
2.4646288330573695e-06
"BODY301_NUT_PREC_RA": [
-3.8787000000000003,
-0.1204,
0.07,
-0.0172,
0.0,
0.0072,
0.0,
0.0,
0.0,
-0.0052
],
[
4.161664801061875e-08,
-1.0043716345977008e-06,
2.464628833314895e-06
"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
],
[
4.1616647890104974e-08,
-1.0043716351286158e-06,
2.4646288335724185e-06
"BODY301_POLE_DEC": [
66.5392,
0.013,
0.0
],
[
4.161664776959167e-08,
-1.0043716356595318e-06,
2.4646288338299428e-06
"BODY301_PM": [
38.3213,
13.17635815,
-1.3999999999999999e-12
]
},
"detector_sample_summing": 1,
"detector_line_summing": 1,
"focal_length_model": {
"focal_length": 64.9
},
"detector_center": {
"line": 0.5,
"sample": 159.5
},
"starting_detector_line": 0,
"starting_detector_sample": 0,
"focal2pixel_lines": [
0.0,
-25.0,
0.0
],
[
4.161664764907793e-08,
-1.0043716361904512e-06,
2.4646288340874636e-06
"focal2pixel_samples": [
0.0,
0.0,
-25.0
],
[
4.161664752856538e-08,
-1.0043716367213725e-06,
2.464628834344985e-06
"optical_distortion": {
"kaguyalism": {
"x": [
-0.00090474,
-0.002439,
-2.5248e-05,
2.8753e-05
],
[
4.1616647408052476e-08,
-1.0043716372522953e-06,
2.4646288346025046e-06
"y": [
-0.00017747000000000002,
0.0024504,
0.00010338,
-4.7279999999999995e-05
],
[
4.161664728753888e-08,
-1.0043716377832207e-06,
2.464628834860021e-06
]
]
"boresight_x": -1.5114,
"boresight_y": -0.0084
}
},
"instrument_position": {
"reference_frame" : 1,
"spk_table_start_time": 261664552.50899568,
"spk_table_end_time": 261664564.98897073,
"spk_table_original_size": 15,
"spk_table_start_time": 274867895.6899549,
"spk_table_end_time": 274867908.1699299,
"spk_table_original_size": 5,
"ephemeris_times": [
261664552.50899568,
261664553.40042248,
261664554.29184926,
261664555.18327606,
261664556.07470283,
261664556.96612963,
261664557.8575564,
261664558.7489832,
261664559.64041,
261664560.53183678,
261664561.42326358,
261664562.31469035,
261664563.20611715,
261664564.09754393,
261664564.98897073
274867895.6899549,
274867898.8099486,
274867901.92994237,
274867905.0499362,
274867908.1699299
],
"positions": [
[
1779.1765541938503,
397.6505395849898,
149.9585676494352
],
[
1779.1726996991406,
398.19882555240866,
148.60196403717865
],
[
1779.1677124503892,
398.74685851343,
147.24526595675715
],
[
1779.1615932222896,
399.2946366799058,
145.88847341181543
],
[
1779.154341255063,
399.8421611247914,
144.53158811592658
-1757.0738223793949,
-249.05392622049578,
-548.2876379512428
],
[
1779.1459573830084,
400.3894300599344,
143.17461008763462
-1758.1768996080455,
-251.14499583265493,
-543.8321343832434
],
[
1779.136440771842,
400.9364446029984,
141.81754103306466
-1759.2668797359945,
-253.2341982245033,
-539.3725789881033
],
[
1779.125791853619,
401.4832036885585,
140.46038134702127
-1760.343754923649,
-255.32151790240292,
-534.9090049668183
],
[
1779.1140110454915,
402.0297062213894,
139.10313156586872
],
[
1779.1010975429751,
402.57595329680214,
137.74579333985244
],
[
1779.087052180374,
403.1219431638951,
136.38836669496678
],
[
1779.071874183002,
403.6676768807256,
135.0308533447852
],
[
1779.055564340459,
404.2131526889458,
133.67325329667835
],
[
1779.03812187806,
404.75837166151257,
132.31556826049345
],
[
1779.0195476301076,
405.3033320400754,
130.957798262226
-1761.4075174804464,
-257.40693928143247,
-530.4414457951356
]
],
"velocities": [
[
-0.003688959644644985,
0.615208251928988,
-1.521780235612949
-0.35564920184647886,
-0.67051349643618,
1.4273960625130728
],
[
-0.004959248964411199,
0.6149238025932658,
-1.521887172628387
-0.35145266523520896,
-0.6699175100949512,
1.4287000561317074
],
[
-0.006229527337232522,
0.614638964323945,
-1.5219931421762114
-0.3472536102845651,
-0.6693165452123843,
1.4299933861803715
],
[
-0.007499794140988983,
0.6143537372556477,
-1.522098144209672
-0.3430520668136013,
-0.6687106060454521,
1.4312760438768612
],
[
-0.008770048414376274,
0.6140681215991783,
-1.5222021786542368
],
[
-0.010040289534500703,
0.6137821174891751,
-1.522305245463068
],
[
-0.011310516539232391,
0.613495725136574,
-1.5224073445621644
],
[
-0.01258072876261374,
0.6132089446855354,
-1.522508475901433
],
[
-0.013850925410832968,
0.6129217763088936,
-1.5226086394205134
],
[
-0.015121105562940636,
0.6126342202083058,
-1.522707835049596
],
[
-0.016391268593877,
0.6123462765183301,
-1.5228060627418618
],
[
-0.017661413539324235,
0.6120579454504373,
-1.5229033224246329
],
[
-0.01893153977328187,
0.6117692271392193,
-1.522999614051104
],
[
-0.020201646330485018,
0.6114801217963561,
-1.5230949375491383
],
[
-0.021471732583980305,
0.6111906295565285,
-1.5231892928719597
]
-0.33884806493322267,
-0.6680996969254315,
1.4325480204314862
]
],
"reference_frame": 1
},
"sun_position": {
"reference_frame" : 1,
"spk_table_start_time": 261664558.7489832,
"spk_table_end_time": 261664558.7489832,
"spk_table_start_time": 274867901.92994237,
"spk_table_end_time": 274867901.92994237,
"spk_table_original_size": 1,
"ephemeris_times": [
261664558.7489832
274867901.92994237
],
"positions": [
[
133875301.95654832,
63045454.87068491,
27346357.260941397
-149953325.72871622,
13888654.846146088,
5991871.682594174
]
],
"velocities": [
[
-12.93006737143756,
25.242392040919338,
11.03273428906624
]
-2.2597715949824777,
-27.992152079299675,
-12.191726612095138
]
],
"reference_frame": 1
}
}
......@@ -13,11 +13,11 @@ from conftest import get_isd, get_image_label, get_image_kernels, convert_kernel
import ale
from ale.drivers.selene_drivers import KaguyaTcPds3NaifSpiceDriver
from ale.drivers.selene_drivers import KaguyaTcPds3NaifSpiceDriver, KaguyaMiIsisLabelNaifSpiceDriver
image_dict = {
'TC1S2B0_01_06691S820E0465' : get_isd("kaguyatc"),
'MVA_2B2_01_02329N002E0302' : get_isd("kaguyami")
'MNA_2B2_01_04192S136E3573' : get_isd("kaguyami")
}
......@@ -33,9 +33,13 @@ def test_kernels():
for kern in kern_list:
os.remove(kern)
@pytest.mark.parametrize("label_type", ['pds3'])
@pytest.mark.parametrize("image", image_dict.keys())
@pytest.mark.xfail()
@pytest.mark.parametrize("label_type", ['pds3', 'isis3'])
def test_kaguya_load(test_kernels, label_type, image):
if label_type == 'pds3':
image = 'TC1S2B0_01_06691S820E0465'
else:
image = 'MNA_2B2_01_04192S136E3573'
label_file = get_image_label(image, label_type)
isd_str = ale.loads(label_file, props={'kernels': test_kernels[image]})
......@@ -123,3 +127,67 @@ class test_pds_naif(unittest.TestCase):
def test_spacecraft_direction(self):
assert self.driver.spacecraft_direction == 1
# ========= Test kaguyami isis3label and naifspice driver =========
class test_kaguyami_isis3_naif(unittest.TestCase):
def setUp(self):
label = get_image_label("MNA_2B2_01_04192S136E3573", "isis3")
self.driver = KaguyaMiIsisLabelNaifSpiceDriver(label)
def test_instrument_id(self):
assert self.driver.instrument_id == 'LISM_MI-NIR1'
def test_sensor_frame_id(self):
with patch('ale.drivers.selene_drivers.spice.namfrm', return_value=12345) as namfrm:
assert self.driver.sensor_frame_id == 12345
namfrm.assert_called_with('LISM_MI_N_HEAD')
def test_ikid(self):
with patch('ale.drivers.selene_drivers.spice.bods2c', return_value=12345) as bods2c:
assert self.driver.ikid == 12345
bods2c.assert_called_with('LISM_MI-NIR1')
def test_spacecraft_name(self):
assert self.driver.spacecraft_name == 'KAGUYA'
def test_spacecraft_clock_start_count(self):
assert self.driver.spacecraft_clock_start_count == 905631021.135959
def test_spacecraft_clock_stop_count(self):
assert self.driver.spacecraft_clock_stop_count == 905631033.576935
def test_ephemeris_start_time(self):
with patch('ale.drivers.selene_drivers.spice.sct2e', return_value=12345) as sct2e, \
patch('ale.drivers.selene_drivers.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.ephemeris_start_time == 12345
sct2e.assert_called_with(-12345, 905631021.135959)
def test_detector_center_line(self):
with patch('ale.drivers.selene_drivers.spice.gdpool', return_value=np.array([54321, 12345])) as gdpool, \
patch('ale.drivers.selene_drivers.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.detector_center_line == 12344.5
gdpool.assert_called_with('INS-12345_CENTER', 0, 2)
def test_detector_center_sample(self):
with patch('ale.drivers.selene_drivers.spice.gdpool', return_value=np.array([54321, 12345])) as gdpool, \
patch('ale.drivers.selene_drivers.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.detector_center_sample == 54320.5
gdpool.assert_called_with('INS-12345_CENTER', 0, 2)
def test_focal2pixel_samples(self):
with patch('ale.drivers.selene_drivers.spice.gdpool', return_value=np.array([2])) as gdpool, \
patch('ale.drivers.selene_drivers.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.focal2pixel_samples == [0, 0, -1/2]
gdpool.assert_called_with('INS-12345_PIXEL_SIZE', 0, 1)
def test_focal2pixel_lines(self):
with patch('ale.drivers.selene_drivers.spice.gdpool', return_value=np.array([2])) as gdpool, \
patch('ale.drivers.selene_drivers.spice.bods2c', return_value=-12345) as bods2c, \
patch('ale.drivers.selene_drivers.KaguyaTcPds3NaifSpiceDriver.spacecraft_direction', \
new_callable=PropertyMock) as spacecraft_direction:
spacecraft_direction.return_value = 1
assert self.driver.focal2pixel_lines == [0, 1/2, 0]
spacecraft_direction.return_value = -1
assert self.driver.focal2pixel_lines == [0, 1/2, 0]
gdpool.assert_called_with('INS-12345_PIXEL_SIZE', 0, 1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment