Slicer3:Remote Data Handling

From NAMIC Wiki
Jump to: navigation, search
Home < Slicer3:Remote Data Handling

Back to Slicer3 Projects List

Remote I/O for Slicer3

ITK-based mechanism handling remote data (for command line modules, batch processing, and grid processing)

vtkMRMLStorageNode methods for handling remote data (for loading and saving data for interactive use)

'Load Scene' 'Import Scene' and 'Add Data' options in Slicer all encapsulate two steps:

  • searching for a dataset, usually accomplished through a file browser, and
  • selecting a dataset for loading.

For loading remote datasets, we have options for breaking these two steps apart explicitly, or binding them together under the hood.

Breaking apart find data and load data:

Bundlng together find data and load data:

--- just thinking here -- not cooked yet.

Possible workflow 1

  • From the Load Scene file browser, user types in a uri of remote mrml file.
  • MRML Scene's Connect method retrieves the remote file, caches it locallly if requested, parses the file, and


Possible workflow 2

  • From a 'revised' Add Data interface, user performs remote HID query for available data

Possible workflow 3

  • User downloads .xcat file to disk using the HID web interface
  • From the Load Scene file browser, user selects the .xcat archive. If no locally cached versions exist, remote files are downloaded to /tmp directory (locally cached) and then loaded into Slicer via a vtkMRMLStorageNode method.

Possible workflow 4

  • User downloads .xcat file to disk using the HID web interface
  • From the Load Scene file browser, user selects the .xcat archive. If no locally cached versions exist, remote files are cached locally only if a flag is set, and loaded directly into Slicer via a vtkMRMLStorageNode method.

Asynchronous I/O Manager