Saturday, February 14, 2009

Flash DICOM viewer

Some days ago, I passed the mark of seven years working in the field of healthcare related software. Due to the fact of working in this area, I have had the opportunity to learn about some topics and concepts that otherwise could remain just unknown for me. One of the topics that I find of particular interest is that related to medical imaging.

There has been a huge work during many years in order to create a standard for medical imaging. The result of such work is DICOM. At the begining most manufacturers preferred to tie their clients by the use of propietary and closed formats. Fortunately, in the last years most manufactures have chosen to follow the standards (with more or less success) opening a very interesting field for software development related to medical imaging.

One of the difficulties when dealing with DICOM imaging is the fact of having many differences compared to other image formats. In general, we can not use tools intended for other kind of images (such as those coming from digital cameras) to work with DICOM medical images.

The manufacturers of hardware equipment for medical imaging acquisition do usually provide their own diagnostic stations with specialized software, so the doctor (radiologist, cardiologist) can interpret the images.

Apart from the main diagnostics stage, it is often interesting to distribute images along with the medical report. If a doctor has derived a patient to radiology, the doctor would appreciate the inform with the results being attached to some key images. Given the fact that the medical data is evolving in order to replace the traditional paper by electronic reports, it becomes a necessity to provide remote access to medical imaging.

So, we can distinguish two kind of viewers: Diagnostic viewers, intended for those practicians that should emit a diagnostics from the examination of the image, and simplified viewers, intended just to allow the possibility of viewing the relevant imaging data, acting as a complement to the medical report.

If we want to achieve a fast and efficient deployment of an imaging viewing solution, we must consider a web based DICOM viewer. Since we are not dealing with simple imaging formats, we must consider environments able to act as RIAs (Rich Internet Applications), and that narrows a lot the available options.

For the development of a web based DICOM viewer, we can consider the following frameworks:
  1. DHTML: javascript, DOM, ...
  2. ActiveX
  3. Silverlight / Moonlight
  4. Java: In the form of Java Applet (browser embedded), Java Web Start applications or the new Java FX platform.
  5. Flash based viewer
Let us see the advantages and limitations of every possible option:
  1. The first option may have limitations in order to manage and being able to perform some tasks in DICOM images, such as lightning or darkening images.
  2. The second option (still adopted by many manufactures) has not ever been considered in our case, since one of the goals is to achieve a real multiplatform solution. That is a real must if we consider the fact that many public administrations and healthcare departments are migrating their systems to Linux based stations.
  3. The third one is something that deserves to be tested. If it is a real multiplatform environment, that can be an option for development of a web DICOM viewer in the form of a RIA.
  4. The option number four sounds really good. In fact a Java Web Start DICOM viewer would be a killer app in this field.
  5. The fifth option sounds good, but Flash (Actionscript) has many differences compared to Java: May be it is more limited as a programming language, but has many possibilities regarding the user interface and to present information to the user. We have chosen to start working in Flash, just to test what we can achieve.
Our first development was Stratos-viewer, a simple flash based DICOM viewer, but powerful enough in the cases where no advanced utilities were necessary. An online demo of the viewer is available.

Addendum (2009/02/18):
References to other flash based DICOM viewers:


jerry said...

I found your stratos-viewer online demo and I liked it a lot.
I had to check it out. I downloaded all files, and tried to get it to run on my webserver. but without much success.
I hope you can give me some hints on what I am missing.
Let me shortly describe what I have done:
I dowloaded the "stratosViewerWeb-0.1.2b.tar.gz" and the "stratosViewerDemo.tar.gz". My goal for now is only to get the demo with the dummygateway to run.
I have a normal Apache running. Is that enough for the demo?
With a few changes in the code it seems that it's now loading the patient data on the left and the swf in the middle. but it seems that it cannot find the images, neither the thumbnail in the left menu nor the big image in the center.
I'd really appreciate it if you could help me out here. thanks in advance.

Juan Francisco Del Solar M. said...

Hola!, Tengo un equipo de desarrollo en chile, y hemos realizado un monton de mejoras en stratos y stratos-viewer (incluyendo visualizacion para scanner y resonancia) ademas de simplificar el funcionamiento y dejarlo esteticamente mas profesional, pero no me he podido contactarme contigo en ninguno de los canales que he encontrado disponibles. si puedes ver este comentario contactame en juandelsolar at gmail dot com.

Saludos y felicitaciones por el mejor visualizador web que existe. said...

Is there anyway to pass a single file name to the flash viewer? We manage DICOM files individually (without a PACS server) and I would like to give the users the ability to see them via the web.

Emilien said...

Hi there,

For the possibility to develop this kind of viewer, you have a nice video here:

Also a nice demo here: (french site)

This software is developed by my company Novealis, and it shows the potential of silverlight Rich Internet Application.

Melch said...

Did the user who was not seeing the demo images ever determine what the issue was? I am having the same issue.

josean said...

The distribution file does not include the sample images (neither the big ones nor the thumbnails).

Kane said...


I am very impressed by your stratos-viewer, may I ask some questions about it :-
1. If I want to use it in my system, do I need to pay any license fee?
2. How can I pass a dicom file to your viewer. I don't have a PACS system.

Thanks !

josean said...

1.- You do not have to pay. This is free software, with source code available to anyone interested. You can obtain it from Sourceforge

2.- The viewer can not manage Dicom files. It just shows jpeg images obtained from a Dicom storage server.