@@ -32,6 +32,8 @@ def t1_inv_rec_se_single_line_kernel(
32
32
rf180_flip_angle : float ,
33
33
rf180_bwt : float ,
34
34
rf180_apodization : float ,
35
+ gz_spoil_duration : float ,
36
+ gz_spoil_area : float ,
35
37
) -> tuple [pp .Sequence , float , float ]:
36
38
"""Generate a SE-based inversion recovery sequence with one inversion pulse before every readout.
37
39
@@ -79,6 +81,10 @@ def t1_inv_rec_se_single_line_kernel(
79
81
Bandwidth-time product of rf refocusing pulse (Hz * seconds)
80
82
rf180_apodization
81
83
Apodization factor of rf refocusing pulse
84
+ gz_spoil_duration
85
+ Duration of spoiler (crusher) gradient applied around 180° pulse and after readout (in seconds)
86
+ gz_spoil_area
87
+ Area / zeroth gradient moment of spoiler (crusher) gradient applied around 180° pulse and after readout
82
88
83
89
Returns
84
90
-------
@@ -135,8 +141,8 @@ def t1_inv_rec_se_single_line_kernel(
135
141
phase_areas = (np .arange (n_phase_encoding ) - n_phase_encoding / 2 ) * delta_k
136
142
k0_center_id = np .where ((np .arange (n_readout ) - n_readout / 2 ) * delta_k == 0 )[0 ][0 ]
137
143
138
- # create spoiler gradients
139
- gz_spoil = pp .make_trapezoid (channel = 'z' , area = 4 / slice_thickness , system = system )
144
+ # spoiler along slice direction before and after 180°-SE-refocusing pulse
145
+ gz_spoil = pp .make_trapezoid (channel = 'z' , system = system , area = gz_spoil_area , duration = gz_spoil_duration )
140
146
141
147
# calculate minimum echo time
142
148
min_te = (
@@ -311,6 +317,10 @@ def main(
311
317
gx_pre_duration = 1.0e-3 # duration of readout pre-winder gradient [s]
312
318
gx_flat_time = n_readout * adc_dwell # flat time of readout gradient [s]
313
319
320
+ # define spoiler gradient settings
321
+ gz_spoil_duration = 0.8e-3 # duration of spoiler gradient [s]
322
+ gz_spoil_area = 4 / slice_thickness # area / zeroth gradient moment of spoiler gradient
323
+
314
324
# define settings of rf excitation pulse
315
325
rf90_duration = 1.28e-3 # duration of the rf excitation pulse [s]
316
326
rf90_flip_angle = 90 # flip angle of rf excitation pulse [°]
@@ -345,6 +355,8 @@ def main(
345
355
rf180_flip_angle = rf180_flip_angle ,
346
356
rf180_bwt = rf180_bwt ,
347
357
rf180_apodization = rf180_apodization ,
358
+ gz_spoil_duration = gz_spoil_duration ,
359
+ gz_spoil_area = gz_spoil_area ,
348
360
)
349
361
350
362
# check timing of the sequence
0 commit comments