Scientific computing with Java and C Plus Plus: a case study using functional magnetic resonance neuroimages

Modern systems for the analysis of image-based biomedical data, such as functional magnetic resonance imaging (fMRI), require fast computational techniques and rapid, robust development. Object-oriented programming languages such as Java and C Plus Plus provide the foundations for the development of...

Full description

Saved in:
Bibliographic Details
Published inSoftware, practice & experience Vol. 35; no. 3; pp. 237 - 254.
Main Authors Vivanco, Rodrigo A, Pizzi, Nicolino J
Format Journal Article
LanguageEnglish
Published 01.03.2005
Online AccessGet full text

Cover

Loading…
More Information
Summary:Modern systems for the analysis of image-based biomedical data, such as functional magnetic resonance imaging (fMRI), require fast computational techniques and rapid, robust development. Object-oriented programming languages such as Java and C Plus Plus provide the foundations for the development of complex data analysis applications. This case study explores the advantages and disadvantages of using these two programming environments for scientific computation as typified in the analysis of fMRI datasets. C Plus Plus is well suited for computational and memory optimization while Java is more compliant to the object-oriented paradigm, supports cross-platform development and has a rich set of application programming interface (API) classes. The same data model and algorithms were implemented in C Plus Plus and Java, and a user interface was developed with the Java API. Comparisons were made with respect to computational performance and ease of development. Benchmarks show that C Plus Plus generally outperforms Java, while Java is easier to use, leading to more robust code and shorter development times. However, with the advent of newer just-in-time compilers, Java performance is at times comparable to C Plus Plus. The latest Java virtual machine technology is closing the gap and eventually Java should be a good compromise between efficient algorithm performance and effective application development.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
content type line 23
ObjectType-Feature-1
ISSN:0038-0644
DOI:10.1002/spe.633