Changes between Version 83 and Version 84 of WikiStart


Ignore:
Timestamp:
Oct 28, 2010, 7:03:29 PM (9 years ago)
Author:
kyoung
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v83 v84  
    33VeSPA 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.
    44
    5 '''What is VeSPA''' (ShortVersion) ?
     5'''What is VeSPA''' (LongerVersion) ?
    66
    7 VeSPA is a project, the goal of which is to utilize current software engineering "best practices" to refactor 3 existing and widely used MRS software packages, written by the authors and colleagues, to create an integrated open source package for performing and analyzing MRS experiments. VeSPA, the resulting integrated package, provides a greatly enhanced, more complete, easier to use, easier to extend set of tools for MRS simulation and analysis. The original applications were written in closed source languages ([http://cds.ismrm.org/ismrm-2003/0852.pdf GAVA/Gamma] and IDL_Vespa in [http://www.ittvis.com/ProductServices/IDL.aspx IDL], and [http://www.rrmind.research.va.gov/software/matpulse.asp MatPulse] in [http://www.mathworks.com/ Matlab]) that have licensing issues (primarily restricted use and substantial fees) that make their use for scientific collaboration problematic, as well as make them relatively difficult to extend and virtually impossible to integrate. Rewriting the applications in the open source language, [http://www.python.org/ Python], and utilizing the powerful [http://numpy.scipy.org/ NumPy], [http://www.scipy.org SciPy], and [http://matplotlib.sourceforge.net/ Matplotlib] libraries allows for a clean, robust and full featured integration of the packages in a way that provides a much more natural work flow for researchers as well as making the integrated package much more easily extended by those who need added functionality. As an example it has been straightforward for the authors to add functionality corresponding to recent developments in MRS, providing substantial added value to the integrated VeSPA package for a modest coding effort.
     7The 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.
    88
    9 One of the goals of the earlier individual packages as well as the integrated package is to provide sophisticated tools to non experts who would otherwise have great difficulty in taking advantage of capabilities that have become available to researchers in MRS. The original MatPulse package written by Professor Gerald Matson encapsulated a large body of knowledge regarding RF pulse design allowed users with relatively little experience to explore and utilize that knowledge in a straightforward manner that resulted in rapid development of useful RF pulses. Similarly the gamma NMR simulation library written by Dr. Scott Smith allowed users with with limited knowledge of the underlying quantum mechanical details to write C++ programs that explored the effects of various pulse and pulse sequence designs using full quantum mechanical density matrix calculations. The GAVA/Gamma package was an attempt to further simplify NMR simulations by providing a graphical interface to a subset of the gamma library thus freeing users with no knowledge or interest in C++ programming to explore pulse and pulse sequence designs. The Simulation component of VeSPA goes even further by using the SWIG package to provide a python interface to gamma, referred to as pygamma. Simulation itself provides a graphical interface with powerful plotting and analysis functionality that is built on top of pygamma. But pygamma can be be used independently to produce powerful NMR simulations in python with the majority of the calculations performed in underlying fast C++ code. The Analysis component of VeSPA provides an updated, greatly extended, python version of the IDL_Vespa spectral fitting package originally written by the authors and colleagues. The updating and integration of these 3 packages provides greatly enhanced possibilities for exploring, developing, and analyzing MRS experiments; in the following we briefly describe some possible scenarios.         
     9Vespa consists of three combined applications called RFPulse, Simulation and Analysis that were migrated from three previous standalone applications:
    1010
    11 '''How Can I Use VeSPA?'''
     11    * RFPulse <-> [http://www.rrmind.research.va.gov/software/matpulse.asp MatPulse] - software for RF pulse design written in [http://www.mathworks.com/ Matlab]
     12    * Simulation <-> [http://cds.ismrm.org/ismrm-2003/0852.pdf GAVA/Gamma] - software for spectral simulation written in [http://www.ittvis.com/ProductServices/IDL.aspx IDL]
     13    * Analysis <-> IDL_Vespa - a package for spectral data processing and analysis written in [http://www.ittvis.com/ProductServices/IDL.aspx IDL]
    1214
    13 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.
     15The 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.
     16
     17These 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.
     18
     19
     20'''What Can VeSPA Do for Me ?'''
     21
     22One 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.
     23
     24Simulation 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.
     25
     26Analysis 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.
    1427
    1528A 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.