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

Initial Hayabusa-2 ONC driver (#291)

* Initial hayabusa2 driver

* Added hayabusa2 test data

* Initial hayabusa2 tests
parent 27d3d5a1
No related branches found
No related tags found
No related merge requests found
Showing
with 7495 additions and 0 deletions
import spiceypy as spice
import ale
from ale.base.data_naif import NaifSpice
from ale.base.label_isis import IsisLabel
from ale.base.type_sensor import Framer
from ale.base.base import Driver
class Hayabusa2ONCIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver):
@property
def instrument_id(self):
lookup_table = {'ONC-W2': 'HAYABUSA2_ONC-W2'}
return lookup_table[super().instrument_id]
@property
def sensor_model_version(self):
return 1
@property
def spacecraft_name(self):
name = super().spacecraft_name.replace('-', '')
if name.split(' ')[0] != "HAYABUSA2":
raise Exception(f"{name} for label is not a valid Hayabusa 2 spacecraft name")
return name
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 45
'DE-0430LE-0430 '
'1DF2131C3D78E1^8'
'1DF213276D1694^8'
'18F'
'3'
'1'
'2'
45
'1DF0484^8'
'2A3^5'
'E973B77A819CF^3'
'4EEA7C17F1A51^3'
'-BBCF008A52D9D^2'
'-84A8B51FCD3928^1'
'CD57E5DF44C478^0'
'-2CF0A67591757A^-1'
'-157C7A1F47FE07^-2'
'9C3992FA7A31D8^-3'
'-A295096FE59218^-4'
'A495E790C2B67^-6'
'96CED3AC21A8C8^-6'
'-1006D516A10D4F^-6'
'9523FFD0C5FC78^-8'
'-9DC4AB113D0998^3'
'5DC96E94214614^3'
'7EF3660D70FA9^2'
'-D8273708144D08^1'
'-39CCAF833AB4FA^0'
'762D19E93A987^-1'
'-7C811C64FB9714^-2'
'4EE5FC8F639A4^-3'
'62D0A195FA9BFC^-4'
'-B700D71E61A83^-5'
'8E35FC567EFE1^-6'
'1B122812FC0A99^-7'
'-101F0B902090E9^-7'
'-3536C871495EDA^3'
'1EDDF56C58AA68^3'
'2AB7C6BDD8ECE8^2'
'-46ECAB119139A4^1'
'-13B44C640FC088^0'
'26EB1619E5939^-1'
'-293AC1B4D2C2F^-2'
'19BF1F59E3CF6B^-3'
'212149164C93C^-4'
'-3C87E372027B44^-5'
'2EB6CD6E1DB73C^-6'
'99986BD04368B8^-8'
'-55B79744C5DDCC^-8'
'1DEDA54^8'
'546^5'
'29^2'
'1^1'
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0430LE-0430 '
'1DF2131C3D78E1^8'
'1DF213276D1694^8'
'A'
'0'
'1'
'2'
39
'1DE85F4^8'
'A8C^5'
'8721ADD29266B^5'
'5C4DCB0F80B8B4^3'
'-179515396557F9^2'
'-1FE32C6316A78^0'
'7DDD9C5697CAD8^-2'
'9B247E7A3A087^-3'
'9DF96C4EF4015^-5'
'-18E79E351AD518^-5'
'15F0258B6CCBDF^-6'
'-7E2744DF0B7E3^-7'
'162A16945D1C07^-8'
'2913923022D53E^5'
'1D16AB1A81327C^4'
'91206B5B94F478^1'
'-17479890940177^0'
'-ADDF6C45216D78^-2'
'2149B13A5C65F2^-3'
'7BD257FA4CFB98^-4'
'1A2F9BA705B1BA^-6'
'64496C1E260A4C^-6'
'184F40A99025A7^-7'
'37EF19F8B97ACC^-8'
'B6FA72AF6EC62^4'
'C6B83599481F78^3'
'4A06CBA81475C^1'
'-9AB1A1A6ED9E38^-1'
'-53BAF20641E54C^-2'
'2864F574C3EB6A^-4'
'3E9CEAB282DCC6^-4'
'383FD731B67AAA^-6'
'336610816947E2^-6'
'1960A5EED548C7^-7'
'1CD22B582DBCA^-8'
'1DDDD34^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0430LE-0430 '
'1DF2131C3D78E1^8'
'1DF213276D1694^8'
'3'
'0'
'1'
'2'
45
'1DE85F4^8'
'A8C^5'
'3FC2A679363CF8^7'
'-11CC629447EAC3^7'
'-4FF1A7D62151F4^5'
'3AF0887537B1D^4'
'9C7E5E50647CC^2'
'-3E161B1008DC58^1'
'-B6728A9482A78^-1'
'126366C97AD848^-2'
'5C44B064F81CEC^-3'
'D0DFCC67B9B6A8^-4'
'-5BAB51971C6C18^-4'
'-6F262ABB9A4794^-5'
'674D9AADA4149C^-5'
'72E4B4987F4298^7'
'80C5BFF3CBE4D^6'
'-91151DB613F7C^5'
'-1CC83B314D4A7^4'
'F547E0CDD2725^2'
'275558260040E6^1'
'-BECBAC1A4CE76^-1'
'-1F593BB38AC8CB^-2'
'760F5D4CB3387C^-3'
'-107416ADDD701D^-3'
'-5D15B978782A04^-4'
'16D69F475A08B1^-4'
'4CA1D595AE5118^-5'
'31C841B308DDB2^7'
'37D32AECE5C9DE^6'
'-3EE4EA7F916968^5'
'-C7A468EB2E2348^3'
'6A54F760E2227C^2'
'110E32A90FF5FD^1'
'-534C5C9301D6F4^-1'
'-ED6C92E87DA3C8^-3'
'3FB78A3F7D0178^-3'
'-6645BF047AA744^-4'
'-35A8D481853EF8^-4'
'A025715B8C0D9^-5'
'2E94C5C6D7E1D4^-5'
'1DDDD34^8'
'1518^6'
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
'/tmp/spice_spk_zaw90.txt '
'1DF2131C3D78E1^8'
'1DF213276D1694^8'
'-25'
'18F'
'1'
'9'
86
'-4F8CEA65E7FFFC^3'
'-650AAA8922FFFC^4'
'7D34F1C2722004^4'
'1899A3C475327^1'
'5316D2D7FA1EC8^1'
'-35C121B7CFA948^1'
'-49C8B37845FFFC^3'
'-63D2D0BD734004^4'
'7C6B08D37C6^4'
'189B608084292F^1'
'533B48F3B3ADE^1'
'-35EE72B04499F8^1'
'-440416EDCE0004^3'
'-629A6D42BA7FFC^4'
'7BA07444DD1FFC^4'
'189D06A0F4EE11^1'
'536041ADB6A4D8^1'
'-361CAB33A13CAC^1'
'-3E3F1A3D380002^3'
'-61617E2A4DBFFC^4'
'7AD530A55A8004^4'
'189E94BBA17A7^1'
'5385BFA714F458^1'
'-364BD238999816^1'
'-3879C3342E^3'
'-6028017B6B7FFC^4'
'7A093A6907E004^4'
'18A0095116D30E^1'
'53ABC58FEEAA2^1'
'-367BEEFD99A634^1'
'-32B417FD2BFFFE^3'
'-5EEDF53339FFFC^4'
'793C8DE855DFFC^4'
'18A162CC2FF112^1'
'53D25628E1B6E^1'
'-36AD090AE06DBA^1'
'-2CEE1F240A^3'
'-5DB357445A4004^4'
'786F275ED2DFFC^4'
'18A29F7EF8D97^1'
'53F974403C2858^1'
'-36DF283793E8A2^1'
'-2727DF9CB8^3'
'-5C782596E28^4'
'77A102EA1DFFFC^4'
'18A3BDA355856F^1'
'542122B5FDEF28^1'
'-371254ACB21DA8^1'
'-216160C832^3'
'-5B3C5E07E54004^4'
'76D21C888DBFFC^4'
'18A4BB5750F9AF^1'
'544964790D1918^1'
'-374696E99706C8^1'
'-1B9AAA7C56^3'
'-59FFFE69780004^4'
'76027018002^4'
'18A5969C942FB2^1'
'54723C884196D^1'
'-377BF7C88DAAAE^1'
'-15D3C50991FFFF^3'
'-58C3048234FFFC^4'
'7531F954604004^4'
'18A64D564E2BD1^1'
'549BADF365761^1'
'-37B28082E60364^1'
'-100CB94383FFFF^3'
'-57856E0D3CC^4'
'7460B3D657A004^4'
'18A6DD4658E7CF^1'
'54C5BBD938A78^1'
'-37EA3AB6E21794^1'
'1DF211C^8'
'1DF211FC^8'
'1DF21238^8'
'1DF21274^8'
'1DF212B^8'
'1DF212EC^8'
'1DF21328^8'
'1DF21364^8'
'1DF213A^8'
'1DF213DC^8'
'1DF21418^8'
'1DF21454^8'
'A^1'
'C^1'
END_ARRAY 4 86
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /home/tthatcher/Desktop/data/ale/hybusa/hyb2_0.bsp LOG FILE
; Created 2019-09-27/14:52:40.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /home/tthatcher/Desktop/data/ale/hybusa/hyb2_0.bsp
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/hayabusa2/kernels/tspk/de430.bsp
INCLUDE_COMMENTS = NO
BODIES = 3, 10, 399
BEGIN_TIME = 2015 DEC 03 08:36:40.057
END_TIME = 2015 DEC 03 08:36:51.243
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/hayabusa2/kernels/spk/hyb2_20151123-20151213_0001m_final_ver1.oem.bsp
INCLUDE_COMMENTS = NO
BODIES = -37
BEGIN_TIME = 2015 DEC 03 08:36:40.057
END_TIME = 2015 DEC 03 08:36:51.243
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 45
'DE-0430LE-0430 '
'1DF2150958DD3D^8'
'1DF21513591EC7^8'
'18F'
'3'
'1'
'2'
45
'1DF0484^8'
'2A3^5'
'E973B77A819CF^3'
'4EEA7C17F1A51^3'
'-BBCF008A52D9D^2'
'-84A8B51FCD3928^1'
'CD57E5DF44C478^0'
'-2CF0A67591757A^-1'
'-157C7A1F47FE07^-2'
'9C3992FA7A31D8^-3'
'-A295096FE59218^-4'
'A495E790C2B67^-6'
'96CED3AC21A8C8^-6'
'-1006D516A10D4F^-6'
'9523FFD0C5FC78^-8'
'-9DC4AB113D0998^3'
'5DC96E94214614^3'
'7EF3660D70FA9^2'
'-D8273708144D08^1'
'-39CCAF833AB4FA^0'
'762D19E93A987^-1'
'-7C811C64FB9714^-2'
'4EE5FC8F639A4^-3'
'62D0A195FA9BFC^-4'
'-B700D71E61A83^-5'
'8E35FC567EFE1^-6'
'1B122812FC0A99^-7'
'-101F0B902090E9^-7'
'-3536C871495EDA^3'
'1EDDF56C58AA68^3'
'2AB7C6BDD8ECE8^2'
'-46ECAB119139A4^1'
'-13B44C640FC088^0'
'26EB1619E5939^-1'
'-293AC1B4D2C2F^-2'
'19BF1F59E3CF6B^-3'
'212149164C93C^-4'
'-3C87E372027B44^-5'
'2EB6CD6E1DB73C^-6'
'99986BD04368B8^-8'
'-55B79744C5DDCC^-8'
'1DEDA54^8'
'546^5'
'29^2'
'1^1'
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0430LE-0430 '
'1DF2150958DD3D^8'
'1DF21513591EC7^8'
'A'
'0'
'1'
'2'
39
'1DE85F4^8'
'A8C^5'
'8721ADD29266B^5'
'5C4DCB0F80B8B4^3'
'-179515396557F9^2'
'-1FE32C6316A78^0'
'7DDD9C5697CAD8^-2'
'9B247E7A3A087^-3'
'9DF96C4EF4015^-5'
'-18E79E351AD518^-5'
'15F0258B6CCBDF^-6'
'-7E2744DF0B7E3^-7'
'162A16945D1C07^-8'
'2913923022D53E^5'
'1D16AB1A81327C^4'
'91206B5B94F478^1'
'-17479890940177^0'
'-ADDF6C45216D78^-2'
'2149B13A5C65F2^-3'
'7BD257FA4CFB98^-4'
'1A2F9BA705B1BA^-6'
'64496C1E260A4C^-6'
'184F40A99025A7^-7'
'37EF19F8B97ACC^-8'
'B6FA72AF6EC62^4'
'C6B83599481F78^3'
'4A06CBA81475C^1'
'-9AB1A1A6ED9E38^-1'
'-53BAF20641E54C^-2'
'2864F574C3EB6A^-4'
'3E9CEAB282DCC6^-4'
'383FD731B67AAA^-6'
'336610816947E2^-6'
'1960A5EED548C7^-7'
'1CD22B582DBCA^-8'
'1DDDD34^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0430LE-0430 '
'1DF2150958DD3D^8'
'1DF21513591EC7^8'
'3'
'0'
'1'
'2'
45
'1DE85F4^8'
'A8C^5'
'3FC2A679363CF8^7'
'-11CC629447EAC3^7'
'-4FF1A7D62151F4^5'
'3AF0887537B1D^4'
'9C7E5E50647CC^2'
'-3E161B1008DC58^1'
'-B6728A9482A78^-1'
'126366C97AD848^-2'
'5C44B064F81CEC^-3'
'D0DFCC67B9B6A8^-4'
'-5BAB51971C6C18^-4'
'-6F262ABB9A4794^-5'
'674D9AADA4149C^-5'
'72E4B4987F4298^7'
'80C5BFF3CBE4D^6'
'-91151DB613F7C^5'
'-1CC83B314D4A7^4'
'F547E0CDD2725^2'
'275558260040E6^1'
'-BECBAC1A4CE76^-1'
'-1F593BB38AC8CB^-2'
'760F5D4CB3387C^-3'
'-107416ADDD701D^-3'
'-5D15B978782A04^-4'
'16D69F475A08B1^-4'
'4CA1D595AE5118^-5'
'31C841B308DDB2^7'
'37D32AECE5C9DE^6'
'-3EE4EA7F916968^5'
'-C7A468EB2E2348^3'
'6A54F760E2227C^2'
'110E32A90FF5FD^1'
'-534C5C9301D6F4^-1'
'-ED6C92E87DA3C8^-3'
'3FB78A3F7D0178^-3'
'-6645BF047AA744^-4'
'-35A8D481853EF8^-4'
'A025715B8C0D9^-5'
'2E94C5C6D7E1D4^-5'
'1DDDD34^8'
'1518^6'
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
'/tmp/spice_spk_zaw90.txt '
'1DF2150958DD3D^8'
'1DF21513591EC7^8'
'-25'
'18F'
'1'
'9'
86
'-1B9AAA7C56^3'
'-59FFFE69780004^4'
'76027018002^4'
'18A5969C942FB2^1'
'54723C884196D^1'
'-377BF7C88DAAAE^1'
'-15D3C50991FFFF^3'
'-58C3048234FFFC^4'
'7531F954604004^4'
'18A64D564E2BD1^1'
'549BADF365761^1'
'-37B28082E60364^1'
'-100CB94383FFFF^3'
'-57856E0D3CC^4'
'7460B3D657A004^4'
'18A6DD4658E7CF^1'
'54C5BBD938A78^1'
'-37EA3AB6E21794^1'
'-A459087CE^2'
'-564738B9C40004^4'
'738E9B11A84004^4'
'18A7440C246832^1'
'54F069692B38E8^1'
'-3823306BB9E14^1'
'-47E54C786^2'
'-5508622B060004^4'
'72BBAA53BE6004^4'
'18A77F2181A62F^1'
'551BB9E2231AD8^1'
'-385D6C18616718^1'
'148EF70B^2'
'-53C8E7F7DD4004^4'
'71E7DCC1DAE004^4'
'18A78BD8D3A6CF^1'
'5547B093C45B28^1'
'-3898F8A831A328^1'
'71030EDDDFFFF4^2'
'-5288C7AAB8C^4'
'71132D57788^4'
'18A7675880632^1'
'557450DA3CEA8^1'
'-38D5E1832E9C16^1'
'CD763CDA600008^2'
'-5147FEC12F8^4'
'703D96E44A9FFC^4'
'18A70E9BB1E^1'
'55A19E25F8D6A^1'
'-39143291284BE4^1'
'129E7B71E20001^3'
'-50068AABFD8004^4'
'6F67140A6E7FF8^4'
'18A67E6A5716CF^1'
'55CF9BF0FA102^1'
'-3953F84524B946^1'
'18656A7616^3'
'-4EC468CE95BFFC^4'
'6E8F9F3C36C^4'
'18A5B358D20C1^1'
'55FE4DC4FAA4D^1'
'-39953FA23BDE3E^1'
'1E2C22A173FFFF^3'
'-4D81967F2DBFFC^4'
'6DB732BA1FDFFC^4'
'18A4A9C452B93^1'
'562DB73AEA8548^1'
'-39D8164346C176^1'
'23F294DA880002^3'
'-4C3E1106480004^4'
'6CDDC890638^4'
'18A35DCC9B22EE^1'
'565DDBF4E3BF6^1'
'-3A1C8A65B35CFA^1'
'1DF213DC^8'
'1DF21418^8'
'1DF21454^8'
'1DF2149^8'
'1DF214CC^8'
'1DF21508^8'
'1DF21544^8'
'1DF2158^8'
'1DF215BC^8'
'1DF215F8^8'
'1DF21634^8'
'1DF2167^8'
'A^1'
'C^1'
END_ARRAY 4 86
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /home/tthatcher/Desktop/data/ale/hybusa/hyb2_1.bsp LOG FILE
; Created 2019-09-27/14:52:40.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /home/tthatcher/Desktop/data/ale/hybusa/hyb2_1.bsp
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/hayabusa2/kernels/tspk/de430.bsp
INCLUDE_COMMENTS = NO
BODIES = 3, 10, 399
BEGIN_TIME = 2015 DEC 03 08:44:53.164
END_TIME = 2015 DEC 03 08:45:03.165
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/hayabusa2/kernels/spk/hyb2_20151123-20151213_0001m_final_ver1.oem.bsp
INCLUDE_COMMENTS = NO
BODIES = -37
BEGIN_TIME = 2015 DEC 03 08:44:53.164
END_TIME = 2015 DEC 03 08:45:03.165
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'Hayabusa2 CK data type 3 '
BEGIN_ARRAY 1 27
'ISAS/JAXA HAYABUSA2 project '
'3C3A7896^8'
'3C3A79FC^8'
'-9088'
'1'
'3'
'1'
27
'8056DBF1E78D1^0'
'-D5016DEA36A188^0'
'-CAE95155BA829^-1'
'3B6FFF3745DFD2^0'
'-7EE0BEE13BD758^-4'
'-153FE74B8D78AF^-3'
'1297EE110971EF^-3'
'8052D5B08384B8^0'
'-D50401E37526E8^0'
'-CAC0114F1E256^-1'
'3B6FFF356289FA^0'
'-11B5A6604C26EE^-3'
'-99F0CE39A9B36^-4'
'-3E13E4B5A8A4F4^-3'
'8052D2EC581AF8^0'
'-D50401E3A2EAF^0'
'-CAC1D14F4B875^-1'
'3B6FFF356F4F14^0'
'-104669875CEF3A^-3'
'-67C526A129CAB^-4'
'-3B6FCD5AAA9EE4^-3'
'3C3A7896^8'
'3C3A79E^8'
'3C3A79FC^8'
'3C3A7896^8'
'1^1'
'3^1'
END_ARRAY 1 27
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/tthatcher/Desktop/data/hybusa/hyb2.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'Hayabusa2 CK data type 3 '
BEGIN_ARRAY 1 19
'ISAS/JAXA HAYABUSA2 project '
'3C3AB63A^8'
'3C3AB77A^8'
'-9088'
'1'
'3'
'1'
19
'80597948A2F94^0'
'-D50001E371076^0'
'-CAC0114F1E256^-1'
'3B6FFF356289FA^0'
'-1658020DB3587E^-3'
'1CC94AD707858E^-3'
'-56761289A98D9^-4'
'80597948A2F94^0'
'-D50001E371076^0'
'-CAC0114F1E256^-1'
'3B6FFF356289FA^0'
'-300B0CE35DED54^-3'
'28756F295F5D34^-3'
'BA9DFCC3CAA118^-4'
'3C3AB63A^8'
'3C3AB77A^8'
'3C3AB63A^8'
'1^1'
'2^1'
END_ARRAY 1 19
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/tthatcher/Desktop/data/hybusa/hyb2.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
Object = IsisCube
Object = Core
StartByte = 65537
Format = Tile
TileSamples = 512
TileLines = 512
Group = Dimensions
Samples = 1024
Lines = 1024
Bands = 1
End_Group
Group = Pixels
Type = Real
ByteOrder = Lsb
Base = 0.0
Multiplier = 1.0
End_Group
End_Object
Group = Instrument
SpacecraftName = HAYABUSA-2
InstrumentId = ONC-W2
InstrumentName = "Optical Navigation Camera"
OriginalTargetName = Earth
TargetName = Earth
StartTime = 2015-12-03T08:44:58.177
StopTime = 2015-12-03T08:44:58.179
ExposureDuration = 0.00272 <seconds>
SpacecraftClockStartCount = 1/1010480858
SpacecraftClockStartCount = 1/1010480858
RawSpacecraftClockCount = 0x3C3AB6DA <1/32 sec>
OnboardDataRecordedTime = 3C3AB701
Binning = 1
SelectedImageAreaX1 = 1
SelectedImageAreaY1 = 1
SelectedImageAreaX2 = 1024
SelectedImageAreaY2 = 1
SelectedImageAreaX3 = 1
SelectedImageAreaY3 = 1024
SelectedImageAreaX4 = 1024
SelectedImageAreaY4 = 1024
SmearCorrection = NON
OffsetCorrection = N/A
FlatCorrection = NON
RadianceConversion = NON
PhotometricCorrection = NON
BandRegistration = NON
L2BFlatFileName = N/A
L2BSystemEfficiencyFileName = N/A
L2CShapeModelFileName = N/A
L2DPhaseFunctionFileName = N/A
L2DShapeModelFileName = N/A
ImageID = 01026
SubImageCount = 1
BusLineVoltage = 49.28 <V>
ONCCurrent = 0.52 <V>
FLACCurrent = 0.00 <V>
ONCAETemperature = 1.53 <degC>
ONCTOpticsTemperature = 19.26 <degC>
ONCTCCDTemperature = -29.47 <degC>
ONCTElectricCircuitTemperature = -11.88 <degC>
ONCW1OpticsTemperature = 1.36 <degC>
ONCW1CCDTemperature = -25.02 <degC>
ONCW1ElectricCircuitTemperature = -10.90 <degC>
ONCW2OpticsTemperature = 1.27 <degC>
ONCW2CCDTemperature = -24.66 <degC>
ONCW2ElectricCircuitTemperature = -4.12 <degC>
FLACTemperature = -15.27 <degC>
Compression = LOSSY
End_Group
Group = Archive
ProducerId = ISAS/JAXA
L0FileName = 01026_20151203084459_00003C3AB701.img
FormatType = "HAYABUSA2 IMAGE ONC L2a"
FormatTypeVersion = 20161019
ContentType = "ONC-W2 NON SMEARCORRECTED"
ContentVersion = 20161019
ImageType = SCIENCE
SourceProductId = hyb2_onc_20151203_084458_w2f_l2a
YearDoy = 2015337
End_Group
Group = BandBin
FilterName = None
End_Group
Group = Kernels
NaifFrameCode = -37120
End_Group
End_Object
Object = Label
Bytes = 65536
End_Object
Object = History
Name = IsisCube
StartByte = 4259841
Bytes = 574
End_Object
Object = OriginalLabel
Name = IsisCube
StartByte = 4260415
Bytes = 11769
End_Object
End
KPL/IK
Hayabusa2 ONC Instrument kernel
================================================================================
This instrument kernel (I-kernel) contains the frames and FOV
definitions for Hayabusa2 Optical Navigation Camera (ONC).
Version and Date
================================================================================
Version 0.0 -- Jan 16, 2017 -- Hayabusa2 SPICE Team
Renamed for the public release
Version beta-01 -- Dec 21, 2016 -- Manabu YAMADA, PERC/Chitech
Fixed typo and values.
Version beta-00 -- Nov 18, 2014 -- Manabu YAMADA, PERC/Chitech
Preliminary Version. Based on AKATSUKI/UVI I-Kernel Version 4.0
References
1. ``Kernel Pool Required Reading'', NAIF Document No.____
http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/kernel.html
2. ``C-kernel Required Reading'', NAIF Document No.____
http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/ck.html
[3. ``'ONC Payload Interface Document ' not published :TBD]
** 飛翔実験計画書を参照した
4. HAYABUSA2 Frames Definition Kernel (FK), latest version.
Contact Infromation
================================================================================
Manabu YAMADA, PERC/Chitech, manabu@perc.it-chiba.ac.jp
Implementation Notes
================================================================================
Applications that need SPICE I-kernel data must ``load'' the I-kernel
file, normally during program initialization.
Loading the kernel using the SPICELIB routine FURNSH causes the data
items and their associated values present in the kernel to become
associated with a data structure called the ``kernel pool''. The
application program may then obtain the value(s) for any IK data
item using the SPICELIB routines GDPOOL, GIPOOL, GCPOOL. Routine
GETFOV may be used if the file contains instrument field-of-view
(FOV) specification. See [1] for details.
This file was created with, and can be updated with a text editor or
word processor.
Conventions for Specifying Data
================================================================================
Data items are specified using ``keyword=value'' assignments [1].
All keywords referencing values in this I-kernel start with the
characters `INS' followed by the NAIF Hayabusa2 instrument ID
code, constructed using the spacecraft ID number (-37) followed by the NAIF
three digit ID number for three ONC camera head (ONC-T, ONC-W1, ONC-W2).
These IDs are defined in [4] as follows:
Instrument name ID
-------------------- -------
HAYABUSA2_ONC-T -37100 [T.B.D.]
HAYABUSA2_ONC-W1 -37110 [T.B.D.]
HAYABUSA2_ONC-W2 -37120 [T.B.D.]
The remainder of the keyword is an underscore character followed by the
unique name of the data item. For example, the focal length of the ONC-T
is specified by
INS-37100_FOCAL_LENGTH
The upper bound on the length of all keywords is 32 characters.
If a keyword is included in more then one file, or if the same
keyword appears more than once within a single file, the last
assignment supersedes any earlier assignments.
Overview
================================================================================
From [TBD]:
"ONC description. To be copied from [TBD] source provided by
the ONC team."
Optical Parameters
================================================================================
The following UVI first order optical parameters are included
in the data section below, taken from [3]:
-------------------------------------------------------
parameter ONC-T ONC-W1 ONC-W2
-------------------------------------------------------
Focal Length, mm 121.1 10.35 10.44
f/ratio f/8.0 f/9.6 f/9.6
IFOV, mrad (1) 0.107 1.26 1.25
-------------------------------------------------------
(1) IFOV is computed as the arcus tangens of the pixel size divided by
the nominal focal length:
Pixel size
IFOV = ATAN( -------------- )
Focal length
0.013 mm
= ATAN( ---------- ) = 0.107 mrad
121.1 mm
Angular size values in the keywords are given in radians. Only one
value is provided since the shape of the different filters' Field of
View is rectangler.
\begindata
INS-37100_FOCAL_LENGTH = ( 121.1 )
INS-37100_F/RATIO = ( 8.0 )
INS-37100_IFOV = ( 0.000107349 )
INS-37110_FOCAL_LENGTH = ( 10.35 )
INS-37110_F/RATIO = ( 9.6 )
INS-37110_IFOV = ( 0.001256038 )
INS-37120_FOCAL_LENGTH = ( 10.44 )
INS-37120_F/RATIO = ( 9.6 )
INS-37120_IFOV = ( 0.00124521 )
\begintext
Detector CCD Parameters
================================================================================
The UVI detector parameters are included in the data section below,
taken from [3]:
-------------------------------------------------------
parameter ONC-T ONC-W1 ONC-W2
-------------------------------------------------------
Pixel Size, microns
Cross-track [mm] 0.013 0.013 0.013
Along-track [mm] 0.013 0.013 0.013
Detector Array Size
Cross-track 1024 1024 1024
Along-track 1024 1024 1024
Detector Array Center
Cross-track 512.5 512.5 512.5
Along-track 512.5 512.5 512.5
-------------------------------------------------------
The values are given in mm for PIXEL_SIZE keywords and in counts
for PIXEL_SAMPLES, PIXEL_LINES, and CENTER keywords.
The values of PIXEL_SAMPLES and PIXEL_LINES are equal to the diameter of
each camera head, in counts.
\begindata
INS-37100_PIXEL_SIZE = ( 0.013, 0.013 )
INS-37100_PIXEL_SAMPLES = ( 1024 )
INS-37100_PIXEL_LINES = ( 1024 )
INS-37100_CCD_CENTER = ( 512.5, 512.5 )
INS-37110_PIXEL_SIZE = ( 0.013, 0.013 )
INS-37110_PIXEL_SAMPLES = ( 1024 )
INS-37110_PIXEL_LINES = ( 1024 )
INS-37110_CCD_CENTER = ( 512.5, 512.5 )
INS-37120_PIXEL_SIZE = ( 0.013, 0.013 )
INS-37120_PIXEL_SAMPLES = ( 1024 )
INS-37120_PIXEL_LINES = ( 1024 )
INS-37120_CCD_CENTER = ( 512.5, 512.5 )
\begintext
Wavelength Ranges and Filter Parameters
================================================================================
This section contains assignments specifying
wavelength range and other filter parameters of ONC optics and filters.
The following filter data are taken from [3]:
---------------------------------------------------------------------------
Camera Band Center, Bandwidth, Quantum Trans-
Head nanometers nanometers (1) Efficiency mittance (2)
---------------------------------------------------------------------------
ONC-T 700 800 0.70 0.25*[TBD]
ONC-W1 570 170 0.70 0.05*[TBD]
ONC-W2 570 170 0.70 0.25*[TBD]
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ONC-T Band Center, Bandwidth, Band Trans-
Filter No. nanometers nanometers (1) Name mittance
---------------------------------------------------------------------------
1 390 40 ul 0.40
2 775 850 Wide 0.60
3 550 30 v 0.60
4 700 30 w 0.70
5 860 40 x 0.70
6 589.5 10 Na 0.70
7 950 60 p 0.70
8 480 30 b 0.50
---------------------------------------------------------------------------
(1) The bandwidth is defined in terms of Full Width at Half Peak (FWHP)
values, as described in [3].
(2) The transmittance values account for both the optics and ND filter.
The set of assignments below specifies wavelength center and bandwidth
for each filter, with units the same as in the table above.
\begindata
INS-37100_FILTER_BANDCENTER = ( 700 )
INS-37100_FILTER_BANDWIDTH = ( 800 )
INS-37100_FILTER_QE = ( 0.70 )
INS-37100_FILTER_TRANSMITTANCE = ( 0.25 )
INS-37110_FILTER_BANDCENTER = ( 570 )
INS-37110_FILTER_BANDWIDTH = ( 170 )
INS-37110_FILTER_QE = ( 0.70 )
INS-37110_FILTER_TRANSMITTANCE = ( 0.05 )
INS-37120_FILTER_BANDCENTER = ( 570 )
INS-37120_FILTER_BANDWIDTH = ( 170 )
INS-37120_FILTER_QE = ( 0.70 )
INS-37120_FILTER_TRANSMITTANCE = ( 0.25 )
\begintext
FOV Definitions
================================================================================
This section contains definitions for each of ONC camera heads.
These definitions are provided in a format consistent required by the
SPICE (CSPICE) function GETFOV (getfov_c).
Each of ONC camera heads has a square FOV:
---------------------------
Camera FOV
Head (degrees)
---------------------------
ONC-T 6.35 x 6.35
ONC-W1 65.24 x 65.24
ONC-W2 65.24 x 65.24
---------------------------
For each of the frames, the boresight vector, along the +Z axis of
instrument frame, was scaled to be equal to the focal length.
The reference vector is a unit vector along the +Y axis of the frame.
\begindata
INS-37100_FOV_FRAME = 'HAYABUSA2_ONC-T'
INS-37100_FOV_SHAPE = 'RECTANGLE'
INS-37100_BORESIGHT = ( 0.0 0.0 121.1 )
INS-37100_FOV_CLASS_SPEC = 'ANGLES'
INS-37100_FOV_REF_VECTOR = ( 0.0 1.0 0.0 )
INS-37100_FOV_REF_ANGLE = ( 3.175 )
INS-37100_FOV_CROSS_ANGLE = ( 3.175 )
INS-37100_FOV_ANGLE_UNITS = 'DEGREES'
INS-37110_FOV_FRAME = 'HAYABUSA2_ONC-W1'
INS-37110_FOV_SHAPE = 'RECTANGLE'
INS-37110_BORESIGHT = ( 0.0 0.0 10.35 )
INS-37110_FOV_CLASS_SPEC = 'ANGLES'
INS-37110_FOV_REF_VECTOR = ( 0.0 1.0 0.0 )
INS-37110_FOV_REF_ANGLE = ( 32.62 )
INS-37110_FOV_CROSS_ANGLE = ( 32.62 )
INS-37110_FOV_ANGLE_UNITS = 'DEGREES'
INS-37120_FOV_FRAME = 'HAYABUSA2_ONC-W2'
INS-37120_FOV_SHAPE = 'RECTANGLE'
INS-37120_BORESIGHT = ( 0.0 0.0 10.44 )
INS-37120_FOV_CLASS_SPEC = 'ANGLES'
INS-37120_FOV_REF_VECTOR = ( 0.0 1.0 0.0 )
INS-37120_FOV_REF_ANGLE = ( 32.62 )
INS-37120_FOV_CROSS_ANGLE = ( 32.62 )
INS-37120_FOV_ANGLE_UNITS = 'DEGREES'
\begintext
Optical Distortion
===========================================================================
This section provides optical distortion and geometric calibration
data for the UVI.
The optical distortion for the ONC camera was not available at the time
when this version of the IK was released.
End of IK file.
This diff is collapsed.
\begindata
\begintext
ONC-T. Note that the boresight sample/line are computed from the optical axis
offsets defined at https://www.darts.isas.jaxa.jp/pub/hayabusa2/onc_bundle/browse/
The center of the detector is 512.5, 512.5.
\begindata
INS-37100_PIXEL_PITCH=0.013
INS-37100_BORESIGHT_SAMPLE=523.9
INS-37100_BORESIGHT_LINE=490.5
INS-37100_TRANSX=(0.0, 0.013, 0.0)
INS-37100_TRANSY=(0.0, 0.0, 0.013)
INS-37100_ITRANSS=(0.0, 76.923076923077, 0.0)
INS-37100_ITRANSL=(0.0, 0.0, 76.923076923077)
INS-37100_OD_K=(1, -9.28e-09, 0)
\begintext
ONC-W1
\begindata
INS-37110_PIXEL_PITCH=0.013
INS-37110_BORESIGHT_SAMPLE=508.8
INS-37110_BORESIGHT_LINE=509.3
INS-37110_TRANSX=(0.0, 0.013, 0.0)
INS-37110_TRANSY=(0.0, 0.0, 0.013)
INS-37110_ITRANSS=(0.0, 76.923076923077, 0.0)
INS-37110_ITRANSL=(0.0, 0.0, 76.923076923077)
INS-37110_OD_K=(1.027, 3.219e-07, -1.762e-13)
\begintext
ONC-W2
\begindata
INS-37120_PIXEL_PITCH=0.013
INS-37120_BORESIGHT_SAMPLE=512.5
INS-37120_BORESIGHT_LINE=512.5
INS-37120_TRANSX=(0.0, 0.013, 0.0)
INS-37120_TRANSY=(0.0, 0.0, 0.013)
INS-37120_ITRANSS=(0.0, 76.923076923077, 0.0)
INS-37120_ITRANSL=(0.0, 0.0, 76.923076923077)
INS-37120_OD_K=(1.014, 2.933e-07, -1.384e-13)
KPL/LSK
LEAPSECONDS KERNEL FILE
===========================================================================
Modifications:
--------------
2016, Jul. 14 NJB Modified file to account for the leapsecond that
will occur on December 31, 2016.
2015, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2015.
2012, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2012.
2008, Jul. 7 NJB Modified file to account for the leapsecond that
will occur on December 31, 2008.
2005, Aug. 3 NJB Modified file to account for the leapsecond that
will occur on December 31, 2005.
1998, Jul 17 WLT Modified file to account for the leapsecond that
will occur on December 31, 1998.
1997, Feb 22 WLT Modified file to account for the leapsecond that
will occur on June 30, 1997.
1995, Dec 14 KSZ Corrected date of last leapsecond from 1-1-95
to 1-1-96.
1995, Oct 25 WLT Modified file to account for the leapsecond that
will occur on Dec 31, 1995.
1994, Jun 16 WLT Modified file to account for the leapsecond on
June 30, 1994.
1993, Feb. 22 CHA Modified file to account for the leapsecond on
June 30, 1993.
1992, Mar. 6 HAN Modified file to account for the leapsecond on
June 30, 1992.
1990, Oct. 8 HAN Modified file to account for the leapsecond on
Dec. 31, 1990.
Explanation:
------------
The contents of this file are used by the routine DELTET to compute the
time difference
[1] DELTA_ET = ET - UTC
the increment to be applied to UTC to give ET.
The difference between UTC and TAI,
[2] DELTA_AT = TAI - UTC
is always an integral number of seconds. The value of DELTA_AT was 10
seconds in January 1972, and increases by one each time a leap second
is declared. Combining [1] and [2] gives
[3] DELTA_ET = ET - (TAI - DELTA_AT)
= (ET - TAI) + DELTA_AT
The difference (ET - TAI) is periodic, and is given by
[4] ET - TAI = DELTA_T_A + K sin E
where DELTA_T_A and K are constant, and E is the eccentric anomaly of the
heliocentric orbit of the Earth-Moon barycenter. Equation [4], which ignores
small-period fluctuations, is accurate to about 0.000030 seconds.
The eccentric anomaly E is given by
[5] E = M + EB sin M
where M is the mean anomaly, which in turn is given by
[6] M = M + M t
0 1
where t is the number of ephemeris seconds past J2000.
Thus, in order to compute DELTA_ET, the following items are necessary.
DELTA_TA
K
EB
M0
M1
DELTA_AT after each leap second.
The numbers, and the formulation, are taken from the following sources.
1) Moyer, T.D., Transformation from Proper Time on Earth to
Coordinate Time in Solar System Barycentric Space-Time Frame
of Reference, Parts 1 and 2, Celestial Mechanics 23 (1981),
33-56 and 57-68.
2) Moyer, T.D., Effects of Conversion to the J2000 Astronomical
Reference System on Algorithms for Computing Time Differences
and Clock Rates, JPL IOM 314.5--942, 1 October 1985.
The variable names used above are consistent with those used in the
Astronomical Almanac.
\begindata
DELTET/DELTA_T_A = 32.184
DELTET/K = 1.657D-3
DELTET/EB = 1.671D-2
DELTET/M = ( 6.239996D0 1.99096871D-7 )
DELTET/DELTA_AT = ( 10, @1972-JAN-1
11, @1972-JUL-1
12, @1973-JAN-1
13, @1974-JAN-1
14, @1975-JAN-1
15, @1976-JAN-1
16, @1977-JAN-1
17, @1978-JAN-1
18, @1979-JAN-1
19, @1980-JAN-1
20, @1981-JUL-1
21, @1982-JUL-1
22, @1983-JUL-1
23, @1985-JUL-1
24, @1988-JAN-1
25, @1990-JAN-1
26, @1991-JAN-1
27, @1992-JUL-1
28, @1993-JUL-1
29, @1994-JUL-1
30, @1996-JAN-1
31, @1997-JUL-1
32, @1999-JAN-1
33, @2006-JAN-1
34, @2009-JAN-1
35, @2012-JUL-1
36, @2015-JUL-1
37, @2017-JAN-1 )
\begintext
This diff is collapsed.
import os
import json
import unittest
from unittest.mock import patch
import pytest
import numpy as np
import spiceypy as spice
import ale
from conftest import get_image_kernels, convert_kernels, get_image_label, compare_dicts
image_dict = {
'hyb2_onc_20151203_084458_w2f_l2a' : {
'isis' : {
'CameraVersion': 1,
'NaifKeywords': {
"BODY399_RADII": [
6378.1366,
6378.1366,
6356.7519
],
"BODY_FRAME_CODE": 10013,
"BODY_CODE": 399,
"INS-37120_BORESIGHT_SAMPLE": 512.5,
"INS-37120_FOCAL_LENGTH": 10.44,
"INS-37120_FOV_CROSS_ANGLE": 32.62,
"FRAME_-37120_CLASS_ID": -37120.0,
"INS-37120_OD_K": [
1.014,
2.9329999999999996e-07,
-1.3839999999999997e-13
],
"INS-37120_FOV_REF_ANGLE": 32.62,
"INS-37120_BORESIGHT": [
0.0,
0.0,
10.44
],
"INS-37120_FILTER_BANDWIDTH": 170.0,
"INS-37120_PIXEL_LINES": 1024.0,
"FRAME_-37120_CLASS": 4.0,
"TKFRAME_-37120_RELATIVE": "HAYABUSA2_SC_BUS_PRIME",
"TKFRAME_-37120_ANGLES": [
-270.0,
-121.0,
0.0
],
"INS-37120_FOV_SHAPE": "RECTANGLE",
"FRAME_-37120_CENTER": -37.0,
"INS-37120_IFOV": 0.00124521,
"INS-37120_FILTER_TRANSMITTANCE": 0.25,
"INS-37120_FOV_FRAME": "HAYABUSA2_ONC-W2",
"INS-37120_ITRANSL": [
0.0,
0.0,
76.923076923077
],
"INS-37120_ITRANSS": [
0.0,
76.923076923077,
0.0
],
"INS-37120_TRANSX": [
0.0,
0.013,
0.0
],
"TKFRAME_-37120_UNITS": "DEGREES",
"INS-37120_TRANSY": [
0.0,
0.0,
0.013
],
"INS-37120_PIXEL_SAMPLES": 1024.0,
"INS-37120_FOV_CLASS_SPEC": "ANGLES",
"INS-37120_FOV_REF_VECTOR": [
0.0,
1.0,
0.0
],
"INS-37120_PIXEL_PITCH": 0.013,
"INS-37120_PIXEL_SIZE": [
0.013,
0.013
],
"FRAME_-37120_NAME": "HAYABUSA2_ONC-W2",
"INS-37120_FOV_ANGLE_UNITS": "DEGREES",
"TKFRAME_-37120_AXES": [
3.0,
2.0,
1.0
],
"TKFRAME_-37120_SPEC": "ANGLES",
"INS-37120_BORESIGHT_LINE": 512.5,
"INS-37120_FILTER_QE": 0.7,
"INS-37120_FILTER_BANDCENTER": 570.0,
"INS-37120_CCD_CENTER": [
512.5,
512.5
],
"INS-37120_F/RATIO": 9.6,
"BODY399_N_GEOMAG_CTR_DIPOLE_LAT": 80.13,
"BODY399_POLE_RA": [
0.0,
-0.641,
0.0
],
"BODY399_POLE_DEC": [
90.0,
-0.557,
0.0
],
"BODY399_N_GEOMAG_CTR_DIPOLE_LON": 287.62,
"BODY399_LONG_AXIS": 0.0,
"BODY399_PM": [
190.147,
360.9856235,
0.0
]
},
'InstrumentPointing': {'TimeDependentFrames': [-37000, 1],
'ConstantFrames': [-37120, -37000],
'ConstantRotation': [9.46109594816419e-17, 0.51503807491005, -0.85716730070211,
1.0, -1.83697019872103e-16, 0.0,
-1.57459078670793e-16, -0.85716730070211, -0.51503807491005],
'CkTableStartTime': 502404366.34876,
'CkTableEndTime': 502404366.34876,
'CkTableOriginalSize': 1,
'EphemerisTimes': [502404366.34876287],
'Quaternions': [[-0.5013652613006103, 0.83203136256, 0.04949957619999998, -0.2321776872]],
'AngularVelocity' : [[-3.3566444941696236e-05, 3.30201152018665e-05, 2.987092640139532e-06]]},
'BodyRotation': {'TimeDependentFrames': [10013, 1],
'CkTableStartTime': 502404366.34876,
'CkTableEndTime': 502404366.34876,
'CkTableOriginalSize': 1,
'EphemerisTimes': [502404366.34876287],
'Quaternions': [[-0.1979938370409085, -0.0007582477662989689, 0.00015456662316054356, -0.9802029594238645]],
'AngularVelocity' : [[1.128586084254313e-07, -1.9793051740218293e-10, 7.292106285199177e-05]]},
'InstrumentPosition': {'SpkTableStartTime': 502404366.34876,
'SpkTableEndTime': 502404366.34876,
'SpkTableOriginalSize': 1,
'EphemerisTimes': [502404366.34876287],
'Positions': [[30.15558294075686, -21415.864299596455, 29138.041066520385]],
'Velocities': [[1.5409457644671734, 5.3312261011154565, -3.5389092329306164]]},
'SunPosition': {'SpkTableStartTime': 502404366.34876,
'SpkTableEndTime': 502404366.34876,
'SpkTableOriginalSize': 1,
'EphemerisTimes': [502404366.34876287],
'Positions': [[-48916727.046504386, -127647230.31032252, -55336271.675298646]],
'Velocities': [[28.58340952406857, -8.972886737522412, -3.888902421092297]]}
}
}
}
@pytest.fixture(scope='module')
def test_kernels():
updated_kernels = {}
binary_kernels = {}
for image in image_dict.keys():
kernels = get_image_kernels(image)
updated_kernels[image], binary_kernels[image] = convert_kernels(kernels)
yield updated_kernels
for kern_list in binary_kernels.values():
for kern in kern_list:
os.remove(kern)
@pytest.mark.parametrize("label_type", ['isis3'])
@pytest.mark.parametrize("formatter", ['isis'])
@pytest.mark.parametrize("image", image_dict.keys())
def test_hayabusa_load(test_kernels, label_type, formatter, image):
label_file = get_image_label(image, label_type)
usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels[image]},
formatter=formatter, verbose=False)
usgscsm_isd_obj = json.loads(usgscsm_isd_str)
print(json.dumps(usgscsm_isd_obj, indent=2))
assert compare_dicts(usgscsm_isd_obj, image_dict[image][formatter]) == []
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment