-
Michiel Cottaar authoredMichiel Cottaar authored
test_plot.jl 1.94 KiB
using CairoMakie
using VisualRegressionTests
using Gtk
@testset "test_plot.jl" begin
dir = @__DIR__
isCI = get(ENV, "CI", "false") == "true"
@testset "pulseseq example PRESS sequence" begin
function plot_press(fname)
fn = joinpath(dir, "example_pulseseq", "01_from_FID_to_PRESS_v140", "06_PRESS_center.seq")
sequence = read_sequence(fn)
f = Figure()
Axis(f[1, 1])
plot!(sequence)
CairoMakie.save(fname, f)
end
@visualtest plot_press "$dir/plots/pulseq_press.png" !isCI
end
@testset "Instantaneous gradients & pulses" begin
function plot_perfect_dwi(fname)
sequence = DWI(TE=80., bval=2., Δ=40., gradient=(type=:instant, ))
f = plot_sequence(sequence)
CairoMakie.save(fname, f)
end
@visualtest plot_perfect_dwi "$dir/plots/perfect_dwi.png" !isCI 0.03
end
@testset "Finite RF pulses" begin
function plot_finite_rf(fname)
times = -2:0.1:2
raw_amp = sinc.(times)
sequence = build_sequence() do
Sequence(
GenericPulse(times .+ 2, raw_amp),
InstantPulse(flip_angle=60., phase=0.),
GenericPulse(times .+ 2, raw_amp .* 2),
InstantPulse(flip_angle=120., phase=0.),
)
end
f = plot_sequence(sequence)
CairoMakie.save(fname, f)
end
@visualtest plot_finite_rf "$dir/plots/finite_rf.png" !isCI
end
@testset "Finite gradients" begin
function plot_finite_dwi(fname)
sequence = DWI(bval=2., TE=:min, TR=100, voxel_size=2., scanner=Siemens_Prisma, fov=(10, 10, 10))
f = plot_sequence(sequence)
CairoMakie.save(fname, f)
end
@visualtest plot_finite_dwi "$dir/plots/grad_dwi.png" !isCI
end
end