Projects:ARRA:SlicerEM:AtlasCreator

From NAMIC Wiki
Revision as of 20:46, 2 February 2011 by Haehn (talk | contribs) (→‎Design)
Jump to: navigation, search
Home < Projects:ARRA:SlicerEM:AtlasCreator

Atlas Creator

The Atlas Creator combines existing segmentations to an anatomical atlas based on robust statistics.

GUI

The following screenshot shows the graphical user interface of the Atlas Creator module in 3D Slicer Version 3.

Atlascreator.png

Priority List

  1. Implement dynamic registration
    • Watch out for overflows
  2. Re-structure Atlas Creator code according to the Design specified below
  3. Implement support for parallel Computation
  4. Add Help and Online Documentation
  5. Include Shape Atlas functionality

Design

The following State Machine diagram shows the flow of the Atlas Creator logic. It can be run in two modes:

  • Normal mode, all computations on one machine
  • Cluster mode, parallelized computations

AtlasCreatorStateMachine.png


Proposal: Running Atlas Creator in a Grid Environment

The Atlas Creator concept supports parallelized computations. An existing grid environment can be leveraged during the Registration phase as shown in the diagram above.

Only the Registration can be performed parallelized since it is the most time-consuming task in the Atlas Creator pipeline.

The Atlas Creator module runs on one node in the cluster (most likely the head node) and then generates bash scripts which start the registration using the 3D Slicer launch mechanism. These scripts can be run using an existing scheduler or a similar mechanism. An existing $DISPLAY environment is not necessary for using the 3D Slicer launch mechanism.

The module immediately recognizes if the parallelized registration jobs are complete and then continues the pipeline on the node where the it was first started.

Input for Parallelized Computation
  • Optional: Command for scheduling the generated bash scripts. This command will be run with the generated bash scripts as individual arguments.
  • Optional: Path to 3D Slicer (must be a network installation reachable by each node)
  • Optional: The temporary directory to be used by the 3D Slicer launch mechanism
  • Optional: The config file directory to be used by the 3D Slicer launch mechanism
  • The number of different computation nodes. The Atlas Creator will use this number to distribute the parallelized registration among the input images.

Proposal: Invoking Atlas Creator via Python