Skip to content
Snippets Groups Projects

File information box

Merged Kien Le requested to merge feature-#20-file_information_box into master
All threads resolved!
1 file
+ 26
1
Compare changes
  • Side-by-side
  • Inline
@@ -2,12 +2,15 @@ import re
from pathlib import Path
from typing import Dict, List, Tuple, Union, Set
import numpy as np
from PySide2.QtWidgets import QTextBrowser
from sohstationviewer.controller.processing import detect_data_type
from sohstationviewer.model.data_type_model import DataTypeModel
from sohstationviewer.model.mseed.mseed import MSeed
from sohstationviewer.model.reftek.reftek import RT130
from sohstationviewer.model.reftek.reftek import (
RT130, two_digit_year_to_four_digit_year
)
from sohstationviewer.view.util.enums import LogType
from sohstationviewer.conf import constants as const
from sohstationviewer.conf.constants import (WF_1ST, WF_2ND, WF_3RD)
@@ -230,6 +233,13 @@ def extract_data_set_info(tracking_box: QTextBrowser,
data_type = detect_data_type(tracking_box, [data_obj.dir])
import time
print('Getting start time')
start = time.perf_counter()
extract_start_end_time(data_obj)
print(f'Took {time.perf_counter() - start}s')
print('Got start time')
if data_type == 'RT130':
das_serials = list({key[0] for key in data_obj.keys})
data_set_info['DAS Serial Numbers'] = das_serials
@@ -257,6 +267,21 @@ def extract_data_set_info(tracking_box: QTextBrowser,
return data_set_info
def extract_start_end_time(data_obj: DataTypeModel):
start_time = float('inf')
end_time = float('-inf')
for key_data in data_obj.soh_data.values():
for chan_data in key_data.values():
trace = chan_data['orgTrace']
min_time = np.amin(trace['times'])
if min_time < start_time:
start_time = min_time
max_time = np.amax(trace['times'])
if max_time > end_time:
end_time = max_time
return start_time, end_time
def extract_log_info_q330(data_obj: MSeed) -> Tuple[Set[str], Set[str]]:
"""
Extract tag numbers and software versions from LOG channel of Q330 data.
Loading