Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.3.1 #44

Merged
merged 36 commits into from
Apr 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f9dc7bf
Do not force TkAgg backend
sravan953 Jun 17, 2020
33390df
add trigger support
Jul 2, 2020
0e83f89
add trigger support
Jul 2, 2020
66ee6ee
add trigger support
Jul 2, 2020
82ac58c
add trigger support
Jul 2, 2020
aeab901
add trigger support
Jul 2, 2020
5f9b161
add trigger support
Jul 2, 2020
22703cc
add trigger support
Jul 2, 2020
b459f0c
add trigger support
Jul 2, 2020
d8d4faa
revert .gitignore changes
Jul 22, 2020
37313fb
remove files.txt
Jul 22, 2020
27a2813
Merge pull request #34 from mavel101/master
sravan953 Jul 27, 2020
9dc8892
Install pypulseq from dev on write_t2_se notebook.ipynb
sravan953 Sep 12, 2020
f381ab7
Fix link to example notebooks in README
sravan953 Sep 12, 2020
314fd57
Fix crash on first run in Google Colab
sravan953 Sep 13, 2020
8bac49f
Support longer sequences with np.float32 (see #37)
sravan953 Nov 20, 2020
9567422
change quant_factor to match MATLAB implementation
schuenke Mar 29, 2021
bb32f37
Merge pull request #43 from schuenke/compress_shape
sravan953 Mar 29, 2021
4b52488
Add multiple make_* files (see description)
sravan953 Apr 8, 2021
7542b39
Modify multiple core pypulseq files, add supported_labels.py
sravan953 Apr 8, 2021
d584de0
Modify multiple pypuleq.Sequence files, add MATLAB's Parula colormap
sravan953 Apr 8, 2021
d62da9f
Remove k2g.py and vds_2d.py, move SAR from pypulseq.utils to pypulseq
sravan953 Apr 8, 2021
03dccf6
Update example scripts (see description)
sravan953 Apr 8, 2021
bc31c06
Enable easy imports (see description)
sravan953 Apr 9, 2021
55b5c0e
Fix bug in convert.py and refactor make_trigger.py
sravan953 Apr 9, 2021
24b935f
Update docstrings, type hints and TODOs
sravan953 Apr 9, 2021
d52dcb6
Add VERSION
sravan953 Apr 11, 2021
6ce8fe4
Update files for Sphinx and PyPI compatibility
sravan953 Apr 11, 2021
d58471a
pypulseq.SAR: update docstrings; minor refactoring
sravan953 Apr 11, 2021
cfdaad3
Update block.py and calc_duration.py to leverage block_to_events.py
sravan953 Apr 11, 2021
f6a7491
Fix reading and writing of .seq files (see description)
sravan953 Apr 11, 2021
a2710cb
Bug fixes and more (see description)
sravan953 Apr 11, 2021
80cdc3c
Read version correctly from VERSION
sravan953 Apr 11, 2021
b370335
Add transparent logo for docs
sravan953 Apr 11, 2021
3b509da
Update docs
sravan953 Apr 12, 2021
0bc6b89
Merge branch 'master' into dev
sravan953 Apr 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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://www.sphinx-doc.org/en/master/config
# 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