diff --git a/src/sequence_io/pulseq.jl b/src/sequence_io/pulseq.jl index 5f84e23d561ebb6776ce5496f36c395a5cf5633c..c0f28e34c2eb56a38a22dfe5afe22c3a547439bb 100644 --- a/src/sequence_io/pulseq.jl +++ b/src/sequence_io/pulseq.jl @@ -177,12 +177,13 @@ function PulseqBlock(block::BaseBuildingBlock; BlockDurationRaster, AdcRasterTim times = [t for (t, _) in waveform(block)] for dim in 1:3 amplitudes = [g[dim] for (_, g) in waveform(block)] - if iszero(maximum(abs.(amplitudes); init=0.)) + max_ampl = maximum(abs.(amplitudes); init=0.) + if iszero(max_ampl) push!(grads, nothing) else push!(grads, PulseqGradient( - maximum(amplitudes) * 1e3, - PulseqShape(amplitudes ./ maximum(amplitudes)), + max_ampl * 1e3, + PulseqShape(amplitudes ./ max_ampl), PulseqShape(times .* 1e-3), 0., )) diff --git a/src/sequence_io/pulseq_io/parsers/shapes.jl b/src/sequence_io/pulseq_io/parsers/shapes.jl index 1a1298b28296372ed67a8c8a5b26e8232ed539a0..3a062f7f6251e7b979d3fc84c68ad35afcbcc731 100644 --- a/src/sequence_io/pulseq_io/parsers/shapes.jl +++ b/src/sequence_io/pulseq_io/parsers/shapes.jl @@ -94,6 +94,7 @@ function gen_section(comp:: PulseqComponents, ::Val{:shapes}) res = PulseqSection{:shapes}(String[]) for index in sort([keys(comp.shapes)...]) shape = compress(comp.shapes[index]) + @assert all(isfinite.(shape.samples)) append!(res.content, [ "", "shape_id $index",