Automated Reconstruction Processing
Eric A. Borisch1, Roger C. Grimm1, and Stephen J. Riederer1

1Radiology, Mayo Clinic, Rochester, MN, United States


A new pair of open-source tools designed to make it easier for researchers to perform automated (no operator intervention) processing of acquired data is described. The first tool handles collection of the required input files on the MR system, submission to an external reconstruction server, and retrieval and import of resulting DICOM images to the system. The second tool manages the reconstruction system, handling prioritization, launching, and monitoring of the reconstruction process.


The process of developing, testing, and integrating new MRI acquisition and reconstruction techniques is often hampered by the need for manual actions to occur before images are available on the imaging system1,2. A pair of Python3 based tools — autorec and recwatch — were created to automate significant portions of this data handling pipeline. These tools are agnostic to the reconstruction to be performed, provide the essential glue logic to put a truly automated reconstruction system into daily use, and are designed to provide a separation between the logistics of data/result movement and the implementation of the reconstruction itself.

While there is wide variation in the reconstruction to be performed for any newly developed acquisition technique, there are a number of steps in common for any system that attempts to automate the process after an MRI acquisition is complete. Assuming the reconstruction itself is to be performed on a system separate from the acquisition host, these steps (Figure 1) include:

  1. Collecting the relevant input data files from the host (acquisition data, calibration files, view ordering descriptions, etc.)
  2. Transferring this information in a secure fashion to the reconstruction server
  3. Initiating the reconstruction process
  4. Monitoring this process for successful completion
  5. Collecting the successfully reconstructed images into the acquisition system's database

The tools presented automate these steps, allowing researchers to focus on pulse sequence / reconstruction development.


Due to its ubiquity and flexibility, the Python programming language was used to implement tools performing the steps described above. Steps 1, 2, and 5 are performed by autorec, while steps 3 and 4 are managed by recwatch. As currently implemented on GE systems, autorec is initiated (step 1) as a son-of-recon script as identified by the pulse sequence. This method allows custom acquisitions to select the reconstruction to be performed, and occurs automatically without operator intervention. The tool matches the requested reconstruction with a configuration file describing the data to be transferred to the reconstruction server. Optionally, any additionally required pre-processing steps on the acquisition system are performed. The resulting collection of data files (step 2) are transferred via an encrypted (SSH4) connection to the reconstruction server, and placed in a destination defined by the configuration file. Unique job names are automatically generated to prevent collisions of data from multiple scans or simultaneously running systems. A completion indicator is finally transferred to signal that a new reconstruction “job” is available for processing. Recwatch (step 3), persistently running on the reconstruction system, detects the new reconstruction job's presence. If there are currently no other running reconstructions of equal or higher priority, it launches the matching reconstruction, and monitors for successful completion. Already running jobs assigned a lower priority are paused (and later resumed) to allow higher priority jobs to complete without delay. Upon completion, a new indicator recording the successful run (step 4) is created in the job's work directory. While steps 3 and 4 are occurring, autorec continues to run, waiting for the completion indicator's appearance. Upon detecting completion, autorec proceeds to collect (over the previously established SSH connection) the output DICOM images, and finally performs a DICOM push into the acquisition system's image database, completing step 5. Deletion of the source data at the acquisition system is performed if requested after successful completion.


The tools described have been exercised successfully from sixteen different MR systems and over ten thousand times in our institution, supporting a wide variety of projects, including 3D Breast MRE5, SENSE Acceleration Apportionment6, Dynamic contrast imaging in the brain7 and prostate8, and Dixon processing9. The time for images to appear in the image database is dominated by acquisition data size (and associated transfer time) and reconstruction times.

The overall rate of successful handling by autorec/recwatch is well over 99.9%. Reconstruction servers across the room, across campus, and across the country have been utilized with equal success.


A pair of Python-based tools for automated collection, transfer, processing, and retrieval of raw acquisition data and associated DICOM output images has been designed and implemented with a significant track record of success. The software will be made available to the MRI research community to provide similar capabilities to other researchers to reduce reinventing the wheel, as the issues addressed by the tools are present across a wide swath of the community. The current autorec design is centered on GE acquisition systems for the scanner-side tool, due to their prevalence at our institution, while recwatch is reconstruction- and vendor-agnostic. Future development opportunities include extending the scanner-side tool to provide support for other system vendors.


Support is acknowledged from NIH EB000212, RR018898, and DOD W81XWH-15-1-0431.


  1. Ambrosia, Michael G., “7D Cardiac Flow MRI: Techniques & Automation of Reconstruction” (2012). ETD Archive. Paper 456.
  2. Hansen MS, Sørensen TS, “Gadgetron: An Open Source Framework for Medical Image Reconstruction” Magnetic Resonance in Medicine. 2013 Jun; 69(6):1768-76.
  3. Python Software Foundation, https://www.python.org
  4. OpenBSD Foundation, https://www.openssh.com
  5. Chen J, Brandt K, Ghosh K, Grimm R, Glaser K, Kugel J, Pepin K, Ehman R. “Compression Effects in Breast MR Elastography” ISMRM 2014, #1018
  6. Weavers, PT, Borisch, EA, Johnson, CP and Riederer, SJ. “Acceleration apportionment: A method of improved 2D SENSE acceleration applied to 3D contrast‐enhanced MR angiography” Magn. Reson. Med. 2017;71: 672-680. doi:10.1002/mrm.24700
  7. Stinson EG, Trzasko JD, Gray E, Borisch EA, Gunter JL, Campeau NG, Bernstein MA, Huston III J, Riederer SJ, “Comparison of Time-Resolved 3D Contrast-Enhanced MR Angiography on a Compact 3T Scanner with a Whole-Body 3T Scanner” ISMRM 2017, #3357
  8. Froemming AT, Borisch EA, Trzasko JD, Grimm RC, Manduca A, Young P, Riederer SJ. “The Application of Sparse Reconstruction to High Spatio-Temporal Resolution Dynamic Contrast Enhanced MRI of the Prostate: Initial Clinical Experience with Effect on Image and Parametric Perfusion Characteristic Quality” ISMRM 2015, #1169
  9. Stinson EG, Trzasko JD, Fletcher JG, Riederer SJ. “Dual echo Dixon imaging with a constrained phase signal model and graph cuts reconstruction.” Magn. Reson. Med. 2017;78:2203–2215 doi: 10.1002/mrm.26620


Figure 1: Reconstruction processing flow, showing the MRI console and reconstruction system (left and right shaded regions), and the tasks automated by the presented tools, autorec and recwatch. Blue arrows indicate network connections managed by autorec. Relationships to the described steps are labeled (1-5) in red.

Proc. Intl. Soc. Mag. Reson. Med. 27 (2019)