diff --git a/libeos/dataset.py b/libeos/file_reader.py similarity index 94% rename from libeos/dataset.py rename to libeos/file_reader.py index fd15377..edc7922 100644 --- a/libeos/dataset.py +++ b/libeos/file_reader.py @@ -3,6 +3,7 @@ import os import subprocess import sys from datetime import datetime +from typing import List import h5py import numpy as np @@ -16,17 +17,41 @@ from .options import ExperimentConfig, ReaderConfig class AmorData: """read meta-data and event streams from .hdf file(s), apply filters and conversions""" + chopperDetectorDistance: float + chopperDistance: float + chopperPhase: float + chopperSpeed: float + ctime: float + div: float + data_file_numbers: List[int] + delta_z: np.ndarray + detZ_e: np.ndarray + lamda_e: np.ndarray + wallTime_e: np.ndarray + kad: float + kap: float + lambdaMax: float + lambda_e: np.ndarray + monitor1: float + monitor2: float + mu: float + nu: float + tau: float + tofCut: float + start_date: str + #------------------------------------------------------------------------------------------------- - def __init__(self, header: Header, reader_config: ReaderConfig, config: ExperimentConfig, short_notation, norm=False): + def __init__(self, header: Header, reader_config: ReaderConfig, config: ExperimentConfig, + short_notation:str, norm=False): self.startTime = reader_config.startTime self.header = header self.config = config self.reader_config = reader_config - self.read_data(short_notation, norm=norm) + self.expand_file_list(short_notation) + self.read_data(norm=norm) #------------------------------------------------------------------------------------------------- - def read_data(self, short_notation, norm=False): - self.data_file_numbers = self.expand_file_list(short_notation) + def read_data(self, norm=False): self.file_list = [] for number in self.data_file_numbers: self.file_list.append(self.path_generator(number)) @@ -79,7 +104,7 @@ class AmorData: file_list += range(int(i.split('-', 1)[0]), int(i.split('-', 1)[1])+1, int(step)) else: file_list += [int(i)] - return sorted(file_list) + self.data_file_numbers=sorted(file_list) #------------------------------------------------------------------------------------------------- def resolve_pixels(self): """determine spatial coordinats and angles from pixel number""" @@ -120,7 +145,7 @@ class AmorData: sourceProbe = 'neutron' start_time = self.hdf['entry1/start_time'][0].decode('utf-8') - start_date = start_time.split(' ')[0] + self.start_date = start_time.split(' ')[0] if self.config.sampleModel: model = self.config.sampleModel @@ -138,7 +163,7 @@ class AmorData: self.header.experiment = fileio.Experiment( title = title, instrument = instrumentName, - start_date = start_date, + start_date = self.start_date, probe = sourceProbe, facility = source, proposalID = proposal_id diff --git a/libeos/header.py b/libeos/header.py index 527f070..e46fc5e 100644 --- a/libeos/header.py +++ b/libeos/header.py @@ -8,7 +8,7 @@ from datetime import datetime from orsopy import fileio -from libeos import __version__ +from . import __version__ class Header: diff --git a/libeos/reduction.py b/libeos/reduction.py index 54245e6..321ccee 100644 --- a/libeos/reduction.py +++ b/libeos/reduction.py @@ -6,7 +6,7 @@ import numpy as np from orsopy import fileio from .command_line import expand_file_list -from .dataset import AmorData +from .file_reader import AmorData from .header import Header from .options import EOSConfig from .instrument import Grid