From 8a9bd7ffedcc947452e4921ef5abd978ff0b786b Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Fri, 22 Mar 2024 17:15:07 +0000 Subject: [PATCH] Fix start time effect on block duration for gradients --- src/sequence_io/pulseq.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sequence_io/pulseq.jl b/src/sequence_io/pulseq.jl index 7c1e344..80d6b4b 100644 --- a/src/sequence_io/pulseq.jl +++ b/src/sequence_io/pulseq.jl @@ -267,13 +267,13 @@ function build_sequence(; scanner=nothing, B0=3., TR=nothing, definitions, versi times = grad_shape.times .* (num * gradient_raster) .+ start_time end push!(grad_shapes, (times, grad_shape.amplitudes .* (proc.amp * 1e-9))) - block_duration = max(proc.delay * 1e-3 + num * gradient_raster, block_duration) + block_duration = max(start_time + num * gradient_raster, block_duration) elseif !isnothing(trap) && grad_id in keys(trap) proc = trap[grad_id] start_time = proc.delay * 1e-3 times = (cumsum([0, proc.rise, proc.flat, proc.fall]) .* 1e-3) .+ start_time push!(grad_shapes, (times, [0, proc.amp * 1e-9, proc.amp * 1e-9, 0])) - block_duration = max((proc.delay + proc.rise + proc.flat + proc.fall) * 1e-3, block_duration) + block_duration = max((start_time + proc.rise + proc.flat + proc.fall) * 1e-3, block_duration) else error("Gradient ID $grad_id not found in either of [GRADIENTS] or [TRAP] sections") end -- GitLab