{"doi":"10.31224/3820","title":"PulPy: A Python Toolkit for MRI RF and Gradient Pulse Design","abstract":"We present PulPy (Pulses in Python), an extensive set of open-source, Python-based tools for magnetic resonance imaging (MRI) radiofrequency (RF) and gradient pulse design. PulPy is a Python package containing implementations of a wide range of commonly used RF and gradient pulse design tools. Our implemented functions for RF pulse design include advanced Shinnar-LeRoux (SLR), multiband, adiabatic, optimal control, B1+-selective and small-tip parallel transmission (pTx) designers. Gradient waveform design functionality is included, providing the ability to design and optimize readout or excitation k-space trajectories [@Pauly1989]. Other useful tools such as vendor-specific waveform input/output, Bloch equation simulators, abstracted linear operators, and pulse reshaping functions are included. This toolbox builds on the RF tools introduced previously in the SigPy.RF Python software package [@Martin2020a]. The current toolbox continues to leverage SigPy’s existing capabilities for GPU computation, iterative optimization, and powerful abstractions for linear operators and applications [@Ong2019]. The table below shows an outline of the implemented functions. Preliminary development of this toolbox was presented in reference [@Martin2020a]. The pulse design tools were initially implemented as a sub-package in the SigPy Python package for signal processing and image reconstruction [@Ong2019]. PulPy migrates those tools into a pulse design specific package, with SigPy as an external dependency. PulPy has been streamlined and expanded to include a larger collection of RF and gradient pulse design methods from the literature, as well as additional utility tools for I/O, pulse reshaping, and experimental B1+-selective pulse design algorithms. The toolbox has proved useful for prototyping novel pulse design algorithms, enabling the publication of Reference [@Martin2022] by the authors and several works from other groups [@Shin2021, @Wu2023]. Figure 1 shows an example of RF and gradient waveforms produced by PulPy.","journal":null,"year":2024,"id":501195,"datarank":0.0,"base_score":0.0,"endowment":0.0,"self_citation_contribution":0.0,"citation_network_contribution":0.0,"self_endowment_contribution":0.0,"citer_contribution":0.0,"corpus_percentile":null,"corpus_rank":null,"citation_count":0,"citer_count":0,"citers_with_citation_signal":0,"citers_with_endowment":0,"datacite_reuse_total":0,"is_dataset":false,"is_dataset_confidence":0.9402,"is_data_producer":false,"deposit_databanks":null,"is_oa":true,"file_count":0,"downloads":0,"has_version_chain":false,"published_date":"2024-01-01","fair_score":null,"fair_percentile":null,"algorithm_id":"datarank_citation_only_1hop_v6","ranking_scope":"data_only","authors":[{"id":1086883,"name":"Heng Sun","orcid":"0000-0002-6716-6430","position":1,"is_corresponding":false},{"id":1310959,"name":"Madison Albert","orcid":null,"position":2,"is_corresponding":false},{"id":1350470,"name":"Kevin N. Johnson","orcid":"0000-0003-0798-0307","position":3,"is_corresponding":false},{"id":497343,"name":"William A. Grissom","orcid":"0000-0002-3289-1827","position":4,"is_corresponding":false},{"id":937065,"name":"Jonathan B. Martin","orcid":"0000-0002-9384-8056","position":0,"is_corresponding":true}],"reference_count":0,"raw_metadata":null,"created_at":"2026-07-19T02:10:12.068207Z","pmid":null,"pmcid":null,"fwci":null,"citation_percentile":null,"influential_citations":0,"oa_status":null,"license":null,"views":0,"total_file_size_bytes":0,"version_count":0,"fair_f":null,"fair_a":null,"fair_i":null,"fair_r":null,"fair_zscore":null,"fair_rationale":null,"fair_model":null,"fair_agent_version":null,"fair_fulltext_source":null,"fair_has_llm":null,"fair_computed_at":null,"clinical_trials":[],"software_tools":[],"db_accessions":[],"linked_datasets":[],"topics":[]}