From e87316bc1f2bbc6867ab1c315d59ebc6d6cc8eaf Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Fri, 31 May 2024 11:56:04 +0100
Subject: [PATCH] Allow very slight extrapolation of gradient strength

---
 src/sequence_io/pulseq.jl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/sequence_io/pulseq.jl b/src/sequence_io/pulseq.jl
index fd8391d..83a9aa0 100644
--- a/src/sequence_io/pulseq.jl
+++ b/src/sequence_io/pulseq.jl
@@ -74,6 +74,7 @@ function BuildingBlock(pulseq::PulseqBlock; version, BlockDurationRaster, Radiof
         push!(times, 0.)
     end
     waveform = [(t, _get_amplitude.(grads, t, GradientRasterTime)) for t in times]
+    @show waveform
 
     return BuildingBlock(waveform, events)
 end
@@ -106,6 +107,11 @@ end
 function _get_amplitude(grad::PulseqGradient, time::Number, raster::Number)
     amp = grad.amplitude * 1e-3
     edges = _control_times(grad, raster)
+    if time ≈ edges[1]
+        return grad.shape.samples[1]
+    elseif time ≈ edges[end]
+        return grad.shape.samples[end]
+    end
     return amp * linear_interpolation(edges, grad.shape.samples, extrapolation_bc=0.)(time)
 end
 
-- 
GitLab