def __init__(self, configFile: str = "") -> None: """Initialise with default configuration options Parameters ---------- configFile : str Path to the configuration file """ self.configFile: str = configFile self.configParams = loadConfig(self.configFile) # options dictionary self.flags: Dict[str, bool] = {} self.configure()
def __init__(self, decParams: DecimationParams) -> None: """Initialise with decParams and default window parameters Parameters ---------- decParams : int Decimation level """ self.decParams = decParams config = loadConfig() self.minSize = config["Window"]["minwindowsize"] self.minOlap = config["Window"]["minoverlapsize"] self.windowFactor = config["Window"]["windowfactor"] self.overlapFraction = config["Window"]["overlapfraction"] self.calcParameters(self.windowFactor, self.overlapFraction)
def __init__(self, refTime: datetime, timeData: TimeData, winSize: int, winOlap: int): self.timeData: TimeData = timeData self.numSamples: int = timeData.numSamples self.sampleFreq: float = timeData.sampleFreq self.winSize: int = winSize self.winDuration: float = (winSize - 1) / timeData.sampleFreq self.winOlap: int = winOlap self.chans: List[str] = timeData.chans # refTime and dataTime are already datetime objects self.refTime: datetime = refTime self.dataTime: datetime = timeData.startTime # min window warning setting config = loadConfig() self.minWindows: int = config["Window"]["minwindows"] # initialise self.initialiseWindows() self.calcWindowTimes()
def __init__(self, calDirectory: str) -> None: """Set the calibration directory and initialise Calibrator will automatically find calibration files in the provided directory Parameters ---------- calDirectory : str Path of directory containing calibration files """ self.calExt, self.calFormats = getKnownCalibrationFormats() self.calFiles: List[str] = [] self.numCalFiles = 0 self.calDir: str = calDirectory self.findCalFiles() # set whether to use theoretical calibration functions conf = loadConfig() self.extend: bool = conf["Calibration"]["extend"] self.useTheoretical: bool = conf["Calibration"]["usetheoretical"]
def __init__(self, sampleFreq: float, winSamples: int) -> None: """Initialise Parameters ---------- sampleFreq : float Sampling frequency of time data winSamples : int Number of samples in a window """ self.sampleFreq: float = sampleFreq self.numSamples: int = winSamples config = loadConfig() self.window: bool = config["Spectra"]["applywindow"] self.windowFunc: np.ndarray = signal.get_window( config["Spectra"]["windowfunc"], winSamples) # create an pyfftw plan self.dataArray: np.ndarray = pyfftw.empty_aligned(self.numSamples, dtype="float64") self.fftObj: pyfftw.FFTW = pyfftw.builders.rfft(self.dataArray)
def __init__(self, timeData: TimeData, decParams: DecimationParams) -> None: """Initialise with timeData and decimation parameters Parameters ---------- timeData : TimeData The time data to decimate decParams : DecimationParams Decimation parameters for performing the decimation """ self.timeData: TimeData = timeData self.sampleFreq: float = timeData.sampleFreq * 1.0 self.chans: List = timeData.chans self.numSamples: int = timeData.numSamples self.decParams: DecimationParams = decParams config = loadConfig() self.minSamples: int = config["Decimation"]["minsamples"] self.level: int = -1 self.maxDownsampleFactor: int = 8
def __init__(self, sampleFreq: float): """Initialise decimation parameters with sampling frequency Calculates decimation factors and evaluation frequencies based on defaults Parameters ---------- sampleFreq : float Sampling frequency """ self.sampleFreq = sampleFreq config = loadConfig() self.divFactor: int = 2 self.numLevels: int = config["Decimation"]["numlevels"] self.freqPerLevel: int = config["Frequencies"]["perlevel"] self.decFactors: np.ndarray self.decFrequencies: np.ndarray self.evalFreq: np.ndarray self.evalFreqPerLevel: np.ndarray # calculate some initial values decimation parameters based on defaults self.calcFrequencyParams(self.numLevels, self.freqPerLevel)