Skip to content

Commit

Permalink
Merge pull request #44 from imr-framework/dev
Browse files Browse the repository at this point in the history
Release 1.3.1
  • Loading branch information
sravan953 committed Apr 12, 2021
2 parents ebe1fa2 + 0bc6b89 commit c7b763c
Show file tree
Hide file tree
Showing 68 changed files with 3,623 additions and 1,938 deletions.
4 changes: 3 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
include pypulseq/utils/SAR/QGlobal.mat
include VERSION
include pypulseq/SAR/QGlobal.mat
recursive-include pypulseq/seq_examples/* *
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,45 @@ be acquainted with each hardware platform's programming environment.
PyPulseq enables vendor-neutral pulse sequence design in Python [[1,2]](#references). The pulse sequences can be
exported as a `.seq` file to be run on Siemens/[GE]/[Bruker] hardware by leveraging their respective
Pulseq interpreters. This tool is targeted at MRI pulse sequence designers, researchers, students and other interested
users. It is a translation of the Pulseq framework originally written in Matlab [[3]](#references). Currently,
users. It is a translation of the Pulseq framework originally written in Matlab [[3]](#references). Currently,
PyPulseq is compatible with Pulseq 1.2.0.

It is strongly recommended to first read the [Pulseq specification] before proceeding. The specification
document defines the concepts required for pulse sequence design using PyPulseq. API docs can be found [here][api-docs].

If you use PyPulseq in your work, cite as:
```
Ravi, Keerthi, Sairam Geethanath, and John Vaughan. "PyPulseq: A Python Package for MRI Pulse Sequence Design." Journal
Ravi, Keerthi, Sairam Geethanath, and John Vaughan. "PyPulseq: A Python Package for MRI Pulse Sequence Design." Journal
of Open Source Software 4.42 (2019): 1725.
Ravi, Keerthi Sravan, et al. "Pulseq-Graphical Programming Interface: Open source visual environment for prototyping
pulse sequences and integrated magnetic resonance imaging algorithm development." Magnetic resonance imaging 52 (2018):
Ravi, Keerthi Sravan, et al. "Pulseq-Graphical Programming Interface: Open source visual environment for prototyping
pulse sequences and integrated magnetic resonance imaging algorithm development." Magnetic resonance imaging 52 (2018):
9-15.
```

## 📢 Pulse sequence development in your browser!
Design pulse sequences using `pypulseq` in your browser! Check out the [Lightning-start ⚡][lightning-start] section to
Design pulse sequences using `pypulseq` in your browser! Check out the [Lightning-start ⚡][lightning-start] section to
learn how!

---
## [Relevant literature][scholar-citations] (reverse chronological)
1. Ravi, Keerthi Sravan, and Sairam Geethanath. "Autonomous Magnetic Resonance Imaging." medRxiv (2020).
2. Nunes, Rita G., et al. "Implementation of a Diffusion-Weighted Echo Planar Imaging sequence using the Open Source
Hardware-Independent PyPulseq Tool." ISMRM & SMRT Virtual Conference & Exhibition, International Society for Magnetic
2. Nunes, Rita G., et al. "Implementation of a Diffusion-Weighted Echo Planar Imaging sequence using the Open Source
Hardware-Independent PyPulseq Tool." ISMRM & SMRT Virtual Conference & Exhibition, International Society for Magnetic
Resonance in Medicine (ISMRM) (2020).
3. Loktyushin, Alexander, et al. "MRzero--Fully automated invention of MRI sequences using supervised learning." arXiv
3. Loktyushin, Alexander, et al. "MRzero--Fully automated invention of MRI sequences using supervised learning." arXiv
preprint arXiv:2002.04265 (2020).
4. Jimeno, Marina Manso, et al. "Cross-vendor implementation of a Stack-of-spirals PRESTO BOLD fMRI sequence using
TOPPE and Pulseq." ISMRM & SMRT Virtual Conference & Exhibition, International Society for Magnetic Resonance in
4. Jimeno, Marina Manso, et al. "Cross-vendor implementation of a Stack-of-spirals PRESTO BOLD fMRI sequence using
TOPPE and Pulseq." ISMRM & SMRT Virtual Conference & Exhibition, International Society for Magnetic Resonance in
Medicine (ISMRM) (2020).
5. Clarke, William T., et al. "Multi-site harmonization of 7 tesla MRI neuroimaging protocols." NeuroImage 206 (2020): 116335.
6. Geethanath, Sairam, and John Thomas Vaughan Jr. "Accessible magnetic resonance imaging: a review." Journal of
6. Geethanath, Sairam, and John Thomas Vaughan Jr. "Accessible magnetic resonance imaging: a review." Journal of
Magnetic Resonance Imaging 49.7 (2019): e65-e77.
7. Tong, Gehua, et al. "Virtual Scanner: MRI on a Browser." Journal of Open Source Software 4.43 (2019): 1637.
8. Archipovas, Saulius, et al. "A prototype of a fully integrated environment for a collaborative work in MR sequence
development for a reproducible research." ISMRM 27th Annual Meeting & Exhibition, International Society for
8. Archipovas, Saulius, et al. "A prototype of a fully integrated environment for a collaborative work in MR sequence
development for a reproducible research." ISMRM 27th Annual Meeting & Exhibition, International Society for
Magnetic Resonance in Medicine (ISMRM) (2019).
9. Pizetta, Daniel Cosmo. PyMR: a framework for programming magnetic resonance systems. Diss. Universidade de São
9. Pizetta, Daniel Cosmo. PyMR: a framework for programming magnetic resonance systems. Diss. Universidade de São
Paulo (2018).
---

Expand Down Expand Up @@ -126,7 +126,7 @@ Contributing guidelines can be found [here][contrib-guidelines].

---
## References
1. Ravi, Keerthi, Sairam Geethanath, and John Vaughan. "PyPulseq: A Python Package for MRI Pulse Sequence Design."
1. Ravi, Keerthi, Sairam Geethanath, and John Vaughan. "PyPulseq: A Python Package for MRI Pulse Sequence Design."
Journal of Open Source Software 4.42 (2019): 1725.
2. Ravi, Keerthi Sravan, et al. "Pulseq-Graphical Programming Interface: Open source visual environment for prototyping
pulse sequences and integrated magnetic resonance imaging algorithm development." Magnetic resonance imaging 52 (2018):
Expand All @@ -142,7 +142,7 @@ resonance in medicine 77.4 (2017): 1544-1552.
[google-colab]: https://colab.research.google.com/
[installation]: #installation
[lightning-start]: #lightning-start----pypulseq-in-your-browser
[notebook-examples]: https://github.com/imr-framework/pypulseq/tree/master/pypulseq/seq_examples/notebooks
[notebook-examples]: https://github.com/imr-framework/pypulseq/tree/dev/pypulseq/seq_examples/notebooks
[Pulseq specification]: https://pulseq.github.io/specification.pdf
[scholar-citations]: https://scholar.google.com/scholar?oi=bibs&hl=en&cites=16703093871665262997
[script-examples]: https://github.com/imr-framework/pypulseq/tree/master/pypulseq/seq_examples/scripts
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.3.1
28 changes: 18 additions & 10 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# http:https://www.sphinx-doc.org/en/master/config
# https:https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

Expand All @@ -12,45 +12,53 @@
#
import os
import sys

sys.path.insert(0, os.path.abspath('../../'))


# -- Project information -----------------------------------------------------

project = 'pypulseq'
copyright = '2019, Keerthi Sravan Ravi'
copyright = '2021, Keerthi Sravan Ravi'
author = 'Keerthi Sravan Ravi'

# The full version, including alpha/beta/rc tags
release = '1.2.1rev1'
release = '1.3.1'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon']
extensions = [
'sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'recommonmark'
]

master_doc = 'index'
source_suffix = {
'.rst': 'restructuredtext',
'.txt': 'restructuredtext',
'.md': 'markdown',
}

source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
exclude_patterns = ['setup*']

autodoc_mock_imports = ['numpy', 'matplotlib', 'scipy']

add_module_names = False

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'classic'
html_theme = 'furo'
html_logo = '../../logo_transparent.png'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
25 changes: 9 additions & 16 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,23 @@ pypulseq
.. image:: ../../logo.png
:align: center

`pypulseq <https://github.com/imr-framework/pypulseq>`_ enables vendor-neutral pulse sequence design in Python [1]_. The pulse sequences can be
exported as a `.seq` file to be run on Siemens/`GE <https://toppemri.github.io>`_/
`Bruker <https://github.com/pulseq/bruker_interpreter>`_ hardware by leveraging their respective Pulseq interpreters.
This tool is targeted at MR pulse sequence designers, MRI researchers and other interested users. It is a translation
of the Pulseq framework originally written in Matlab [2]_.
Introduction
============
`pypulseq <https://github.com/imr-framework/pypulseq>`_ enables vendor-neutral pulse sequence design in Python [1]_ [2]_. The pulse sequences can be exported as a `.seq` file to be run on Siemens/`GE <https://toppemri.github.io>`_/`Bruker <https://github.com/pulseq/bruker_interpreter>`_ hardware by leveraging their respective Pulseq interpreters. This tool is targeted at MR pulse sequence designers, MRI researchers and other interested users. It is a translation of the Pulseq framework originally written in Matlab [3]_.

It is strongly recommended to first read the `Pulseq specification <https://pulseq.github.io/specification.pdf>`_
before proceeding. The specification document defines the concepts required for pulse sequence design using `pypulseq`.
It is strongly recommended to first read the `Pulseq specification <https://pulseq.github.io/specification.pdf>`_ before proceeding. The specification document defines the concepts required for pulse sequence design using `pypulseq`.

.. [1] Ravi, Keerthi Sravan, et al. "Pulseq-Graphical Programming Interface: Open source visual environment for prototyping pulse sequences and integrated magnetic resonance imaging algorithm development." Magnetic resonance imaging 52 (2018): 9-15.
.. [1] Ravi, Keerthi, Sairam Geethanath, and John Vaughan. "PyPulseq: A Python Package for MRI Pulse Sequence Design." Journal of Open Source Software 4.42 (2019): 1725.
.. [2] Layton, Kelvin J., et al. "Pulseq: a rapid and hardware‐independent pulse sequence prototyping framework." Magnetic resonance in medicine 77.4 (2017): 1544-1552.
.. [2] Ravi, Keerthi Sravan, et al. "Pulseq-Graphical Programming Interface: Open source visual environment for prototyping pulse sequences and integrated magnetic resonance imaging algorithm development." Magnetic resonance imaging 52 (2018): 9-15.
.. [3] Layton, Kelvin J., et al. "Pulseq: a rapid and hardware‐independent pulse sequence prototyping framework." Magnetic resonance in medicine 77.4 (2017): 1544-1552.
.. automodule:: pypulseq
:members:
API documentation
==================

.. toctree::
:maxdepth: 7
:maxdepth: 2

modules

Tools
======
* :ref:`search`
1 change: 1 addition & 0 deletions doc/source/modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ pypulseq
:maxdepth: 4

pypulseq
setup
21 changes: 21 additions & 0 deletions doc/source/pypulseq.SAR.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
pypulseq.SAR package
====================

Submodules
----------

pypulseq.SAR.SAR\_calc module
-----------------------------

.. automodule:: pypulseq.SAR.SAR_calc
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

.. automodule:: pypulseq.SAR
:members:
:undoc-members:
:show-inheritance:
9 changes: 8 additions & 1 deletion doc/source/pypulseq.Sequence.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ pypulseq.Sequence.block module
:undoc-members:
:show-inheritance:

pypulseq.Sequence.parula module
-------------------------------

.. automodule:: pypulseq.Sequence.parula
:members:
:undoc-members:
:show-inheritance:

pypulseq.Sequence.read\_seq module
----------------------------------

Expand Down Expand Up @@ -44,7 +52,6 @@ pypulseq.Sequence.write\_seq module
:undoc-members:
:show-inheritance:


Module contents
---------------

Expand Down
52 changes: 50 additions & 2 deletions doc/source/pypulseq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ Subpackages
-----------

.. toctree::
:maxdepth: 4

pypulseq.SAR
pypulseq.Sequence
pypulseq.utils

Submodules
----------
Expand Down Expand Up @@ -36,6 +37,14 @@ pypulseq.align module
:undoc-members:
:show-inheritance:

pypulseq.block\_to\_events module
---------------------------------

.. automodule:: pypulseq.block_to_events
:members:
:undoc-members:
:show-inheritance:

pypulseq.calc\_duration module
------------------------------

Expand Down Expand Up @@ -140,6 +149,14 @@ pypulseq.make\_delay module
:undoc-members:
:show-inheritance:

pypulseq.make\_digital\_output\_pulse module
--------------------------------------------

.. automodule:: pypulseq.make_digital_output_pulse
:members:
:undoc-members:
:show-inheritance:

pypulseq.make\_extended\_trapezoid module
-----------------------------------------

Expand All @@ -148,6 +165,14 @@ pypulseq.make\_extended\_trapezoid module
:undoc-members:
:show-inheritance:

pypulseq.make\_extended\_trapezoid\_area module
-----------------------------------------------

.. automodule:: pypulseq.make_extended_trapezoid_area
:members:
:undoc-members:
:show-inheritance:

pypulseq.make\_gauss\_pulse module
----------------------------------

Expand All @@ -156,6 +181,14 @@ pypulseq.make\_gauss\_pulse module
:undoc-members:
:show-inheritance:

pypulseq.make\_label module
---------------------------

.. automodule:: pypulseq.make_label
:members:
:undoc-members:
:show-inheritance:

pypulseq.make\_sinc\_pulse module
---------------------------------

Expand All @@ -172,6 +205,14 @@ pypulseq.make\_trap\_pulse module
:undoc-members:
:show-inheritance:

pypulseq.make\_trigger module
-----------------------------

.. automodule:: pypulseq.make_trigger
:members:
:undoc-members:
:show-inheritance:

pypulseq.opts module
--------------------

Expand Down Expand Up @@ -204,6 +245,14 @@ pypulseq.split\_gradient\_at module
:undoc-members:
:show-inheritance:

pypulseq.supported\_labels module
---------------------------------

.. automodule:: pypulseq.supported_labels
:members:
:undoc-members:
:show-inheritance:

pypulseq.traj\_to\_grad module
------------------------------

Expand All @@ -212,7 +261,6 @@ pypulseq.traj\_to\_grad module
:undoc-members:
:show-inheritance:


Module contents
---------------

Expand Down
22 changes: 0 additions & 22 deletions doc/source/pypulseq.utils.SAR.rst

This file was deleted.

Loading

0 comments on commit c7b763c

Please sign in to comment.