- 1 Overview
- 2 Terminology: MRML, MRML Scene Description, MRML Tree, MRML Nodes
- 3 Displaying and Modifying the MRML Scene Hierarchy
- 4 Loading Scenes & Datasets, and Viewing the MRML Scene Hierarchy using the Data Module
- 4.1 Loading New Scenes
- 4.2 Adding a Scene
- 4.3 Adding Individual Datasets, or a Directory of Data
- 4.4 Adding Scalar and Tensor Volumes
- 4.5 Adding 3D Models, or a Directory of Models
- 4.6 Adding a Scalar Overlay to a Model
- 4.7 Adding a Transformation Matrix
- 4.8 Adding a Fiducial List
- 4.9 Adding a Custom Color Table
- 4.10 Adding a DTI Fiber Bundle
This module allows you to load scenes and individual datasets of many types, and to view the scene's data hierarchy. The Data Module's "Display & Modify" panel that displays the MRML Scene hierarchy is described, and its "Load Panel" is shown and described below, option by option.
Terminology: MRML, MRML Scene Description, MRML Tree, MRML Nodes
- MRML (pronounced mur-muhl) stands for the "Medical Reality Markup Language"; and is an XML-based representation of a a MRML Scene.
- MRML Scene is the collection of datasets and their current state, viewing parameters, semantic descriptions, and also algorithm parameterization. A MRML Scene may also contain a set of alternate state configurations (scene snapshots) of interest.
- MRML Scene description is the XML-based file (with extension .mrml) that contains the complete MRML Scene specification, and which references all datasets present in the MRML Scene. Slicer loads and saves MRML Scene description files. In order to load a MRML Scene from a description file, Slicer requires that all the datasets it references must be present in their referenced directory or file path.
- MRML Tree is the hierarchical description of how data in a MRML Scene is represented. For instance, a Transformation Matrix may apply to multiple datasets, so these datasets are represented as children of the transform in the Data Module's tree-view of the scene.
- MRML Nodes are data and parameter containers in the MRML Scene. Nodes may contain volumetric data (e.g. ScalarVolumeNodes or ScalarVolumeStorageNodes) or polygonal data (e.g ModelNodes or ModelStorageNodes) or the state of a particular Slicer software module (e.g. EMSSegmenterNode). MRML Nodes that describe/represent data have names, and are displayed in the Data Module's MRML Scene Tree panel. All nodes are saved into the MRML Scene description.
Displaying and Modifying the MRML Scene Hierarchy
The Data Module's MRML Scene Tree viewer shows how datasets in the MRML Scene are represented and offers options for deleting data, moving it to a different location in the hierarchy, adjusting its parameters and toggling its visibility, as shown in the figure below.
For Developers or anyone interested, a checkbox toggles the display of each dataset's MRML ID, and each selected dataset's unique MRML ID is displayed in the MRML Node Inspector below the MRML Tree viewer.
Loading Scenes & Datasets, and Viewing the MRML Scene Hierarchy using the Data Module
The panel beneath the MRML Scene Tree viewer provides convenient access to tools for loading many different types of data. Note that this collection of load options is a temporary placeholder for a more generalized scene & data loading interface, which we are working on for future versions of the Slicer software. The load panel is shown below:
The options it contains duplicate load options currently exposed in other parts of the Slicer software. Here, we'll briefly describe each option and mention where else in Slicer the functionality can be found. This information can also be found in the Main Application GUI section of Slicer 3.4 documentation.
Loading New Scenes
This command, also invoked from the Application File Menu using File->Load Scene, raises the file browser shown below. Slicer's file browser has a 'favorites' icon that allows you to save often-visited directories on the browser's left panel. Other features, including icons that allow you to navigate your browsing history, pop up a level in the directory structure (or folder hierarchy) and create new folders. To load a scene, navigate to a file of the appropriate format (.mrml, .xcat (XCEDE catalog file), or .xml (Slicer2 scene file) and select it for loading into Slicer. As indicated, the command first clears any existing scene in Slicer and resets the application state.
Adding a Scene
This command, also invoked through the Application GUI's File menu using File->Import Scene, raises the same file browser shown above. Use the browser to navigate to and select a scene file to be added to the existing Slicer scene. Note: this option does not clear the existing scene.
Adding Individual Datasets, or a Directory of Data
This command, also invoked through the Application GUI's File menu using the File->Add Data command, raises an "Add Data" widget (shown below) that allows you to select individual datasets to add to the existing scene. It exposes the following functionality:
- The "Add Directory" button adds all files within the selected directory to the file list.
- The "Add File(s)" button adds all selected files to the file list.
- The array of buttons across the top allow you to select and deselect files in the file list, remove selected files from the list, or describe how files should be loaded.
- The "Apply" button loads all datasets in the list, and
- The "Cancel" button aborts the entire load.
Adding Scalar and Tensor Volumes
This command, also raised through by using the Application GUI File Menu's File->Add Volume option, raises an "Add Volume" widget (shown below). This interface allows you to select scalar or tensor volume data and add it to the existing scene. Its "Volume Options" panel can be used to clarify how a selected dataset should be loaded and displayed.
For more information about using the interface's DICOM browser, see the following detailed documentation.
Adding 3D Models, or a Directory of Models
Use this option, also available in the Models Module's Load Panel, to raise a dialog that allows you to load models into the scene.
Adding a Scalar Overlay to a Model
Use this option, also available in the Models Module's Load Panel, to add a scalar overlay to a model already present in the scene. Selecting the button raises a dialog that lets you specify a model first, and then select a scalar overlay to be applied to that model.
Adding a Transformation Matrix
Use this option, also available in the Transforms Module's Load Panel, to add a new transform to the scene. After the transform is loaded, you may use the Data Module's MRML Scene Tree viewer to apply the transform to data in your scene.
Adding a Fiducial List
Use this option to raise a dialog that allows you to select a fiducial list file (format .fcsv) to load into the scene.
Adding a Custom Color Table
Use this option, also available in the Color Module's Load Panel, to add new Color look-up tables to the scene (files with extension .txt). Custom color files can be created by hand and loaded into slicer; a simple example is shown below:
# Color table file ./simpleExample.txt # 3 values 0 name1 6 6 6 255 1 name2 102 255 255 255 2 anotherName 157 225 255 255
Adding a DTI Fiber Bundle
Use this option, also available in the FiberBundles Module's Load Panel to load a DTI Fiber Bundle.