Tuesday, 8 January 2008

Conquest Dicom Server Web Interface - Work In Progress

I have been developing a web interface for Conquest Dicom Server for a couple of months now and I am about to run it live on real users in the next couple of weeks! The system is a basic web interface for external physicians to view general x-ray cases from their desktop computers. I am testing the system with Firefox 2, IE 7 and IE6 and everything seems to be going ok so far. There is some basic AJAX involved in the system so JavaScript is required as well as Flash for the Simple Viewer flash viewing system. I would however like to migrate the viewer to the flash based Stratos Viewer in the near future.

The system is effectively a mish mash of several applications all strung together with a bit of PHP scripting. The main applications I am using at the moment are as follows:

1.) DICOM Server - Conquest DICOM Server
2.) Database Server - MySQL
3.) Server Side Scripting - PHP
4.) Image conversion - dcmj2pnm.exe from dcmtk-3.5.4-win32-i386 toolkit
5.) Image Display - Simple Viewer (I am trying to get stratos viewer to work at the moment, but having some trouble)

In essence the system is relatively simple and works as follows:
1.) Images recieved by dicom server converted to JPEG using an export converter.
i.e. ExportConverter2 = "dcmj2pnm.exe +oj +Wm --scale-x-size 600 %f C:\inetpub\wwwroot\images\%i\%b.jpg"

2.) When the home page is opened the system looks for all cases done today in the dicom server MySQL database and displays the patients done on the given day.

3.) Some other PHP scripts create thumbnail images for a preview image to be displayed.

4.) When a series is selected the PHP script tries to convert the image to a JPG if it has not already been converted by the export script. It then generates the XML needed and passes it to the Simple Viewer flash component for display.

5.) The system also has a log file that logs certain information such as failed login attempts, images viewed by users, file conversion errors, etc.

Some Screenshots of the system in action
example work-list

Roll-over thumbnail preview

Image viewer


Log file example

I am planning on making my system available in the near future, but I just need to work out some of the bugs and integrate the stratos viewer, or some other viewer software that will allow for some basic image manipulation by the client.