opment of a full-feature version of the software may
take lots of time, the data have to be modified also
outside the software, i.e. by hand, both in terms of
schema and information (e.g., a new patient added,
a new set of information previously missing). More-
over, most of the data is a sensible one, so the data
management has to provide anonymizing features. At
this point, we mainly have two different choices: (i) a
relational database management system (RDBMS) or
(ii) an XML data management system.
XML and RDBMS are often mixed up to-
gether (Paoin and Boonchai-Apisit, 2009; Taghva
and Jayakumar, 2009) because XML allows to eas-
ily exchange data or to define very complex queries
(more than SQL does in some contexts, e.g., bibliog-
raphy searching) whereas relational databases orga-
nize, store and access data in a more efficient way.
Providing our software with a RDBMS would require
including in the software architecture an external en-
gine to manage a small part of the data: the patient
information. In fact, all imaging-related data, such
as MRI volumes, is not conveniently stored in a re-
lational database. Nevertheless, RDBMS data do not
come in a human-readable (due to data compression
and indexes management), so it ever requires an in-
termediate level of translation to be modified by the
user. Instead, XML data is a more human-readable
format, which can easily handle all patient data and
still permits a direct modification, even outside the
tool. From the architectural point of view, XML en-
gines are usually software classes that can be included
in a software project. In fact, QT contains several dif-
ferent libraries to manipulate XML-based documents.
Thus, we chose to add a XML engine to manipulate
an XML-based database. Since the XML engine is
implemented in QT, it can be plugged in the commu-
nication channel without further modifications.
Confidentiality has been reached by providing the
engine of an encryption module, and by properly de-
signing the GUI not to show the patient’s sensible in-
formation. Eventually, the XML engine also imple-
ment error handling to avoid difficulties during the
user testing phase of the project. Whenever a physi-
cian involved in that phase will corrupt the data for
any reason, it should be easy to solve the problem.
It can be seen that, at architectural level, we
reached a very flexible organization, taking care of
the further implementation of new functionalities that
may arise from the research field.
4 CONCLUSIONS
In this paper we give a comprehensive description of
the tool we are working on. The methodological ap-
proach for all the design aspects has been exploited
in order to give a better insight of the tool function-
alities. Although the software is under development
and still not available outside the IRCC Institute, the
first versions and demos show a promising scenario.
As soon as the main functionality will be considered
as stable, further versions will see a preliminary in-
field test, allowing the use in the diagnostic work-up.
At that development stage we plan to have a big mile-
stone review of the project, including physicians feed-
backs and intensive multi-platform performances test.
The software architecture designed guarantees
that the software lifetime can be extended by eas-
ily adding new modules and partially re-programming
the internal core pipeline. The prototyping approach
is going to be the project guideline for further CAD
projects, contributing to help time and cost reduction.
Eventually, once we’ll reach a proper develop-
ment stage, we plan to further evaluate all feasible
contributions to the ITK and VTK libraries in terms
of modules to be proposed to the community.
REFERENCES
3DSlicer (2013). 3DSlicer Project. http://www.slicer.org.
Baskaran, M., Ramanujam, J., and Sadayappan, P. (2010).
Automatic c-to-cuda code generation for affine pro-
grams. In Gupta, R., editor, Compiler Construction,
volume 6011 of Lecture Notes in Computer Science,
pages 244–263. Springer Berlin Heidelberg.
Betz, K., Leff, A., and Rayfield, J. (2000). Develop-
ing highly-responsive user interfaces with dhtml and
servlets. In Performance, Computing, and Commu-
nications Conference, 2000. IPCCC ’00. Conference
Proceeding of the IEEE International, pages 437–443.
Dawes, B., Abrahams, D., and Rivera, R. (2013).
Boost c++ libraries. [Available Online]:
http://www.boost.org/doc/libs/.
Dickinson, L., Ahmed, H. U., Allen, C., Barentsz, J. O.,
Carey, B., Futterer, J. J., Heijmink, S. W., Hoskin,
P. J., Kirkham, A., Padhani, A. R., Persad, R., Puech,
P., Punwani, S., Sohaib, A. S., Tombal, B., Villers, A.,
van der Meulen, J., and Emberton, M. (2011). Mag-
netic resonance imaging for the detection, localisa-
tion, and characterisation of prostate cancer: Recom-
mendations from a european consensus meeting. Eu-
ropean Urology, 59(4):477 – 494.
Digia plc (2013). QT Project. http://qt-project.org/.
Ferlay, J., Steliarova-Foucher, E., Lortet-Tieulent, J., Rosso,
S., Coebergh, J., Comber, H., Forman, D., and Bray,
F. (2013). Cancer incidence and mortality patterns in
europe: Estimates for 40 countries in 2012. European
Journal of Cancer, 49(6):1374 – 1403.
Giannini, V., Vignati, A., Mazzetti, S., De Luca, M.,
Bracco, C., Stasi, M., Russo, F., Armando, E., and
Regge, D. (2013). A prostate cad system based on
AProstateCancerComputerAidedDiagnosisSoftwareincluding
MalignancyTumorProbabilisticClassification
53