2010 Summer Project Week SPECTRE
Key Investigators
- BWH: Nicole Aucoin
- JHU: Min Chen
Objective
Further integration of the Java SPECTRE skull stripping module into Slicer3.
Specific potential enhancements include:
- CMake module integration using Ant to build SPECTRE.
- Fixing/replacing the outdated tck wrappers with Python wrappers.
- Core components of SPECTRE currently act independently, could be homogenized.
Approach, Plan
Our approach is to integrate SPECTRE as an extension. The main challenge to this approach is setting up a web site with a stable jar file and tcl wrapper.
Our plan for the project week is to first try out a temporary location for the jar file and tcl wrapper and then come up with a plan for updates.
SPECTRE outputs will be modified to be compatible with Slicer image types(i.e. intensity, mask, etc.)
Progress
Tcl wrapped Java jar files have been integrated into Slicer3 already, so hopefully no major infrastructure changes will be required.
Worked closely with Dave Partyka from Kitware to create CMakeLists.txt files so that the SPECTRE project can be built by:
- checking out .java classes from various repositoires
- compiling them into .class files
- sorting out dependencies
- extracting the .class files from the .jar files in the lib directories of the repository checkouts
- generating a list of all the .class files and using that to create a jar file
- created a SPECTRE.tcl.in file that we configure from CMake to set the MIPAV and SPECTRE_Slicer.jar paths
Setting the extension directory to the top level directory where we put the main CMakeLists.txt file and the SPECTRE.tcl.in file, Slicer3 discovers the module and loads it as a command line module.
TODO: clean up the cmake files, set up the files we created as a separate cvs repository that we can check out as anon public. Write a find package cmake file for MIPAV.
Once it's been copied to local disk, run cmake to configure and generate, and then build to check out the source code from nitrc and build it.
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a:
- ITK Module
- Slicer Module
- Built-in
- Extension -- commandline YES
- Extension -- loadable
- Other (Please specify)