Skip to content
Snippets Groups Projects

Define variables through new @defvar macro

Merged Michiel Cottaar requested to merge new_variables into main
10 files
+ 325
6
Compare changes
  • Side-by-side
  • Inline
Files
10
@@ -5,7 +5,7 @@ In most MR sequence building software, the user will have to set all of these fr
In MRIBuilder the internal free parameters are not set directly.
Instead, they are inferred using a non-linear, constrained optimisation.
For each sequence type, the developer defines how to compute various summary variables from the `BuildingBlock` free parameters, such as [`echo_time`](@ref), [`duration`](@ref), [`resolution`](@ref), [`gradient_strength`](@ref), [`diffusion_time`](@ref), etc.
For each sequence type, the developer defines how to compute various summary variables from the `BuildingBlock` free parameters, such as [`variables.echo_time`](@ref), [`variables.duration`](@ref), [`variables.resolution`](@ref), [`variables.gradient_strength`](@ref), [`variables.diffusion_time`](@ref), [`variables.duration_transverse`](@ref) etc.
A user can then create a specific instantiation of the sequence by fixing any of these summary variables to their desired values (or setting them to `:min`/`:max` to minimise/maximise them).
In addition to the user-defined constraints, this optimisation will also take into account any [scanner-defined constraints](@ref scanners).
Internally, MRIBuilder will then optimise the `BuildingBlock` free parameters to match any user-defined constraints and/or objectives.
@@ -16,8 +16,52 @@ All variables are available as members of the [`variables`](@ref) structure.
```@meta
CollapsedDocStrings = true
```
```@docs
variables.
```@docs; canonical=false
variables.N_left
variables.N_right
variables.TE
variables.TR
variables.all_gradient_strengths
variables.amplitude
variables.area_under_curve
variables.bandwidth
variables.bmat
variables.bmat_gradient
variables.bval
variables.delay
variables.diffusion_time
variables.duration
variables.duration_dephase
variables.duration_state
variables.duration_transverse
variables.dwell_time
variables.echo_time
variables.effective_time
variables.flat_time
variables.flip_angle
variables.fov
variables.frequency
variables.gradient_strength
variables.gradient_strength_norm
variables.lobe_duration
variables.net_dephasing
variables.nsamples
variables.oversample
variables.phase
variables.qval
variables.qvec
variables.ramp_overlap
variables.readout_times
variables.resolution
variables.rise_time
variables.slew_rate
variables.slew_rate_norm
variables.slice_thickness
variables.spoiler_scale
variables.time_to_center
variables.voxel_size
variables.Δ
variables.δ
```
## Variables interface
Loading