Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect gradient interpretation when waveforms do not end in zero #321

Merged
merged 62 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
cd844bc
Avoid abrupt changes between block gradients
beorostica Mar 11, 2024
c0d5589
Remove delay for RF when no RF is present during pulseq reading
beorostica Mar 11, 2024
ce9e97a
Add condition for no RF or ADC when reading pulseq file
beorostica Mar 12, 2024
a4b1d1e
Temporal read tests: comparison between koma and pulseq
beorostica Mar 13, 2024
929bf5e
Move folder for temporal read tests
beorostica Mar 13, 2024
cf572ca
Temporal updates for reading pulseq files
beorostica Mar 14, 2024
aefa3e0
Fix bug when running new read comparison tests
beorostica Mar 15, 2024
ba56717
Sort tests when comparing pulseq and koma readings
beorostica Mar 15, 2024
17899c1
Merge branch 'master' into zero-concat
beorostica Mar 26, 2024
7ed7c4b
Temporal local changes: add first last pulseq points for grads
beorostica Mar 26, 2024
c95e309
Add logic to consider first and last points for gradients
beorostica Mar 26, 2024
83da9a5
Add temporal time_shape_id property to Grad struct for debuging
beorostica Mar 27, 2024
f2e3b05
Merge branch 'master' into zero-concat
cncastillo Mar 27, 2024
ddc6d93
Remove temporal time_shape_id property from Grad struct
beorostica Mar 27, 2024
d3cc103
Add temporal test for comparing read RF
beorostica Mar 28, 2024
591130c
Merge branch 'master' into zero-concat
cncastillo Mar 28, 2024
84043cf
Add tests for spiral GRE and EPI when reading pulseq
beorostica Apr 1, 2024
5ed4362
Add some changes for first/last points in gradients
beorostica Apr 3, 2024
ed9def0
Merge branch 'zero-concat' of github.com:cncastillo/KomaMRI.jl into z…
beorostica Apr 3, 2024
8d680e4
Update KomaMRIFiles/src/Sequence/Pulseq.jl
beorostica Apr 3, 2024
aefbc9a
Update KomaMRIFiles/src/Sequence/Pulseq.jl
beorostica Apr 3, 2024
5baa0a0
Remove dummy conditional for pulseq read_ADC
beorostica Apr 3, 2024
d96120e
Merge branch 'zero-concat' of github.com:cncastillo/KomaMRI.jl into z…
beorostica Apr 3, 2024
435d447
Update KomaMRIFiles/src/Sequence/Pulseq.jl
beorostica Apr 3, 2024
e8d4d85
Add some tabs to Grad struct
beorostica Apr 3, 2024
1a989f5
Create `fix_first_last_grads!` function
beorostica Apr 3, 2024
5c97fcb
Merge branch 'master' into zero-concat
cncastillo Apr 3, 2024
8dfb9d2
Change RF interpretation from ZOH -> linear-interpolation and read th…
beorostica Apr 4, 2024
b55c84f
Add `if: !cancelled()` to CI
beorostica Apr 4, 2024
e437fca
Use @testitem for pulseq reading comparison
beorostica Apr 4, 2024
c9b6556
Proper RF Δf handling
cncastillo Apr 4, 2024
0a6c3f3
Fixed Δf in get_theo_A
cncastillo Apr 4, 2024
c98fb51
Removed RF phase bug (after ZOH->Lin)
cncastillo Apr 4, 2024
8819526
Plots now consider Δf
cncastillo Apr 4, 2024
44c8e31
Fixes eps causing incorrect block categorization.
cncastillo Apr 4, 2024
516b909
Removed unecessary functions
cncastillo Apr 4, 2024
ed884c9
Removed print in test
cncastillo Apr 4, 2024
8d6f08f
Added missing @suppress in tests
cncastillo Apr 4, 2024
a7fab0f
Temporal changes for testing pulseq first/last
beorostica Apr 5, 2024
1a3b546
More temporal changes for testing pulseq first/las
beorostica Apr 5, 2024
6a099dc
More x2 Temporal changes for testing pulseq first/last
beorostica Apr 5, 2024
c9677ee
KomaMRIBase: Export is_X_on
cncastillo Apr 7, 2024
d0448a7
KomaMRIBase: Changed get_samples and constructors for type-stability
cncastillo Apr 7, 2024
05cfda6
Renames get_tho to time and ampl, improved type stability
cncastillo Apr 7, 2024
c505bb2
More efficient Seq constructor, and fix #203
cncastillo Apr 7, 2024
8c5f7fe
Delay now creates Seq with seq.DUR=T
cncastillo Apr 7, 2024
8fc52a5
RF flip angle now calculated using ampl, time, trapz
cncastillo Apr 7, 2024
47dea75
`trapz` now works with vectors
cncastillo Apr 7, 2024
a3cea4f
KomaBase test changes
cncastillo Apr 7, 2024
940b828
KomaCore test do not use global variables anymore
cncastillo Apr 7, 2024
0c10aaa
KomaFiles Removed utils.jl
cncastillo Apr 7, 2024
6176d03
KomaFiles Pulseq read optimization and type stability #224
cncastillo Apr 7, 2024
2b53c89
KomaFiles Improved Pulseq compat tests
cncastillo Apr 7, 2024
682af57
Fixed #203
cncastillo Apr 7, 2024
1d589b9
KomaPlots Improved performance of plot_seq
cncastillo Apr 7, 2024
26b8d50
KomaMRI: Fixed seq export to mat
cncastillo Apr 7, 2024
d1573c2
KomaMRI/Plots performance improvements plots #364
cncastillo Apr 8, 2024
a0ab60a
Fixed DUR for older Pulseq versions
cncastillo Apr 8, 2024
18ce3ae
Improved show_seq_blocks
cncastillo Apr 8, 2024
4e0c670
KomaBase export time ampl freq
cncastillo Apr 8, 2024
0bba7c5
KomaPlots give option to include RF freq inside phase (integration)
cncastillo Apr 8, 2024
303e78c
Minor changes in Pulseq.jl [skip ci]
cncastillo Apr 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 33 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,52 +40,64 @@ jobs:
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIBase: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIBase
- name: "Run tests for KomaMRIBase"
if: always()
- name: "KomaMRIBase: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIBase
- name: "KomaMRICore dev setup"
- name: "KomaMRICore: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRICore" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRICore: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRICore
- name: "Run tests for KomaMRICore"
if: always()
- name: "KomaMRICore: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRICore
- name: "KomaMRIFiles dev setup"
- name: "KomaMRIFiles: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRIFiles" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIFiles: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIFiles
- name: "Run tests for KomaMRIFiles"
if: always()
- name: "KomaMRIFiles: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIFiles
- name: "KomaMRIPlots dev setup"
- name: "KomaMRIPlots: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRIPlots" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIPlots: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIPlots
- name: "Run tests for KomaMRIPlots"
if: always()
- name: "KomaMRIPlots: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIPlots
prefix: ${{ matrix.prefix }} # for `xvfb-run`
- name: "KomaMRI dev setup"
- name: "KomaMRI: Development Setup"
if: '!cancelled()'
shell: julia --color=yes --project {0}
run: |
using Pkg
Expand All @@ -95,9 +107,11 @@ jobs:
PackageSpec(path=pwd(), subdir="KomaMRIFiles"),
PackageSpec(path=pwd(), subdir="KomaMRIPlots")
])
- uses: julia-actions/julia-buildpkg@v1
- name: "Run tests for KomaMRI"
if: always()
- name: "KomaMRI: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRI: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
prefix: ${{ matrix.prefix }} # for `xvfb-run`
Expand Down
47 changes: 33 additions & 14 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,48 +39,64 @@ jobs:
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIBase: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIBase
- name: "Run tests for KomaMRIBase"
- name: "KomaMRIBase: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIBase
- name: "KomaMRICore dev setup"
- name: "KomaMRICore: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRICore" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRICore: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRICore
- name: "Run tests for KomaMRICore"
- name: "KomaMRICore: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRICore
- name: "KomaMRIFiles dev setup"
- name: "KomaMRIFiles: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRIFiles" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIFiles: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIFiles
- name: "Run tests for KomaMRIFiles"
- name: "KomaMRIFiles: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIFiles
- name: "KomaMRIPlots dev setup"
- name: "KomaMRIPlots: Development Setup"
if: '!cancelled()'
shell: bash
run: |
julia --color=yes --project="KomaMRIPlots" -e "using Pkg; Pkg.develop(PackageSpec(; path=\"./KomaMRIBase\"));"
- uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRIPlots: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
with:
project: KomaMRIPlots
- name: "Run tests for KomaMRIPlots"
- name: "KomaMRIPlots: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
project: KomaMRIPlots
prefix: ${{ matrix.prefix }} # for `xvfb-run`
- name: "KomaMRI dev setup"
- name: "KomaMRI: Development Setup"
if: '!cancelled()'
shell: julia --color=yes --project {0}
run: |
using Pkg
Expand All @@ -90,8 +106,11 @@ jobs:
PackageSpec(path=pwd(), subdir="KomaMRIFiles"),
PackageSpec(path=pwd(), subdir="KomaMRIPlots")
])
- uses: julia-actions/julia-buildpkg@v1
- name: "Run tests for KomaMRI"
- name: "KomaMRI: Build"
if: '!cancelled()'
uses: julia-actions/julia-buildpkg@v1
- name: "KomaMRI: Run Tests"
if: '!cancelled()'
uses: julia-actions/julia-runtest@v1
with:
prefix: ${{ matrix.prefix }} # for `xvfb-run`
2 changes: 1 addition & 1 deletion KomaMRIBase/Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "KomaMRIBase"
uuid = "d0bc0b20-b151-4d03-b2a4-6ca51751cb9c"
authors = ["Carlos Castillo Passi <cncastillo@uc.cl>"]
version = "0.8.2"
version = "0.8.3"

[deps]
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
Expand Down
2 changes: 2 additions & 0 deletions KomaMRIBase/src/KomaMRIBase.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export Grad, RF, ADC, Delay
export dur, get_block_start_times, get_samples
export DiscreteSequence
export discretize, get_adc_phase_compensation, get_adc_sampling_times
export is_Gx_on, is_Gy_on, is_Gz_on, is_RF_on, is_ADC_on
export time, ampl, freq
# This are also used for simulation
export kfoldperm, trapz, cumtrapz
# Phantom
Expand Down
Loading