Newer
Older
"""
Builds and optimises NMR/MRI sequences.
"""
include("variables.jl")
include("scanners.jl")
include("build_sequences.jl")
include("wait.jl")
include("gradients/gradients.jl")
include("pulses/pulses.jl")
include("readouts/readouts.jl")
include("overlapping/overlapping.jl")
import .BuildSequences: build_sequence, global_model, global_scanner
export build_sequence, global_model, global_scanner
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, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square
export variables, duration, start_time, end_time, effective_time, flip_angle, amplitude, phase, frequency, bandwidth, N_left, N_right, qval, δ, rise_time, flat_time, slew_rate, gradient_strength, qvec, qval_square
import .BuildingBlocks: BuildingBlock, fixed
export BuildingBlocks, fixed
import .Pulses: InstantRFPulseBlock, ConstantPulse, SincPulse, FixedPulse
export InstantRFPulseBlock, ConstantPulse, SincPulse, FixedPulse
import .Gradients: InstantGradientBlock
export InstantGradientBlock
import .Readouts: InstantReadout
export InstantReadout
import .Overlapping: TrapezoidGradient, SpoiltSliceSelect, interruptions, waveform
export TrapezoidGradient, SpoiltSliceSelect, interruptions, waveform
import .Sequences: Sequence
export Sequence
import .Pathways: Pathway, duration_transverse, duration_dephase, bval, bmat
export Pathway, duration_transverse, duration_dephase, bval, bmat
import .HelperFunctions: excitation_pulse, refocus_pulse
export excitation_pulse, refocus_pulse
import JuMP: @constraint, @objective, objective_function, value, Model
export @constraint, @objective, objective_function, value, Model