Difference between revisions of "Slicer3:Remote Data Handling"
From NAMIC Wiki
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: | + | The first goal is to figure out what workflows to support, and a good implementation approach. |
+ | |||
+ | Currently, '''Load Scene''', '''Import Scene''', and '''Add Data''' options in Slicer all encapsulate two steps: | ||
* locating a dataset, usually accomplished through a file browser, and | * locating a dataset, usually accomplished through a file browser, and | ||
* selecting a dataset to initiate loading. | * selecting a dataset to initiate loading. | ||
− | For loading remote datasets, we have options for breaking these two steps apart explicitly, | + | For loading remote datasets, we have options for: |
+ | * breaking these two steps apart explicitly, | ||
+ | * binding them together under the hood, | ||
+ | * or supporting both of these paradigms. | ||
==Breaking apart "find data" and "load data":== | ==Breaking apart "find data" and "load data":== |
Revision as of 14:17, 31 January 2008
Home < Slicer3:Remote Data Handling
Contents
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)
The first goal is to figure out what workflows to support, and a good implementation approach.
Currently, 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,
- binding them together under the hood,
- or supporting both of these paradigms.
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.
Possible workflow C
- User locates a MRML file, .xcat archive, or individual dataset on the HID or an XNAT web interface
- User types the uri into the Load Scene, Import Scene, or Add Data interfaces.
- If no locally cached versions exist, each remote file in the archive is cached to /tmp by the Download Manager, and loaded directly into Slicer via a vtkMRMLStorageNode method when download is complete.
Bundling together "find data" and "load data":
Possible workflow D
- In this workflow, Slicer would make calls to HID or XNAT webservices to determine what data of interest is available...