X-Axis Transformations#

Move#

You can move the signal samples by a number of samples to the right by calling the method move() with the positive number of samples the signal samples shall be moved to the right.

A new Trace instance labeled with the performed transformation 'move' is returned.

>>> # move samples by the number of samples to the right
>>> Trace('Signal', [1, 2, 3, 4, 5]).move(2)
Trace(label='Signal:move', samples=[1, 1, 1, 2, 3])

Note

The first signal sample is used as the fill value to move the signal samples to the right.

(Source code, html)

You can move the signal samples by a number of samples to the left by calling the method move() with the negative number of samples the signal samples shall be moved to the left.

A new Trace instance labeled with the performed transformation 'move' is returned.

>>> # move samples by the number of samples to the left
>>> Trace('Signal', [1, 2, 3, 4, 5]).move(-2)
Trace(label='Signal:move', samples=[3, 4, 5, 5, 5])

Note

The last signal sample is used as the fill value to move the signal samples to the left.

(Source code, html)

Slice#

You can slice the signal samples according to the built-in function slice() by calling the the method slice().

A new Trace instance labeled with the performed transformation 'slice' is returned.

>>> # get new trace with all samples
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice()
Trace(label='Signal:slice', samples=[1, 2, 3, 4, 5])
>>> # get new trace with the first sample
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(1)
Trace(label='Signal:slice', samples=[1])
>>> # get new trace without the last sample
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(-1)
Trace(label='Signal:slice', samples=[1, 2, 3, 4])
>>> # get new trace with samples between first and last sample
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(1, -1)
Trace(label='Signal:slice', samples=[2, 3, 4])
>>> # get new trace without the first sample
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(1, None)
Trace(label='Signal:slice', samples=[2, 3, 4, 5])
>>> # get new trace with the last sample
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(-1, None)
Trace(label='Signal:slice', samples=[5])
>>> # get new trace with the odd samples
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(None, None, 2)
Trace(label='Signal:slice', samples=[1, 3, 5])
>>> # get new trace with the even samples
>>> Trace('Signal', [1, 2, 3, 4, 5]).slice(1, None, 2)
Trace(label='Signal:slice', samples=[2, 4])

(Source code, html)