04 septiembre, 2014

Herramientas para desarrollar en 3D Slicer


Todo un desafío !! Lograr adivinar el mejor ambiente de desarrollo para poder avanzar de forma adecuada en un proyecto es toda una tarea de días de lectura e intentos. Sin embargo, no hay nada como poder tener un proyecto bien configurado con herramientas que permitan avanzar rápidamente en el desarrollo gracias al autocomplete o a simples vistas de clases y métodos adicionales. Además, siempre es ideal y es bastante útil tener una herramienta para depurar el código y saber qué sucede en ejecución. Todo esto es aun más requerido en Linux para quienes no somos los más expertos y más amigos de trabajar todo en consola.

Es por eso que luego de hacer intentos progresivos y de leer varias formas para llevar a cabo esta configuración adecuadamente en el desarrollo de nuevas extensiones o módulos para 3D Slicer (o simplemente Slicer), quiero detallar mi configuración con el proyecto ejemplo que generé en el tutorial mismo de esta herramienta para Loadable modules.

Antes que nada quiero decir que soy un seguidor sin medida de los desarrollos de Kitware. Slicer, VTK, ITK, CMake, ParaView, Kiwi, .... Sin embargo, siempre que quiero ir a los detalles y quizas contribuir al código, me cuesta bastante entender todo lo que hay por dentro. Quizas es más sencillo con alguien con más experiencia al lado guiándolo, pero esta comunidad no está tan expandida aún entre los grupos de tratamiento de señales y es difícil encontrar las personas motivadas para tener ese tipo de colaboración. Pocas veces he logrado configurar y servirme de un Depurador con estas herramientas. Aun así, creo que es ideal para entender el código mucho más rápido y entender a qué se tiene acceso en cada punto del código. Recomiendo ampliamente realizar esta configuración antes de empezar a hacer desarrollos puntuales.

Detalles de mi máquina y prerequisitos 


  - SO: Ubuntu 14.04
  - Para compilar Slicer 4, seguí las indicaciones disponibles en la página. Para esto se requiere compilar e instalar cmake 2.8 y qt 4.8.6. Al final se podrá ejecutar Slicer desde la carpeta SLICER_BUILD_PATH/Slicer-build/Slicer