FakeData Package¶
FakeData
Package¶
Acquisition module for generating fake timeseries data for testing purposes.
At present, only a single channel sine wave generator is provided. Available configuration parameters are:
parameter | description |
---|---|
t0 |
Starting time of signal timebase. |
n_samples |
Number of samples. |
sample_freq |
Sample frequency (Hz). |
frequency |
Frequency of test sine-wave signal (Hz). |
amplitude |
Amplitude of test sine-wave signal. |
All parameters are required.
For example, with the following configuration:
[Acquisition:fake_acq]
acq_class = pyfusion.acquisition.FakeData.acq.FakeDataAcquisition
[Diagnostic:fake_data]
data_fetcher = pyfusion.acquisition.FakeData.fetch.SingleChannelSineFetcher
t0 = 0.0
n_samples = 1024
sample_freq = 1.e6
frequency = 2.e4
amplitude = 2.5
we can generate a 20 kHz sine wave:
>>> import pyfusion as pf
>>> shot = 12345
>>> acq = pf.getAcquisition("fake_acq")
>>> data = acq.getdata(shot, "fake_data")
>>> data.timebase
Timebase([ 0.00000000e+00, 1.00000000e-06, 2.00000000e-06, ...,
1.02100000e-03, 1.02200000e-03, 1.02300000e-03])
>>> data.signal
Signal([ 0. , 0.31333308, 0.62172472, ..., 1.20438419,
0.92031138, 0.62172472])
acq
Module¶
Fake data acquisition used for testing pyfusion code.
-
class
pyfusion.acquisition.FakeData.acq.
FakeDataAcquisition
(config_name=None, **kwargs)[source]¶ Bases:
pyfusion.acquisition.base.BaseAcquisition
Acquisition class for generating fake data for testing purposes.
fetch
Module¶
Fake data acquisition fetchers used for testing pyfusion code.
-
class
pyfusion.acquisition.FakeData.fetch.
SingleChannelSineFetcher
(acq, shot, config_name=None, **kwargs)[source]¶ Bases:
pyfusion.acquisition.base.BaseDataFetcher
Data fetcher for single channel sine wave.
-
class
pyfusion.acquisition.FakeData.fetch.
SingleChannelSineUniqueForShotFetcher
(acq, shot, config_name=None, **kwargs)[source]¶ Bases:
pyfusion.acquisition.base.BaseDataFetcher
Data fetcher for single channel sine wave, with amplitude determined by shot number.
tests
Module¶
Test code for data acquisition.
-
class
pyfusion.acquisition.FakeData.tests.
CheckFakeDataAcquisition
[source]¶ Bases:
pyfusion.test.tests.PfTestBase
Test the fake data acquisition used for testing.
-
class
pyfusion.acquisition.FakeData.tests.
CheckFakeDataFetchers
[source]¶ Bases:
pyfusion.test.tests.PfTestBase
test DataFetcher subclasses for fake data acquisition.
-
class
pyfusion.acquisition.FakeData.tests.
CheckMultiChannel
[source]¶ Bases:
pyfusion.test.tests.PfTestBase
Would prefer this to be in acquisition/tests.py...., but we are using fakedata