From 27f83afe6671e3120fa2edbb29356e17387d2166 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Wed, 15 May 2024 17:39:28 +0100
Subject: [PATCH] Fix docstring linking issues

---
 .../gradient_waveforms/changing_gradient_blocks.jl     |  2 +-
 src/components/instant_gradients.jl                    |  2 +-
 src/components/pulses/sinc_pulses.jl                   |  2 +-
 src/containers/building_blocks.jl                      |  5 +++++
 src/parts/epi_readouts.jl                              |  2 +-
 src/parts/slice_select_rephases.jl                     |  2 +-
 src/parts/trapezoids.jl                                |  6 +++---
 src/sequences/gradient_echoes.jl                       | 10 +++++-----
 8 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/src/components/gradient_waveforms/changing_gradient_blocks.jl b/src/components/gradient_waveforms/changing_gradient_blocks.jl
index 7dc1409..96bb57e 100644
--- a/src/components/gradient_waveforms/changing_gradient_blocks.jl
+++ b/src/components/gradient_waveforms/changing_gradient_blocks.jl
@@ -89,7 +89,7 @@ Split a single gradient at a given times.
 All times are relative to the start of the gradient block (in ms).
 Times are assumed to be in increasing order and between 0 and the duration of the gradient block.
 
-For N times this returns a vector with the N+1 replacement [`ConstantGradientBlock`](@ref) or [`ChangingGradientBlock`](@ref) objects.
+For N times this returns a vector with the N+1 replacement [`ConstantGradient`](@ref) or [`ChangingGradient`](@ref) objects.
 """
 function split_gradient(cgb::ChangingGradient, times::VariableType...)
     all_times = [0., times...]
diff --git a/src/components/instant_gradients.jl b/src/components/instant_gradients.jl
index 06e3a23..f666011 100644
--- a/src/components/instant_gradients.jl
+++ b/src/components/instant_gradients.jl
@@ -1,7 +1,7 @@
 module InstantGradients
 import StaticArrays: SVector, SMatrix
 import JuMP: @constraint
-import ...Variables: VariableType, duration, qval, bmat_gradient, get_free_variable, set_simple_constraints!, effective_time, make_generic, adjust_internal, adjustable, gradient_orientation
+import ...Variables: VariableType, duration, qval, bmat_gradient, get_free_variable, set_simple_constraints!, effective_time, make_generic, adjust_internal, adjustable, gradient_orientation, spoiler_scale
 import ...BuildSequences: global_model
 import ..AbstractTypes: EventComponent, GradientWaveform
 
diff --git a/src/components/pulses/sinc_pulses.jl b/src/components/pulses/sinc_pulses.jl
index 2d6cacd..8ced23f 100644
--- a/src/components/pulses/sinc_pulses.jl
+++ b/src/components/pulses/sinc_pulses.jl
@@ -2,7 +2,7 @@ module SincPulses
 import JuMP: @constraint
 import QuadGK: quadgk
 import ....BuildSequences: global_model
-import ....Variables: duration, amplitude, effective_time, flip_angle, phase, inverse_bandwidth, VariableType, set_simple_constraints!, frequency, make_generic, get_free_variable, adjust_internal
+import ....Variables: duration, amplitude, effective_time, flip_angle, phase, inverse_bandwidth, VariableType, set_simple_constraints!, frequency, make_generic, get_free_variable, adjust_internal, bandwidth
 import ...AbstractTypes: RFPulseComponent, split_timestep
 import ..GenericPulses: GenericPulse
 
diff --git a/src/containers/building_blocks.jl b/src/containers/building_blocks.jl
index 62f4ae8..f0c4e81 100644
--- a/src/containers/building_blocks.jl
+++ b/src/containers/building_blocks.jl
@@ -361,6 +361,11 @@ function effective_time(bb::BuildingBlock)
     return effective_time(bb, index)
 end
 
+"""
+An empty BuildingBlock representing dead time.
+
+It only has a single variable, namely its [`duration`](@ref).
+"""
 struct Wait <: BaseBuildingBlock
     duration :: VariableType
     function Wait(var)
diff --git a/src/parts/epi_readouts.jl b/src/parts/epi_readouts.jl
index acb4a32..dcd068e 100644
--- a/src/parts/epi_readouts.jl
+++ b/src/parts/epi_readouts.jl
@@ -2,7 +2,7 @@ module EPIReadouts
 import ...Containers: BaseSequence, get_index_single_TR
 import ..Trapezoids: Trapezoid, opposite_kspace_lines, LineReadout
 import ...Components: ADC
-import ...Variables: get_free_variable, VariableType, qval, qval3, set_simple_constraints!, resolution, inverse_voxel_size, inverse_fov, resolution, get_readout, apply_simple_constraint!, effective_time
+import ...Variables: get_free_variable, VariableType, qval, qval3, set_simple_constraints!, resolution, inverse_voxel_size, inverse_fov, resolution, get_readout, apply_simple_constraint!, effective_time, voxel_size, ramp_overlap, oversample, dwell_time
 import ...Pathways: PathwayWalker, update_walker_till_time!, walk_pathway!
 
 """
diff --git a/src/parts/slice_select_rephases.jl b/src/parts/slice_select_rephases.jl
index b8806ae..397113e 100644
--- a/src/parts/slice_select_rephases.jl
+++ b/src/parts/slice_select_rephases.jl
@@ -9,7 +9,7 @@ import ...Components: RFPulseComponent
 
 Creates an excitatory RF pulse with slice selection and a rephasing gradient.
 
-Parameters are the same as for [`SliceSelect`](@Ref)
+Parameters are the same as for [`SliceSelect`](@ref).
 """
 struct SliceSelectRephase{N} <: BaseSequence{2}
     slice_select :: SliceSelect{N}
diff --git a/src/parts/trapezoids.jl b/src/parts/trapezoids.jl
index 0d48a46..bc8c75b 100644
--- a/src/parts/trapezoids.jl
+++ b/src/parts/trapezoids.jl
@@ -14,7 +14,7 @@ import ...Containers: BaseBuildingBlock
 
 
 """
-Parent type for any [`BuildingBlock`](@ref) that has a trapezoidal gradient waveform.
+Parent type for any `BuildingBlock` that has a trapezoidal gradient waveform.
 
 Sub-types:
 - [`Trapezoid`](@ref)
@@ -151,7 +151,7 @@ end
 
 Defines a trapezoidal gradient with a pulse played out during the flat time.
 
-Parameters and variables are identical as for [`TrapezoidGradient`](@ref) with the addition of:
+Parameters and variables are identical as for [`Trapezoid`](@ref) with the addition of:
 
 ## Parameters
 - `pulse`: sub-type of [`RFPulseComponent`](@ref) that describes the RF pulse.
@@ -187,7 +187,7 @@ effective_time(ss::SliceSelect) = effective_time(ss, :pulse)
 
 Defines a trapezoidal gradient with an ADC readout overlaid.
 
-Parameters and variables are identical as for [`TrapezoidGradient`](@ref) with the addition of:
+Parameters and variables are identical as for [`Trapezoid`](@ref) with the addition of:
 
 ## Parameters
 - `adc`: [`ADC`](@ref) object that describes the readout.
diff --git a/src/sequences/gradient_echoes.jl b/src/sequences/gradient_echoes.jl
index 4a4d854..703b2cd 100644
--- a/src/sequences/gradient_echoes.jl
+++ b/src/sequences/gradient_echoes.jl
@@ -17,12 +17,12 @@ By default, an instant excitation pulse and readout event are used.
 If image parameters are provided, this will switch to a sinc pulse and EPI readout.
 
 ## Parameters
-- [`excitation`](@ref): properties of the excitation pulse as described in [`excitation_pulse`](@ref).
-- [`readout`](@ref): properties of the readout as described in [`readout_event`](@ref).
-- [`spoiler`](@ref): if set adds a spoiler [`gradient_spoiler`](@ref) gradient after the readout (e.g., `spoiler=()` to add a gradient in the z-direction of the `FOV` coordinate system that fully dephases spins over 1 mm).
+- `excitation`: properties of the excitation pulse as described in [`excitation_pulse`](@ref).
+- `readout`: properties of the readout as described in [`readout_event`](@ref).
+- `spoiler`: if set adds a spoiler [`gradient_spoiler`](@ref) gradient after the readout (e.g., `spoiler=()` to add a gradient in the z-direction of the `FOV` coordinate system that fully dephases spins over 1 mm).
 - Image parameters ([`resolution`](@ref)/[`fov`](@ref)/[`voxel_size`](@ref)/[`slice_thickness`](@ref)): describe the properties of the resulting image. See [`interpret_image_size`](@ref) for details.
-- [`optim`](@ref): parameters to pass on to the Ipopt optimiser (see https://coin-or.github.io/Ipopt/OPTIONS.html).
-- [`scanner`](@ref): Sets the [`Scanner`](@ref) used to constraint the gradient parameters. If not set, the [`Default_Scanner`](@ref) will be used.
+- `optim`: parameters to pass on to the Ipopt optimiser (see https://coin-or.github.io/Ipopt/OPTIONS.html).
+- `scanner`: Sets the [`Scanner`](@ref) used to constraint the gradient parameters. If not set, the [`Default_Scanner`](@ref) will be used.
 
 ## Variables
 - [`TE`](@ref)/[`echo_time`](@ref): echo time between excitation pulse and readout in ms (required).
-- 
GitLab