A Model for Distributed Medical Image Processing using CORBA Euclides de Moraes Barros Jr., Michel Sehn, Aldo von Wangenheim The Cyclops Project Computer Sciences Department Federal University of Santa Catarina, Brazil {euclides,awangenh}@inf.ufsc.br
Dirk Krechel The CyclopsProject Knowledge Based Systems Group CS Department Univeristy of Kaiserslautern, Germany
[email protected]
Abstract This paper presents the IIADPS (Integrated Image Access and Distributed Processing Service) model, a software environment that allows radiological medical teams to have access to distributed image processing facilities in conformance to the DICOM 3.0 (Digital Image Communications in Medicine) standard. The model, allows to remotely execute distributed image processing for diagnosis tasks on any low-cost equipment located on a local network or high-speed wide-area network. The model was developed due to the enormous computational processing requirements normally posted to these tasks. Our approach allows low-cost equipment located in a network to be used, independently of the operational system, to execute the distributed image processing, leading to a significant reduction in the processing time. This enables also hospitals which do not have radiological stations of high processing capability to use low-cost PC networks for this purpose.
1.
Introduction
Nowadays, medical images such as computed tomography (CT), magnetic resonance imaging (MRI) and ultrassound (US) images are modalities of examinations that can be directly accessed in digital form from the equipment that generated them through the use of the international DICOM 3.0 standard (Digital Image Communications in Medicine). Due to this, the time necessary for image acquisition and for making these images available to the medical staff responsible for providing diagnosis has been enormously reduced. On the other hand, a constantly increasing amount of image data provided by the popularisation of new imaging techniques and also increasing requirements on the accuracy on data described in radiological findings, such as measurements, radiological density distribution, volume, etc, are being demanded by modern medicine. For a medical radiologist to be able to cope with such an huge amount of image data and findings’ description requirements, software tools are to be used for most of the mechanical image analysis tasks. Software packages for this purpose are called Radiological Workstations and allow the measurement of objects in images, threedimensional reconstructions of different structures and provide other useful features for supporting a quantitatively based diagnosis process. Currently, the widespread use of the features of these workstations is restricted due to the high costs in acquiring the required software and hardware. Based on this context, we developed a distributed image processing model called Integrated Image Access and Processing Service (IIAPS) 1. The IIAPS provides a 1
This research was supported by the Brazilian National Research Council - CNPq through the Project nr. 610158/99-6 /Programa de Capacitação de Recursos Humanos para Atividades Estratégicas – RHAE
Figure 1: Image Processing Model
framework for the services of distributed image processing using low-cost computers located in a network to distribute and perform these processing tasks. In this context, a radiologist can use a simple workstation or PC with a radiological imaging browser software such as a DICOM client with limited capabilities to access radiological images distributed across different hospitals and also request specific image processing tasks to be performed in a transparent manner. For the development and implementation of the IIAPS, we used distributed object technology based on the CORBA (Common Object Request Broker Architecture) [1] [2] standard, which enables the transparent usage of distributed objects on a client/server application domain. This allows an easy integration of many different systems, such as patient databases, image databases, image processing clusters and radiological workstations.
2.
The Model
The system management is performed in a centralized way through an Object and Application Server (OAS). This server has information about all other machines in the system, both processing units and client units. The information control is performed through events sent by the processing units to the object server (see fig. 1). This process is performed as follows: the OAS has two lists describing the image processing units present in the network, one static and one dynamic list. The first one has information about all processing servers that can provide image processing services, independently of their availability or not. Here, all the server´s characteristics are described, such as processing and storage capabilities, memory, network address, etc. Besides this, the list stores also the reference objects for the classes that implement the image processing algorithms located at the server units. Through these reference objects the OAS starts the images processing at the respective processing servers.
The dynamic list contains only information about the processing units that are available at a given moment. This list is updated always when an unit declares itself available for image processing tasks or when an unit notifies that it will leave the list for some processing task or for shutdown. This is performed through the CORBA event notification mechanism. This allows units to be added or removed from the system at any time without system restart. At the present moment, our OAS model provides a name service for all other units on the distributed system. Always when a processing unit enters the system, it sends an event stating the image processing services it provides, e.g., 3D reconstruction and image segmentation, and also a reference object for each service class it provides. The OAS can then use these reference objects to access and distribute the services provided by this machine to all clients. 2.1.
Model Description
The main system classes and their relationships are as follows (see fig. 2): GeneralServer: Unique instance at the main server machine that is responsible for the control of all image processing management objects (ServerManagers) on the distributed processing machines. This object models a list of available processing machines, their configurations and general management information; ServerManager: Each processing machine has an instance of this class that is responsible for the management of the clients’ requests, setting and starting of processing objects (ServerProcess). Always when a machine enters a processing cluster, an instance of a ServerManager is created and a reference to it is passed to the GeneralServer; ServerProcess: After requests from some client are directed to a specific machine, a client-specific ServerProcess is created to manage these tasks. To each ServerProcess, there is an associated ClientProcess on the client. The ServerProcess sends its results to its ClientProcess after processing; ClientProcess: When an image processing client starts a remote processing task through the GeneralServer, it creates a local ClientProcess to represent locally this task being performed remotely, which manages the communication after the remote process is started; ImageProcess: Abstract Class whose subclasses’ instances perform (or encapsulate a program that performs) a real image processing task on the processing machines. When a system using IIAPS is started, it begins searching its OAS for a GeneralServer to report. If none is found, it creates its own new GeneralServer and a ServerManager locally. If it finds a GeneralServer, it reports its startup and its configuration (OS, RAM, processing capability, etc) to the GeneralServer and creates only a ServerManager. The GeneralServer constantly traces all its ServerManagers and the tasks being performed. If some machine undergoes a system crash during processing, the GeneralServer is able to replicate the process transparently on another machine, restarting it and avoiding the loss of the task. After the processing pool is ready, clients can prepare ClientProcesses and request the GeneralServer for the distribution of the tasks to the ServerManagers that are active at that moment, which will create remote ServerProcesses.
Figure 2: Object Model
2.2.
Using the Model: a Scenario
At a given hospital or clinic using the IIAPS model, there will be an image processing server installed (e.g., a Sun Enterprise multiprocessor workstation) or a low cost equipment pool (e.g., several Linux PCs with Athlon 1000 MHz processors) for image processing, performing 3D reconstruction tasks and other image handling functionalities, that provides these services to the medical staff of this hospital. The medical staff will be able to use any radiological workstation for image visualisation (e.g., a DICOM viewer running on low cost PCs) on their rooms or even at their home (e.g., via DSL), executing image processing tasks remotely.
3.
Providing high performance image processing capabilities on a lowcost PC cluster
Image processing is an inherently computation-intense task that requires high performance of the hardware. Even with reasonable machines, the task of analysis and image processing still consumes considerable time. As an example, we can cite a software package developed at the Cyclops project [3] that carries out the abdominal aorta measurement and 3D reconstruction for endoluminal prosthesis design on a highresolution tomographic volume of the abdomen with an average of 200 slices (each slice size is 512x512 pixels, 16 bit) [4] [5]. Only arteria detection, segmentation and measurement tasks take about 1 minute processing for each slice on a Sun Ultra 1 equipment. The total average processing time is of 3:20 hours. Most of the operations performed by this software may be performed in paralell, thus saving time. For most hospitals, it is too expensive to acquire high-performance radiological workstations for each person of the radiological staff. The IIAPS solves the problem facilitating the distribution of the processing tasks between many computers. This
cluster of equipments can be dedicated to the tasks related to the image processing/analysis as well as be composed of various workstations on the hospital network, using the capacities existent in any computer that is idle at a given moment and interlinked to IIAPS. On the other hand, the medical staff will also be able to request at home the execution of a processing service for a given examination on a specific hospital cluster where IIAPS is installed. Once the request is sent, the servers’ processing computers interlinked to IIAPS perform the task and return to results to the requestingphysician. Since most tasks on the processing of radiological image sequences as CTs and MRIs can be analysed and processed in a totally independent form, the processing time reduction will be directly proportional to the number of computers working to solve the tasks. The system is highly scalable, robust and fault-tolerant. All servers will automatically start tasks distribution to a new computer at the moment when this computer reports that it is interlinked to IIAPS. If, one of the machines is suddenly unavailable in a running image processing task, , another machine will take over its tasks, so the service is not interrupted by network failures, computers’ shutdown due to power failures, etc,.
4.
Important Aspects of the Approach
There are many different approaches in which a paralellization mechanism can be implemented. Below we describe some important points of our approach, that we consider to be of crucial importance in medical image processing domains: •
Load Balancing: the software analyses the features of each computer in a processing cluster to carry out a load balancing with the purpose to better explore the equipment features as well as not to overload any machine.
•
Hardware Analysis: the image processing classes are created in the computers that are closer to the requirements of the requested processing algorithm (e.g. a recursive segmentation algorithm that requires lots of memory). Thus, images that are intended to undergo processing routines requiring database access can be sent for computers with a fast hard disk. Whereas routines that need great amounts of memory could be sent to computers with this feature, etc.
•
Transparency: as the purpose of this software is to be used in medical domains and not by computer science professionals, the functionality is as transparent as possible. The installation is simple and the activation of the servers is done automatically, without user intervention.
•
Performance: the main objective is to enable the radiological image processing in a distributed form, thus allowing operations that would otherwise take an unacceptable time if they were performed only by one computer.
•
Robustness: messages sending is done in a dynamic form. The lack of one or the majority of the servers does not interrupt the operation of the system as a whole. Existing at least one server, the processing will continue being executed.
•
Scalability: another important feature is the scalability. The more computers are present in the network, the faster the processing is executed. The servers are placed in a dynamic form and the system model does not pose a limit of processing machines and clients for simultaneous processing, being restricted only to the features of the existing hardware.
5.
Discussion
The IIAPS is an approach that solves the problem of providing high performance image processing capabilities at low cost to a group of distributed users of image processing services, as found in a radiological hospital. The processing capabilities can be distributed to users on demand and can also be extended in a very simple way through extension of the existing processing unit cluster. Normal administrative computers of a hospital network can also be part of a cluster, being their idle time used for image processing tasks. IIAPS reduces costs enabling the use of low cost radiological workstations, since high performance processing capabilities are requested only for short periods of time during the day an these can be provided by the distributed processing cluster. This enhances productivity in a hospital, since every person of the medical staff can have a “virtual” high-performance radiological workstation on his desktop, that always uses the maximum processing capabilities of the entire hospital. This work was performed in the context of the Cyclops medical image analysis project [2]. Our approach was tested with a set of image processing services such as segmentation and edge detection on a simple Unix Workstation network at our project group at the University of Kaiserslautern, in Germany. Presently we are starting a clinical experiment at our Brazilian project group at the University Hospital of the University of Santa Catarina. In cooperation with the Florianópolis Metropolitan High Speed Network Project – RMAV/FLN we will run an experiment involving different hospitals of the Florianópolis area and a cluster of processing units distributed through the RMAV/FLN. This experiment will enable to test our approach in a real world situation, where different hospitals request image processing services distributed through the network.
6.
References
[1] Object Management Group – CORBA - http://www.omg.org/corba. [2] Siegel J. CORBA Fundamentals and Programming. John Wiley ans Sons, New York, 1998 [3] v.Wangenheim, A.; Barreto, J. M.; Richter, M. M.; Krechel, D. Cyclops - Expert System Shell for the Development of Applications in the Area of Medical Image Analysis, in: Jähnichen; Lucena (Eds.): Proceedings of the 4th German-Brazilian Workshop on Information Technology, Porto Alegre/Berlin, 1997. [4] v.Wangenheim, A., Debiasi, H., Krechel, D., Galvagni Silveira, P., Maximini, R.: 3D Reconstruction of Aortic Aneurysms for the Design of Personalized Endoluminal Protheses. In: 2000 International Conference on Mathematics and Engineering Techniques IN Medicine and Biological Sciences - METMBS'2000, Las Vegas. CSREA Press, 2000. v.2. p.601-607. [5] v.Wangenheim, A., Krechel, D., Wagner, H., Richter, M. M, Conrad, P.: Detecting and Correcting Failed Segmentations of Radiological Images using a Knowledge-Based Approach. In: CBMS´2000 - 13TH IEEE Conference on Computer-Based Medical Systems, 2000, Houston. IEEE Computer Society Press, 2000. v.1. p.175-180.