Difference between revisions of "Slicer3:Batchmake Integration"

From Slicer Wiki
Jump to: navigation, search
m (Text replacement - "\[http:\/\/www\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) ([^]]+)]" to "$2")
 
(3 intermediate revisions by one other user not shown)
Line 37: Line 37:
 
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module
 
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module
 
#* Provides a simple example of how to batchmake-ify your Slicer3 modules
 
#* Provides a simple example of how to batchmake-ify your Slicer3 modules
 +
# Registration BatchMake module
 +
#* Distributed via Slicer3's getbuildtest2.tcl script
 +
#** Slicer3 GUI Access: Filters/BatchProcessing/Registration BatchMake Module
 +
#** Supports parameters space exploration to optimize registration
 +
#** Supports batch registration of multiple files (e.g., registration of multiple patients with an atlas).
  
 
=== To do ===
 
=== To do ===
Line 48: Line 53:
 
=== Related links ===
 
=== Related links ===
  
 +
* [[Slicer3:Python | Python in Slicer]]
 +
* [[Slicer3:Python:ipython | iPython in Slicer]]
 +
* [[Modules:PythonNumpyScript-Documentation-3.4|Numpy in Slicer]]
 
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]
 
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]

Latest revision as of 02:34, 27 November 2019

Home < Slicer3:Batchmake Integration

Introduction

Goals

  • Enable Slicer3 execution modules to process multiple datasets with minimal user interactions ("batch processing")
  • Enable the exploration of the parameter spaces of Slicer3 execution modules ("parameter space evaluations")
  • Support using local computer resources or local GRID resources for batch process and parameter space evaluations.

Summary

  • BatchMake integration with Slicer3 is complete.
  • Real-world applications (EMSegmenter) are using BatchMake from within Slicer.
  • Examples are given on how to use BatchMake with your Slicer3 Execution Modules (GaussianBlur example).

Background

  • BatchMake provides an open-source toolkit for launching a controlled sequence of applications on the local computer or a GRID.
  • Condor is used as the open-source toolkit that provides access to GRID resource. It also provides an easy-to-install and easy-to-configure GRID implementation/network. We highly recommend it for your GRID needs.
  • BatchMake and Condor work together to sequence tasks and to allocate and monitor resources and job progress.

Status

Completed

  1. BatchMake Library
    • Distributed via Slicer3's getbuildtest2.tcl script
      • Slicer3 code location: Slicer3-lib/BatchMake
    • Default distribution does not include Condor
      • Can be installed by users
      • Changing two BatchMake variables will configure BatchMake to use Condor
  2. EMSegmenter BatchMake module
    • Distributed via Slicer3's getbuildtest2.tcl script
      • Slicer3 GUI Access: Filters/BatchProcessing/EMSegmenter BatchMake Module
      • Slicer3 code location: Slicer3/Applications/CLI/BatchMake
    • Applies EMSegmenter algorithm to a collection of data using local computer or GRID
  3. GaussianBlur BatchMake module
    • Distributed via Slicer3's getbuildtest2.tcl script
      • Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module
    • Provides a simple example of how to batchmake-ify your Slicer3 modules
  4. Registration BatchMake module
    • Distributed via Slicer3's getbuildtest2.tcl script
      • Slicer3 GUI Access: Filters/BatchProcessing/Registration BatchMake Module
      • Supports parameters space exploration to optimize registration
      • Supports batch registration of multiple files (e.g., registration of multiple patients with an atlas).

To do

  • Provide documentation
  • Determine how to integrate BatchMake with Slicer's new focus on iPython for distributed computing
  • Consider general (no programming required) solution to using BatchMake/iPython with other Slicer modules
    • User browses to execution modules and specifies where wildcards should be substituted into command line
  • Port lesson's learned to the iPython development effort
    • e.g., leave-one-out looping mechanism, taguchi factor analysis, etc.

Related links