Skip to content
Snippets Groups Projects
Commit 7d4d944c authored by Stuart Sides's avatar Stuart Sides Committed by Jesse Mapel
Browse files

Updates to LRO NAC driver without distortion model (#113)

* Modidified for LRO NAC

* Updates to LRO NAC driver without distortion model

* Update the test with the new name

* Fixed missed name change
parent 32cb4697
No related branches found
No related tags found
No related merge requests found
...@@ -9,4 +9,5 @@ mdis = '/data/spice/mess-e_v_h-spice-6-v1.0/messsp_1000/extras/mk' # Messenger ...@@ -9,4 +9,5 @@ mdis = '/data/spice/mess-e_v_h-spice-6-v1.0/messsp_1000/extras/mk' # Messenger
mro = '/data/spice/mro-m-spice-6-v1.0/mrosp_1000/extras/mk' # Mars Reconnaissance Orbiter mro = '/data/spice/mro-m-spice-6-v1.0/mrosp_1000/extras/mk' # Mars Reconnaissance Orbiter
kaguya = '/data/spice/SELENE/kernels/mk/' kaguya = '/data/spice/SELENE/kernels/mk/'
dawn = '/data/spice/dawn-m_a-spice-6-v1.0/dawnsp_1000/extras/mk' dawn = '/data/spice/dawn-m_a-spice-6-v1.0/dawnsp_1000/extras/mk'
lro = '/usgs/cpkgs/isis3/data/lro/kernels/mk/' # LRO
...@@ -5,44 +5,12 @@ import numpy as np ...@@ -5,44 +5,12 @@ import numpy as np
import pvl import pvl
import spiceypy as spice import spiceypy as spice
from ale import config
from ale.util import get_metakernels from ale.util import get_metakernels
from ale.drivers.base import LineScanner, NaifSpice, Pds3Label, Driver from ale.drivers.base import LineScanner, NaifSpice, Pds3Label, Driver
class LroLrocNaifSpice(Driver, NaifSpice, LineScanner): class LroLrocPds3LabelNaifSpiceDriver(Driver, NaifSpice, Pds3Label, LineScanner):
"""
Lroc mixin class for defining snowflake Spice calls.
"""
@property
def metakernel(self):
"""
Returns latest instrument metakernels
Returns
-------
: string
Path to latest metakernel file
"""
metakernels = get_metakernels(years=self.start_time.year, missions='lro', versions='latest')
self._metakernel = metakernels['data'][0]['path']
return self._metakernel
@property
def spacecraft_name(self):
"""
Spacecraft name used in various Spice calls to acquire
ephemeris data.
Returns
-------
: str
Spacecraft name
"""
return "LRO"
class LroLrocPds3NaifSpiceDriver(Pds3Label, LroLrocNaifSpice):
""" """
Driver for reading Lroc labels. Requires a Spice mixin to acquire addtional Driver for reading Lroc labels. Requires a Spice mixin to acquire addtional
ephemeris and instrument data located exclusively in spice kernels. ephemeris and instrument data located exclusively in spice kernels.
...@@ -72,3 +40,38 @@ class LroLrocPds3NaifSpiceDriver(Pds3Label, LroLrocNaifSpice): ...@@ -72,3 +40,38 @@ class LroLrocPds3NaifSpiceDriver(Pds3Label, LroLrocNaifSpice):
return "LRO_LROCNACL" return "LRO_LROCNACL"
elif instrument == "LROC" and frame_id == "RIGHT": elif instrument == "LROC" and frame_id == "RIGHT":
return "LRO_LROCNACR" return "LRO_LROCNACR"
@property
def metakernel(self):
"""
Returns latest instrument metakernels
Returns
-------
: string
Path to latest metakernel file
"""
metakernel_dir = config.lro
mks = sorted(glob(os.path.join(metakernel_dir,'*.tm')))
if not hasattr(self, '_metakernel'):
for mk in mks:
if str(self.start_time.year) in os.path.basename(mk):
self._metakernel = mk
return self._metakernel
@property
def spacecraft_name(self):
"""
Spacecraft name used in various SPICE calls to acquire
ephemeris data.
Returns
-------
: str
Spacecraft name
"""
return "LRO"
...@@ -5,7 +5,7 @@ import pytest ...@@ -5,7 +5,7 @@ import pytest
import ale import ale
from ale.drivers import lro_drivers, base from ale.drivers import lro_drivers, base
from ale.drivers.lro_drivers import LroLrocPds3NaifSpiceDriver from ale.drivers.lro_drivers import LroLrocPds3LabelNaifSpiceDriver
from ale import util from ale import util
# 'Mock' the spice module where it is imported # 'Mock' the spice module where it is imported
...@@ -15,7 +15,7 @@ simplespice = SimpleSpice() ...@@ -15,7 +15,7 @@ simplespice = SimpleSpice()
base.spice = simplespice base.spice = simplespice
lro_drivers.spice = simplespice lro_drivers.spice = simplespice
LroLrocPds3NaifSpiceDriver.metakernel = get_mockkernels LroLrocPds3LabelNaifSpiceDriver.metakernel = get_mockkernels
@pytest.fixture @pytest.fixture
def lro_lroclabel(): def lro_lroclabel():
...@@ -112,6 +112,6 @@ def lro_lroclabel(): ...@@ -112,6 +112,6 @@ def lro_lroclabel():
""" """
def test_lro_creation(lro_lroclabel): def test_lro_creation(lro_lroclabel):
with LroLrocPds3NaifSpiceDriver(lro_lroclabel) as m: with LroLrocPds3LabelNaifSpiceDriver(lro_lroclabel) as m:
d = m.to_dict() d = m.to_dict()
assert isinstance(d, dict) assert isinstance(d, dict)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment