This module performs the "Transient Scanning Technique" presented in:
-
Brouwer, J., Tukker, J., & van Rijsbergen, M. (2013). Uncertainty Analysis of Finite Length Measurement Signals. 3rd International Conference on Advanced Model Measurement Technology for the EU Maritime Industry. [PDF]
-
Brouwer, J., Tukker, J., & van Rijsbergen, M. (2015). Uncertainty Analysis and Stationarity Test of Finite Length Time Series Signals. 4th International Conference on Advanced Model Measurement Technology for the Maritime Industry. [PDF]
-
Brouwer, J., Tukker, J., Klinkenberg, Y., & van Rijsbergen, M. (2019). Random uncertainty of statistical moments in testing: Mean. Ocean Engineering, 182(April), 563–576. https://doi.org/10.1016/j.oceaneng.2019.04.068
It allows to easily detect transient portion of a signal and measure the statistical uncertainty with that portion removed.
Can be installed like any python package, for example:
pip3 install --user https://github.com/Nanoseb/pyTST/archive/master.zip
This package provides both a command line tool as well as a python library (for more flexibility).
If the signal data looks like:
# time signal
1 0.280910708014E-03
2 0.280910708014E-03
3 0.345576259768E-03
...
the following can be used
TST-cli --time-col=0 --signal-col=1 example_data_filename
See TST-cli -h
for more details on the capabilities.
Signal data can be loaded from a file:
from pyTST import pyTST
tst = pyTST()
tst.load_data_file("example_data_filename", signal_column=1, time_column=0, tstep=0.05)
tst.compute_TST(step_size=10)
tst.export_to_txt("TST_analysis.dat")
# tst.import_from_txt("TST_analysis.dat")
tst.plot()
Or provided via python arrays:
import numpy as np
from pyTST import pyTST
# Signal creation
t = np.linspace(1,1000, 5000)
signal = np.sin(t)
# Add initial transiant effect
signal[0:100] += np.linspace(1,0, 100)
tst = pyTST()
tst.load_data_array(signal_array=signal, time_array=t)
tst.compute_TST(step_size=10)
tst.export_to_txt("TST_analysis.dat")
# tst.import_from_txt("TST_analysis.dat")
tst.plot()
For more info, the library is documented via docstrings:
from pyTST import pyTST
help(pyTST)
This code can be cited with:
@software{lemaire_sebastien_2021_4428158,
author = {Lemaire, Sébastien and
Klapwijk, Maarten},
title = {pyTST},
month = jan,
year = 2021,
publisher = {Zenodo},
version = {v1.0},
doi = {10.5281/zenodo.4428158},
url = {https://doi.org/10.5281/zenodo.4428158}
}