Difference between revisions of "Documentation/4.0/SlicerApplication/StructureSets"

From Slicer Wiki
Jump to: navigation, search
Line 39: Line 39:
 
# So I make a new fork, based on slicer itself
 
# So I make a new fork, based on slicer itself
 
## git clone git://github.com/Slicer/Slicer.git Slicer-gcs
 
## 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."
  
 
=Notes=
 
=Notes=

Revision as of 22:39, 27 March 2012

Home < Documentation < 4.0 < SlicerApplication < StructureSets

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:

  1. Identify structureset images at load time
  2. Load structureset images
  3. Display overlapping contours in structure set
  4. Editor can switch between labelmap and structureset representation
  5. Modify editor GUI to make easier selecting current structure
  6. Save structureset images

How to git

  1. Basic tutorials
    1. http://www.slicer.org/slicerWiki/index.php/Slicer3:git-svn
    2. http://git.or.cz/course/svn.html
  2. My code is located here
    1. https://github.com/gregsharp/Slicer/tree/gcstest
  3. It is a fork of SlicerRT
    1. https://github.com/SlicerRt/Slicer
  4. Or perhaps Slicer
    1. https://github.com/Slicer/Slicer
  5. Update like this:
    1. git pull git@github.com:gregsharp/Slicer.git gcstest
    2. Or, because I created an alias, like this:
    3. git pull gcs gcstest
    4. The alias is made like this:
    5. git remote add gcs git@github.com:gregsharp/Slicer.git
  6. My code is branched off of SlicerRT
    1. To rebase onto main slicer trunk, do this:
    2. git remote add slicer https://github.com/Slicer/Slicer.git
    3. git pull --rebase slicer master
    4. However, this doesn't work because my fork contains all of SlicerRT, which conflicts with slicer
  7. So I make a new fork, based on slicer itself
    1. git clone git://github.com/Slicer/Slicer.git Slicer-gcs
    2. git remote add gcs-slicer git@github.com:gregsharp/gcs-slicer.git
    3. git push gcs-slicer master
    4. But this doesn't work "ERROR: Repository not found."

Notes

  1. Identifying structureset images
    1. For now, I just assume that any vector image is a structureset image
  2. Loading structureset images
    1. Images, when loaded, are sent to vtkMRMLVolumeArchetypeStorageNode::ReadData(), which decides whether the file has a scalar or vector image
    2. The type of the MRML node created is vtkMRMLVectorVolumeNode
    3. Ref: Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx
    4. A vtkMRMLVectorVolumeDisplayNode is attached to the storage node
  3. Is an image a labelmap?
    1. This is apparently a function of the XML file, not the image
    2. vtkMRMLScalarVolumeNode::SetLabelMap()
  4. Labelmap display
    1.  ??
    2.  ??
  5. Displaying overlapping contours