Skip to content

Add (multi) 2D EPI kernel and scripts - #70

Merged
schuenke merged 51 commits into
mainfrom
epi2d
Jul 27, 2026
Merged

Add (multi) 2D EPI kernel and scripts#70
schuenke merged 51 commits into
mainfrom
epi2d

Conversation

@schuenke

@schuenke schuenke commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

To do:

  • verify mrd trajectory information for multi-2D acquisitions with and without noise and/or navigator acquisitions
  • add tests
  • add example scripts
  • (optional) replace pulseq-based traj calculation with analytical definition (including ramp sampling and oversampling)
  • add frequency offset for ADC in EPI readout
  • remove AVG labels from navigator acquisitions and validate ICE recon is still working
  • add contact and acknowledgement section to README

@github-actions

github-actions Bot commented Feb 25, 2026

Copy link
Copy Markdown

Coverage

Coverage Report
FileStmtsMissCoverMissing
/home/runner/.local/lib/python3.12/site-packages/mrseq
   _version.py770%2–9
/home/runner/.local/lib/python3.12/site-packages/mrseq/preparations
   t2_prep.py51198%195
/home/runner/.local/lib/python3.12/site-packages/mrseq/scripts
   epi2d_fid.py128993%256, 359, 416–421, 433, 439
   epi2d_se.py1481292%204–206, 317, 420, 477–482, 494, 500
   grpe_flash_dixon.py2051891%121, 124, 189, 206–208, 330, 349, 400, 410, 503, 571–576, 596, 602
   radial_flash.py1401192%101, 104, 259, 345, 403–408, 428, 434
   spiral_flash.py1201092%95, 231, 313, 363–368, 387, 393
   t1_inv_rec_gre_single_line.py93990%162, 255, 298–303, 330, 336
   t1_inv_rec_se_single_line.py106992%219, 316, 375–380, 407, 413
   t1_molli_bssfp.py1411391%216, 282–284, 299, 374, 428–433, 454, 460
   t1_t2_spiral_cmrf.py1491292%89, 95, 114, 168, 385, 432–437, 463, 469
   t1rho_se_single_line.py102892%310, 367–372, 399, 405
   t2_multi_echo_se_single_line.py96991%162, 261, 314–319, 344, 350
   t2_t2prep_flash.py1431590%103, 226, 243, 277–279, 291, 367, 429–434, 454, 460
   t2star_multi_echo_flash.py1451490%114, 233, 280–282, 294, 390, 452–457, 477, 483
/home/runner/.local/lib/python3.12/site-packages/mrseq/utils
   EpiReadout.py3319073%52, 61, 193, 197, 244, 318, 321–332, 454, 507–591, 737–743, 763–808
   sequence_helper.py59493%105, 133–134, 162
   trajectory.py148398%45, 87, 358
TOTAL244225490% 

Tests Skipped Failures Errors Time
1491 0 💤 0 ❌ 0 🔥 2m 11s ⏱️

@schuenke

schuenke commented Mar 4, 2026

Copy link
Copy Markdown
Contributor Author

This is how the current version of plot_trajectory() looks like:

symmetric:
image

flyback:
image

Comment thread src/mrseq/scripts/epi2d_fid.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
@ckolbPTB

Copy link
Copy Markdown
Contributor

The above changes were necessary to get the correct trajectory for the navigators. Probably similary changes are needed for the epi2d_fid.

We could add the part on reading out the navigators to the example notebook. What do you think @schuenke ?

@schuenke

Copy link
Copy Markdown
Contributor Author

I did remove the AVG labels for the navigator scans and verified that the Siemens ICE recon is still working fine including ghost corrections. Furthermore, I added explicit REV and SEG labels for the flyback trajectory case to ensure consistency in labels / image orientation for all combinations of echo type (FID / SE) and trajectory type (flyback / symmetric):

image

@schuenke

Copy link
Copy Markdown
Contributor Author

The example fails due to an internal bug in MRzeroCore 1.0 that I already reported: MRsources/MRzero-Core#183

@schuenke
schuenke marked this pull request as ready for review July 15, 2026 06:58
Comment thread src/mrseq/scripts/epi2d_fid.py Outdated
Comment thread src/mrseq/scripts/epi2d_fid.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_se.py Outdated
Comment thread src/mrseq/scripts/epi2d_fid.py Outdated
Comment thread src/mrseq/utils/EpiReadout.py Outdated
Comment thread src/mrseq/utils/EpiReadout.py Outdated
Comment thread src/mrseq/utils/EpiReadout.py Outdated
@schuenke
schuenke merged commit c776374 into main Jul 27, 2026
9 checks passed
@schuenke
schuenke deleted the epi2d branch July 27, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants