Skip to content

Commit 3f2df84

Browse files
authored
Modify spoiler for T1 ref SE (#19)
* modify spoiler * reduce spoiler duration
1 parent 982e822 commit 3f2df84

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/mrseq/scripts/t1_inv_rec_se_single_line.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ def t1_inv_rec_se_single_line_kernel(
3232
rf180_flip_angle: float,
3333
rf180_bwt: float,
3434
rf180_apodization: float,
35+
gz_spoil_duration: float,
36+
gz_spoil_area: float,
3537
) -> tuple[pp.Sequence, float, float]:
3638
"""Generate a SE-based inversion recovery sequence with one inversion pulse before every readout.
3739
@@ -79,6 +81,10 @@ def t1_inv_rec_se_single_line_kernel(
7981
Bandwidth-time product of rf refocusing pulse (Hz * seconds)
8082
rf180_apodization
8183
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
8288
8389
Returns
8490
-------
@@ -135,8 +141,8 @@ def t1_inv_rec_se_single_line_kernel(
135141
phase_areas = (np.arange(n_phase_encoding) - n_phase_encoding / 2) * delta_k
136142
k0_center_id = np.where((np.arange(n_readout) - n_readout / 2) * delta_k == 0)[0][0]
137143

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)
140146

141147
# calculate minimum echo time
142148
min_te = (
@@ -311,6 +317,10 @@ def main(
311317
gx_pre_duration = 1.0e-3 # duration of readout pre-winder gradient [s]
312318
gx_flat_time = n_readout * adc_dwell # flat time of readout gradient [s]
313319

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+
314324
# define settings of rf excitation pulse
315325
rf90_duration = 1.28e-3 # duration of the rf excitation pulse [s]
316326
rf90_flip_angle = 90 # flip angle of rf excitation pulse [°]
@@ -345,6 +355,8 @@ def main(
345355
rf180_flip_angle=rf180_flip_angle,
346356
rf180_bwt=rf180_bwt,
347357
rf180_apodization=rf180_apodization,
358+
gz_spoil_duration=gz_spoil_duration,
359+
gz_spoil_area=gz_spoil_area,
348360
)
349361

350362
# check timing of the sequence

src/mrseq/scripts/t2_multi_echo_se_single_line.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ def t2_multi_echo_se_single_line_kernel(
6969
rf180_apodization
7070
Apodization factor of rf refocusing pulse
7171
gz_spoil_duration
72-
Duration of spoiler gradient (in seconds)
72+
Duration of spoiler (crusher) gradient applied around 180° pulse and after readout (in seconds)
7373
gz_spoil_area
74-
Area / zeroth gradient moment of spoiler gradient
74+
Area / zeroth gradient moment of spoiler (crusher) gradient applied around 180° pulse and after readout
7575
7676
Returns
7777
-------
@@ -263,7 +263,7 @@ def main(
263263
gx_flat_time = n_readout * adc_dwell # flat time of readout gradient [s]
264264

265265
# define spoiler gradient settings
266-
gz_spoil_duration = 3.2e-3 # duration of spoiler gradient [s]
266+
gz_spoil_duration = 0.8e-3 # duration of spoiler gradient [s]
267267
gz_spoil_area = 4 / slice_thickness # area / zeroth gradient moment of spoiler gradient
268268

269269
# define settings of rf excitation pulse

0 commit comments

Comments
 (0)