Abstract
The last several decades have been marked by dramatic increases in the use of diagnostic medical imaging and improvements in the modalities themselves. As such, more data is being generated at an ever increasing rate. However, in the case of Magnetic Resonance Imaging (MRI) analysis and reports remain semi-quantitative, despite reported advantages of quantitative analysis (QA), due to prohibitive execution times. We present a collaborator’s QA algorithm for Dynamic Contrast-Enhanced (DCE) MRI data written in MATLAB as a case study for exploring parallel programming in MATLAB and Julia. Parallelization resulted in a 7.66x speedup in MATLAB and a 72x speedup in Julia. To the best of our knowledge, this comparison of Julia’s performance in a parallel, application-level program is novel. On the basis of these results and our experiences while programming in each language, our collaborator now prototypes in MATLAB and then ports to Julia when performance is critical.
F. Danford and E. Welch—Authors contributed equally
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Almási, G., Padua, D.: MaJIC: compiling matlab for speed and responsiveness. In: ACM SIGPLAN Notices, vol. 37, pp. 294–303. ACM (2002)
Basili, V.R., Carver, J.C., Cruzes, D., Hochstein, L.M., Hollingsworth, J.K., Shull, F., Zelkowitz, M.V.: Understanding the high-performance-computing community: a software engineer’s perspective. IEEE Softw. 25(4), 29 (2008)
Bezanson, J., Edelman, A., Karpinski, S., Shah, V.B.: Julia: a fresh approach to numerical computing. arXiv preprint arXiv:1411.1607 (2014)
Bezanson, J., Karpinski, S., Shah, V.B., Edelman, A.: Julia: a fast dynamic language for technical computing. arXiv preprint arXiv:1209.5145 (2012)
Cárdenas-Rodríguez, J., Li, X., Whisenant, J.G., Barnes, S., Stollberger, R., Gore, J.C., Yankeelov, T.E.: The basic principles of dynamic contrast-enhanced magnetic resonance imaging. In: Bammer, R. (ed.) MR & CT Perfusion Imaging: Clinical Applications and Theoretical Principles, chapter 31. Lippincott Williams & Wilkins, Philadelphia (2016)
Casey, A., Li, J., Doherty, J., Chevalier-Boisvert, M., Aslam, T., Dubrau, A., Lameed, N., Aslam, A., Garg, R., Radpour, S., Belanger, O.S., Hendren, L., Verbrugge, C.: McLab: an extensible compiler toolkit for MATLAB and related languages. In: Proceedings of the Third C* Conference on Computer Science and Software Engineering, C3S2E 2010, pp. 114–117. ACM, New York (2010)
Chauhan, A., Kennedy, K.: Optimizing strategies for telescoping languages: procedure strength reduction and procedure vectorization. In: Proceedings of the 15th ACM International Conference on Supercomputing, New York, pp. 92–102 (2001)
Chevalier-Boisvert, M., Hendren, L., Verbrugge, C.: Optimizing MATLAB through just-in-time specialization. In: International Conference on Compiler Construction, pp. 46–65. Springer, Heidelberg (2010)
De Rose, L., Padua, D.: Techniques for the translation of MATLAB programs into FORTRAN 90. ACM Trans. Program. Lang. Syst. (TOPLAS) 21(2), 286–323 (1999)
DeGrandchamp, J.B., Whisenant, J.G., Arlinghaus, L.R., Abramson, V.G., Yankeelov, T.E., Cardenas-Rodrguez, J.: Predicting response before initiation of neoadjuvant chemotherapy in breast cancer using new methods for the analysis of dynamic contrast enhanced MRI (DCE MRI) data. In: International Society for Optics and Photonics, SPIE Medical Imaging, pp. 978811–978811, March 2016
DeGrandchamp, J.B., Whisenant, J.G., Arlinghaus, L.R., Abramson, V.G., Yankeelov, T.E., Cárdenas-Rodríguez, J.: Predicting response before initiation of neoadjuvant chemotherapy in breast cancer using new methods for the analysis of dynamic contrast enhanced MRI (DCE MRI) data. In: Proceedings of SPIE, pp. 9788:978811–978811-10 (2016)
DeRose, L., Gallivan, K., Gallopoulous, E., Marsolf, B., Padua, D.: A MATLAB compiler and restructurer for the development of scientific libraries and applications. In: Preliminary Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, pp. 18.1–18.18, May 1995
Doherty, J., Hendren, L., Radpour, S.: Kind analysis for MATLAB. ACM SIGPLAN Not. 46(10), 99–118 (2011)
Dubrau, A.W., Hendren L.J.: Taming MATLAB, vol. 47. ACM (2012)
Kumar, V., Hendren, L.: Compiling MATLAB for high performance computing via x10. Sable Technical report 03 (2013)
Li, X., Hendren, L.: Mc2FOR: a tool for automatically translating MATLAB to FORTRAN 95. In: 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 234–243. IEEE (2014)
Markonis, D., Schaer, R., Eggel, I., Müller, H., Depeursinge, A.: Using mapreduce for large-scale medical image analysis. arXiv preprint arXiv:1510.06937 (2015)
MathWorks. Matlab parallel computing toolbox users guide (2016). www.mathworks.com/help/pdf_doc/distcomp/distcomp.pdf. Accessed 20 May 2016
Menon, V., Pingali, K.: A case for source-level transformations in MATLAB. In: Proceedings of the 2nd Conference on Domain-Specific Languages, pp. 53–66. USENIX Association, Berkeley, 3–5 1999
O’Connor, J.P., Jackson, A., Parker, G.J., Jayson, G.C.: DCE-MRI biomarkers in the clinical evaluation of antiangiogenic and vascular disrupting agents. Br. J. Cancer 96(2), 189–195 (2007)
O’Connor, J.P.B., Tofts, P.S., Miles, K.A., Parkes, L.M., Thompson, G., Jackson, A.: Dynamic contrast-enhanced imaging techniques: CT and MRI. Br. J. Radiol. 84(2) (2011)
Ortuño, J.E., Ledesma-Carbayo, M.J., Simões, R.V., Candiota, A.P., Arús, C., Santos, A.: Dce@ urlab: a dynamic contrast-enhanced mri pharmacokinetic analysis tool for preclinical data. BMC Bioinform. 14(1), 1 (2013)
Radpour, S., Hendren, L., Schäfer, M.: Refactoring MATLAB. In: Jhala, R., Bosschere, K. (eds.) CC 2013. LNCS, vol. 7791, pp. 224–243. Springer, Heidelberg (2013). doi:10.1007/978-3-642-37051-9_12
Sharma, G., Martin, J.: MATLAB: a language for parallel computing. Int. J. Parallel Prog. 37(1), 3–36 (2009)
Smith, D.S., Li, X., Arlinghaus, L.R., Yankeelov, T.E., Welch, E.B.: DCEMRI.jl: a fast, validated, open source toolkit for dynamic contrast enhanced MRI analysis. PeerJ 3, e909 (2015)
Smith-Bindman, R., Miglioretti, D.L., Johnson, E., Lee, C., Feigelson, H.S., Flynn, M., Greenlee, R.T., Kruger, R.L., Hornbrook, M.C., Roblin, D., Solberg, L.I., Vanneman, N., Weinmann, S., Williams, A.E.: Use of diagnostic imaging studies and associated radiation exposure for patients enrolled in large integrated health care systems, 1996–2010. JAMA 307(22), 2400–2409 (2012)
Smith-Bindman, R., Miglioretti, D.L., Larson, E.B.: Rising use of diagnostic medical imaging in a large integrated health system. Health Aff. 27(6), 1491–1502 (2008)
Whitcher, B., Schmid, V.J., et al.: Quantitative analysis of dynamic contrast-enhanced and diffusion-weighted magnetic resonance imaging for oncology in r. J. Stat. Softw. 44(5), 1–29 (2011)
Matlab execution engine. http://www.mathworks.com/products/matlab/matlab-execution-engine/. Accessed 26 Aug 2016
Loren on the art of matlab: Run code faster with the new matlab execution engine. http://blogs.mathworks.com/loren/2016/02/12/run-code-faster-with-the-new-matlab-execution-engine/. Accessed 26 Aug 2016
Techniques to improve performance. http://www.mathworks.com/help/matlab/matlab_prog/techniques-for-improving-performance.html
Parallel computing - julia language 0.4.7 predocumentation. http://docs.julialang.org/en/release-0.4/manual/parallel-computing/. Accessed 11 July 2016
Acknowledgments
An allocation of computer time from the UA Research Computing High Performance Computing (HPC) and High Throughput Computing (HTC) at the University of Arizona is gratefully acknowledged by the authors.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Danford, F., Welch, E., Cárdenas-Ródriguez, J., Strout, M.M. (2017). Analyzing Parallel Programming Models for Magnetic Resonance Imaging. In: Ding, C., Criswell, J., Wu, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2016. Lecture Notes in Computer Science(), vol 10136. Springer, Cham. https://doi.org/10.1007/978-3-319-52709-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-52709-3_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-52708-6
Online ISBN: 978-3-319-52709-3
eBook Packages: Computer ScienceComputer Science (R0)