From 174a8f681ff3c9fb57ac0797baf153db3a6046ea Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk>
Date: Tue, 20 Feb 2024 18:16:36 +0000
Subject: [PATCH] Fix fixing for new sequence containing pairs

---
 src/MRIBuilder.jl      | 8 ++++----
 src/build_sequences.jl | 1 +
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/MRIBuilder.jl b/src/MRIBuilder.jl
index 8e3efbe..cf2f428 100644
--- a/src/MRIBuilder.jl
+++ b/src/MRIBuilder.jl
@@ -12,14 +12,14 @@ include("pathways.jl")
 include("parts/parts.jl")
 #include("printing.jl")
 
-import .BuildSequences: build_sequence, global_model, global_scanner
-export build_sequence, global_model, global_scanner
+import .BuildSequences: build_sequence, global_model, global_scanner, fixed
+export build_sequence, global_model, global_scanner, fixed
 
 import .Scanners: Scanner, B0, Siemens_Connectom, Siemens_Prisma, Siemens_Terra
 export Scanner, B0, Siemens_Connectom, Siemens_Prisma, Siemens_Terra
 
-import .Variables: variables, duration, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square, slice_thickness, inverse_slice_thickness, fov, inverse_fov, voxel_size, inverse_voxel_size, resolution, nsamples, oversample, dwell_time, ramp_overlap, spoiler_scale, TR, Δ, get_gradient, get_pulse, get_readout, fixed
-export variables, duration, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square, slice_thickness, inversne_slice_thickness, fov, inverse_fov, voxel_size, inverse_voxel_size, resolution, nsamples, oversample, dwell_time, ramp_overlap, spoiler_scale, TR, Δ, get_gradient, get_pulse, get_readout, fixed
+import .Variables: variables, duration, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square, slice_thickness, inverse_slice_thickness, fov, inverse_fov, voxel_size, inverse_voxel_size, resolution, nsamples, oversample, dwell_time, ramp_overlap, spoiler_scale, TR, Δ, get_gradient, get_pulse, get_readout
+export variables, duration, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square, slice_thickness, inversne_slice_thickness, fov, inverse_fov, voxel_size, inverse_voxel_size, resolution, nsamples, oversample, dwell_time, ramp_overlap, spoiler_scale, TR, Δ, get_gradient, get_pulse, get_readout
 
 import .Components: InstantPulse, ConstantPulse, SincPulse, GenericPulse, InstantGradient, SingleReadout, ADC
 export InstantPulse, ConstantPulse, SincPulse, GenericPulse, InstantGradient, SingleReadout, ADC
diff --git a/src/build_sequences.jl b/src/build_sequences.jl
index be3da75..03437a1 100644
--- a/src/build_sequences.jl
+++ b/src/build_sequences.jl
@@ -111,6 +111,7 @@ fixed(some_value) = some_value
 fixed(jump_variable::AbstractJuMPScalar) = value(jump_variable)
 fixed(jump_variable::AbstractArray) = fixed.(jump_variable)
 fixed(dict_variable::AbstractDict) = typeof(dict_variable)(k => fixed(v) for (k, v) in pairs(dict_variable))
+fixed(pair:: Pair) = fixed(pair[1]) => fixed(pair[2])
 
 
 
-- 
GitLab