Sequence.adc_echoes

Sequence.adc_echoes#

Sequence.adc_echoes()[source]#

Return, per readout, the axes its k-space moves along and the samples nearest the k-space centre.

One entry per block that acquires, in play order. k-space is integrated as adc_kspace() integrates it, after each block’s rotation: excitations, and pulses with no use recorded, reset it, and refocusing pulses invert it.

Returns:

moving is true along an axis where the readout’s k-space spans more than 1e-6 of its widest span. The fields start, path, paths, rotation and rotations are None when an RF pulse that excites or refocuses, or has no use recorded, plays in a block that acquires, or when more than one readout in 16 has a path of its own.

Return type:

AdcEchoes

Examples

>>> import pypulseqpp as pp
>>> seq = pp.Sequence(pp.Opts())
>>> readout = pp.make_trapezoid("x", flat_area=320, flat_time=3.2e-3)
>>> adc = pp.make_adc(num_samples=64, duration=3.2e-3, delay=readout.rise_time)
>>> _ = seq.add_block(pp.make_block_pulse(0.2, duration=1e-3))
>>> _ = seq.add_block(pp.make_trapezoid("x", area=-readout.area / 2, duration=1e-3))
>>> _ = seq.add_block(readout, adc)
>>> echoes = seq.adc_echoes()
>>> echoes.moving.tolist(), echoes.echo.tolist()
([[True, False, False]], [[31, 32]])