The proposed MRML specification differs from the current by the addition of support for volume rendering and hierarchical models. Handling volume rendering involves transfer functions for each color component (R,G,B) and opacity. The window/level/threshold attributes of current Volume nodes will be removed and replaced with Transfer Function nodes. This architecture more closely resembles the model of a normalized database. There will be standard Window/Level nodes for viewing CT data of various anatomy such as brain, abdomen, and so forth.

Volume node

A proposed addition to the volume node is as follows:
Key Value
id Required, a unique id for this volume. Default is ID.
transferFunction An implied attribute.

Model node

A proposed addition to the model node is as follows:
Key Value
id Required, a unique id for this model.
displayProperties Moved the display properties from this node into a new DisplayProperties node.

DisplayProperties node

This node encapsulates information about how to display a model or a model group.
Key Value
id Unique identifier of the display properties node, required.
name Name displayed on the user interface. Default is "".
colorName Name of the model's color, which is defined by a Color node in a MRML file. Default is "".
opacity Opacity of the surface expressed as a number from 0 to 1. Default is 1.0.
visibility Indicates if the surface is visible. Can be true or false. Default is true.
clipping Is clipping active? Default is false.
backfaceCulling Is backface culling active? Default is true.
scalarVisibility Default is false.
scalarRange Default is "0 100".

Transform node

A Transform node can contain zero or more Matrix nodes, as well as zero or more of Transform or Volume or Model or ModelGroup nodes. This is a grouping node, and will be expanded to include other types of coordinate transformations than just Matrix.

ColorLUT node

Information about color look up table.
Key Value
name A required attribute.
numberOfColors Default is 256.
fileName Default is "".
hueRange A pair of numbers giving the hue range. Default is "0 0.8".
saturationRange A pair of numbers giving the saturation range. Default is "0 0".
valueRange Default is "0 1".
annoColor Default is "1 0 0".

TransferFunction node

Key Value
name A required attribute.

Hierarchy node

A Hierarchy node can hold zero or more of a ModelGroup or a ModelRef node.
Key Value
id If you have more than one hierarchy in the file, use this to differentiate them. Required, but default is programatically "H1".
type The type of the hierarchy. Can be MEDICAL or LANGUAGE. Default is MEDICAL.

ModelGroup node

A node of the hierarchical tree, not connected to a model.
Key Value
id Unique identifier of the model group, required.
name Name displayed on the user interface. Default is "".
description Optional text description of the data. Default is "".
displayProperties Moved the display properties from this node into a new DisplayProperties node.
overRideChildProperties Do the display properties of the group override the display properties of any child models? Default is true.

ModelRef node

A reference to a model.
Key Value
modelRefId Required, ID of the referenced model.

Scene node

A Scene node can hold a matrix, a volume state, a model state, scene options, options, a cross section, or a locator.
Key Value
lang Language, not used. Default is "".
name Name of the scene. Default is "".
description A short description of the scene. Default is "".

Matrix node

As previously defined

VolumeState node

State of a volume data set as visible in one scene.
Key Value
volumeRefId ID of the referenced volume. A required attribute.
colorLUT Color look up table. Default is 0.
foreground Is the volume showing in the foreground? A fading option. Default is false.
background Is the volume shown in the background? A fading option. Default is false.
fade Is the volume faded? A fading option. Default is false.
opacity Opacity of the volume. A fading option. Default is 1.0.

ModelState node

Key Value
modelRefID ID of the referenced model. A required attribute.
visible Visibility, an attribute of the model. Default is true.
opacity Opacity, an attribute of the model. Default is 1.0.
sliderVisible Visibility of the opacity slider. Used in SPLVis, not Slicer. Default is true.
childrenVisible Are the children of this node visible? Only used for model groups. Default is true.
clipping Is clipping active? Default is false.
backfaceCulling Is backface culling active? Default is true.

SceneOptions node

Key Value
showAxes Show the 3D axes? An annotation option. Can be true or false. Default is false.
showBox Show 3D cube? An annotation option. Can be true or false. Default is true.
showAnnotations Show slice window text? An annotation option. Can be true or false. Default is false.
showSliceBounds Show 3D outline around slices? An annotation option. Can be true or false. Default is false.
showLetters Show 3D Letters? Default is true.
showCross Show the crosshair? Default is true.
showHashes Show hash marks? Default is true.
showMouse Not used in Slicer. Only for SPLViz compatibility. Show the mouse pointer? Default is true.
viewUp View up direction for the camera. VTK camera option. Default is "0 1 0".
position The position of the camera in world coordinates. VTK camera option. Default is "0 0 1".
clippingRange 3D view, the near and far clipping planes. VTK camera option. Default is "0.1 1000".
focalPoint VTK camera option. The focal point of the camera in world coordinates. Default is "0.0 0.0 0.0".
viewAngle VTK camera option. Angular height of the camera view, in degrees. Default is "30".
viewMode The current Slicer viewing mode (3D, 4x512, 4x256, and so forth). Default is "".
viewBgColor Background color of the 3D view: blue, black, or midnight. Default is "".

Options node

As previously defined

CrossSection node

This node holds information about the state of the saved volume. It gives camera positioning information that allows the view to be reproduced the next time the volume is loaded.
To be finished.
Key Value
position Which cross section is referenced. A required attribute. Can be 0, 1, or 2. Default is programatically 0.
direction Can be axial, coronal, sagittal, or none. Default is none.
sliceSlider Position of the slider, showing which slice is currently displayed. Default is 0.
rotatorX Rotation X. Not used in Slicer. Only in SPLVis. Default is 0.
rotatorY Rotation Y. Not used in Slicer. Only in SPLVis. Default is 0.
inModel Visibility in 3D view. The slice is shown in the 3D view. Can be true or false. Default is false.
zoom Zoom. Default 1.0.
clipState Clipping state. Can be true or false. Default is true.
backVolRefId ID of background volume.
foreVolRefId ID of foreground volume.
labelVolRefID ID of label volume.

Locator node

Holds the options for the locator.
Key Value
driver Who or what is driving the locator? Default is "".
diffuseColor Locator color. Default is "".
visibility Is the locator visible? Can be true or false. Default is false.
transverseVisibility Is the transverse of the locator visible? Can be true or false. Default is true.
normalLen Length of the normal of the locator. Default is 100.
transverseLen Length of the transverse of the locator. Default is 25.
radius Radius of the locator. Default is 3.0.