Trace Your Steps: Data Logs
Trace Your Steps: Data Logs#
An important feature of Syncopy fostering reproducibility is a log
which gets attached to and propagated between all datasets. Suppose we have some SpectralData
and we want to know how we did arrive at these results, typing:
spectral_data.log
Gives a output like this:
|=== user@machine: Thu Feb 3 17:05:59 2022 ===|
__init__: created AnalogData object
|=== user@machine: Thu Feb 3 17:12:11 2022 ===|
__init__: created SpectralData object
|=== user@machine: Thu Feb 3 17:12:11 2022 ===|
definetrial: updated trial-definition with [50 x 3] element array
|=== user@machine: Thu Feb 3 17:12:11 2022 ===|
write_log: computed mtmfft_cF with settings
method = mtmfft
output = pow
keeptapers = False
keeptrials = True
polyremoval = None
pad_to_length = None
foi = [ 0. 0.5 1. 1.5 2. 2.5, ..., 47.5 48. 48.5 49. 49.5 50. ]
taper = dpss
nTaper = 5
tapsmofrq = 3
We see that from the creation of the original AnalogData
all steps needed to compute the new SpectralData
got recorded. In this example the spectra were computed via the multitapered FFT, with a spectral smoothing box (tapsmofrq
) of 3Hz which required 5 Slepian tapers. The frequencies of interest (foi
) range from 0Hz to 50Hz with 0.5Hz stepping and keeptrials
was set to True
, meaning that this dataset contains the results for all trials separately.