ViMeT and ViMetWizadr: Process of Building a Framework and an Instantiation Tool for Programming Application in Medical Training Domain Using Free Technology |
| |
| Authors: |
| Ana Claudia M.T. Gomes de Oliveira, Faculdade de Tecnologia de Garça; Fatima de Lourdes Nunes Marques, PhD |
| |
| Background: |
Virtual Reality (VR) applications are interesting when used in the development of tools for medical training because they offer interaction in a Virtual Environment (VE) by using mouse and keyboard or non-conventional devices such as gloves, Head Mounted Displays (HMD), joysticks, and haptic devices with force-feedback.[1,2] Computing and communication technologies are widely used in the medical area, and VR has attracted interest since it raised the possibility of studies and the practice of several techniques and medical procedures.[1] The use of VR in medical applications can ensure the substitution of test subjects for the VE with objects modeled to simulate human organs and tissues.[3] There are VR applications for teaching, rehabilitation, medical procedures training, and simulation. Good examples provided by literature are Orthopedic Simulator,[5] prostate cancer diagnosis,[6] and telerehabilitation.[7]
Object-oriented frameworks are like a technique of reuse with the object-oriented paradigm. In this context, a framework can described as a structure of classes that makes available and originates a non-finished application.[8]
VR deals with computer-generated 3D environments and a set of interface tools that allows the user to immerse, navigate, and interact with objects in the VE.[9] Some examples of VR frameworks are the Avango; SSVE (Shares Simple Virtual Environment); Ivory; basho; and SOFA (Simulation Open Framework Architecture), which consists of a structure of classes designed to achieve medical simulation in real time.[10-14].
|
| |
| Evaluation: |
As stated before, VR can be helpful in the medical area in relation to diagnosis; procedures simulation; 3D displaying; and the teaching and training of students and professionals in the medical field. From research previously conducted, it was verified that some pieces of work result in implementation of functionalities that are useful to the medical training, such as accurate collision detection, stereoscopy, and deformation.[1] The ViMet was built to consider this context, by taking advantage of the better characteristics of the techniques and by providing a flexible structure of classes to build applications. In this way, ViMeT consists of an OOF that applies VR techniques that consider virtual medical training as a domain and focus on the development of applications that simulate biopsy exams.[4]
A biopsy exam is a procedure aimed at extracting little parts of organ tissue where an anomaly is suspected. These parts are sent to pathologists to determine a diagnosis. The simulation of such exams requires common tasks related to manipulation of equipment and human body parts, as well as tasks related to necessary feedback for simulating reactions to an action of the user, for instance, to deform any given area of the synthetic object.
Open source technologies were used in the ViMeT development because they imply that several researchers can contribute to the development, in addition to promoting interaction among them. The technologies used in ViMeT were Java Programming Language and its API Java3D, Database Manager System (DBMS) Derby, an educational version of 3D StudioMax for modelling, and Jude for documentation.[15-19]
Among the methodologies for framework development, the one described in [23] was chosen, since the phases defined to the building were considered suitable to the interests of the project. This methodology has six steps as shown in Figure 1(a). Each phase is described, along with the introduction of the manner it was developed to the building of ViMeT and with the input specific to the framework.
The domain analysis step is intended to identify the requirements needed for the framework domain. For the development of ViMeT, the domain analysis was divided into two parts. The first was aimed at obtaining the VR frameworks characteristics, while the second was intended for obtaining details of the medical procedures necessary to simulate biopsy exams. Based on the domain analysis model the framework’s architectural project was designed as shown in Figure 1(b).

Figure 1(a): Methodology Flowchart of ViMeT Building
Figure 1(b): ViMeT Architectural Project
The ViMeTWizard Tool
This tool was developed to make ViMeT instantiation easier. By using the interface, the user can select objects that represent human organs and medical instruments; define those objects’ characteristics in relation to scale, translation, and rotation; and define which functionalities will be part of the application.
After choosing the characteristics and objects, the system creates the VE, generates the code source, and compiles the code, thus generating an application. Every selected characteristic is stored in the database for future alterations or views. With the generation of the code source, the user can include particular application characteristics generating a derived application. Figure 2 shows the development of an application and presents the “Application” guide, in which the user can create the new application; save, open, and create source codes; and run applications. The development of the ViMeTWizard required the use of a DBMS to store data of the modeled objects and generated applications. In order to facilitate the instantiation of the ViMeT classes, the DBMS used was simple. Thus the Derby was chosen because it constitutes a simple Java API.[17]

Figure 2: Example of an application development by using ViMeTWizard
|
| |
| Discussion: |
The expected results of a framework: (1) are the reuse of classes in order to generate new applications, (2) the ease of the development, and (3) the guarantee that the applications have the characteristics defined in the domain analysis. As mentioned before, there are two ways of using the ViMeT: direct instantiation of the classes, and instantiation by means of the ViMeTWizard. To verify the results of the five virtual objects it selected, two referred to medical equipment and three referred to human organs, as determined in the domain analysis (Figure 3).

Figure 3: Objects simulating medical instruments and human organs
In figure 4(a) an application generated with the assistance of the ViMeTWizard is presented. Figure 4(b) shows the source code generated by the tool. From the developed process and results it was possible to notice the methodology used when building the ViMeT.[4] It did not have instructions for the reuse of the source code of other applications in the development of a framework. The source code generated can be adapted by habitually developing the Java programming language to customize new applications, and the application generated by means of the ViMeTWizard can be generated a number of times until the expected resulted is obtained.

Figure 4(a): ViMeTWizard Interface with an example of an application development
Figure 4(b): Source code generated through ViMeTWizard
|
| |
| Conclusion: |
This paper presents the complete development process of an object-oriented framework for medical training using VR techniques including deformation, collision detection, stereoscopy, dynamic building, and VE manipulation. One of the requirements when implementing ViMeT was a structure of classes that allow the integration of new functionalities and other interaction devices. Such purposes were achieved with the help of the objected-orientation paradigm, using Java programming language and its Java3D API. In this manner, it was confirmed that, by using a framework, it is possible to avoid the dependency of a single developer. Java 3D API also allowed the reduction in the number of classes because it made possible the building of a hierarchic structure of classes composed of super classes, subclasses, and methods that facilitated the implementation of VEs with a number of already foreseen functionalities.
According to the results obtained in case studies, it can be verified that ViMeT performance is highly satisfactory, and that every expected result with implementation was achieved. Initial demonstrations for medical professionals show that the tools have full potential to be included in medical teaching in the near future. |
| |
| References: |
[1] Oliveria ACMTG, Pavarini, L, Nunes, FLS, Botega LC, Justo DR, Bezerra A. (2006b) Virtual Reality Framework for Medical Training: Implementation of a deformation class using Java. In: ACM SIGGRAPH INTERNATIONAL CONFERENCE ON VIRTUAL-REALITY CONTINUUM AND ITS APPLICATIONS IN INDUSTRY, 2006, Hong Kong. Proceedings… Nova York: ACM Press. 2006;347-351.
[2] Liu A, Tendick F, Cleary K, Kaufmann C. “A Survey of Surgical Simulation: Application, Technology and Education.” In: MIT Press, vol. 12, Dezembro, 2003.
[3] Cagatay Basdogan, Mert Sedef, Matthias Harders, Stefan Wesarg, "VR-Based Simulators for Training in Minimally Invasive Surgery," IEEE Computer Graphics and Applications ,vol. 27, no. 2, pp. 54-66, March/April, 2007.
[4] NUNES, Fátima de Lourdes dos Santos ; OLIVEIRA, Ana Claudia M T Gomes de ; ROSSATO, Danilo Justo ; MACHADO, Maria Istela Cagnin . ViMeTWizard: Uma ferramenta para instanciação de um framework de Realidade Virtual para treinamento médico. In: XXXIII Conferencia Latinoamericana de Informática, 2007, San José. Proceedings of XXXIII Conferencia Latinoamericana de Informática, 2007. v. 1. p. 1-8.
[5] Sourin A. Virtual Orthopedic Surgery Training. IEEE Computer Graphics and Applications, v. 20, p. 6-9.
[6] Burdea G, Patounakis G, Popescu V, Weiss RE. Virtual Reality-Based Training for Diagnosis of Prostate Cancer. IEEE Transactions on Biomedical Engineering, v. 46, n.10, p. 1253-1260.
[7] Costa R, Carvalho L. The Acceptance of Virtual Reality Devices for Coginitive Rehabilitation: a report of poisitive results with schizophrenia. Computer Methods and Programa in Biomedicine, v. 73, n3, p.173-182.
[8] Fayad M, Johnson R, Schmidt D. Building Application Frameworks: Object-Oriented Foundation of Frameworks Design. Nova Iorque: John Wiley & Sons, 1999.
[9] Greenleaf, W. (2004) “Medical Applications of Virtual Reality”. Disponível em: <http://www.greenleafmed.com/publications/VR%20Med%20overview.pdf >Acesso em : novembro de 2005.
[10] Tramberend H. Avango: A Distributed Virtual Reality Framework. In: Proceedings…. Afrigraph '01, ACM, 2001.
[11] Linebarger JM. Janneck CD, Kessler GD. (2005) “Shared Simple Virtual Environment: An Object-Oriented Framework for Highly-Interactive Group Collaboration”. In: Proceedings… 7th IEEE DS-RT Conference. 2003;170-180. Disponível em: < http://www.cse.lehigh.edu/~dkessler/Publications/LinebargerDS-RT2003.pdf >. Acesso em: 9 set. 2005
[12] Sprenger TC, Gross M, Bielser D, Strasser T. “IVORY - An Object-Oriented Framework for Physics-Based Information Visualization in Java” In: Proceedings… of the IEEE Symposium on Information Visualization (InfoViz'98), IEEE CS Press. 1998;79-86.
[13] Hinkenjann A, Mannub F. “basho – A Virtual Environment Framework” In: Proceedings VII Symposium on Virtual Reality. São Paulo: SBC – Brazilian Computer Society. 2004;344–346.
[14] Allard J, Cotin S, Faure F, et al. “SOFA – an Open Source Framework for Medical Simulation” In: Proceedings…MMVR, 2007.
[15] Sun. The JavaTM Tutorial. Disponível em: < http://java.sun.com/docs/books/tutorial>. Acesso em: jun. 2006a.
[16] Sun (2007) “Java 3D API Tutorial”. Circulation Electronic Pages: http://java.Sun.com/developer/onlineTraining/java3D.
[17] Apache. Apache Derby Tutorial. Disponível em: <db.apache.org/derby/papers/DerbyTut/index.html>
[18] 3D Studio Max – Autodesk 3ds Max - Site Oficial, Disponível em: <http://www4.discreet.com/3dsmax>, acesso em: nov. 2006.
[19] Jude UML Modeling Tool. http://jude.change-vision.com/jude-web/product/community.html
[20] Pree, W. (1996) “Building Application Frameworks: Object-Oriented Foundations of Framework Design”, John Willey and Sons, Nova Iorque, pp. 379-393, 1990.
[21] Fayad, M. E., Schmidt, D. C. and R. Johnson (1999) “Building Application Frameworks: Object-Oriented Foundation of Frameworks Design” John Wiley & Sons, Nova Iorque, p. 3-27.
[22] Roberts, D. and. Johnson., R. (1996) “Evolving Frameworks: A pattern language for developing object-oriented Frameworks”. In: Proceedings… of Pattern Languages of Programs, Illinois, 1996.
[23] Bosch J, Molim P, Mattsson M, Bengtsson P, Fayad ME. “Building Application Frameworks: Object-Oriented Foundations of Framework Design”, John Willey and Sons, Nova Iorque. 1999;55-82. |
| |
|
|
| |
| |
|