Documentation/4.8/SlicerApplication/StructureSets
From Slicer Wiki
Home < Documentation < 4.8 < SlicerApplication < StructureSets
For the latest Slicer documentation, visit the read-the-docs. |
These are Greg's development notes. Beware of inaccurate and misleading information below.
Introduction
The term "structure set" is used in RT to denote a set of structures (labels) which are attached to an image. The goal of this project is to improve Slicer so it can handle overlapping structures. The following is a rough list of required functionality:
- Identify structureset images at load time
- Load structureset images
- Display overlapping contours in structure set
- Editor can switch between labelmap and structureset representation
- Modify editor GUI to make easier selecting current structure
- Save structureset images
How to git
- Basic tutorials
- My code is located here
- It is a fork of SlicerRT
- Or perhaps Slicer
- Update like this:
- git pull git@github.com:gregsharp/Slicer.git gcstest
- Or, because I created an alias, like this:
- git pull gcs gcstest
- The alias is made like this:
- git remote add gcs git@github.com:gregsharp/Slicer.git
- My code is branched off of SlicerRT
- To rebase onto main slicer trunk, do this:
- git remote add slicer https://github.com/Slicer/Slicer.git
- git pull --rebase slicer master
- However, this doesn't work because my fork contains all of SlicerRT, which conflicts with slicer
- So I make a new fork, based on slicer itself
- git clone git://github.com/Slicer/Slicer.git Slicer-gcs
- git remote add gcs-slicer git@github.com:gregsharp/gcs-slicer.git
- git push gcs-slicer master
- But this doesn't work "ERROR: Repository not found."
- Eventually I had to give up, and delete the repository
- The changes were to this file: Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx
Notes
- Identifying structureset images
- For now, I just assume that any vector image is a structureset image
- Loading structureset images
- Images, when loaded, are sent to vtkMRMLVolumeArchetypeStorageNode::ReadData(), which decides whether the file has a scalar or vector image
- The type of the MRML node created is vtkMRMLVectorVolumeNode
- Ref: Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx
- A vtkMRMLVectorVolumeDisplayNode is attached to the storage node
- Is an image a labelmap?
- This is apparently a function of the XML file, not the image
- vtkMRMLScalarVolumeNode::SetLabelMap()
- Labelmap display
- ??
- ??
- Displaying overlapping contours