Пример #1
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# @title        : IDB.py
# @description  : STIX idb interface
# @author       : Hualin Xiao
# @date         : Feb. 15, 2019
import os
import sqlite3
import threading
from stix.core import config

from stix.core import stix_logger

logger = stix_logger.get_logger()


def find_idb(filename):
    '''
        search for idb
    '''
    if filename:
        if os.path.exists(filename):
            return filename
    default_abs_path = os.path.join(
        os.path.dirname(os.path.dirname(os.path.realpath(__file__))),
        'data/idb/idb.sqlite')
    if os.path.exists(default_abs_path):
        return default_abs_path
    return None
Пример #2
0
from time import perf_counter

import numpy as np
# from watchdog.events import FileSystemEventHandler, FileMovedEvent
from astropy.table.table import Table
from bitstring import ConstBitArray

from stix.core import stix_datatypes as sdt
from stix.core.stix_parser import StixTCTMParser
from stix.fits.io.processors import FitsL1Processor
from stix.fits.products.housekeeping import MiniReport, MaxiReport
from stix.fits.products.quicklook import LightCurve, Background, Spectra, Variance, \
    FlareFlagAndLocation, CalibrationSpectra, TMManagementAndFlareList
from stix.fits.products.science import XrayL0, Aspect, XrayL1, XrayL2, XrayL3, Spectrogram
from stix.core.stix_logger import get_logger
logger = get_logger(__name__)

SPID_MAP = {
    # Bulk Science
    # 54110: 'xray_l0_auto',
    # 54111: 'xray_l1_auto',
    # 54112: 'xray_l2_auto',
    # 54113: 'xray_l3_auto',
    # 54142: 'spectrogram_auto',
    54114: 'xray_l0_user',
    54115: 'xray_l1_user',
    54116: 'xray_l2_user',
    54117: 'xray_l3_user',
    54143: 'spectrogram_user',
    54125: 'aspect',
    # Quick look
Пример #3
0
import numpy as np

from stix.core.stix_logger import get_logger

logger = get_logger()


def _get_compression_scheme(packets, nix1, nix2, nix3):
    """
    Get the compression scheme parameters.

    Parameters
    ----------
    packets : dict
        Packets
    nix1 : str
        Parameter name for S value
    nix2 : str
        Parameter name for K value
    nix3 : str
        Parameter name for M value

    Returns
    -------
    np.ndarray
        S,K,M compression scheme parameters
    """
    comp_counts = np.array((packets[nix1], packets[nix2], packets[nix3]),
                           np.ubyte).T

    return comp_counts
Пример #4
0
from stix.ui import mongo_dialog
from stix.ui import tsc_connection
from stix.ui import packet_filter
from stix.ui import plugin
from stix.ui import timestamp_convertor
from stix.ui import raw_viewer
#from stix.ui import console
from stix.core.stix_datatypes import Parameter
from stix.core.stix_datatypes import Packet

SELECTED_SERVICES = [1, 3, 5, 6, 9, 17, 20, 21, 22, 236, 237, 238, 239]

STIX_IDB = stix_idb.stix_idb()
MAX_NUM_PACKET_IN_BUFFER = 6000

LOGGER = stix_logger.get_logger()


class ParserQThread(QThread):
    error = pyqtSignal(str)
    info = pyqtSignal(str)
    critical = pyqtSignal(str)
    warning = pyqtSignal(str)
    dataLoaded = pyqtSignal(list)
    progress = pyqtSignal(float)
    packetArrival = pyqtSignal(list)

    def __init__(self):
        super(ParserQThread, self).__init__()
        self.stix_tctm_parser = stix_parser.StixTCTMParser()
        self.stix_tctm_parser.set_packet_buffer_enabled(True)