Sequence.duration

Sequence.duration#

Sequence.duration()[source]#

Return total duration, block count and per-event block counts.

Returns:

  • duration (float) – Total duration in seconds.

  • num_blocks (int) – How many blocks there are.

  • event_count (NDArray[np.float64]) – How many blocks carry an event in each column of the block table, in upstream’s column order: delay, RF, the three gradient axes, ADC, extension.

Examples

>>> import numpy as np
>>> import pypulseqpp as pp
>>> seq = pp.Sequence(pp.Opts())
>>> seq.add_block(pp.make_block_pulse(np.pi / 2, duration=1e-3))
1
>>> seq.add_block(pp.make_adc(num_samples=64, duration=3.2e-3))
2
>>> seq.duration()
(0.0042..., 2, array([0., 1., 0., 0., 0., 1., 0.]))