@@ -8,7 +8,7 @@ To get help on a specific sequence, either follow the link in the sequence list
When reading the help, you will notice that there are two type of expected inputs:
-`Parameters`: these define the type of components that will be included, e.g., the shape of the excitation pulse or the readout strategy. These parameters have to be set to certain fixed values. If not set, they will be determined by their default value as defined in the documentation.
-`Variables`: These are a special type of parameters. In addition to being set to a fixed value, they can also be set to `:min` or `:max` to minimise or maximise the variable. If they are not set, they will be determined based on the optimisation or fixing of other variables. For more details, see the section on [sequence optimisation](@ref sequence_optimisation). All variables are available in the [`variables`](@ref) module.
-`Variables`: These are a special type of parameters. In addition to being set to a fixed value, they can also be set to `:min` or `:max` to minimise or maximise the variable. If they are not set, they will be determined based on the optimisation or fixing of other variables. For more details, see the section on [sequence optimisation](@ref sequence_optimisation). All variables are available in the [`variables`](@ref) module. They can also be accessed as properties of the specific pulse/gradient/readout/block (i.e., `block.<variable_name>`).
As an example, the following creates and plots a [`DiffusionSpinEcho`](@ref) that has a b-value of 1, a minimal echo time, and a slice thickness of 2 mm:
@@ -11,7 +11,7 @@ In addition to the user-defined constraints, this optimisation will also take in
Internally, MRIBuilder will then optimise the `BuildingBlock` free parameters to match any user-defined constraints and/or objectives.
This optimisation uses the [Ipopt](https://github.com/coin-or/Ipopt) optimiser accessed through the [JuMP.jl](https://jump.dev/JuMP.jl/stable/) library.
In addition to any user-defined objectives, the developer might also define secondary objectives (e.g., manimise the total sequence duration).
In addition to any user-defined objectives, the developer might also have defined secondary objectives (e.g., minimise the total sequence duration).
These objective functions will only be considered if they do not affect the result of the user-defined primary objective.
More details on these developer-defined secondary objectives can be found in the section on [defining new sequences](@ref defining_sequences)