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)