make_excitation#
- pypulseqpp.sequences.make_excitation()[source]#
Build the excitation
kindnames, from one prescription of a slab.A volumetric sequence is prescribed with a slab and then excites it one of three ways, and which one it is does not change anything else about the sequence. This is that choice.
- Parameters:
system (pypulseqpp.Opts) – System limits.
kind ({'nonselective', 'slab', 'spsp'}) – A hard pulse, a slab-selective SLR pulse, or a slab- and water-selective spectral-spatial pulse, as
EXCITATIONSnames them.flip_angle_deg (float) – Flip angle (degrees).
thickness_m (float) – Slab thickness (m). A hard pulse excites everything and ignores it.
duration_s (float, default=0.003) – Duration of the selective pulse (s).
time_bw_product (float, default=4.0) – Time-bandwidth product of the SLR design.
hard_duration_s (float, default=0.0005) – Duration of the hard pulse (s), rounded up to an even number of block rasters so that its centre lands on the raster, which a spin echo needs in order to place its refocusing pulse midway.
fat_shift_ppm (float, default=-3.4) – Methylene shift from water (ppm), converted against
system.gammaandsystem.B0into the spectral band the'spsp'pulse rejects.
- Returns:
The excitation module, which publishes its pulse as
rfand, when it selects, agzand agz_rephbeside it.- Return type:
- Raises:
ValueError – If
kindis not one ofEXCITATIONS.
Examples
>>> import pypulseqpp as pp >>> system = pp.Opts(max_grad=40.0, grad_unit="mT/m") >>> slab = pp.sequences.make_excitation(system, "slab", 12.0, 0.128) >>> slab.gz is not None True >>> pp.sequences.make_excitation(system, "nonselective", 12.0, 0.128).rf.use 'excitation'