Image Processing Services in Health Telematics Networks
by Marios Zikos, Eleni Kaldoudi and Stelios Orphanoudakis
The Center of Medical Informatics and Health Telematics Applications (CMI/HTA) at ICS-FORTH is currently developing DIPE, a novel distributed environment that provides image processing services within the regional health telematics network under development on the island of Crete.
One of the many added-value services that can be provided over an integrated health services network is access to high-performance computing facilities in order to support computationally intensive image analysis and visualisation tasks. Although, an enormous amount of work has been devoted in developing medical image processing algorithms and systems, we currently lack the common framework that will integrate all these achievements and provide the added-value features that support and in essence realize what we call a service. In the case of medical image processing, these features include: computational resource management and intelligent execution scheduling within a local or regional network; intelligent and customizable mechanisms for the description, management, and goal oriented retrieval of image processing software modules so as to ease the work of medical (not technical) personnel; mechanisms for the plug-and-play integration of already existing heterogeneous software modules; easy access and user transparency in terms of software, hardware, and network technologies; and charging mechanisms based on quality of service.
DIPE is based on a distributed, autonomous, cooperating agent architecture. It is designed so that it is modular, scalable and extensible, and it can be readily implemented on different hardware and software platforms, and over heterogeneous networks. The environment consists of a functional core which ensures the persistent distributed execution of image processing algorithms, and can be extended to support other added-value services such as macros, resource management, algorithm retrieval, charging, etc.
The core of the system consists of several communicating components: user applications, execution agents, pools of IP algorithms, and management agents (figure 1). The management agent realizes the network of individual modules (applications and execution agents), and ensures the scalability of the service through networks of management agents, within the same or even different organizations. The execution agent is responsible for the execution of a specific algorithm. A local cache stores input data and temporary storage is available for output results. These ensure persistent algorithm execution and enhance the robustness of the system. The user application is the front end of the system and consists primarily of a customizable graphical user interface with toolkits that support the various functionalities of the environment, while it incorporates certain image processing algorithms that require real-time response, and thus it is not sensible to redirect their execution to an agent or over the network.
Figure 1: communication within a DIPE cluster.
The functional core of DIPE is the set of available image processing algorithms, private or public, local or network wide. An important feature is the plug-and-play integration of third party algorithms, ie software modules where only an executable is available and the only information known is the command line syntax, as well as the input and output data formats.
The DIPE architecture is readily extensible to support various added-value services. In routine medical image processing, a common situation involves processing images using the same set of algorithms often with a standard set of parameter values. The core of DIPE architecture has been extended to include a macro agent which simplifies the complicated process of executing individual algorithms sequentially, by grouping them together and thus creating a macro-algorithm. This agent models macros as a directed acyclic graph, thus enabling macro decomposition and individual scheduling of its components. Quality of service in DIPE is guaranteed by a sophisticated resource management and execution scheduling mechanism. The scheduling of a requested algorithm execution to the most appropriate processing element is a distributed decision making process based on the market metaphor, and is realized through the cooperation of the execution agents.
The basic requirement that DIPE is readily implemented on various operating systems and over heterogeneous networks poses certain implementation constraints. Thus, inter-process communication is based on the TCP/IP network protocol, while operating system transparency is ensured by using ACE, an object-oriented network programming toolkit for developing communication software. DIPE is now implemented on UNIX and Windows NT/95 workstations (figure 2) and is functionally integrated with other medical information systems that have been developed in our laboratory.
Figure 2: a typical screen of DIPE.
DIPE integrates existing and new image processing software and employs sophisticated execution scheduling mechanisms for the efficient management of computational resources within a distributed environment. It can also be extended to provide various added-value services, such as management and retrieval of image processing software modules, as well as advanced charging procedures based on quality of service. Its architecture can also support mobile modules, thus ensuring that image processing services are also available to diagnostic mobile units and ambulances. DIPE can be viewed as the natural evolution of traditional medical image processing systems towards a service over the emergent health care telematics networks.
Eleni Kaldoudi -ICS-FORTH
Tel: +30 81 391702