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.

fetch()[source]
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.

fetch()[source]

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.

testBaseClasses()[source]

Make sure FakeDataAcquisition is subclass of Acquisition.

testDeviceConnection()[source]

Check that using config loads the correct acquisition.

testGetDataReturnObject()[source]

Make sure correct data object type is returned

test_get_data()[source]

Check that we end up with the correct data class starting from Device

class pyfusion.acquisition.FakeData.tests.CheckFakeDataFetchers[source]

Bases: pyfusion.test.tests.PfTestBase

test DataFetcher subclasses for fake data acquisition.

test_base_classes()[source]
test_singlechannelsinedf()[source]
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

test_different_timebase_exception()[source]
test_kwargs_passed_to_channels()[source]
test_list_channels()[source]
test_multi_multichannel()[source]
test_multichannel_single_channels()[source]