IDL Projects

Open source medical imaging and related projects written in IDL.

GDL - GDLffDICOM object

GDLffDICOM is an adaptation of IDLffDICOM to achieve several outcomes.
  • Better runtime error handling
  • Ability to read a broader range of DICOM files
  • Limited ability to write DICOM files
  • Drop in replacement of IDLffDICOM
The code for this project is available from GDL.

Passive FTP client

IDL does not include an FTP client in the core API. Despite several requests for such a feature, ITT has not decided do anything about it. I have implemented a FTP client which can upload and download files using passive FTP transfer. This should work with most FTP servers, however, some people may experience difficulty if there is a firewall in the way.

Workstation launcher

Considering that three major Nuclear Medicine equipment vendors allow the use of IDL on their workstations, IDL is likely to become the de-facto standard for writing in-house software. However, there is no standard to guaruntee that an IDL application will work when ported from one vendor to the next. I have proposed astandard which uses DICOM files to exchange image data between the workstation and software. The launcher will enable a workstation to conform to this standard. The a launcher can also be implemented on a stand-alone machine as a testing environment.

Renal Analysis

I have implemented a Renal Analysis package using IDL. This package has been continually developed over the past 2 years. The Renal Analysis package has a suite of features, including:
  • Calculation of lasix clearance
  • Calculation of K/A perfusion indicies
  • Calculation of Output Efficiency
  • Calculation of the Patlak Plot
  • Calculation of the retention function using Rutlands method
  • Calculation of the retention function using discrete deconvolution
  • Calculation of differential function using the curve intergal or Patlak Plot method
  • Calculation of attunation correction using lateral images
  • Arrangement of results on secondary capture images


The eXtensible Markup Language - Remote Procedural Call (XML-RPC) standard describes a generic way of calling procedures and transferring parameters and results over TCP/IP. I have implemented an XML-RPC client, thus allowing you to call procedures on an XML-RPC server. I have also found XML-RPC as a useful alternative to using save and restore. I serialise data using my XML-RPC package. This leaves my data in a human readable format which I can edit an my favourite text editor.

Nuclear Medicine Applets

My evaluation of iTools suggests that it does not provide a user interface which meets typical clinical requirements. I have constructed a toolkit which uses IDL Object Graphics to provide a GUI with a suite of typical visualisation features. The toolkit is a promotes a 'top-down' approach in which the programmer builds a workflow from a collection of simpler activities. The activities are typically completed in sequence, however, the user can interactively jump to any part of the processing. Documentation