Diedrich Free Research Systems


Published on

Building medical and biologal research software systems with open-source software.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Diedrich Free Research Systems

  1. 1. Research systems with free software Karl T. Diedrich Karl.Diedrich@utah.edu University of Utah Department of Biomedical Informatics Utah Center for Advanced Imaging Research 11/30/2009 I want to share with you research systems I have built using free and open-source software. Your research will be different than mine but I think many of you can benefit from the same tools and systems. My main research system is composed of the image processing tool ImageJ (http://rsbweb.nih.gov/ij/), the relational database management system MySQL (http://www.mysql.com/), and the statistics and plotting tool R (http://www.r-project.org/). Additional software connects these tools into a system. The MySQL JDBC Connector (http://dev.mysql.com/downloads/connector/j/3.1.html) allows ImageJ to store data in MySQL. RMySQL (http://cran.r-project.org/web/packages/RMySQL/) allows R to access and display data stored in MySQL. Next I will demonstrate how this system works in my research and hopefully how they can help in yours. ImageJ is an image processing graphical user interface (GUI) with many built in tools for reading, writing and manipulating images (Figure 1). ImageJ can handle the medical image DICOM format. In addition ImageJ provides a macro scripting tool for automating repetitive tasks and a Java programming library accessing all of ImageJ's features. New applications written using the ImageJ application programming interface (API) can either be plug-ins to ImageJ appearing in the ImageJ plug-in menu or they can be separate programs using only the parts of ImageJ needed. ImageJ provides image processing tools from easy to use GUI tools to an application programming library depending on your needs. This allows you to start using ImageJ for simple uses, write macros to automate task and then write your own programs as your research needs grow. Figure 1. ImageJ image processing graphical user interface. In my experiments I try image manipulations with many parameters. The parameters and experiment results and measurements are import to save for optimizing my parameters. This normally means copying or typing them into a spreadsheet. ImageJ enables you to write plug-in dialog boxes to input the extensive parameters (Figure 2). The JDBC connector saves all the parameters to the MySQL relational database. The relation database allows you to query out just the parameters you want to see as seen in Figure 3. Querying data with the structured query language (SQL) provided by MySQL lets you see and focus on only the data you need and ask and answer questions on your data such as your subjects' average age, number of males and females or any other information recorded. Unfortunately if
  2. 2. the data wasn't put in the database you cannot query the information out. So when developing a database application I try to record everything including were the mouse was clicked on images. I will talk more on this level of detailed record keeping later. Figure 2. Program parameters Figure 3. Querying only the desired parameters from the database. With ImageJ I was able to develop plug-ins that interact with the images. The ends of white line in the image below (Figure 4) were selected on the image with mouse clicks. The ImageJ plug-ins measures the twistedness of the line and radius of the artery at each point along the white line (Figure 5). I want to save the end points of the white measurement line. The important point to take home is there is a vast amount of data to save per study subject and the database keeps all the data in an accessible format.
  3. 3. Figure 4. Image measurements. Figure 5. Measurements are recorded to the database.
  4. 4. The database and SQL make it easy to get all the recorded data back in endless columns of data. To make sense of the data import the data into the into the statistics tool called R. R provides full statistical analysis tools and publication quality graph and plot production tools. Some examples are shown below (Figure 6). The RMyQSL package to R directly connects R to MySQL to create plots those in the images below in one step. Figure 6. Statistical analysis plotting and graphing with R. The free software tools ImageJ, MySQL and R can be chained into a research data recording and graphical analysis system. There are several advantages to the system being built with free software. First it's free, you don't have to pay from the software this becomes even more important than at first thought when you want to run the software on multiple computers. These software packages are also open-source. This is important because they have been compiled for almost every operating system including Microsoft Windows, Apple Mac and Linux. This means you can have the same system on a Windows desktop computer, a Mac laptop for demonstrating your systems and research and the Linux server at the University of Utah Center for High Performance Computing for heavy duty computation. You can distribute your system to users without their buying a license or run on multiple processors to speed processing times without worrying about having enough licenses.