ISMRM & SMRT Annual Meeting • 15-20 May 2021

2021 ISMRM & SMRT Annual Meeting Logo Graphic

Tutorial

Software Engineering for MRI: Python Programming & Scientific Computing

Navigation: Back to Meeting HomeBack to Meeting Home Navigation: Back to Program-at-a-GlanceBack to the Program-at-a-Glance

Software Engineering for MRI: Python Programming & Scientific Computing
Sunrise Session
ORGANIZERS: Michael Lustig, Daniel Gallichan
Thursday, 20 May 2021
Concurrent 7 17:00 -  18:00 Moderators: Michael Lustig & Daniel Gallichan
Skill Level: Basic to Intermediate
Session Number: T-30
Parent Session: Software Engineering for MRI: Python Programming & Scientific Computing

Session Number: T-30

Overview
Over the past decade, there have been huge advances in concepts and tools for creating, managing, and executing software; these include large project collaborative management, distributed version control, cloud resources, development environments, libraries, and more. These tools, fueled by open source, are extremely powerful, enable anyone to create new packages and participate in large development projects, and allow easy execution of massive computation inexpensively.

The purpose of this course is to expose and provide basic knowledge of these
concepts and tools that are useful for researchers and clinicians in the field of MR.

Target Audience
Anyone who is interested in learning about basic software engineering concepts and tools. It is likely to be of most benefit to those familiar with basic coding concepts and those would like to know and leverage the recent advances in software development.

Educational Objectives
As a result of attending this course, participants should be able to:
- Practice basic programming with Python;
- Apply the Numpy and SciPy scientific programming tools; and
- Illustrate basic manipulation and visualisation of MRI data using Python tools.

  Basic Python Programming

Watch the Video

Saige Rutherford
In this session, we learn the building blocks and fundamental concepts of python programming. All concepts (variables, data structures, control structures, functions, classes, notebooks) defined include follow along examples of code meant to teach you actionable skills. Even if you have some python programming experience, it is always good to review the foundations. All levels of coding skills are welcome. Course materials have been made available on GitHub https://github.com/saigerutherford/introduction-to-python
  Scientific Computing with Python

Watch the Video

Agah Karakuzu
This brief introduction to scientific computing with Python aims at teaching the basics of two essential modules: NumPy and SciPy. The associated code repository (https://github.com/agahkarakuzu/sunrise) contains three Jupyter Notebooks, outlining an overarching standard operating procedure to work with 1D ( audio files of MRI pulse sequences, guitar melodies and vocal tracks), 2D (BIDS formatted reconstructed images) and 3D (multi-channel k-space data in ISMRM-RD format) data: i) obtain meta-information about the data and use community-developed readers wherever possible, ii) use NumPy to prepare the data for further processing and iii) use Scipy modules to perform fundamental signal and image processing tasks.

Back to Meeting Home   |   Back to Top

The International Society for Magnetic Resonance in Medicine is accredited by the Accreditation Council for Continuing Medical Education to provide continuing medical education for physicians.