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.
Please contact:
Eleni Kaldoudi -ICS-FORTH
Tel: +30 81 391702
E-mail: kaldoudi@ics.forth.gr