Your SlideShare is downloading. ×
Diedrich Free Research Systems
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Diedrich Free Research Systems

304
views

Published on

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

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


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
304
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. Figure 4. Image measurements. Figure 5. Measurements are recorded to the database.
  • 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.