From e2e1a4e7495ecf52c59737f5e8569b329de35541 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Fri, 22 Mar 2024 13:18:29 +0000 Subject: [PATCH] Move pulseq to IO module --- src/MRIBuilder.jl | 6 +++--- src/{ => sequence_io}/pulseq.jl | 8 ++++---- src/sequence_io/sequence_io.jl | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) rename src/{ => sequence_io}/pulseq.jl (98%) create mode 100644 src/sequence_io/sequence_io.jl diff --git a/src/MRIBuilder.jl b/src/MRIBuilder.jl index 520111e..2f67ed9 100644 --- a/src/MRIBuilder.jl +++ b/src/MRIBuilder.jl @@ -12,7 +12,7 @@ include("pathways.jl") include("parts/parts.jl") include("sequences/sequences.jl") include("printing.jl") -include("pulseq.jl") +include("sequence_io/sequence_io.jl") include("plot.jl") import .BuildSequences: build_sequence, global_model, global_scanner, fixed @@ -39,8 +39,8 @@ export dwi_gradients, readout_event, excitation_pulse, refocus_pulse, Trapezoid, import .Sequences: GradientEcho, SpinEcho, DiffusionSpinEcho, DW_SE, DWI export GradientEcho, SpinEcho, DiffusionSpinEcho, DW_SE, DWI -import .Pulseq: read_pulseq -export read_pulseq +import .SequenceIO: read_sequence +export read_sequence import .Plot: plot_sequence export plot_sequence diff --git a/src/pulseq.jl b/src/sequence_io/pulseq.jl similarity index 98% rename from src/pulseq.jl rename to src/sequence_io/pulseq.jl index a907bce..6dc7276 100644 --- a/src/pulseq.jl +++ b/src/sequence_io/pulseq.jl @@ -1,8 +1,8 @@ module Pulseq -import ..Variables: duration -import ..Scanners: Scanner -import ..Components: GenericPulse, GradientWaveform, ADC -import ..Containers: BuildingBlock, Sequence, Wait +import ...Variables: duration +import ...Scanners: Scanner +import ...Components: GenericPulse, GradientWaveform, ADC +import ...Containers: BuildingBlock, Sequence, Wait import DataStructures: OrderedDict import Interpolations: linear_interpolation, Flat import StaticArrays: SVector diff --git a/src/sequence_io/sequence_io.jl b/src/sequence_io/sequence_io.jl new file mode 100644 index 0000000..07f0cf2 --- /dev/null +++ b/src/sequence_io/sequence_io.jl @@ -0,0 +1,16 @@ +module SequenceIO + +include("pulseq.jl") + +import .Pulseq: read_pulseq + + +function read_sequence(filename::AbstractString) + if endswith(filename, ".seq") + return read_pulseq(filename) + else + error("Cannot read file $filename. Extension is not recognised") + end +end + +end \ No newline at end of file -- GitLab