Difference between revisions of "Slicer3:Remote Data Handling"

From NAMIC Wiki
Jump to: navigation, search
Line 7: Line 7:
 
=== vtkMRMLStorageNode methods for handling remote data (for loading and saving data for interactive use) ===
 
=== 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:  
+
'''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
+
* locating a dataset, usually accomplished through a file browser, and
* selecting a dataset for loading.
+
* selecting a dataset to initiate loading.
  
 
For loading remote datasets, we have options for breaking these two steps apart explicitly, or binding them together under the hood.  
 
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: '''
 
'''Breaking apart find data and load data: '''
 +
 +
'''Possible workflow A'''
 +
* User downloads .xcat or .xml (MRML) file to disk using the HID or an XNAT web interface
 +
* From the Load Scene file browser, user selects the .xcat or .xml archive. If no locally cached versions exist, each remote file listed in the archive is downloaded to /tmp directory (always locally cached) by the Download Manager, and then loaded into Slicer via a vtkMRMLStorageNode method when download is complete.
 +
 +
'''Possible workflow B'''
 +
* User downloads .xcat or .xml (MRML) file to disk using the HID or an XNAT web interface
 +
* From the Load Scene file browser, user selects the .xcat or .xml archive. If no locally cached versions exist, each remote file in the archive is downloaded to /tmp (only if a flag is set) by the Download Manager, and loaded directly into Slicer via a vtkMRMLStorageNode method when download is complete.
  
 
'''Bundlng together find data and load data: '''
 
'''Bundlng together find data and load data: '''
Line 27: Line 35:
 
'''Possible workflow 2'''
 
'''Possible workflow 2'''
 
* From a 'revised' Add Data interface, user performs remote HID query for available data
 
* 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 ===
 
=== Asynchronous I/O Manager ===

Revision as of 21:40, 30 January 2008

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:

  • locating a dataset, usually accomplished through a file browser, and
  • selecting a dataset to initiate 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:

Possible workflow A

  • User downloads .xcat or .xml (MRML) file to disk using the HID or an XNAT web interface
  • From the Load Scene file browser, user selects the .xcat or .xml archive. If no locally cached versions exist, each remote file listed in the archive is downloaded to /tmp directory (always locally cached) by the Download Manager, and then loaded into Slicer via a vtkMRMLStorageNode method when download is complete.

Possible workflow B

  • User downloads .xcat or .xml (MRML) file to disk using the HID or an XNAT web interface
  • From the Load Scene file browser, user selects the .xcat or .xml archive. If no locally cached versions exist, each remote file in the archive is downloaded to /tmp (only if a flag is set) by the Download Manager, and loaded directly into Slicer via a vtkMRMLStorageNode method when download is complete.

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

Asynchronous I/O Manager