From 58bf96cd0b8a02b7181487ac6874b32170879389 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Mon, 20 May 2024 16:04:31 +0100
Subject: [PATCH] Print in order of ID

---
 src/sequence_io/pulseq_io/parsers/adc.jl        | 3 ++-
 src/sequence_io/pulseq_io/parsers/gradients.jl  | 3 ++-
 src/sequence_io/pulseq_io/parsers/rf.jl         | 3 ++-
 src/sequence_io/pulseq_io/parsers/shapes.jl     | 3 ++-
 src/sequence_io/pulseq_io/parsers/trapezoids.jl | 3 ++-
 5 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/sequence_io/pulseq_io/parsers/adc.jl b/src/sequence_io/pulseq_io/parsers/adc.jl
index eebeab8..88bb58d 100644
--- a/src/sequence_io/pulseq_io/parsers/adc.jl
+++ b/src/sequence_io/pulseq_io/parsers/adc.jl
@@ -19,7 +19,8 @@ end
 
 function gen_section(comp:: PulseqComponents, ::Val{:adc})
     res = PulseqSection{:adc}(String[])
-    for (i, adc) in comp.adc
+    for i in sort([keys(comp.adc)...])
+        adc = comp.adc[i]
         values = string.(Any[
             i,
             adc.num,
diff --git a/src/sequence_io/pulseq_io/parsers/gradients.jl b/src/sequence_io/pulseq_io/parsers/gradients.jl
index 67a1cc9..e8da19d 100644
--- a/src/sequence_io/pulseq_io/parsers/gradients.jl
+++ b/src/sequence_io/pulseq_io/parsers/gradients.jl
@@ -27,7 +27,8 @@ end
 
 function gen_section(comp:: PulseqComponents, ::Val{:gradients})
     res = PulseqSection{:gradients}(String[])
-    for (i, grad) in comp.grads
+    for i in sort([keys(comp.grads)...])
+        grad = comp.grads[i]
         if !(grad isa PulseqGradient)
             continue
         end
diff --git a/src/sequence_io/pulseq_io/parsers/rf.jl b/src/sequence_io/pulseq_io/parsers/rf.jl
index c864259..2b04c58 100644
--- a/src/sequence_io/pulseq_io/parsers/rf.jl
+++ b/src/sequence_io/pulseq_io/parsers/rf.jl
@@ -30,7 +30,8 @@ end
 
 function gen_section(comp:: PulseqComponents, ::Val{:rf})
     res = PulseqSection{:rf}(String[])
-    for (i, pulse) in comp.pulses
+    for i in sort([keys(comp.pulses)...])
+        pulse = comp.pulses[i]
         values = string.(Any[
             i,
             pulse.amplitude,
diff --git a/src/sequence_io/pulseq_io/parsers/shapes.jl b/src/sequence_io/pulseq_io/parsers/shapes.jl
index 1ab0597..ef0a30f 100644
--- a/src/sequence_io/pulseq_io/parsers/shapes.jl
+++ b/src/sequence_io/pulseq_io/parsers/shapes.jl
@@ -59,7 +59,8 @@ end
 
 function gen_section(comp:: PulseqComponents, ::Val{:shapes})
     res = PulseqSection{:shapes}(String[])
-    for (index, shape) in comp.shapes
+    for index in sort([keys(comp.shapes)...])
+        shape = comp.shapes[index]
         append!(res.content, [
             "",
             "shape_id $index",
diff --git a/src/sequence_io/pulseq_io/parsers/trapezoids.jl b/src/sequence_io/pulseq_io/parsers/trapezoids.jl
index 990d1b7..1b1bc37 100644
--- a/src/sequence_io/pulseq_io/parsers/trapezoids.jl
+++ b/src/sequence_io/pulseq_io/parsers/trapezoids.jl
@@ -19,7 +19,8 @@ end
 
 function gen_section(comp:: PulseqComponents, ::Val{:trap})
     res = PulseqSection{:trap}(String[])
-    for (i, grad) in comp.grads
+    for i in sort([keys(comp.grads)...])
+        grad = comp.grads[i]
         if !(grad isa PulseqTrapezoid)
             continue
         end
-- 
GitLab