diff --git a/src/containers/containers.jl b/src/containers/containers.jl index 591b9f09a426b9d327daf5bd879a95c9efb929e9..e134de9173f714fab346b1ee9024eaccc4a9aca1 100644 --- a/src/containers/containers.jl +++ b/src/containers/containers.jl @@ -1,5 +1,13 @@ +""" +Defines [`ContainerBlock`](@ref) sub-types, i.e., [`BuildingBlocks`](@ref) objects that contain other BuildingBlocks. + +The most important of these is [`Sequence`](@ref). + +To get the children blocks use [`get_children_blocks`](@ref). +""" module Containers include("sequences.jl") +import ..BuildingBlocks: ContainerBlock, get_children_blocks import .Sequences: Sequence end \ No newline at end of file diff --git a/src/containers/sequences.jl b/src/containers/sequences.jl index d7f908c711b513e15c2a95432d2e7a6496615b8a..0422e06618b440b8ac6b1f74cd6336f9e141ca01 100644 --- a/src/containers/sequences.jl +++ b/src/containers/sequences.jl @@ -1,3 +1,6 @@ +""" +Define the [`Sequence`](@ref) building block. +""" module Sequences import JuMP: Model, @constraint import ...BuildSequences: @global_model_constructor @@ -12,6 +15,9 @@ Represents a series of [`BuildingBlock`](@ref) objects run in turn. Providing a [`Scanner`](@ref) will lead to [`scanner_constraints!`](@ref) to be called on all building blocks. +This can be used as a top-level NMR/MRI sequence (in which case the [`TR`](@ref) variable is relevant) +or be embedded as a [`BuildingBlock`](@ref) into higher-order `Sequence` or other [`ContainerBlock`](@ref) objects. + ## Variables - [`TR`](@ref): repetition time of sequence in ms. """ diff --git a/src/gradients/gradients.jl b/src/gradients/gradients.jl index 8c6dbb6f64a21323e34cc8dda586a9a276e403d2..38edafa68dd36ee45fe1cf970391c5f082adbe90 100644 --- a/src/gradients/gradients.jl +++ b/src/gradients/gradients.jl @@ -1,8 +1,18 @@ +""" +Module defining sub-types of the [`GradientBlock`](@ref), i.e., any [`BuildingBlock`](@ref) that only defines a gradient profile. + +- [`PulsedGradient`](@ref) +- [`InstantGradientBlock`](@ref) + +Arbitrary gradient waveforms can be store din a [`ConcreteBlock`](@ref) +""" module Gradients include("integrate_gradients.jl") include("pulsed_gradients.jl") include("instant_gradients.jl") +import ..BuildingBlock: GradientBlock + import .PulsedGradients: PulsedGradient import .InstantGradients: InstantGradientBlock end \ No newline at end of file