[Introduction] [Objectives] [Features] [Software Architechture]


Introduction

is an open source and portable software for 3D digital image segmentation and visualization. It was developed as graduation thesis of Systems Engineering at Universidad Nacional del Centro de la Provincia de Buenos Aires (UNCPBA), located in Argentina .

It was designed, and implemented by Sebastián Fiorentini [view Resume] (sebasfiorent@yahoo.com.ar) and Ignacio Larrabide [view Resume] (nacholarrabide@yahoo.com) as the College Graduation Thesis.

The next paragraph is the Thesis abstract:

In this work the most effective segmentation methods were studied and implemented, with the purpose of algorithm comparation in terms of performance and quality. Also, a new region-growing method was proposed (VoxelGrow) which performed very well, and in some cases, the results were better compared to the other models, in terms of results quality. A selection of the methods were implemented in the form of a friendly and interactive software tool, which can serve as a visualization system, and can assist in the digital exploration of the original 3D image. Finally, this software tool was used with real 3D images (CT,MRI) showing very good results.

Back to top


Objectives

The main purpose of is 3D image segmentation and visualization.

The principal features can be resumed in the following items:

  1. Loads various 3D images in multiple formats, in a slice per file or volume per file manner. The supported formats up to now are: Structured Points (vtk), BMP, JPEG, PNG, GIF, TIFF, GeSigna (Human Project), RAW (telling all the loading parameters). It's planned the support in DICOM format (help will be appreciated).
  2. Visualize and interact with 3D images and surfaces trying to address real time data exploration. This item is carried out with VTK , a powerful visualization framework.
  3. You can Apply filters to images and surfaces. The filters forms a "mini-pipeline" in the main application pipeline, so the order of them can be exchanged, and their action can be undone. This filters are implemented in TCL, so new filters in execution time can be defined and applied without performance loss.
  4. You can apply different segmentation algorithms. Also, their parameters can be varied. Up to now, the implemented methods are:VoxelGrow (our proposed segmentation method), FastMarching (Level Sets). Its planned to bind every ITK segmentation method in the future.

In the following picture, there are some screenshots thumbnails(click to see in real-size):

In this picture, you can see 3D image visualization and interaction.
In this picture, the filter interface is showed.
In this picture, you can see how surfaces are rendered.

In addition to this functional objectives, the software was designed to be flexible in terms of the functionality that provides, without loss in terms of response-time (interactivity). So, it's possible to define new segmentation methods and define new image/surface processing filters in a very easy way (it's designed totally using Object Oriented techniques).

Back to top


Features

was designed to satisfy the following requirements:

  • The soft must provide an interactive visualization 3D environment. This requirement is accomplished with VTK visualization framework.

  • The soft must provide an uniform interface to accomplish 3D image segmentation, without mattering about the segmentation Method. This requirement is accomplished using Object Oriented techniques and implementing the software with C++ language.

  • The soft must provide an user friendly interface (GUI). FLTK was used for GUI construction.

  • The soft must have an acceptable response time for algorithm execution, and for visualization tasks. C++ and VTK was the solution.

  • The soft must be potable between different platforms. To accomplish this requirement, we implemented the soft in ANSI-C++, and using a portable configuration management scheme like CMake. Also, data structures were programmed using STL (Standard Template Library).

Back to top


Software Architechture

The software is based on a Pipes & Filters architecture. The 3D images enters the pipeline on the left side, and by applying successive data transformations throughout the pipeline, a surface is obtained. The next is the main pipeline implemented:

Back to top


Hosted On SourceForge.net Logo