Version 85 (modified by kyoung, 10 years ago) (diff)


Welcome to the VeSPA Project

VeSPA stands for Versatile Simulation Pulses and Analysis. The environment contains three magnetic resonance spectroscopy (MRS) software applications called RFPulse, Simulation and Analysis. These are applications for MR RF pulse design, MR spectral simulation, and spectral processing and analysis of MR data.

What is VeSPA (LongerVersion) ?

The Vespa package extends the maintenance and development of three previously developed magnetic resonance spectroscopy (MRS) software tools by migrating them into an integrated, open source, open development platform. Vespa stands for Versatile Simulation Pulses and Analysis.

Vespa consists of three combined applications called RFPulse, Simulation and Analysis that were migrated from three previous standalone applications:

  • RFPulse <-> MatPulse - software for RF pulse design written in Matlab
  • Simulation <-> GAVA/Gamma - software for spectral simulation written in IDL
  • Analysis <-> IDL_Vespa - a package for spectral data processing and analysis written in IDL

The new Vespa project addresses previous software limitations, including: non-standard data access, closed source multiple language software that complicatee algorithm extension and comparison, lack of integration between programs for sharing prior information, and incomplete or missing d ocumentation and educational content.

These applications can be run separately but can communicate among themselves via a shared database of objects/results. One example of inter- application sharing might be that Simulation would make use of an RF pulse designed in RFPulse application to create a more realistic MR simulation.

NIH grant number 1R01EB008387-01A1 funded the maintenance and extension of these separate applications into a combined environment based entirely on the Python language.

What Can VeSPA Do for Me ?

One of the simplest ways to use VeSPA is to take advantage of the updated and extended capabilities of the individual packages. RFPulse provides an improved interface for the design of standard MR pulses such as SLR and Adiabatic Pulses. Access to new functionality like generation of pulses via optimal control will provide previously unavailable capabilities.

Simulation provides the ability to incorporate subtle effects on spectra such as field inhomogeneities and chemical shift offset effects by allowing users to incorporate their own pygamma code in simulations.

Analysis will provide access to previously widely scattered and difficult to compare spectral analysis methods including some that were previously unavailable such as improved reference deconvolution methods.

A typical use of the integrated package will be to iteratively design a RF pulse and test it's effect on the spectra of metabolites of interest. Current details of the method for providing the pulses generated by RFpulse to the sequence design methods used by Simulation are under development but a tutorial linked to below shows how to read a text file containing a list of real and imaginary values representing a pulse, into pygamma code for a simulation. Once one is satisfied with the resulting pulse and pulse sequence design an experiment could be run and fit, using the Analysis package, against the Simulation results.

As part of the above scenario, results generated by the Simulation package are used by the Analysis package for spectral fitting. This is one of the two major methods currently in use for providing basis function for fitting MRS data. The other method is to apply the pulse sequence to be used in the experiment to phantoms containing the metabolites of interest (provided that the eventual application will be to a sample containing the set of metabolites such as a biological sample) and to use the resulting functions as "basis functions" for the fitting procedure. Both methods have strengths and weaknesses, and both can produce basis functions that can be used by the Analysis package but for a number of reasons the authors are advocates of the method of generating basis functions via spectral simulation. The VeSPA package is obviously specifically designed to make use of spectral simulations and tutorials below focus on how to generate "basis functions" using the Simulations package.


  • TheDevelopers - Personal Profiles
  • FAQ - Frequently asked questions (about Simulation - for now)

Project Info

For a complete list of local wiki pages, see TitleIndex.