Skip to content
Snippets Groups Projects
MRIBuilder.jl 1.63 KiB
Newer Older
"""
Builds and optimises NMR/MRI sequences.
"""
module MRIBuilder

Michiel Cottaar's avatar
Michiel Cottaar committed
include("build_sequences.jl")
Michiel Cottaar's avatar
Michiel Cottaar committed
include("scanners.jl")
include("building_blocks.jl")
include("wait.jl")
include("gradients/gradients.jl")
include("pulses/pulses.jl")
Michiel Cottaar's avatar
Michiel Cottaar committed
include("containers/containers.jl")
include("readouts/readouts.jl")

import .BuildSequences: build_sequence
export build_sequence
import .Scanners: Scanner, B0, Siemens_Connectom, Siemens_Prisma, Siemens_Terra
export Scanner, B0, Siemens_Connectom, Siemens_Prisma, Siemens_Terra
import .Variables: variables, duration, start_time, end_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength
export variables, duration, start_time, end_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength
Michiel Cottaar's avatar
Michiel Cottaar committed
import .BuildingBlocks: BuildingBlock, fixed
export BuildingBlocks, fixed
Michiel Cottaar's avatar
Michiel Cottaar committed
import .Wait: WaitBlock
export WaitBlock

import .Pulses: InstantRFPulseBlock, ConstantPulse, SincPulse, FixedPulse
export InstantRFPulseBlock, ConstantPulse, SincPulse, FixedPulse
import .Gradients: PulsedGradient, InstantGradientBlock, FixedGradient
export PulsedGradient, InstantGradientBlock, FixedGradient

import .Readouts: InstantReadout
export InstantReadout
Michiel Cottaar's avatar
Michiel Cottaar committed
import .Containers: Sequence, FixedBlock, FixedSequence
export Sequence, FixedBlock, FixedSequence

import JuMP: @constraint, @objective, objective_function, optimize!, has_values, value, owner_model, Model
export @constraint, @objective, objective_function, optimize!, has_values, value, owner_model, Model