Skip to content
Snippets Groups Projects
Select Git revision
  • eb1c65acccb17ef1e4a25ef09e9e38b57dddd662
  • main default protected
  • Kelvinrr-patch-3
  • radius_update
  • revert-616-apollo_pan
  • vims
  • 0.10
  • Kelvinrr-patch-2
  • revert-563-minirf_fix
  • Kelvinrr-patch-1
  • 0.9
  • acpaquette-patch-3
  • acpaquette-patch-2
  • acpaquette-patch-1
  • spiceql
  • ci-coverage
  • 0.10.0
  • 0.9.1
  • 0.9.0
  • 0.8.7
  • 0.8.8
  • 0.8.6
  • 0.8.3
  • 0.8.4
  • 0.8.5
  • 0.8.2
  • 0.8.1
  • 0.8.0
  • 0.7.3
  • 0.7.2
  • 0.7.1
  • 0.7.0
  • 0.6.5
  • 0.6.4
  • 0.6.3
  • 0.6.2
36 results

test_lro_drivers.py

Blame
  • test_lro_drivers.py 5.21 KiB
    from collections import namedtuple
    from unittest import mock
    
    import pytest
    
    import ale
    from ale.drivers import lro_driver, base, distortion
    from ale.drivers.lro_driver import LRO_LROC
    from ale import util
    
    # 'Mock' the spice module where it is imported
    from conftest import SimpleSpice, get_mockkernels
    
    simplespice = SimpleSpice()
    base.spice = simplespice
    lro_driver.spice = simplespice
    distortion.spice = simplespice
    
    LRO_LROC.metakernel = get_mockkernels
    
    @pytest.fixture
    def lro_lroclabel():
        return """
            PDS_VERSION_ID                     = PDS3
    
            /*FILE CHARACTERISTICS*/
            RECORD_TYPE                        = FIXED_LENGTH
            RECORD_BYTES                       = 5064
            FILE_RECORDS                       = 13313
            LABEL_RECORDS                      = 1
            ^IMAGE                             = 2
    
            /*DATA IDENTIFICATION*/
            DATA_SET_ID                        = "LRO-L-LROC-2-EDR-V1.0"
            ORIGINAL_PRODUCT_ID                = nacl0002fc60
            PRODUCT_ID                         = M128963531LE
            MISSION_NAME                       = "LUNAR RECONNAISSANCE ORBITER"
            MISSION_PHASE_NAME                 = "NOMINAL MISSION"
            INSTRUMENT_HOST_NAME               = "LUNAR RECONNAISSANCE ORBITER"
            INSTRUMENT_HOST_ID                 = LRO
            INSTRUMENT_NAME                    = "LUNAR RECONNAISSANCE ORBITER CAMERA"
            INSTRUMENT_ID                      = LROC
            LRO:PREROLL_TIME                   = 2010-05-20T02:57:44.373
            START_TIME                         = 2010-05-20T02:57:44.720
            STOP_TIME                          = 2010-05-20T02:57:49.235
            LRO:SPACECRAFT_CLOCK_PREROLL_COUNT = "1/296017064:22937"
            SPACECRAFT_CLOCK_START_COUNT       = "1/296017064:45694"
            SPACECRAFT_CLOCK_STOP_COUNT        = "1/296017069:13866"
            ORBIT_NUMBER                       = 4138
            PRODUCER_ID                        = LRO_LROC_TEAM
            PRODUCT_CREATION_TIME              = 2013-09-16T19:57:12
            PRODUCER_INSTITUTION_NAME          = "ARIZONA STATE UNIVERSITY"
            PRODUCT_TYPE                       = EDR
            PRODUCT_VERSION_ID                 = "v1.8"
            UPLOAD_ID                          = "SC_2010140_0000_A_V01.txt"
    
            /*DATA DESCRIPTION*/
            TARGET_NAME                        = "MOON"
            RATIONALE_DESC                     = "TARGET OF OPPORTUNITY"
            FRAME_ID                           = LEFT
            DATA_QUALITY_ID                    = "0"
            DATA_QUALITY_DESC                  = "The DATA_QUALITY_ID is set to an 8-bit
               value that encodes the following data quality information for the
               observation. For each bit  a value of 0 means FALSE and a value of 1 means
               TRUE. More information about the data quality ID can be found in the LROC
               EDR/CDR SIS, section 3.3 'Label and Header Descriptions'.
                   Bit 1: Temperature of focal plane array is out of bounds.
                   Bit 2: Threshold for saturated pixels is reached.
                   Bit 3: Threshold for under-saturated pixels is reached.
                   Bit 4: Observation is missing telemetry packets.
                   Bit 5: SPICE information is bad or missing.
                   Bit 6: Observation or housekeeping information is bad or missing.
                   Bit 7: Spare.
                   Bit 8: Spare."
    
            /*ENVIRONMENT*/
            LRO:TEMPERATURE_SCS                = 4.51 <degC>
            LRO:TEMPERATURE_FPA                = 17.88 <degC>
            LRO:TEMPERATURE_FPGA               = -12.33 <degC>
            LRO:TEMPERATURE_TELESCOPE          = 5.91 <degC>
            LRO:TEMPERATURE_SCS_RAW            = 2740
            LRO:TEMPERATURE_FPA_RAW            = 2107
            LRO:TEMPERATURE_FPGA_RAW           = 3418
            LRO:TEMPERATURE_TELESCOPE_RAW      = 2675
    
            /*IMAGING PARAMETERS*/
            CROSSTRACK_SUMMING                 = 1
            BANDWIDTH                          = 300 <nm>
            CENTER_FILTER_WAVELENGTH           = 600 <nm>
            LINE_EXPOSURE_DURATION             = 0.337600 <ms>
            LRO:LINE_EXPOSURE_CODE             = 0
            LRO:DAC_RESET_LEVEL                = 198
            LRO:CHANNEL_A_OFFSET               = 60
            LRO:CHANNEL_B_OFFSET               = 123
            LRO:COMPAND_CODE                   = 3
            LRO:LINE_CODE                      = 13
            LRO:BTERM                          = (0,16,69,103,128)
            LRO:MTERM                          = (0.5,0.25,0.125,0.0625,0.03125)
            LRO:XTERM                          = (0,64,424,536,800)
            LRO:COMPRESSION_FLAG               = 1
            LRO:MODE                           = 7
    
            /*DATA OBJECT*/
            OBJECT                             = IMAGE
                LINES                          = 13312
                LINE_SAMPLES                   = 5064
                SAMPLE_BITS                    = 8
                SAMPLE_TYPE                    = LSB_INTEGER
                UNIT                           = "RAW_INSTRUMENT_COUNT"
                MD5_CHECKSUM                   = "0fe91f4b2e93083ee0093e7c8d05f3bc"
            END_OBJECT                         = IMAGE
            END
            """
    
    def test_lro_creation(lro_lroclabel):
        with LRO_LROC(lro_lroclabel) as m:
            d = m.to_dict()
            assert isinstance(d, dict)