Skip to content

Conversation

ckolbPTB
Copy link
Contributor

@ckolbPTB ckolbPTB commented Sep 27, 2025

If there are ADC samples before a RF pulse, then the test_report fails. This was fixed in pulseq in this PR:

https://github.com/pulseq/pulseq/pull/85/files

Not sure if modifying write_GRE_label is the best choice, happy to adapt it. I also added a test to run test_report on all example scripts. This does not seem to take too much longer.

Copy link

github-actions bot commented Oct 13, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
/home/runner/.local/lib/python3.12/site-packages/pypulseq
   add_gradients.py1235159%44, 52, 58, 61, 75–86, 92, 120–123, 130–131, 150, 157, 162–241
   add_ramps.py36360%1–89
   align.py35489%41, 45, 69, 73
   calc_duration.py25196%37
   calc_ramp.py2182142%45–353
   calc_rf_bandwidth.py272026%37–59, 63–67
   check_timing.py872769%72, 76, 101, 194, 201, 211–255
   compress_shape.py30197%28
   convert.py40880%42, 48, 66, 72–73, 82, 88–89
   event_lib.py961485%6–9, 48–51, 70–71, 205–210
   make_adc.py921386%63, 72–76, 79, 128, 131, 135, 141, 145, 184, 186, 188, 196
   make_adiabatic_pulse.py1293970%196–200, 217–221, 229–230, 253, 259, 328–347, 451–460, 498–506
   make_arbitrary_grad.py37781%68, 71, 74, 77, 81, 83, 103
   make_arbitrary_rf.py665517%83–160
   make_block_pulse.py46393%112–116, 119
   make_delay.py9189%27
   make_digital_output_pulse.py16288%39, 47
   make_extended_trapezoid.py561279%67, 70, 76, 82, 85, 88, 91, 94, 116, 134, 136, 139
   make_extended_trapezoid_area.py93397%52, 227, 230
   make_gauss_pulse.py692071%127–131, 134–158, 165, 168
   make_label.py22482%64, 66, 68, 75
   make_sigpy_pulse.py1163173%12–13, 112, 115, 119, 154, 157–161, 165, 168–169, 172–173, 188, 195, 200, 212, 215, 240–250, 264, 267, 297–307
   make_sinc_pulse.py681085%94, 100, 127–131, 135, 138–139, 142–143, 165
   make_trapezoid.py111794%177, 190, 196, 214, 232, 237, 255
   make_trigger.py16288%44, 52
   opts.py66986%78, 83, 102, 142, 166–170
   points_to_waveform.py9189%27
   rotate.py691480%15, 55, 66–69, 85–90, 112, 119–120
   scale_grad.py14471%28–30, 33
   sigpy_pulse_opts.py26773%34–41
   split_gradient.py393121%46–103
   split_gradient_at.py702761%63–90, 110, 114, 118–120, 154–156
   traj_to_grad.py13931%26–40
/home/runner/.local/lib/python3.12/site-packages/pypulseq/SAR
   SAR_calc.py1139813%33–40, 55–62, 89–108, 129–132, 168–212, 242–246, 264–306
/home/runner/.local/lib/python3.12/site-packages/pypulseq/Sequence
   block.py3683291%59, 62, 70, 76, 91, 99, 105, 116, 119, 122, 130, 135, 144, 196, 245, 249, 265, 305–308, 337–338, 404, 410, 430, 499, 535, 541, 568, 606, 640
   calc_grad_spectrum.py81766%68–190
   calc_pns.py403122%45–96
   ext_test_report.py1411093%23, 61, 138, 230–236
   install.py754244%31, 52, 69, 71, 112–131, 148, 181–184, 200–212, 254–278
   parula.py4250%19–86
   read_seq.py3126878%42–43, 90, 93, 105, 110, 116, 123, 132, 141, 146, 149, 157–159, 192, 197, 205–254, 284–287, 302–303, 332–349, 412, 415, 450, 458, 532, 574–578
   sequence.py73722470%11–14, 101–111, 132–145, 183, 248–251, 298, 325, 342, 390, 418, 445–450, 487, 503, 594, 616, 657–660, 714, 752, 763–764, 770, 781, 787, 789, 797, 830–838, 859–881, 924, 926, 929, 955–956, 959–962, 998–1008, 1017–1019, 1063–1075, 1090–1091, 1127–1128, 1154, 1160, 1163, 1200, 1321–1334, 1357, 1385, 1407–1409, 1430, 1461, 1472–1485, 1497–1508, 1554–1555, 1564–1582, 1606, 1636–1644, 1676–1786, 1815, 1829–1839, 1851
   write_seq.py172895%41, 65, 68–75
/home/runner/.local/lib/python3.12/site-packages/pypulseq/utils
   cumsum.py14193%17
   safe_pns_prediction.py12611310%50–87, 102–189, 197–214, 222, 244–250, 279–286, 310–336, 344–383, 396–411, 415
   tracing.py16662%33–34, 42, 54–55, 75
/home/runner/.local/lib/python3.12/site-packages/pypulseq/utils/siemens
   asc_to_hw.py58539%21–28, 48–106
   readasc.py48456%25–100
TOTAL4376149666% 

Tests Skipped Failures Errors Time
1309 19 💤 0 ❌ 0 🔥 3m 21s ⏱️

Copy link
Collaborator

@schuenke schuenke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally would prefer not to change the gre_label example sequence, because this is probably the most copied sequence code and adding a noise acquisition here might result in new users thinking this is necessary.

Instead, I added another test sequence (seq5) which mimics a gre sequence with preceding noise acquisition and labels and added the other test sequences seq1-seq5 to your test_report test.

If you are fine with this solution, I would ask you to revert the change in the write_gre_label script and corresponding seq-file.

If you prefer to have the noise acquisition included in a real example sequence, I would vote to add another sequence instead of changing the gre_label sequence.

@ckolbPTB
Copy link
Contributor Author

Having a separate seq5 for testing is fine for me. I remove the changes to the write_gre_label script.

Copy link
Collaborator

@schuenke schuenke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all fine now

@schuenke schuenke merged commit 970abbe into imr-framework:master Oct 14, 2025
8 checks passed
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