Home < Documentation < 4.4 < Modules < SubjectHierarchy
Introduction and Acknowledgements
- Title: Subject Hierarchy
- Author: Csaba Pinter (PerkLab, Queen's University)
- Acknowledgements: This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.
- Contact: Csaba Pinter, <email>csaba.pinter@queensu.ca</email>
|
| Software Platform and Adaptive Radiotherapy Kit
|
| Ontario Consortium for Adaptive Interventions in Radiation Oncology
|
|
|
Module Description
The SubjectHierarchy module acts as a central data-organizing point in Slicer. All DICOM data is autmatically added to the tree. Non-DICOM data can be parsed if loaded from a local directory structure, or has to be manually added (non-SH nodes are the ones on the bottom with no icons).
Subject hierarchy nodes provide features for the underlying data nodes, including cloning, bulk transforming, bulk show/hide, type-specific features, and basic node operations such as delete or rename. Additional plugins can provide other type-specific features and general operations, see Subject hierarchy labs page
Use Cases
- Load DICOM data and need to see in the same hierarchy
- Visualize and bulk-handle lots of data nodes loaded from disk
- Easy show/hide of branches of displable data
- Transform whole study (any branch)
- Export DICOM data (coming soon)
- Edit DICOM tags (coming soon)
- Create contour from labelmap or model (currently supported only in the SlicerRT extension
Tutorials
None specifically for Subject Hierarchy yet
Panels and their use
- Subject hierarchy tree
Contains all the objects in the Subject hierarchy in a tree representation
- Data loaded from DICOM are automatically added to the tree in the right structure (patient, study, series)
- Non-DICOM data also appears automatically in Subject hierarchy. There two ways are two ways to organize them in hierarchy
- 'Create hierarchy from loaded diractory structure' action in the context menu of the scene (see bottom screenshot). This organizes the nodes according to the local file structure they have been loaded from.
- Drag&drop manually under a hierarchy node
- Nodes can be drag&dropped under other nodes, thus re-arranging the tree
- Basic operations (accessible in the context menu of the nodes by right-clicking them)
- Transform node or branch: Double-click the cell of the node or branch to transform in the column named 'Tr', then set the desired transform. If the column is not visible, check the 'Transforms' checkbox under the tree. An example can be seen in the top screenshot at 'Day 2' study
- Show/hide node or branch: Click on the eye icon
- Delete: Delete both data node and SH node
- Rename: Rename both data node and SH node
- Clone: Creates a copy of the selected node that will be indentical in every manner. Its name will contain a '_Copy' postfix
- Edit properties: If the role of the node is specified (i.e. its icon is not a question mark), then the corresponding module is opened and the node selected (e.g. Volumes module for volumes)
- Create child...: Create a node with the specified type
- There are no nodes in the tree when Slicer is opened, new nodes can be added by right-clicking the Scene
- Roles and corresponding functions
- Volumes: icon, Edit properties and additional information in tooltip
- 'Register this...' action to select fixed image for registration. Right-click the moving image to initiate registration
- 'Segment this using...' action allows segmenting the volume in for example the Editor module
- 'Toggle labelmap outline display' for labelmaps
- Models: icon, Edit properties and additional information in tooltip
- Markups: icon and Edit properties
- SceneViews: icon, Edit properties and Restore scene view
- Charts: icon and Show chart
- Transforms: icon, additional tooltip info, Edit properties, Invert, Reset to identity
- MRML Node Inspector (closed drop-down panel under the tree)
- Displays the attributes of the currently selected Subject hierarchy node. Can be edited by double-clicking on an attribute name or value
How to
- Create new Subject from scratch
- Right-click on the top-level item 'Scene' and select 'Create new subject'
- Create new hierarchy node
- Right-click on an existing node and select 'Create child ...'. The type and level of the child node will be specified by the user and the possible types depend on the parent. Folder type hierarchy node can be converted to Subject or Study using the context menu
- Rename Subject hierarchy node
- Right-click on the node and select 'Rename', or double-click the name of a node
- Apply transform on node or branch
- Double-click the cell of the node or branch to transform in the column named 'Tr', then set the desired transform. If the column is not visible, check the 'Transforms' checkbox under the tree. An example can be seen in the top screenshot at Patient 2
- Contour-specific features (requires SlicerRT extension)
- Create contour from scratch
- In Contours module select 'Create new Contour' in the contour selector drop-down to create a new contour
- In Subject Hierarchy module drag&drop new contour to under a contour set in the tree
- The default representation is an empty Ribbon model. It can be converted to Indexed labelmap in the Contours module, then the labelmap extracted in SH, which can be edited in the Editor module
- Note: this feature is quite inconvenient right now, a full overhaul is coming up soon
- Create contour from labelmap volume or model
- In Subject Hierarchy module drag&drop the existing representation (labelmap or model) to under a contour set in the tree. This way an encapsulating Contour node gets created and associated to the corresponding color table
- Create new Contour set from scratch
- Right-click on an existing Study node and select 'Create child contour set'. This menu item is only available for Study level nodes
|
Parse local data loaded from directory structures
|
Similar Modules
References
Information for Developers