Skip to content

Latest commit

 

History

531 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMRseq

Define MRI sequences in pure Python.

The cmrseq framework defines MRI sequences consisting of radio-frequency pulses, gradient waveforms, and sampling events. Definitions follow a hierarchical model where basic building blocks (arbitrary gradients, trapezoids, RF pulses, and ADC events) form the core functionality and are all instances of SequenceBaseBlock. On instantiation all base-blocks are validated against the System specifications. Composition of base-blocks is done in a Sequence object. The Sequence object implements convenient definitions for addition and composition of multiple Sequence objects as well as a variety of common operations on semantically grouped base-blocks.

Several semantically connected groups of building blocks (e.g. a slice selective excitation) are already functionally defined in the parametric_definitions module. For a complete list of available definitions, see the API reference.

The original motivation for cmrseq was to create a foundation to define sequences for simulation experiments. Therefore Sequences can be easily gridded onto a regular (or even unregular grids with a maximum step width) grids. Furthermore, commonly useful functionalities as plotting, evaluation of k-space-trajectories, calculation of moments, etc.

To close the gap to real-world measurements, cmrseq includes an IO module that allows loading Phillips (GVE) sequence definitions as well as reading and writing Pulseq (>= 1.4) files, which then can be used to export the sequence to multiple vendor platforms. For more information on this file format please refer to the official PulSeq web-page.

Installation

The registry contains the versioned package, which can be installed using:

pip install cmrseq

There are only few package dependencies, namely: - numpy - matplotlib to display the waveforms - pint to assign physical units and assert correctness of calculations - tqdm progressbar visualizations - scipy selected functionalities

Documentation

The documentation is published with GitHub Pages:

https://mcgrathcm.github.io/cmrseq/

The source repository is hosted on GitHub:

https://github.com/mcgrathcm/cmrseq

Releases

Packages

Contributors

Languages