Skip to content

Conversation

@mcencini
Copy link
Contributor

@mcencini mcencini commented Jul 11, 2025

This PR partially addresses #258

This updates plotting tools. Standard plot is now refactored in a custom class (similar to MATLAB), and also supports custom datatips (requiring an additional optional dependency), closing #290.

Also adds paperPlot.

@github-actions
Copy link

github-actions bot commented Jul 11, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
/home/runner/.local/lib/python3.12/site-packages/pypulseq
   add_gradients.py1376056%44, 52, 58, 61, 75–86, 92, 125–128, 135–136, 155, 162, 167–263
   add_ramps.py36360%1–92
   align.py35489%41, 45, 69, 73
   calc_duration.py25196%37
   calc_ramp.py2202162%48–359
   calc_rf_bandwidth.py352626%45–78, 82–86
   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.py961584%6–9, 48–51, 70–71, 205–210, 247
   make_adc.py981486%77, 80, 90–94, 97, 146, 149, 153, 159, 163, 202, 204, 206, 214
   make_adiabatic_pulse.py1323970%202–206, 226–230, 238–239, 262, 268, 337–356, 460–469, 507–515
   make_arbitrary_grad.py471568%72, 75, 78, 81, 89, 99, 105, 115, 117, 125–129, 136
   make_arbitrary_rf.py756316%93–179
   make_block_pulse.py48394%119–123, 126
   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.py722072%136–140, 143–167, 174, 177
   make_label.py19384%36, 41, 43
   make_sigpy_pulse.py1193075%12–13, 119, 122, 126, 163–167, 171, 174–175, 178–179, 194, 201, 206, 218, 221, 246–256, 270, 273, 303–313
   make_sinc_pulse.py701086%100, 106, 134–138, 142, 145–146, 149–150, 172
   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.py30197%65
   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.py4327882%59, 62, 70, 76, 91, 99, 105, 116, 119, 122, 130, 135, 144, 197, 246, 250, 266, 291–317, 354–357, 363, 388–390, 393–401, 408, 438–442, 484, 490, 510, 546–553, 570, 580, 606, 644, 662, 665, 683, 697, 724, 758, 795, 819
   calc_grad_spectrum.py81766%68–190
   calc_pns.py403122%45–96
   ext_test_report.py1401192%23, 58, 61, 135, 227–233
   install.py754244%31, 52, 69, 71, 112–131, 148, 181–184, 200–212, 254–278
   parula.py4250%19–86
   read_seq.py37512567%43–44, 91, 94, 106, 111, 117, 124–125, 129, 138, 146–153, 157–160, 163, 175, 179–181, 214, 219, 227–284, 291–306, 321–391, 396–413, 476, 479, 514, 522, 560, 584, 623, 665–669, 784, 795
   sequence.py64521367%10–13, 102–112, 133–146, 184, 249–252, 299, 326, 343, 391, 419, 446–451, 488, 504, 595, 623–632, 644, 666, 707–710, 764, 802, 813–814, 820, 831, 837, 839, 847, 880–888, 909–931, 968, 1033, 1039, 1042, 1079, 1204–1217, 1247, 1275, 1297–1299, 1320, 1351, 1362–1375, 1387–1398, 1444–1445, 1456–1474, 1498, 1528–1536, 1568–1694, 1723, 1737–1747, 1759
   write_seq.py176895%44, 68, 71–78
/home/runner/.local/lib/python3.12/site-packages/pypulseq/utils
   cumsum.py14193%17
   paper_plot.py57537%45–121
   safe_pns_prediction.py12611310%50–87, 102–189, 197–214, 222, 244–250, 279–286, 310–336, 344–383, 396–411, 415
   seq_plot.py2077564%16, 88–89, 98–103, 106–141, 144–149, 167, 169, 172, 198–199, 202–205, 237, 252–262, 271–273, 291–293, 295–296, 298–299, 332–344, 359–360, 396–397
   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
TOTAL4755174763% 

Tests Skipped Failures Errors Time
1302 18 💤 0 ❌ 0 🔥 3m 0s ⏱️

@mcencini mcencini mentioned this pull request Jul 11, 2025
11 tasks
@btasdelen btasdelen self-requested a review July 14, 2025 16:28
Copy link
Collaborator

@btasdelen btasdelen left a comment

Choose a reason for hiding this comment

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

Just two minor comments, other than that everything looks good.

@mcencini
Copy link
Contributor Author

Done, thank you very much!

@mcencini mcencini requested a review from btasdelen July 15, 2025 08:27
@btasdelen btasdelen merged commit 310f610 into imr-framework:v1.5.0_dev Jul 15, 2025
7 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