ieee transactions on information technology in...

12
IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY INBIOMEDICINE, VOL. 14, NO. 4, JULY 2010 923 Integrating Segmentation Methods From Different Tools Into a Visualization Program Using an Object-Based Plug-In Interface Felix Fischer, M. Alper Selver, Walter Hillen, and C¨ uneyt G¨ uzelis ¸ Abstract—In medical visualization, segmentation is an impor- tant step prior to rendering. However, it is also a difficult proce- dure because of the restrictions imposed by variations in image characteristics, human anatomy, and pathology. Moreover, what is interesting from clinical point of view is usually not only an organ or a tissue itself, but also its properties together with adjacent or- gans or related vessel systems that are going in and coming out. For an informative rendering, these necessitate the usage of dif- ferent segmentation methods in a single application, and combin- ing/representing the results together in a proper way. This paper describes the implementation of an interface, which can be used to plug-in and then apply a segmentation method to a medical image series. The design is based on handling each segmentation procedure as an object where all parameters of each object can be specified individually. Thus, it is possible to use different plug- ins with different interfaces and parameters for the segmentation of different tissues in the same dataset while rendering all of the results together is still possible. The design allows access to in- sight registration and segmentation toolkit, Java, and MATLAB functionality together, eases sharing and comparing segmenta- tion techniques, and serves as a visual debugger for algorithm developers. Index Terms—Digital imaging and communications in medicine (DICOM), Java, medical image segmentation, platform indepen- dence, plug-in. I. INTRODUCTION D EVELOPMENTS in computer technology, high-speed networking, and the widespread acceptance of digital imaging and communications in medicine (DICOM) [1] stan- dard have enabled many improvements in the way hospitals view their images. In this manner, volume visualization [2] and analysis is a key tool in a variety of health care applications. It is widely used in radiation oncology, surgical planning, and ed- ucation. Thus, there are several commercial [3]–[12] and open- source [13]–[19] frameworks with medical image processing and visualization capabilities. In most of these applications, proper segmentation of medical data is critical for produc- ing informative results [20]. There also exist several descrip- tive [21]–[23] and comparative [24] reviews of visualization Manuscript received October 13, 2008; revised February 3, 2009 and November 16, 2009; accepted February 15, 2010. Date of publication April 15, 2010; date of current version July 9, 2010. F. Fischer and W. Hillen are with the Medical Informatics Laboratory, Fachhochschule-Aachen Division J¨ ulich, 52428 J ¨ ulich, Germany. M. A. Selver and C. G¨ uzelis ¸ are with Dokuz Eylul University, Izmir 35160, Turkey (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TITB.2010.2044243 frameworks that provide segmentation tools and algorithms. There are mainly three issues that should be handled properly in the field of medical image segmentation. 1) Segmentation is generally considered to be the most chal- lenging step prior to 3-D rendering because of the re- strictions imposed by variations in image characteristics, human anatomy, and pathology. Due to these large vari- ations, the design of a segmentation routine is extremely challenging in the medical context. Even if a routine works efficiently in normal subjects, they typically fail in patho- logic cases, which are often more interesting from clinical point of view. Hence, there is a strong need for a high number of segmentation methods that can be used in dif- ferent clinical studies and cases. Moreover, in most of the cases, what is interesting from clinical point of view is usually not only an organ or tissue itself, but also its properties together with adjacent organs or related vessel systems that are coming into and going out of it. For an informative rendering, these necessitate the usage of dif- ferent segmentation methods in a single application and combining/representing the results together in a proper way. 2) In these segmentation methods, operator interaction should always be possible although it introduces a sub- jective element to image processing and analysis [25]. Providing user interactions in the early stages of the de- sign process may considerably decrease failure rates. On the other hand, a high degree of automation is required in order to achieve high accuracy and precision. Thus, a user-friendly implementation of interaction tools should combine intuitive and easy handling together with accept- able performance. 3) In segmentation of medical volumes, another important criterion is the representation of segmentation results. A slice-by-slice representation, which is often more accu- rate and complementary with 3-D rendering, can easily be provided. On the other hand, volumetric visualization of segmentation results gives more information to the user for further analysis [26]. However, 3-D visualization is another area of research considering that the image qual- ity, memory usage, and interaction mechanisms should be provided in an advanced level. This area of study is mostly out of scope and time-consuming for the researchers who are focused and studying on segmentation. Considering these three issues, this paper introduces the im- plementation of a medical volume visualization software that 1089-7771/$26.00 © 2010 IEEE

Upload: others

Post on 01-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010 923

Integrating Segmentation Methods From DifferentTools Into a Visualization Program Using an

Object-Based Plug-In InterfaceFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt Guzelis

Abstract—In medical visualization, segmentation is an impor-tant step prior to rendering. However, it is also a difficult proce-dure because of the restrictions imposed by variations in imagecharacteristics, human anatomy, and pathology. Moreover, what isinteresting from clinical point of view is usually not only an organor a tissue itself, but also its properties together with adjacent or-gans or related vessel systems that are going in and coming out.For an informative rendering, these necessitate the usage of dif-ferent segmentation methods in a single application, and combin-ing/representing the results together in a proper way. This paperdescribes the implementation of an interface, which can be usedto plug-in and then apply a segmentation method to a medicalimage series. The design is based on handling each segmentationprocedure as an object where all parameters of each object canbe specified individually. Thus, it is possible to use different plug-ins with different interfaces and parameters for the segmentationof different tissues in the same dataset while rendering all of theresults together is still possible. The design allows access to in-sight registration and segmentation toolkit, Java, and MATLABfunctionality together, eases sharing and comparing segmenta-tion techniques, and serves as a visual debugger for algorithmdevelopers.

Index Terms—Digital imaging and communications in medicine(DICOM), Java, medical image segmentation, platform indepen-dence, plug-in.

I. INTRODUCTION

D EVELOPMENTS in computer technology, high-speednetworking, and the widespread acceptance of digital

imaging and communications in medicine (DICOM) [1] stan-dard have enabled many improvements in the way hospitalsview their images. In this manner, volume visualization [2] andanalysis is a key tool in a variety of health care applications. Itis widely used in radiation oncology, surgical planning, and ed-ucation. Thus, there are several commercial [3]–[12] and open-source [13]–[19] frameworks with medical image processingand visualization capabilities. In most of these applications,proper segmentation of medical data is critical for produc-ing informative results [20]. There also exist several descrip-tive [21]–[23] and comparative [24] reviews of visualization

Manuscript received October 13, 2008; revised February 3, 2009 andNovember 16, 2009; accepted February 15, 2010. Date of publication April15, 2010; date of current version July 9, 2010.

F. Fischer and W. Hillen are with the Medical Informatics Laboratory,Fachhochschule-Aachen Division Julich, 52428 Julich, Germany.

M. A. Selver and C. Guzelis are with Dokuz Eylul University, Izmir 35160,Turkey (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TITB.2010.2044243

frameworks that provide segmentation tools and algorithms.There are mainly three issues that should be handled properlyin the field of medical image segmentation.

1) Segmentation is generally considered to be the most chal-lenging step prior to 3-D rendering because of the re-strictions imposed by variations in image characteristics,human anatomy, and pathology. Due to these large vari-ations, the design of a segmentation routine is extremelychallenging in the medical context. Even if a routine worksefficiently in normal subjects, they typically fail in patho-logic cases, which are often more interesting from clinicalpoint of view. Hence, there is a strong need for a highnumber of segmentation methods that can be used in dif-ferent clinical studies and cases. Moreover, in most ofthe cases, what is interesting from clinical point of viewis usually not only an organ or tissue itself, but also itsproperties together with adjacent organs or related vesselsystems that are coming into and going out of it. For aninformative rendering, these necessitate the usage of dif-ferent segmentation methods in a single application andcombining/representing the results together in a properway.

2) In these segmentation methods, operator interactionshould always be possible although it introduces a sub-jective element to image processing and analysis [25].Providing user interactions in the early stages of the de-sign process may considerably decrease failure rates. Onthe other hand, a high degree of automation is requiredin order to achieve high accuracy and precision. Thus, auser-friendly implementation of interaction tools shouldcombine intuitive and easy handling together with accept-able performance.

3) In segmentation of medical volumes, another importantcriterion is the representation of segmentation results. Aslice-by-slice representation, which is often more accu-rate and complementary with 3-D rendering, can easily beprovided. On the other hand, volumetric visualization ofsegmentation results gives more information to the userfor further analysis [26]. However, 3-D visualization isanother area of research considering that the image qual-ity, memory usage, and interaction mechanisms should beprovided in an advanced level. This area of study is mostlyout of scope and time-consuming for the researchers whoare focused and studying on segmentation.

Considering these three issues, this paper introduces the im-plementation of a medical volume visualization software that

1089-7771/$26.00 © 2010 IEEE

Page 2: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

924 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

can be used as a host program to integrate plug-ins that mightbe written using several different applications, such as insightregistration and segmentation toolkit (ITK) [27], MATLAB [9],and Java. By developing a plug-in interface to the host medicalvisualization software, researchers can access their new imageprocessing algorithms from within a full-featured visualizationapplication. This allows algorithm developers to quickly ver-ify and improve their new processing techniques. Moreover,a visualization-driven segmentation framework is introduced,where visualization can provide additional information aboutthe scene even if segmentation techniques reach their limits.

The design of the plug-in interface is based on handling eachsegmentation procedure as an object where preprocessing, post-processing, and rendering parameters of each object can bespecified individually, as well as the method and parametersof segmentation. In a more general sense, the goal of the ap-proach presented in this study is to drive the segmentation froma visualization viewpoint. Each segmentation process followsthe typical visualization pipeline, consisting of the modules“preprocessing,” “segmentation,” “postprocessing,” and “ren-dering,” where the module “segmentation” can be provided bythe user with a plug-in. Appearance of each visualized object(or, in other words, result of each segmentation procedure) canbe modified by adjusting the parameters of the aforementionedmodules. Thus, the proposed strategy creates a direct link be-tween the object manager used for visualization and the seg-mentation interface used to obtain a specific object.

This approach aims and allows the application of differentmethods (and/or same method with different parameters) to thesame dataset by assigning an object to each organ/tissue to besegmented. Rendering all of the objects (segmentation results)together and handling their appearance individually (i.e., opac-ity, color etc.) is possible using the object manager. Althoughsimilar studies are reported in the literature [28], using more thanone plug-in in order to visualize different tissues with differentsegmentation methods at the same application has not been dis-cussed. Moreover, neither a handling mechanism (i.e., the objectmanager in this study) nor an interface has been proposed or de-signed for multiple organ/tissue visualization. During this study,different plug-ins developed by using ITK, MATLAB, and Javaare integrated into the visualization software and applied to var-ious medical cases to show the effectiveness of the proposedobject-based segmentation method and visualization-drivendesign.

The rest of the paper is organized as follows. Section II givesinformation about the developed medical image viewer in gen-eral. Section III explains the plug-in architecture and life cycle.Section IV introduces different plug-in applications. Finally,Section V presents results and discussions.

II. FEATURES OF THE VISUALIZATION SOFTWARE

A. Software Capabilities in General

Even it supposes to work as a main application for segmen-tation plug-ins, as a medical image viewer, the developed soft-ware should provide some basic functions [29]. Therefore, thefollowing functionalities are provided.

1) Image query and receive from any image source (i.e., pic-ture archiving and communication systems (PACS), localhard drive, CD, or any other storage medium) is possibleusing the developed software. It can decode and displaymost common image formats (i.e., jpg, jpeg, png, bmp,tiff, etc.), including DICOM. DICOM images can be re-ceived via the DICOM protocol or using a DICOMDIRfile. If not available, the developed software creates aDICOMDIR file by searching through the files at theselected folder. DICOM services for image display andPACS connection are implemented in detail and testedwith images of several vendors, including Siemens,Sectra, Agfa, and GE.

2) Being Java based, it is platform independent and usablevia Web, which is important due to the heterogeneousenvironments of hospitals and wide acceptance of differ-ent operating systems (i.e., Windows, Linux, etc.) thatrequire the software programs to be able to run on theseplatforms. Contrary to expectations, the performance is-sues in Java are comparable to C++ as shown by severalstudies [30], [31], where the performance of the virtualmachine optimization is similar to C++, especially inloops.

3) Several basic image manipulation and processing tools(i.e., filters, LUT operations, rotation, measurements, etc.)are implemented. A user-friendly navigation method andinterface for displaying different datasets of the same ordifferent patient(s) have been designed. The GUI (Figs. 1and 2) is designed to look like readily learned and used(e.g., require a manual as less as possible), yet it is flexibleenough to meet the varied needs of different health careprofessionals.

4) Advanced imaging techniques including multiplanar re-construction (MPR), oblique sectioning, curved MPR,[32] volume, and surface rendering capabilities have beenimplemented.

B. Software Capabilities in 3-D Visualization

A 3-D imaging software should have functions to providethe ability to gain desired information from 3-D images [33].First requirement is speed, which should be fast enough to avoiduser frustration. However, this performance should not only beprovided by the hardware, which would drive the costs to im-practical levels, but also with effective software design and pro-gramming. The developed software provides high-performancerendering on standard PC hardware and works minimum witha standard Pentium III processor, 100 MB free hard disk space,and for 3-D visualization in a graphics card that supportsOpenGL. To make the software run efficiently on different hard-ware, the most important parameters that determine the time andmemory needs of visualization (i.e., interpolation type, render-ing method, etc.) can also be determined by user. For example,if an advanced graphics card is available, texture mapping canbe used instead of ray casting. For slower computers, shadingand high-quality interpolation can be turned on after adjustingother parameters.

Page 3: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

FISCHER et al.: INTEGRATING SEGMENTATION METHODS FROM DIFFERENT TOOLS INTO A VISUALIZATION PROGRAM 925

Fig. 1. User interface of the developed software. The GUI layout is given in Fig. 2. The software is capable of displaying single images, image series, or othersequences. The 3-D rendering-based visualization of DICOM series is integrated and supported by VOI selection, seed point insertion, and segmentation plug-ins.

Fig. 2. Layout of the user interface of the developed software in 3-D mode.

Second, it is important to have the opportunity to visualizemore than one image series at the same time for comparison ofdifferent studies that can be done with the developed viewer.

As the capabilities provided by imaging modalities (com-puted tomography (CT), MRI, etc.) are increasing, softwaretools, which can visualize these data independent of modalitytype, are needed. Different rendering techniques should also besupported and selectable by the user since each can be usedin different cases. In developed software, surface rendering(SR), volume rendering (VR), and maximum intensity projec-tion (MIP) are integrated and can be used independent of themodality type. In the implementation of these techniques, “vi-sualization toolkit (VTK)” [34] has been used in addition toJava. Tools for adjustment of important parameters (shading,interpolation, transfer function, etc.) are integrated to enhancestructural understanding.

During development, different formats were evaluated tostore 3-D rendering information. For performance reasons, thebinary (uncompressed) raw format was chosen. For formatslike virtual reality modeling language (VRML), data have tobe encoded in the American Standard Code for InformationInterchange (ASCII), which takes a lot of time and also spaceon the hard drive. It is not efficient for large datasets, espe-cially if they are not stored within databases, but transportedonly.

C. Interaction Mechanisms for Supporting Segmentation

Except fully automatic ones, segmentation techniques requireadjustment of parameters and/or other kind of interactions (i.e.,insertion of seed points) by the clinician. This dictates that theplug-in mechanism must provide for a GUI so that the user canselect parameters, adjust values, or seed points. Some of theseinteraction mechanisms are hard to be implemented in a plug-ininterface. For example, it would be inefficient to determine seedpoints on a plug-in interface instead of doing it directly over theimages.

Therefore, some basic interaction mechanisms are imple-mented to support plug-in interface of the developed software,which are: 1) possibility of selecting a volume of interest (VOI)using MPR images (i.e., axial, sagittal, and coronal); 2) pos-sibility of inserting seed points on MPR images (i.e., axial,sagittal, and coronal); and 3) interactive cropping of the volume

Page 4: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

926 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

Fig. 3. Object Manager. Each segmentation procedure (i.e., provided by aplug-in), which is applied to the dataset, is presented as an object (i.e., Tissue#1, #2, and #3). The abbreviations in the parenthesis refer to plug-in name (i.e.,FM: fast marching, CoT: connected threshold, and TF: transfer function). Eachobject can also have a number of TFs as subobjects. Each subobject has its owncolor and opacity values. V (at the rightmost) refers to the visibility of an object(i.e., Boolean). “Size” label is used to display the volume of a segmented objectusing DICOM info and number of voxels.

by adjusting the size of a bounding cube. The viewer providesnecessary buttons and other mechanisms automatically if theaforementioned interaction mechanisms are requested by theplug-in.

III. PLUG-IN ARCHITECTURE AND WORKFLOW

Each segmentation object, which is responsible for handlinga segmentation procedure (i.e., preprocessing, postprocessing,and rendering parameters), can be controlled by an interfaceelement called “object manager” (OM) (see Fig. 3). The OMis designed to provide flexibility in the application of differentsegmentation methods and render their results together. Thus,any number of different segmentation methods can be applied toa dataset and/or the same segmentation method can be appliedseveral times with different parameters, and all of the segmen-tation results can be rendered together using OM. As shown inFig. 3, each segmented object (i.e., segmentation result) has itsown name, color, visibility (i.e., Boolean: Visible or not), andopacity. User can change any of these parameters easily usingthe OM, and can determine which segmented objects should bevisible and rendered with which color and opacity. Moreover,each object has a default transfer function (TF), which is a usefultool that assigns optical parameters (i.e., color, transparency) tothe voxels in interactive visualization [35]. Since TF specifica-tion provides an interactive classification step, where, on the fly,combinations of these selected parameters (i.e., opacity, color)can be determined during the rendering pipeline, it is always im-portant to provide a powerful TF specification tool on the GUI.In the developed software, TFs can either be used as individualobjects or at the final classification step of an object. A TF of anobject covers the whole range of histogram of that object afterthe segmentation process. For each object, defining any numberof TF is also possible for further classification of segmented databased on volume histogram [35], intensity-gradient graphs [36]and/or using of more advanced strategies [37].

Fig. 4. Overall workflow of the segmentation process.

A. Visualization and Plug-In Workflow

One of the most interesting aspects of the mechanism used forintegrating Java, ITK, or MATLAB-based plug-in capabilitiesinto the visualization software is the fact that communicationbetween the visualization program and the plug-in tool does nothave to be exposed to the internal structure of the visualizationsoftware. Instead, the plug-in interface has been defined in thehost visualization software that allows very generic methodsto interface with the internal data representation. The overallworkflow of the segmentation process, which is explained indetail in the following, is illustrated in Fig. 4.

When the 3-D mode of the viewer is initiated, the visualizationsoftware detects if a plug-in is available or not by searching thecorresponding directory automatically. Then, it adjusts the GUIand rendering techniques to accommodate the new data, andshows a list of available plug-ins in the plug-in selection panel[see Fig. 5(a)]. Among all, the user selects the segmentationmethod (plug-in) to use together with the rendering type of theresulting data (i.e., VR, SR).

Another interesting aspect of the software design is that theplug-ins can be attached at run-time. Although the plug-in itselfhas its own specified and optimized algorithm for the segmen-tation process, the user can still use a high number of ITKmethod during the preprocessing and postprocessing stages ofthe segmentation process. Together with the pre- and postpro-cessing parameters, segmentation parameters can be definedby using the “algorithm interface,” or in other words, “plug-inGUI” (i.e., shown in Figs. 1 and 2 (bottom right) and Fig. 10).The “algorithm interface” for the determination of the segmen-tation parameters is loaded dynamically from the plug-in. Itmight inherit some predefined buttons from the plug-in library

Page 5: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

FISCHER et al.: INTEGRATING SEGMENTATION METHODS FROM DIFFERENT TOOLS INTO A VISUALIZATION PROGRAM 927

Fig. 5. User interface of the developed tabbed panels. (a) Selection of the plug-in and rendering method to be used (The square shapes are designed for possibleicons of the plug-ins. An icon representing the corresponding plug-in can be inserted inside that area). (b) Preprocessing options, (c) global properties tab, and(d) rendering tab that includes sliders and checkboxes to determine some of the rendering parameters.

(i.e., button that allows inserting seed points over MPR im-ages) as well as any other kind of GUI elements (i.e., sliders,text fields, etc.) to adjust and determine the parameters for thecorresponding segmentation algorithm.

Then, the user can press the “Start” button to apply allstages (i.e., preprocessing, algorithm, and postprocessing) tothe dataset. After the segmentation result is rendered at the 3-Dpanel, the user can adjust the parameters of all steps and restartthe procedure until a satisfying result is obtain. At any momentof this process, the user can also adjust the global properties [seeFig. 5(c)] and the rendering parameters [see Fig. 5(d)] to changethe appearance of the rendering result. All of these elements areexplained in the following sections.

B. Plug-In Interface

Most segmentation techniques require the clinicianto specifya number of parameters or seed points for the segmentation. Thisnecessitates the plug-in mechanism to provide a GUI to adjustthese parameters. Although some of these parameters are com-mon (i.e., pre- and post-processing operations), some of themdiffer from one plug-in to other thus a plug-in specific interfaceis needed. Moreover, segmentation results of different tissuesmight be better visualized with different rendering parameterssuch as the position of the light source, type of shading, type ofprojection etc.

Hence, there are global parameters that can be adjusted forall plug-ins and plug-in-specific parameters that are needed forthe segmentation method in use. Considering that the space tohandle all these parameters should be small enough to preventinefficient usage of screen space, an efficient and still intuitiveinterface should be designed. In this study, such an interface isimplemented with a tabbed panel system.

The main two (upper) tabs (shown inside the dashed red cir-cle in Fig. 1) can be used to determine “segmentation specific”or “global” properties. In global properties, user can determine

intensity, ambient color, diffuse color, specular color, and posi-tion of the light source together with the projection type (i.e.,parallel or perspective with projection angle). On the other hand,“segmentation” properties consist of four other tabbed panelsthat are arranged based on the assumed workflow of a segmen-tation process (see Fig. 4).

These tabbed panels include preprocessing, algorithm, post-processing, and the rendering tabs. The idea behind this arrange-ment is that a segmentation procedure starts with the determina-tion of preprocessing operations, continues with the executionof the main algorithm, then followed by postprocessing opera-tions and finished by the determination of the rendering param-eters. The mentioned pre/postprocessing (i.e., ITK functions)and the rendering tabs are integrated in the base application. Inthe tabbed panel, the plug-in-specific GUI reserves a tab (i.e.,algorithm). The tab before that is the preprocessing and the tabsafter that are the postprocessing and rendering parameters. So,the user can determine and use pre/postprocessing operationsprovided by the host on the run-time (using their GUIs). For anyother pre/postprocessing operations, the programmer should in-clude them inside the plug-in during the development phase.

Preprocessing tab [see Fig. 5(b)] includes smoothing filters(i.e., Gaussian and anisotropic diffusion), threshold determina-tion, and sampling rate selection, which can be used to reducedata to be processed for computationally expensive plug-ins.The default selection is automatic in which the visualizationsoftware estimates how much memory will be required to runthe plug-in. This option prevents crushes for segmentation tech-niques that require a large amount of memory for intermediateresults, which can easily exceed the computer’s memory for alarge medical dataset.

Algorithm tab includes GUI elements that are needed to de-termine the parameters required for an algorithm. Developingplug-in GUI in algorithm tab is an easy task, which is doneon the Java side. One panel has to be provided, which can be

Page 6: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

928 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

Fig. 6. Plug-in life cycle.

created either with a visual editor (e.g., NetBeans) or manually.Any kind of GUI elements can be used to increases the intu-itiveness of the GUI (see Fig. 10). The algorithm tab, especiallythe data exchange between GUI and algorithms, is explained indetail Section III-C.

Postprocessing operations include smoothing filters and an-tialiasing binary image filter from ITK, which can be used toenhance the rendering quality of a segmented object if surfacerendering is chosen.

Finally, the rendering tab [see Fig. 5(d)] includes volume-rendering parameters such as algorithm selection (i.e., ray cast-ing or texture mapping), interpolation methods (i.e., nearestneighbor or trilinear), and sampling rate. It is also possible toadjust shading type, reflection (i.e., diffuse and specular), andspecular power using this tab.

C. Plug-In Life Cycle and Writing a Plug-In

The life cycle of a plug-in consists of five key functions:registration, initialization, GUI update, data processing, anddestruction (see Fig. 6). In this section, the steps of writing aplug-in is described by using examples from an existing plug-inthat is developed for liver segmentation [38].

When the visualization software is executed, it checks the“plug-ins” folder for the available plug-ins. Then it creates aplug-in factory by assigning a number to each available plug-in.Transferring the data between the host and the plug-ins is alwayshandled on the Java side. There are two ways of communication:1) memory based and 2) disk based. The advantage of the firstapproach is the high speed, but the disadvantage is that thewhole dataset has to be stored twice in the memory. The secondapproach is slightly slower than the first, but the data are storedonly once in memory. This is important in Windows, becausethere the 2 GB RAM limit exists. Mac OS X and Linux do not

Fig. 7. A plug-in (i.e., K -means plug-in) needs to extend PluginFactory anddetermine the plug-in properties for initialization. The figure shows the param-eters for the initialization: 1) name and 2) type of the plug-in. 3)–4) The plug-incan be shown as a panel in the 3-D view (like K -means). Alternatively, a plug-incan open an own window (if there are a lot of parameters, for example, and alot of space is needed for the GUI). The plug-in window can be activated inthe “Plug-in menu bar.” 5) For the automatic scaling of the data, the host hasto know how much memory one plug-in needs. This cannot be detected auto-matically, since the host cannot know the internal data structures of the plug-in(e.g., level sets are much more complex than region growing). So, this valuerepresents the factor of memory. A value of 8 means that the plug-in needs 8bytes for 1 input byte (so, it needs eight times the memory of one dataset).6) Seed point usage. 7) VOI or whole dataset usage. 8) Here, the result type canbe set to VR or SR.

have such memory limitations. The plug-in factory stores theinformation about the data that will be needed by the plug-in,such as seed point locations (i.e., for fast marching), if the plug-in uses the whole volume or only a defined VOI, etc. The plug-incan receive a full description of the input data it needs, includingaspects such as dimensions, spacing, data type, window level,window width, volume histogram, as well as specifying some ofthese properties for the output it will produce. Fig. 7 shows thatthe liver segmentation plug-in, namely, “K-means algorithm,”which has an embedded GUI, does not need seed points, useswhole volume data, etc.

There are some additional features that the plug-in architec-ture provides, which significantly enhances what can be donethrough a plug-in. The architecture supports plug-ins to send theresulting data in binary form, in indexed form, or with gray val-ues that can be original or defined by the plug-in. Returning ofresulting (multiple) objects is done with indexed data togetherwith a lookup table, which assigns each index value a color andan opacity. This way the ITK algorithms have to be executedonly once, even if several objects are created (e.g. liver seg-mentation: vasculature and parenchyma). Some plug-ins mayproduce surfaces (or meshes) instead of an output volume. Aplug-in may require more than one volume of input data. Thisis common for many level set segmentation techniques thatrequire a feature image as well as an initial segmentation inorder to operate.

Plug-in class files can be placed in the “plug-in” directory ofhost to be recognized. The format is always a Java class file,which implements a special interface (so it can be recognizedby the host as a plug-in). When the user wants to start a segmen-tation process by creating a new object using the OM, a newinstance of the corresponding plug-in is generated by the plug-infactory. This approach provides the possibility of using the sameplug-in (with different objects) for the same dataset or study-ing in parallel with different datasets. Then, the visualization

Page 7: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

FISCHER et al.: INTEGRATING SEGMENTATION METHODS FROM DIFFERENT TOOLS INTO A VISUALIZATION PROGRAM 929

Fig. 8. Registration of the plug-in. Registering is necessary for the communi-cation between the host program and plug-in. Each plug-in gets a unique ID, soit can be addressed by the viewer.

software registers the created instance and assigns an ID to it.An example is shown in Fig. 8.

Next, the GUI of the plug-in function is called to handle theelements of the plug-in, such as creating and updating the GUIand defining the properties of the output data.

These processes are not dynamic, but object based, whichallows the usage of the same technique and interface morethan once. Construction of the GUI elements is also performedthrough a generic application programming interface (API) tofacilitate changes in the data. For instance, the range of a sliderin the segmentation GUI is based on the actual scalar range ofthe current volume. If a new volume is loaded or an operationsuch as thresholding is applied, then the range of the scale willchange to match the new volume (see Fig. 10).

In the segmentation process, the values of the GUI elementsare typically used to control the processing. The GUI elementscan be text fields, sliders, or any other interaction mechanisms.If the user interaction mechanisms (i.e., inserting and removingseed points) are needed to be used, then these buttons appear atthe top left of the plug-in GUI.

The plug-in interface provides methods for exchanging dataand parameters between the GUI and the algorithm implementedin ITK. For this, a C++ class was developed, which makes useof Java native interface (JNI) [39]. The developed ITK classextends an abstract basic class (belonging to the plug-in inter-face), which contains methods and data structures for the dataexchange. Internally, a hash table is used as data structure. Fromthe Java (GUI) side, data can be transmitted by the methodputParameter (string name, object value), e.g., putParameter(“UpperThreshold,” 120.0). The ITK algorithm (written inC++) has access to this parameter by calling the method get-Parameter (“UpperThreshold”) in the same class. The plug-ininterface also creates the necessary instance of itkImage, whichis passed to the ITK algorithm. As a result, the algorithm outputsan instance of itkImage as well (if no segmentation is performed,the output corresponds to the input). The visualization (includ-ing the creation of VTK data structures) is completely done bythe plug-in interface.

For the plug-ins implemented in MATLAB, there are twoways for the data exchange. The first way is to build a stand-alone application, and the second way is to convert a MATLABfunction into a library file (i.e., Java Archive—JAR) and callthat function like native Java libraries. In the first way, the pre-processed data are written to a storage medium (i.e., hard disk),and the plug-in is executed with the necessary parameters. Af-ter the execution of the plug-in, the segmented data are againwritten to disk where the host visualization program reads it.

The read–write operations are done in less than a millisecond,and an instance of “run-time” class is used to make Java (i.e.,host visualization program) wait for the plug-in to execute. Theadvantage of this method is that the plug-in does not share thememory with host visualization program, but it requires the in-stallation of MATLAB compiler runtime (MCR). The secondway uses the MATLAB builder by using which M-code func-tions from the MATLAB can be wrapped into one or moreJava classes. When deployed, each MATLAB function is en-capsulated as a method of a Java class and can be invoked fromwithin a Java application. However, to do this, MATLAB builderand Java runtime environment must be of the same versions(releases).

For the example plug-in, namely, “K-means algorithm,” theparameters to be defined prior to segmentation are the slicenumbers where the kidney and liver have distant borders, andthe border of the liver does not intersect with the heart. Twotext fields are used to get these parameters from the users andset as shown in Fig. 9. After all segmentation parameters areset, the plug-in is initialized and the start() function is invokedwith the start button when the user requests the plug-in to beexecuted. This function processes the input volume to producethe resulting surface and/or output volume. The resulting vol-ume appears on the 3-D panel and the plug-in is placed to theOM. If the user wants to remove an object (and correspondingsegmentation result), the “Delete” button can be used to destroythe plug-in. The plug-in then can do some cleaning work, likefreeing memory.

IV. APPLICATION TO MEDICAL DATASETS

The capabilities of ITK, MATLAB, and Java-based plug-insfor solving real medical image problems are demonstrated in thissection with two challenging applications. The first applicationpresents how the aorta–graft visualization problem can be solvedby applying different segmentation methods individually andvisualizing their results together. The second application showsthe advantages of plug-in communications, where each step ofthe transplantation donor evaluation (i.e., liver segmentation,vasculature extraction, and lobe determination) can be done ina cascaded way.

Here, it is worth to point that VR and SR objects can bedisplayed simultaneously, if desired. In other words, some seg-mented objects can be rendered with SR while others with VRat the same time. But it is important that the graphics board sup-ports multiple objects with different styles (i.e., VR and SR).MIP is not possible on per-object-base, since it is camera-based,which means that it affects all objects.

The segmentation accuracy of CT/MR imaging-based volu-metric techniques depends on the type and quality of the imag-ing data, as well as on the segmentation algorithm used. TheDICOM data for these experiments were provided from thePACS of the Department of Radiology, School of Medicine,Dokuz Eylul University, Izmir, Turkey. Six plug-ins were pre-pared for the tests, one of which is based on TF specification, twoof which are ITK-based general purpose methods, and the othertwo are a Java/MATLAB-based algorithm for liver segmentation

Page 8: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

930 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

Fig. 9. Setting the required parameters for the plug-in and starting it by sending the necessary data asked by the plug-in. When the user starts the segmentationby pressing “Start” button in the user interface, the host program informs the plug-in (for this, the ID of the plug-in is important, see Fig. 8) that data are ready andwaiting, together with segmentation parameters. The plug-in then collects data and parameter from the host program and then starts the segmentation process.

Fig. 10. GUIs of (a) FM plug-in and (b) CoT plug-in.

(i.e., named K-means algorithm), a method for vascular extrac-tion of liver. As previously stated in Section III-A, the selectionof the algorithm to be used is done in the beginning of theprocess [see Fig. 5(a)].

A. Developed Plug-Ins

The first plug-in is designed for VOI-supported TF specifica-tion based on volume histogram and/or gradient- intensity map.The two ITK-based plug-ins are named as fast marching (FM)and connected threshold (CoT) (i.e., region growing), referringto the algorithms behind. ITK toolkit expands the possibilitieswith extensive segmentation and image filtering techniques, butdoes not provide GUI or methods for visualizing data. Thus,established processes are used to integrate the power of ITKwith the robustness of VTK for visualization. Developed andimplemented in C++, ITK guarantees cross-platform supportby relying on C-make for the compilation and configurationprocess. By using this advantage, ITK wrapper for Java is usedfor integration.

FM plug-in uses the FM level set method, which is describedin [40] and [41]. It was selected for performing semiauto-matic segmentation because it usually has a reasonable com-putational time. This method is implemented in ITK in theFastMarchingLevelSet—ImageFilter. The FM method makesthe simplifying assumption that the contour evolves in a mono-tonic pattern. In terms of level sets, this means that only speedfunctions can be used, which assure that the curve passes anypixel only once during the evolution process. Among severalparameters, the adjustment of maximum gradient and the timethreshold is chosen to be the two of the most intuitive and im-portant parameters. Therefore, the GUI is designed with a sliderbar controlling the maximum gradient and a field for “timethreshold” selection, which is a parameter only for limiting theexecution time of the algorithm in case of a false gradient de-termination [see Fig. 10(a)]. Since the method also needs seed

points, the buttons for inserting and removing seeds are auto-matically located at the top of the plug-in [see Fig. 10(a)].

The second ITK-based plug-in is the CoT, which is basicallyan implementation of well-known region-growing technique,starts from one or more seed points. The neighbors of the seedpoints are visited and the ones, which fulfill the criteria, areadded to the same region as its corresponding seed point. Pixelsthat satisfy the predicate of more than one region are added toone of them arbitrarily [42]. The interface of the CoT plug-inconsists of seed point buttons, and upper and lower thresholdfields that constitute the selection criteria of the algorithm [seeFig. 10(b)].

The fourth plug-in, namely, K-means plug-in, is based on thealgorithm presented in [38], and developed specifically for seg-menting liver from CT angiography (CTA) images of liver trans-plantation donor candidates. The algorithm follows a pipelinethat includes preprocessing (i.e., removal of the right kidney,removal of the ribs and bones), classification, and postpro-cessing (i.e., morphological opening, skeletonization, and con-nected component analysis). All steps are implemented in Java,except removal of the bones and ribs, which is implemented inMATLAB due to computational efficiency and the differencein the time required. This kind of interactions are left to thedeveloper’s responsibility. As mentioned before, a plug-in canbe Java, C++, or MATLAB based. If it is C++ based, theinterface consists of an entry point of a dynamic-link library.From there, the developer can called ITK, MATLAB, or otherfunctions. However, this is not directly supported by the host,but this way the concept is more flexible and lets the developerdecide which toolbox to use.

The fifth plug-in, namely, Hessian plug-in, is based on thealgorithm presented in [43], and developed for extracting vascu-lature of liver from segmented liver images or series of CTA im-ages. This is also a purely ITK-based plug-in that uses Hessian-based vessel filter for extracting liver vasculature and labelingthe main vessels (hepatic and vein).

Page 9: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

FISCHER et al.: INTEGRATING SEGMENTATION METHODS FROM DIFFERENT TOOLS INTO A VISUALIZATION PROGRAM 931

Fig. 11. Segmentation of aorta using: (a) CoT and (b) FM plug-ins. Segmentation of the graft using a VOI and TF for visualizing the graft at the: (c) bottom halfand (d) upper half of the aorta. (e) Objects created to visualize the aorta, aneurysm, and the graft.

The sixth plug-in is given as an exemplary step of liver analy-sis pipeline [see Fig. 12(a)] and based on automatic delineationvia predefined parameters related to the size and shape of thesegmented liver.

All of the applications presented in this section are doneusing Pentium IV PCs with 4 GB memory, 3 GHz processor,and a 256-MB graphics accelerator. No differences other thanprocessing time and number of slices to process are observed inconfigurations between the base requirements (see Section II)and test configuration mentioned before. However, the operatingsystem has an important effect on the size of the data to beprocessed since there is 2 GB RAM limit in Windows (up to300 slices (512 × 512) in 16 bit), while Mac OS X and Linuxdo not have such memory limitations.

B. Abdominal Aortic Aneurysm and Graft Segmentation

Aortic Aneurysm (AA) is a chronic degenerative disease withlife-threatening implications [44]. One of the pathologic pro-cesses contributing to the changes observed in AA is the de-pletion of vascular smooth muscle cells. This change resultsin progressive aortic dilatation accompanied by alterations invessel geometry and redistribution of wall stresses.

A common treatment for AA consists of the insertion of avascular graft that creates a barrier between the blood flow andthe weakened vascular wall of the aneurysms. Imaging the pa-tient before and after the insertion of the graft is fundamentalfor controlling the efficacy of the procedure. The images con-sidered here correspond to CT scans acquired after the grafthas been implanted, in which the network-like structure of thegraft should be visible. The aim of this application is to illus-trate how a nontrivial problem in medical image analysis canbe solved by application of different segmentation methods to-gether with application of the same method with different VOIsand parameters.

For the segmentation of aorta and aneurysm, ITK-based3-D segmentation methods are used. Both FM and CoT plug-insproduce acceptable results [see Fig. 11(a) and (b)]; however, theresult of CoT plug-in is found more realistic by the physiciansdue to the inclusion of small vascular trees. TF plug-in can alsoproduce useful results in segmentation of aorta, but their use islimited because at some parts of the volume, the VOI cannot

be adjusted enough to separate vertebra and aorta, which haveoverlapping Hounsfield range.

Because of its network-like structure and overlappingHounsfield range, the graft is very hard to segment by usingsegmentation methods. Therefore, graft material is visualizedby several TF plug-ins [see Fig. 11(e)] instead of using a single-segmentation method. By using different TF objects, the devel-oped software allows the selection of different VOIs for each TF[see Fig. 11(c) and (d)]. Thus, the graft material is visualized byfour different TFs with different VOI selections, each of whichis used to render a part of the graft without rendering the bonesand the ribs [see Fig. 11(c) and (d)]. All of the objects (i.e.,plug-ins), which are used to segment aorta, aneurysm and graft,are listed in the OM [see Fig. 11(e)].

The time required for the insertion of the seed points FMand CoT is around 2 min since the insertion should be done inseveral slices to prevent missegmentation of thin vessels. At theslices with thin vessels, the seed points are inserted with the helpof zoom functionality. The required time for both algorithms tosegment the aorta is also around 2 min. The only parameters todefine in CoT are the upper–lower thresholds and gradient inFM, which are clear due to the known intensity range of contrastmedia. The TF objects, which are used to render the graft, havealmost the same functions (i.e., trapezoids) and ranges. But theVOIs, which they are applied, are different to represent differentparts of the graft. The adjustment of the four TF objects takesaround 15 min, and the rendering is completed approximatelyin 20 min.

This application demonstrates that the 3-D rendering of or-gans/tissues of interest are not only a matter of segmentation(i.e., CoT or FM for representing aorta), which prepares theinterested part of the volume data for visualization, but also de-pend on visualization techniques and their adjustable/interactiveparameters (i.e., multiple TF specification for graft visualiza-tion). These conclusions agree with the studies [45], [46] thatare based on implementation of combined interactive segmen-tation and visualization tools, and claims that visualization and,more especially, volume rendering can still provide informa-tion about the scene even if segmentation reaches its limits.Thus, aortic aneurysm with graft insertion provides a gooddemonstration of mixing the segmentation and the visualizationcapabilities.

Page 10: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

932 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

Fig. 12. (a) Liver analysis pipeline, (b) when FM plug-in is used, inferior vena cava might be included (see the red circle) in the final rendering and/or innervasculature vanishes if the maximum gradient value is not high enough. (c) Output of K -means plug-in is more accurate since it is designed especially for liversegmentation. (d) Result of the ITK-based vasculature extraction (i.e., Hessian) plug-in that proceeds after K -means plug-in. (e) Visualization of the liver and itsvasculature using indexed data. (f) Visualization of the liver and its vasculature using TF specification, visualization of liver lobes and labeled vessels (i.e., hepatic,vein) together by rendering lobes: (g) transparent and (h) opaque. (i) Visualization of abdominal organs and tissues together using different plug-ins together: liver(K -means plug-in, purple), kidney (yellow), gall bladder (green) (FM plug-in), and lesion (CoT plug-in, brown).

C. Liver Segmentation for Transplantation Donors

Living donated liver transplantation [47] is a procedure wherea healthy voluntary donor gives a part of his/her liver to anotherperson. Measurement of the liver volume, analysis of the livervasculature, and determination of the liver sublobes are impor-tant stages to decide whether a candidate for transplantationis suitable or not. Thus, this application requires segmentationof three challenging problems, where each of these problemsshould be initiated with the result of the previous one.

CTA is currently the most widely used technique for therendering of liver parenchyma, vessels, and tumors in living livertransplantation donors. Before 3-D rendering of the vasculatureand the measurement of liver volume, accurate segmentation ofthe liver from surrounding tissues and organs is necessary.

Since the number of image slices used for 3-D rendering isvery large, manual segmentation of the liver on each slice istime-consuming and tedious. Also, the results highly depend onthe skill of the operator. Therefore, an automatic segmentationprocedure to segment the liver in all slices is needed.

Besides its various advantages over manual segmentation,automatic segmentation of the liver is very challenging and re-quires complicated algorithms [38]. These challenges arise fromthe overlapping Hounsfield range of adjacent organs, varyinggray-level value range of organs due to the injection of contrastmedium, or different modality settings and varying anatomicalstructure/shape of the liver in different image slices and frompatient to patient.

To cover all necessary steps of liver analysis, an exem-plary pipeline is shown in Fig. 12(a). Starting from originalCTA series, one can use a plug-in for liver segmentation (i.e.,K-means or FM plug-in) that gives liver volume (segmentedliver) as its output [see Fig. 12(b) and (c)].

Then, a plug-in for liver vasculature extraction (i.e., Hessianplug-in) can be initiated with previous output and used to obtainliver vasculature [see Fig. 12(d)]. The results of the two plug-inscan be rendered together [see Fig. 12(e)] or separately. If thedataset is appropriate, the vasculature can be analyzed usingonly the result of segmentation plug-in and interacting with itvia transfer functions [see Fig. 12(f)]. The same procedure (i.e.,from segmented liver to liver vasculature) can be repeated forHessian plug-in (i.e., from segmented liver and liver vascula-ture to lobe determination); thus, it can call a plug-in for lobedetermination and initiate it with its output.

Each of these three plug-ins (i.e., segmentation, vasculatureextraction, and lobe determination) can also be used solely andindependent of each other, while using them together providesa more complete analysis. For instance, one can use the Hessianplug-in for analysis of original CTA series and can obtain thevasculature of the liver. But it might probably cause misseg-mented objects (i.e., bronchus at lung) and increase processingtime since all volumes are included.

Considering the effectiveness of such an approach in liveranalysis, the following conclusions can be made. In liver seg-mentation, FM plug-in should be used instead of CoT plug-in

Page 11: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

FISCHER et al.: INTEGRATING SEGMENTATION METHODS FROM DIFFERENT TOOLS INTO A VISUALIZATION PROGRAM 933

since it is determined to be the one that can successfullysegment the complex borders of the liver. Even when FMis used, the volumetric measurements of the livers are foundless than the correct volumes, although the visual appearancesof the segmented livers are observed to be satisfying by thephysicians.

A detailed analysis showed that, in most of the cases, thevolume of the segmentation result appears to be smaller thanthe reference value. The internal analysis of the segmented livershow that FM method does not include contrast-enhanced livervessels and some parts of the parenchyma, where contrast medialeaks from the vessels, in segmentation result. As we see here,the challenges in liver segmentation requires the usage of com-plicated algorithms designed especially for liver segmentation.

Since the proposed plug-in interface allows the integrationof such specific and complicated methods, the K-means plug-in (i.e., the fourth plug-in), which is based on the algorithmpresented in [38], is integrated and used for segmenting theliver. The results obtained for this automatic method, whichwere around 90% success rate, are introduced in [38]. All stepsof the algorithm in [38] are implemented in Java, except removalof the bones and ribs, which are implemented in MATLAB.The disadvantage of such a usage is the time required for fileexchange between MATLAB and Java, and the advantage is thatMATLAB does not share the same memory with Java; thus, theapplication is not limited to 2 GB.

Other than success rates, the usage of automatic and semiau-tomatic plug-ins for liver segmentation can also be comparedat user level. When semiautomatic, general-purpose plug-insare used, the segmentation of the liver highly depends on theselection of the VOI and insertion of the seed points, since itsposition and shape change dramatically between slices of a se-ries [see Fig. 12(b) and (c)]. Therefore, the user should searchthrough the series for locating seed points and to make sure thatthe VOI covers the liver at all slices. The preparation of seedpoints and the VOI takes around 3 min, and the FM plug-inruns around 4 min, for an average of 90 images. On the otherhand, K-means plug-in works in a fully automatic manner andrequires approximately 5 min.

As mentioned previously, the segmentation and the analysisof the liver can be further done using a second plug-in for vesselextraction by rendering only the vessel system [see Fig. 12(d)],the vessel system together with the liver parenchyma (i.e.,indexed data to represent liver and different vessel systems) [seeFig. 12(e)], and the vessel system with lobes [see Fig. 12(h)].It is also possible to use TFs (i.e., pixel classification) foron-the-fly analysis of a segmented object at any step of theprocess (comparing Fig. 12(g) and (h), where lobes are renderedwith only 2% opacity to allow vasculature visibility).

V. DISCUSSIONS AND CONCLUSION

Developing new techniques, algorithms, and applications thatcan be used in medical image segmentation is necessary to beable to use 3-D volume visualization in diagnosis, treatmentplanning, etc. The development of the complete package, whichrequired robust and stable query, and retrieve from different

storage media, manipulate 2-D/3-D, convert images, and ef-fectively visualize them can take a significant amount of time.Moreover, it is out of scope for the researchers dealing withsegmentation algorithms, who need to focus on proving the re-liability and robustness of their algorithms. Flexible tools andlibraries are needed to revisit already-solved problems, rede-velop existing programs, or rapidly implement and test newalgorithms that can save time and effort.

The goal of this study is to aid in the development, deploy-ment, and refinement of segmentation algorithms to benefitheath care delivery, education, and research. Our method forachieving this is to provide access to the 3-D rendering (i.e.,volume rendering, surface rendering and MIP) capabilities thatcan be used to visualize the results of new segmentation algo-rithms. It benefits practitioners by allowing them to make useof their advanced algorithms developed by different tools (i.e.,MATLAB, Java, ITK) with a low learning curve, and it can assistalgorithm developers by proving a simple application. Thus, thedevelopers are enabled to easily and routinely make use of theiralgorithms with little to no learning curve from within a DICOMapplication. As opposed to direct use of the ITK and Java, re-searchers do not need to deal or spend time to gain programmingexperience on loading data, displaying images, or showing theresults in a proper way that requires a high experience on VTKand Java due to various cases of DICOM format and differentmedical applications.

Compared to other visualization software, which can be usedto integrate segmentation plug-ins, the developed software hasthe following advantages. First of all, it is specialized for med-ical DICOM images. This means that the software supportsdecoding 12-bit DICOM images of all flavors, rotates the vol-ume data to the x-, y-, and z-axes if necessary, and providessupport for setting markers in three multiplanar planes, whichcan be defined arbitrarily by the user. The GUI is designed likein typical medical workstations with which the user (i.e., radi-ologist) is already familiar. Loading and displaying the 2 D dataare done automatically; thus, the user starts directly in the 3-Dlayout. The dataset can be explored immediately by defining atransfer TF [35] (or selecting among the predefined ones).

The segmentation follows the typical visualization pipelineconsisting of the modules “preprocessing,” “segmentation,”“postprocessing,” and “rendering.” The module “segmentation”can be provided by the user with a plug-in. Thus, the direct linkbetween the object manager used for visualization and the seg-mentation interface is used to obtain a specific object. Therefore,the advantage of the proposed method is to drive the segmenta-tion from a visualization viewpoint.

Currently, the number of plug-ins is limited; however, all theelements required for creating new plug-ins are available. Cre-ation of plug-ins for new medical image processing applicationsis possible without having to expose the source code of the mainvisualization software.

The application of the developed plug-ins to different medicaldatasets shows that the object-based segmentation approach issuitable for measurements, such as the organ volumes as wellas for observing anatomical and/or physiological examinationsusing suitable algorithms for each organ/tissue of interest. In this

Page 12: IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN …kisi.deu.edu.tr/alper.selver/papers/selver_plug-in.pdfFelix Fischer, M. Alper Selver, Walter Hillen, and Cuneyt G¨ uzelis¨ ¸ Abstract—In

934 IEEE TRANSACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 14, NO. 4, JULY 2010

manner, different plug-ins can be used one after another (or thesame plug-in can be used for many times) to segment and thenrender several organs and tissues together [see Fig. 12(i)]. Thisis a very important advantage of the proposed approach since inmost of the cases, what is interesting from clinical point of viewis not only an organ or tissue itself, but also its properties togetherwith adjacent organs or related vessel systems. Therefore, theusage of different segmentation methods in one application, andthen, a proper combination and representation of the resultstogether provides an informative rendering.

Manual manipulation of the segmentation results, removal ofselected object, or preserving selected object and removal of theothers are necessary functions that should be provided in thefuture. This is due to the fact that even in a very efficient seg-mentation result, a minor part might be wanted by the physicianto be modified.

REFERENCES

[1] American College of Radiology, National Electrical Manufacturers As-sociation, “Digital imaging and communications in medicine (DICOM):Version 3.0.” in ACR/NEMA Committee, Working Group, ACR/NEMAStandards Pub. PS3, 2005.

[2] A. E. Kaufman and L. M. Sobierajski, Continuum Volume Display. BocaRaton, FL: CRC, 1995, pp. 171–202.

[3] (2006). Amira Advanced 3D Visualization and Volume Modeling[Online]. Available: http://www.amiravis.com/

[4] (2006). Analyze [Online]. Available: http://www.mayo.edu/bir[5] (2006). Advanced Visual Systems, AVS [Online]. Available: http://www.

avs.com[6] C. Upson, T. Faulhaber, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom,

R. Gurwitz, and A. van Dam, “The application visualization system: Acomputational environment for scientific visualization,” IEEE Comput.Graph. Appl., vol. 9, no. 4, pp. 30–42, Jul. 1989.

[7] (2006). The Data Visualization & Analysis Platform, IDL [Online]. Avail-able: http://www.rsinc.com/idl

[8] (2006). IRIS Explorer [Online]. Available: http://www.nag.co.uk/Welcome_IEC.asp

[9] (2006). MatLab [Online]. Available: http://www.mathworks.com[10] (2006). VisiQuest Visual Framework, formerly KH. O.ros [Online]. Avail-

able: http://www.accusoft.com/imaging/visiquest[11] (2006). VolView: A volume visualization system, Kitware, Inc., Clifton

Park, NY [Online]. Available: http://www.VolView.com[12] (2006). MeVisLab: A development environment for medical image

processing and visualization, MeVis [Online]. Available: http://www.MeVisLab.de

[13] (2006). Image processing and analysis in Java, ImageJ [Online]. Available:http://rsb.info.nih.gov/ij

[14] (2006). Medical image processing, analysis and visualization, MIPAV[Online]. Available: http://mipav.cit.nih.gov

[15] (2006). A free scientific software package, Scilab [Online]. Available:http://www.scilab.org

[16] (2006). Vis5 d [Online]. Available: http://vis5d.sourceforge.net[17] (2006). VisAD Java visualization [Online]. Available: http://sourceforge.

net/projects/visad[18] (2006). Osirix, 3D DICOM medical viewer for MacOS X [Online]. Avail-

able: http://sourceforge.net/projects/osirix[19] J. Tian, J. Xue, Y. Dai, J. Chen, and J. Zheng, “Novel software platform

for medical image processing and analyzing,” IEEE Trans. Inf. Technol.Biomed., vol. 12, no. 6, pp. 800–812, Nov. 2008.

[20] D. L. Pham, X. Chenyiang, and L. P. Jerry, “A survey of current methods inmedical image segmentation,” Annu. Rev. Biomed. Eng., vol. 2, pp. 315–337, 2000.

[21] H. K. Hahn, F. Link, and H. O. Peitgen, “Concepts for rapid applica-tion prototyping in medical image analysis and visualization,” in Proc.SimVision Visualisierung Conf., 2003, pp. 283–298.

[22] (1991, Feb.). Review of Visualization Systems, 2nd ed. [Online]. Available:http://www.agocg.ac.uk/reports/visual/vissyst/rvsrepor.htm

[23] C. D. Hansen and C. Johnson, The Visualization Handbook. Amsterdam,The Netherlands: Elsevier, 2005.

[24] I. Bitter, R. Van Uitert, I. Wolf, L. Ibanez, and J. M. Kuhnigk, “Comparisonof four freely available frameworks for image processing and visualizationthat use ITK,” IEEE Trans. Vis. Comput. Graph., vol. 13, no. 3, pp. 483–493, May/Jun. 2007.

[25] S. D. Olabarriaga and A. W. M. Smeulders, “Interaction in the segmen-tation of medical images: A survey,” Med. Image Anal., vol. 5, no. 2,pp. 127–142, Jun. 2001.

[26] J. J. Caban, A. Joshi, and P. Nagy, “Rapid development of medical imagingtools with open-source libraries,” J. Digital Imag., vol. 20, pp. 83–93,2007.

[27] L. Ibanez and W. Schroeder. (2003). The ITK Software Guide. CliftonPark, NY: Kitware, Inc. [Online]. Available from: http://www.itk.org/

[28] K. Martin, L. Ibanez, L. Avila, S. Barre, and J. H. Kaspersen, “Integrat-ing segmentation methods from the insight Toolkit into a visualizationapplication,” Med. Image Anal., vol. 9, pp. 579–593, 2005.

[29] E. L. Siegel and R. M. Kolodner, Eds., Filmless Radiology (Health Infor-matics). New York: Springer-Verlag, 1998.

[30] R. A. Vivanco and N. J. Pizzi, “Scientific computing with Java and C++:A case study using functional magnetic resonance neuroimages,” Softw.,Practice Exp., vol. 35, no. 3, pp. 237–254, 2004.

[31] L. Prechelt, “An empirical comparison of C, C++, Java, Perl, Python,Rexx, and Tcl for a search/string-processing program,” Fakultat fur Infor-matik, Univ. Karlsruhe, Karlsruhe, Germany, Tech. Rep. 2000–5, 2000.

[32] R. A. Robb, Biomedical Imaging, Visualization and Analysis. NewYork: Wiley–Liss, 1999.

[33] M. Tory and M. Torsten, “Human factors in visualization research,” IEEETrans. Vis. Comput. Graph., vol. 10, no. 1, pp. 72–84, Jan./Feb. 2004.

[34] W. Schroeder, K. Martin, and W. Lorensen, The Visualization Toolkit: AnObject Oriented Approach to 3-D Graphics, 2nd ed. Old Tappan, NJ:Prentice-Hall, 1998.

[35] M. A. Selver, F. Fischer, M. Kuntalp, and W. Hillen, “A software tool forinteractive generation, representation, and systematical storage of transferfunctions for 3D medical images,” Comput. Methods Programs Biomed.,vol. 86, no. 3, pp. 270–280, 2007.

[36] G. Kindlmann and J. W. Durkin, “Semi-automatic generation of transferfunctions for direct volume rendering,” in Proc. IEEE Vis., 1998, pp. 79–86.

[37] M. A. Selver and C. Guzelis, “Semi-automatic transfer function initializa-tion for abdominal visualization using self generating hierarchical radialbasis function networks,” IEEE Trans. Vis. Comput. Graph., vol. 15, no. 3,pp. 395–409, May/Jun. 2009.

[38] M. A. Selver, A. Kocaoglu, G. Demir, H. Dogan, O. Dicle, andC. Guzelis, “Patient oriented and robust automatic liver segmentationfor pre-evaluation of liver transplantation,” Comput. Biol. Med., vol. 38,no. 7, pp. 765–784, 2008.

[39] S. Liang, The Java Native Interface. Englewood Cliffs, NJ: Prentice-Hall, 1999.

[40] D. Adalsteinsson and J. A. Sethian, “A fast level set method for propagat-ing interfaces,” J. Comput. Phys., vol. 118, pp. 269–277, 1995.

[41] J. Sethian, Level Set Methods and Fast Marching Methods. Cambridge,U.K.: Cambridge Univ. Press, 1996.

[42] L. B. R. Adams, “Seeded region growing,” IEEE Trans. Pattern Anal.Mach. Intell., vol. 16, no. 6, pp. 641–647, Jun. 1994.

[43] H. Dogan, O. Dicle, and C. Guzelis, “Extraction of the liver vessels fromthe abdomen CTA images by Hessian-based vessel filter,” in Proc. 14thNat. Biomed. Eng. Meeting (BIYOMUT), Turkey, 2009, pp. 1–4.

[44] E. F. Steinmetz, C. Buckley, and R. W. Thompson, “Prospects for themedical management of abdominal aortic aneurysms,” Vasc. Endovasc.Surg., vol. 37, no. 3, pp. 151–163, 2003.

[45] U. Tiede, K. H. Hoehne, M. Bomans, A. Pommert, M. Riemer, andG. Wiebecke, “Investigation of medical 3D-rendering algorithms,” IEEEComput. Graph. Appl., vol. 10, no. 2, pp. 41–53, 1990.

[46] T. Schiemann, M. Bomans, U. Tiede, and K. H. Hoehne, “Interactive 3-Dsegmentation,” Proc. SPIE, vol. 1808, pp. 376–383, 1992.

[47] M. E. Wachs, T. E. Bak, F. M. Karrer, G. T. Everson, R. Shrestha, T. E.Trouillot, M. S. Mandell, T. G. Steinberg, and I. Kam, “Adult living donorliver transplantation using a right hepatic lobe,” Transplantation, vol. 66,no. 10, pp. 1313–1316, 1998.

Authors’ photographs and biographies not available at the time of publication.