Itk y vtk: ingeniería inversa y análisis de arquitectura pipeline



Yüklə 125,12 Kb.
səhifə5/5
tarix26.10.2017
ölçüsü125,12 Kb.
#15270
1   2   3   4   5

Validación


Como se mencionó previamente en el numeral 4: Descripción de la Solución, se propone como validación de la arquitectura encontrada un prototipo de una interfaz no robusta que se pueda utilizar como editor, creador y probador de pipelines, en donde se incluyan los objetos hallados en el proceso de ingeniería inversa. Por lo tanto se realizó una especificación de Casos de Uso para definir cuáles eran las interacciones entre esta interfaz y el usuario y así lograr un primer acercamiento al entendimiento de lo que se necesitaba incluir. Teniendo una idea del funcionamiento del prototipo se realizó la especificación de los Requerimientos, y luego de tener claro cómo tendría que funcionar se pasó a realizar un diseño de una interfaz por medio de Mockups para tener presente todos los elementos que debería incluir el prototipo que permitiera el acceso a todas las funcionalidades propuestas.
  1. Validación y Resultados


Como resultado se obtuvo una interfaz que tiene las funcionalidades de un editor de tuberías y filtros, que al igual a herramientas como Khoros, permite la creación, edición y ejecución de pipelines. El propósito del mismo es permitir la creación de algoritmos de procesamiento a través de un lenguaje de programación visual a partir del canvas, para permitirle a los procesadores de imágenes la creación de nuevos algoritmos sin la necesidad de un amplio conocimiento en programación. Este prototipo además provee la documentación necesaria para permitir que en un futuro se le realicen modificaciones al código; especialmente teniendo en cuenta de que como el proyecto fue planeado para ser realizado por dos personas, no hubieron los recursos suficientes para realizar la validación completa en donde se incorporen las librerías al prototipo, por lo que ésta se propone realizar en trabajos futuros. Sin embargo, se pudo realizar una validación de la investigación realizada en un proyecto que el ingeniero Leonardo Flórez realizó en Francia, en donde se pudieron validar la veracidad de los resultados y diagramas resultados de la investigación de la librería de ITK, ya que incorporó los conocimientos obtenidos en el desarrollo del trabajo. Este se trata de un sistema de plugins que le permite a los procesador de imágenes y a los radiólogos la realización más rápida de algoritmos de procesamiento, ya que el conocimiento en programación requerido es mínimo, y solo se debe hacer uso de unos templates para el procesamiento de las imágenes.
  1. Análisis de Impacto


  • Impacto Disciplinar: Se propuso un nuevo medio para el desarrollo de pipelines para el procesamiento de imágenes que pretende propiciar el desarrollo de nuevas herramientas y algoritmos en esta disciplina.

  • Impacto Social: A largo plazo, el desarrollo de algoritmos para la visualización y análisis de imágenes médicas, realizados a partir de la información provista o el editor de pipelines, permitirá el diagnostico pronto y preciso de enfermedades.

  • Impacto Académico: Así mismo, en el área académica de la medicina se brindarán nuevos métodos para el estudio del cuerpo y realización de entrenamientos a partir de los algoritmos desarrollados.

  • Impacto Económico: Tanto el editor de nodos como los resultados obtenidos son libres y por lo tanto el desarrollo a partir de estas herramientas no tiene costo, lo que implica un ahorro en la economía de tanto los desarrolladores como para los médicos interesados en los procesos que se realicen a partir de estos.


  1. Conclusiones


Los primeros pasos hacia lo que hoy es el procesamiento de imágenes médicas se dieron en la década de 1970, en donde se presentaron visualizaciones en 3D de datos de tomografías computarizadas[35]. Hoy en día, cuatro décadas después este campo de las ciencias de la computación, en asociación con la medicina, a evolucionado a un punto en donde se pueden detectar anomalías pequeñas, lo que, entre otras cosas, ha contribuido en la detección temprana de cáncer. Al mismo tiempo, esta tecnología ha provisto de técnicas para el aprendizaje y práctica de médicos en entrenamiento en donde pueden usar herramientas que simulan procedimientos quirúrgicos. Sin embargo aún existe mucho campo para el mejoramiento en la precisión y realismo de las imágenes, así como la necesidad de la reducción de los costos[35]. Es por estas razones que se hace necesario en el ámbito del procesamiento de imágenes que los desarrolladores continúen en el trabajo del mejoramiento y creación de nuevos algoritmos, para que en colaboración se presenten nuevas herramientas y métodos de procesamiento que apoyen a los médicos en su disciplina. Es por esta razón que hoy en día surgen grupos de investigación que se dediquen a aportar en esta disciplina, incluyendo este proyecto de grado. Por lo tanto se realizó una investigación sobre dos librerías que han sido parte fundamental de muchas herramientas de procesamiento de imágenes, ya que al comprender la arquitectura de la misma, se pueden aprovechar y generar nuevos métodos de procesamiento de imágenes.

El análisis de los toolkits para la realización de esta investigación es el primer objetivo cumplido, ya que se realizó un proceso de ingeniería inversa en donde se identificaron a partir de los resultados obtenidos, los objetos claves en el procesamiento de su arquitectura. A partir de estos resultados se realizó una investigación de la interacción entre los objetos para poder llegar a los resultados que fueron los diagramas y explicaciones sobre sus interacciones, este era el segundo objetivo. El último objetivo fue la realización del prototipo el cuál es una interfaz que permite la edición de pipelines, que permitirá la validación de los objetos identificados y sus interacciones y cuyo propósito es, cuando este terminado, brindar un medio para la creación de nuevos algoritmos de procesamiento sin necesidad de un conocimiento experto sobre programación. Este último se cumplió realizando un proceso de análisis previo, realizando Casos de Uso, Requerimientos, y un diseño de la interfaz para poder comprender todos los componentes y funcionamiento que debía tener, los cuales se realizaron haciendo uso de la herramienta QT Developer.

Durante el desarrollo de estos objetivos se aprendió, primero que todo, que la ingeniería inversa es un proceso mucho más tedioso de lo que en un principio concebí, por el hecho de que las herramientas que realizan estos procesos no captan las interacciones de las clases, y por lo tanto no brindan mucha información al respecto excepto por las clases, sus atributos y métodos. Pero cuando se trabaja con librerías como éstas que tienen más de mil clases, la información además es difícil de leer. Afortunadamente la documentación de estas librerías aportó muchísimo para la realización de la investigación ya que son bastante completas, y todas las clases tienen su explicación, por lo tanto valoro muchísimo más la realización de una buena documentación de código, ya que no se sabe cuan necesaria va a ser esta en el futuro. Al mismo tiempo, con respecto al desarrollo del prototipo, queda como aprendizaje, primero que todo, que es necesario conocer muy bien la herramienta de desarrollo que se está usando para poder realizar una buena estimación de tiempos. La curva de aprendizaje de QT fue más larga de lo que fue estimado, y el tiempo que se llevaron realizar las funcionalidades principales fue hasta el doble de lo pensado. Sin embargo la razón por la cuál es tanto el tiempo que conlleva aprender es por que la herramienta brinda muchas funcionalidades, y esto fue fundamental en el desarrollo, ya que fue ideal para realizar lo que se necesitaba, y al mismo tiempo esto me ayudó como un curso intensivo de QT el cuál se quedará como un conocimiento para el desarrollo de aplicaciones en un futuro.

Por lo tanto, teniendo en cuenta de que es necesario, para la medicina, la realización de algoritmos de procesamiento más precisos para poder obtener diagnósticos más certeros y más rápidamente, se realizó una investigación sobre la arquitectura de las librerías ITK y VTK en donde se obtuvo el análisis de las interacciones entre sus componentes y los diagramas respectivos para su explicación. A partir de esto se propuso, y se realizó, un prototipo de una interfaz que proporciona un lienzo (canvas) de edición, creación y ejecución de pipelines la cual pretende aportar un nuevo medio de creación de flujos de procesamiento de imágenes, a partir de la investigación realizada. Así mismo, aún falta desarrollo sobre esta herramienta para poder obtener una versión cien porciento funcional, y por lo tanto se propone su finalización como trabajo futuro, y a la vez el desarrollo de algoritmos de procesamiento innovadores a partir de esta y la investigación realizada. Por otro lado, gracias al resultado de la investigación realizada de las librerías, se desarrolló un sistema de plugins para agilizar el trabajo de los expertos en análisis con los expertos en procesamiento de imágenes en el marco de un proyecto ECOS-Nord, realizado por el ingeniero Leonardo Flórez Valencia. De igual forma se espera que en el futuro, además, existan nuevas herramientas para el análisis de datos médicos el cuál pueda aportar a la evolución de las investigaciones y procedimientos médicos, para poder brindar a la sociedad una mejor calidad de vida.


IV- REFERENCIAS Y BIBLIOGRAFÍA


[1]

H. He, J. Tian, M. Zhao, J. Xue, y K. Lu, «3D Medical Imaging Computation and Analysis Platform», en IEEE International Conference on Industrial Technology, 2006. ICIT 2006, 2006, pp. 1160-1165.

[2]

«9 - Programming with FLUID». [En línea]. Disponible en: http://www.fltk.org/doc-1.1/fluid.html. [Accedido: 22-nov-2014].



[3]

D. Garlan y M. Shaw, «An Introduction to Software Architecture», Computer Science Department, ene. 1994.

[4]

J. M. Selman, «Aplicaciones clínicas del procesamiento digital de imágenes médicas», Revista Médica CLC, vol. 15, n.o 2, abr. 2004.



[5]

«Astah Professional Overview | Astah.net». [En línea]. Disponible en: http://astah.net/editions/professional. [Accedido: 22-nov-2014].

[6]

C. R. Johnson y D. M. Weinstein, «Biomedical Computing and Visualization», en Proceedings of the 29th Australasian Computer Science Conference - Volume 48, Darlinghurst, Australia, Australia, 2006, pp. 3–10.



[7]

«C++ Reverse Engineering | Astah.net». [En línea]. Disponible en: http://astah.net/features/cpp-reverse-plugin. [Accedido: 22-nov-2014].

[8]

«Common Implementations - Khoros». [En línea]. Disponible en: http://homepages.inf.ed.ac.uk/rbf/HIPR2/impkhor.htm. [Accedido: 23-nov-2014].



[9]

«Comp201 StarUML Tutorial». [En línea]. Disponible en: https://www.clear.rice.edu/comp201/07-spring/info/staruml/. [Accedido: 23-nov-2014].

[10]

I. Bitter, R. Van Uitert, I. Wolf, L. Ibanez, y J.-M. Kuhnigk, «Comparison of four freely available frameworks for image processing and visualization that use ITK», Visualization and Computer Graphics, IEEE Transactions on, vol. 13, n.o 3, pp. 483–493, 2007.



[11]

L. Bolc, R. Tadeusiewicz, L. J. Chmielewski, y K. Wojciechowski, Eds., Computer Vision and Graphics, vol. 7594. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012.

[12]

«CreaTools Home Page | CREATIS». [En línea]. Disponible en: http://www.creatis.insa-lyon.fr/site/en/CreaTools_home. [Accedido: 19-nov-2014].



[13]

M. H. Hoyos, E. D. Serrano, E. C. Agudelo, J. T. González, R. C. Jérez, F. A. Gutierrez, L. Flórez-Valencia, C. Mouton, M. Orkisz, y others, «CreaTools: una plataforma para desarrollo de software de procesamiento de imágenes médicas. Aplicación a la segmentación de arterias coronarias y a la detección automática de lesiones en imágenes de angioTAC», en Congreso Colombiano de Radiología, 2012.

[14]

R. Corredor, «Design and Development of the BlackBox Tool Kit (BBTK): Graphic Pipelines Editor», 2010.



[15]

M. Chavarri Díaz y R. M. Lloret Lloreis, «Diágnostico por la imágen», en El sistema integrado de información clínica, pp. 209-236.

[16]

«Enterprise Architect Trial - Sparx Systems». [En línea]. Disponible en: http://www.sparxsystems.com.au/products/ea/trial.html. [Accedido: 23-nov-2014].



[17]

«Enterprise Architect - UML Design Tools and UML CASE tools for software development». [En línea]. Disponible en: http://www.sparxsystems.com/products/ea/. [Accedido: 23-nov-2014].

[18]

«Episteme :: Revista Académica Electrónica». [En línea]. Disponible en: http://www.uvmnet.edu/investigacion/episteme/numero10-07/reportes/a_sisVilla.asp. [Accedido: 20-nov-2014].



[19]

C. R.-N. Kicillof, «Estilos arquitectónicos».

[20]

«Fast Light Toolkit - Fast Light Toolkit (FLTK)». [En línea]. Disponible en: http://www.fltk.org/index.php. [Accedido: 22-nov-2014].



[21]

«FLUID - Wikipedia, the free encyclopedia». [En línea]. Disponible en: http://en.wikipedia.org/wiki/FLUID. [Accedido: 22-nov-2014].

[22]

T. Pun, G. Gerig, y O. Ratib, «Image analysis and computer vision in medicine», Computerized Medical Imaging and Graphics, vol. 18, n.o 2, pp. 85–96, 1994.



[23]

«ITK: Class Index». [En línea]. Disponible en: http://www.itk.org/Doxygen/html/classes.html. [Accedido: 16-nov-2014].

[24]

«ITK: itk::DataObject Class Reference». [En línea]. Disponible en: http://www.itk.org/Doxygen/html/classitk_1_1DataObject.html. [Accedido: 16-nov-2014].



[25]

«ITK - Segmentation & Registration Toolkit». [En línea]. Disponible en: http://www.itk.org/. [Accedido: 27-nov-2014].

[26]

«Khoral Inc: Custom Software Development and Khoros Pro Integrated Development Environment». [En línea]. Disponible en: http://khoral.com/. [Accedido: 22-nov-2014].



[27]

«Khoros». [En línea]. Disponible en: http://www.agocg.ac.uk/reports/visual/vissyst/dogboo_4.htm. [Accedido: 23-nov-2014].

[28]

«Kitware - News: VolView 3.4 Released». [En línea]. Disponible en: http://www.kitware.com/news/home/browse/ITK%3F2011_07_20%26VolView+3.4+Released. [Accedido: 21-nov-2014].



[29]

M. J. McAuliffe, F. M. Lalonde, D. McGarry, W. Gandler, K. Csaky, y B. L. Trus, «Medical Image Processing, Analysis & Visualization in Clinical Research», en Proceedings of the 26th IEEE International Symposium on Computer-Based Medical Systems, Los Alamitos, CA, USA, 2001, vol. 0, p. 0381.

[30]

«Medical Image Processing, Analysis and Visualization». [En línea]. Disponible en: http://mipav.cit.nih.gov/. [Accedido: 16-nov-2014].



[31]

«MIPAV — Bio-Formats 5.0.6 documentation». [En línea]. Disponible en: http://www.openmicroscopy.org/site/support/bio-formats5/users/mipav/. [Accedido: 17-nov-2014].

[32]

«Overview - wxWidgets». [En línea]. Disponible en: https://www.wxwidgets.org/about/. [Accedido: 22-nov-2014].



[33]

C. V. Ramamoorthy y H. F. Li, «Pipeline architecture», ACM Computing Surveys (CSUR), vol. 9, n.o 1, pp. 61–102, 1977.

[34]

D. West, «Planning a Project with the Rational Unified Process». ago-2002.



[35]

F. p. Vidal, F. Bello, K. w. Brodlie, N. w. John, D. Gould, R. Phillips, y N. j. Avis, «Principles and Applications of Computer Graphics in Medicine», Computer Graphics Forum, vol. 25, n.o 1, pp. 113-137, mar. 2006.

[36]

A. Restrepo, «Procesamiento de imágenes médicas», Revista Universidad EAFIT, vol. 34, n.o 110, pp. 86-92, jul. 2012.



[37]

«Qt Creator : Developing Widget Based Applications | Documentation | Qt Project». [En línea]. Disponible en: http://qt-project.org/doc/qtcreator-2.5/creator-using-qt-designer.html. [Accedido: 22-nov-2014].

[38]

«Qt Project». [En línea]. Disponible en: http://qt-project.org/. [Accedido: 22-nov-2014].



[39]

«RaC-PFE-IF-INSAv2.pdf». .

[40]

J. J. Caban, A. Joshi, y P. Nagy, «Rapid Development of Medical Imaging Tools with Open-Source Libraries», J Digit Imaging, vol. 20, n.o 1, pp. 83-93, nov. 2007.



[41]

«Rational Unified Process: Best Practices for Software Development Teams». Rational Software White Paper, nov-2001.

[42]

H. Handels, H.-P. Meinzer, T. M. Deserno, y T. Tolxdorff, «Special issue: BVM 2009 Advances and recent developments in medical image computing», Int J CARS, vol. 5, n.o 6, pp. 555-556, nov. 2010.



[43]

«StarUML - Descargar». [En línea]. Disponible en: http://staruml.softonic.com/. [Accedido: 23-nov-2014].

[44]

L. Ibáñez y B. King, «The Architecture of Open Source Applications(Volume 2): ITK». .



[45]

B. Geveci y W. Schroeder, «The Architecture of Open Source Applications: VTK». .

[46]

W. J. Schroeder, K. M. Martin, y W. E. Lorensen, «The Design and Implementation of an Object-oriented Toolkit for 3D Graphics and Visualization», en Proceedings of the 7th Conference on Visualization ’96, Los Alamitos, CA, USA, 1996, p. 93–ff.



[47]

K. Konstantinides y J. R. Rasure, «The Khoros software development environment for image and signal processing», IEEE Transactions on Image Processing, vol. 3, n.o 3, pp. 243-252, may 1994.

[48]

I. Wolf, M. Nolden, T. Böttger, I. Wegner, M. Schöbinger, M. Hastenteufel, T. Heimann, H.-P. Meinzer, y M. Vetter, «The MITK approach», en Proc MICCAI Workshop: Open-Source Software, 2005.



[49]

«UML tools for software development and modelling - Enterprise Architect UML modeling tool». [En línea]. Disponible en: http://www.sparxsystems.com.au/. [Accedido: 23-nov-2014].

[50]

C. D. Hansen y C. R. Johnson, Visualization Handbook. Academic Press, 2011.



[51]

«VolView». [En línea]. Disponible en: http://www.kitware.com/opensource/volview.html. [Accedido: 21-nov-2014].

[52]

«VPH Institute | Virtual Physiological Human - International non-profit organisation». [En línea]. Disponible en: http://www.vph-institute.org/. [Accedido: 22-nov-2014].



[53]

«VTK: Class Index». [En línea]. Disponible en: http://www.vtk.org/doc/nightly/html/classes.html. [Accedido: 16-nov-2014].

[54]

«VTK - The Visualization Toolkit». [En línea]. Disponible en: http://www.vtk.org/. [Accedido: 27-nov-2014].



[55]

«VTK/Tutorials/New Pipeline - KitwarePublic». [En línea]. Disponible en: http://www.vtk.org/Wiki/VTK/Tutorials/New_Pipeline. [Accedido: 16-nov-2014].

[56]

«VTK/VTK 6 Migration/Overview - KitwarePublic». [En línea]. Disponible en: http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Overview. [Accedido: 16-nov-2014].



[57]

«VTK: vtkAbstractElectronicData Class Reference». [En línea]. Disponible en: http://www.vtk.org/doc/release/5.10/html/classvtkAbstractElectronicData.html. [Accedido: 27-nov-2014].



[58]

«wxWidgets: Cross-Platform GUI Library». [En línea]. Disponible en: https://www.wxwidgets.org/. [Accedido: 22-nov-2014].


IV - ANEXOS

Anexo 1. Especificación de los Casos de Uso

Anexo 2. Especificación de los Requerimientos

Anexo 3. Documentación del Código



Yüklə 125,12 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin