Difference between revisions of "Documentation/4.0/SlicerApplication/StructureSets"
From Slicer Wiki
m (Text replacement - "slicerWiki/index.php" to "wiki") |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | <noinclude>{{documentation/versioncheck}}</noinclude> | ||
__NOTOC__ | __NOTOC__ | ||
These are Greg's development notes. Beware of inaccurate and misleading information below. | These are Greg's development notes. Beware of inaccurate and misleading information below. | ||
Line 18: | Line 19: | ||
=How to git= | =How to git= | ||
# Basic tutorials | # Basic tutorials | ||
− | ## http://www.slicer.org/ | + | ## http://www.slicer.org/wiki/Slicer3:git-svn |
## http://git.or.cz/course/svn.html | ## http://git.or.cz/course/svn.html | ||
# My code is located here | # My code is located here | ||
## https://github.com/gregsharp/Slicer/tree/gcstest | ## https://github.com/gregsharp/Slicer/tree/gcstest | ||
+ | # It is a fork of SlicerRT | ||
+ | ## https://github.com/SlicerRt/Slicer | ||
+ | # Or perhaps Slicer | ||
+ | ## https://github.com/Slicer/Slicer | ||
# Update like this: | # Update like this: | ||
## git pull git@github.com:gregsharp/Slicer.git gcstest | ## git pull git@github.com:gregsharp/Slicer.git gcstest | ||
## Or, because I created an alias, like this: | ## Or, because I created an alias, like this: | ||
## git pull gcs gcstest | ## 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= | =Notes= | ||
Line 32: | Line 50: | ||
# Identifying structureset images | # Identifying structureset images | ||
## For now, I just assume that any vector image is a structureset image | ## For now, I just assume that any vector image is a structureset image | ||
− | |||
# Loading structureset images | # Loading structureset images | ||
## Images, when loaded, are sent to vtkMRMLVolumeArchetypeStorageNode::ReadData(), which decides whether the file has a scalar or vector image | ## Images, when loaded, are sent to vtkMRMLVolumeArchetypeStorageNode::ReadData(), which decides whether the file has a scalar or vector image | ||
Line 38: | Line 55: | ||
## Ref: Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx | ## Ref: Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx | ||
## A vtkMRMLVectorVolumeDisplayNode is attached to the storage node | ## A vtkMRMLVectorVolumeDisplayNode is attached to the storage node | ||
− | |||
# Is an image a labelmap? | # Is an image a labelmap? | ||
## This is apparently a function of the XML file, not the image | ## This is apparently a function of the XML file, not the image | ||
## vtkMRMLScalarVolumeNode::SetLabelMap() | ## vtkMRMLScalarVolumeNode::SetLabelMap() | ||
− | |||
# Labelmap display | # Labelmap display | ||
## ?? | ## ?? | ||
## ?? | ## ?? | ||
− | |||
# Displaying overlapping contours | # Displaying overlapping contours |
Latest revision as of 17:04, 21 November 2019
Home < Documentation < 4.0 < 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