Difference between revisions of "Support for Batch Processing"

From NAMIC Wiki
Jump to: navigation, search
 
Line 6: Line 6:
 
To develop a command liner interface for the BRAINS3 project that will support batch processing with no graphical user interface. We have decided to use TCL because it integrates fully with our existing infrastructure. Present BRAINS3 consists of linking together three extensions of the TCL scripting language: ITK, VTK, and BRAINS2. For VTK, the TCL scripting is turned on using CMake. The VTK command line can be invoked from the BRAINS3 wish shell using the command
 
To develop a command liner interface for the BRAINS3 project that will support batch processing with no graphical user interface. We have decided to use TCL because it integrates fully with our existing infrastructure. Present BRAINS3 consists of linking together three extensions of the TCL scripting language: ITK, VTK, and BRAINS2. For VTK, the TCL scripting is turned on using CMake. The VTK command line can be invoked from the BRAINS3 wish shell using the command
  
  %package require VTK
+
  % package require VTK
  
  
 
ITK TCL command line is generated using WrapITK. This results in a very large package because all of the filters are created in both 2D and 3D for multiple data types. We will need to investigate how to reduce this memory footprint either by using fewer data types or loading and unloading various filters as they are used. This will require a better understanding of the dependency that filters have. This can be obtained from the Doxygen documentation generated for ITK.
 
ITK TCL command line is generated using WrapITK. This results in a very large package because all of the filters are created in both 2D and 3D for multiple data types. We will need to investigate how to reduce this memory footprint either by using fewer data types or loading and unloading various filters as they are used. This will require a better understanding of the dependency that filters have. This can be obtained from the Doxygen documentation generated for ITK.
  
Presently, the entire BRAINS2 command line interface is exposed in the TCL scripting layer. This is presently being used only for ROIs and Talairach parameters. This portion of the code should be updated and then all of the old infrastructure can be eliminated from this layer.
+
  % package require Insight
 +
 
 +
 
 +
Presently, the entire BRAINS2 command line interface is exposed in the TCL scripting layer. This is presently being used only for ROIs and Talairach parameters. This portion of the code should be updated and then all of the old infrastructure can be eliminated from this layer. This layer is always exposed by running the BRAINS3 program.
  
  
  
 
'''Progress:'''
 
'''Progress:'''
* The BRAINS3 build system is being updated that will allow for integration of ITK, VTK, Slicer3, and BRAINS3 TCL command lines within a single executable. Adapters will then need to be written to pass data between these systems.
+
*TCL Command Language exists
* ITK-VTK already exists with WrapITK wrapping.
+
*Converters from BRAINS to ITK, and vice-versa exist
* BRAINS3-ITK exists and needs to be wrapped with WrapITK.
+
*Converters from VTK to ITK, and vice-versa exist
* Need to determine how to get Data into slicer from VTK or ITK.
+
*Several scripts exist for the automated BRAINS analysis pipeline
 +
 
 +
 
 +
'''To Do:'''
 +
*Optimize the memory requirements for the TCL command line
 +
*Verify that memory is being freed correctly
 +
 
  
 
'''Key Investigators:'''
 
'''Key Investigators:'''
  
* University of Iowa: Vincent Magnotta, Hans Johnson, Nancy Andreasen
+
* University of Iowa: Vincent Magnotta, Hans Johnson, Greg Harris, Nancy Andreasen
 
* The MIND Institute: Jeremy Bockholt
 
* The MIND Institute: Jeremy Bockholt
  

Latest revision as of 21:33, 10 December 2008

Home < Support for Batch Processing

Back to NA-MIC Brains Collaboration


Objective:

To develop a command liner interface for the BRAINS3 project that will support batch processing with no graphical user interface. We have decided to use TCL because it integrates fully with our existing infrastructure. Present BRAINS3 consists of linking together three extensions of the TCL scripting language: ITK, VTK, and BRAINS2. For VTK, the TCL scripting is turned on using CMake. The VTK command line can be invoked from the BRAINS3 wish shell using the command

% package require VTK


ITK TCL command line is generated using WrapITK. This results in a very large package because all of the filters are created in both 2D and 3D for multiple data types. We will need to investigate how to reduce this memory footprint either by using fewer data types or loading and unloading various filters as they are used. This will require a better understanding of the dependency that filters have. This can be obtained from the Doxygen documentation generated for ITK.

 % package require Insight


Presently, the entire BRAINS2 command line interface is exposed in the TCL scripting layer. This is presently being used only for ROIs and Talairach parameters. This portion of the code should be updated and then all of the old infrastructure can be eliminated from this layer. This layer is always exposed by running the BRAINS3 program.


Progress:

  • TCL Command Language exists
  • Converters from BRAINS to ITK, and vice-versa exist
  • Converters from VTK to ITK, and vice-versa exist
  • Several scripts exist for the automated BRAINS analysis pipeline


To Do:

  • Optimize the memory requirements for the TCL command line
  • Verify that memory is being freed correctly


Key Investigators:

  • University of Iowa: Vincent Magnotta, Hans Johnson, Greg Harris, Nancy Andreasen
  • The MIND Institute: Jeremy Bockholt


Links:

Papers: