Design

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

For a successful project there are certain software engineering goals that must be

achieved for maximum impact. Firstly, the software should appeal to the greatest
audience possible. This goal suggests that SimpleITK must be cross platform and
support modern desktop operating systems such as Microsoft Windows, Apple OS X,
and GNU Linux. As observed in our survey, a variety of languages should be supported
and the framework should easily be extendible to other target languages. Also, to make
it easiest for potential users to try the software, there should be binary, downloadable
packages available.

Reliability and quality of the software is also of high importance. If a potential user
downloads the software, and the first thing they try does not work, they may never
invest the time to resolve the issue. To achieve reliability, automatic and manual testing
is a must. The coverage of the code needs to be high to build confidence in the quality
and reliability of the software.

Given that we want to expand the ITK community beyond those who are comfortable
with the current complexities of ITK, certain features should be hidden to enable clearer
access to the core algorithms available in ITK. A common complaint about ITK is the
difficulties with using the templates for image and filter algorithms. To address this
complaint an important objective is to present a template-less abstraction or typeless
layer to the native ITK interface that implicitly handles the ITK templated types. We set
the larger goal of not exposing any templates in the SimpleITK interface.

You might also like