vtkMRMLScalarVolumeNode.h

Go to the documentation of this file.
00001 /*=auto=========================================================================
00002 
00003   Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
00004 
00005   See Doc/copyright/copyright.txt
00006   or http://www.slicer.org/copyright/copyright.txt for details.
00007 
00008   Program:   3D Slicer
00009   Module:    $RCSfile: vtkMRMLVolumeNode.h,v $
00010   Date:      $Date: 2006/03/19 17:12:29 $
00011   Version:   $Revision: 1.13 $
00012 
00013 =========================================================================auto=*/
00023 
00024 #ifndef __vtkMRMLScalarVolumeNode_h
00025 #define __vtkMRMLScalarVolumeNode_h
00026 
00027 
00028 #include "vtkMRMLVolumeNode.h"
00029 #include "vtkMRMLScalarVolumeDisplayNode.h"
00030 #include "vtkMRMLVolumeArchetypeStorageNode.h"
00031 
00032 class vtkImageData;
00033 class vtkImageAccumulateDiscrete;
00034 class vtkImageBimodalAnalysis;
00035 class vtkMRMLStorageNode;
00036 class vtkMRMLStorageNode;
00037 
00038 class VTK_MRML_EXPORT vtkMRMLScalarVolumeNode : public vtkMRMLVolumeNode
00039 {
00040   public:
00041   static vtkMRMLScalarVolumeNode *New();
00042   vtkTypeMacro(vtkMRMLScalarVolumeNode,vtkMRMLVolumeNode);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00045   virtual vtkMRMLNode* CreateNodeInstance();
00046 
00049   virtual void ReadXMLAttributes( const char** atts);
00050 
00053   virtual void WriteXML(ostream& of, int indent);
00054 
00057   virtual void Copy(vtkMRMLNode *node);
00058 
00061   virtual const char* GetNodeTagName() {return "Volume";};
00062 
00065   virtual void UpdateScene(vtkMRMLScene *scene);
00066 
00071   int GetLabelMap();
00072   void SetLabelMap(int);
00073   void LabelMapOn();
00074   void LabelMapOff();
00075 
00078   static void CreateNoneNode(vtkMRMLScene *scene);
00079 
00082   virtual vtkMRMLScalarVolumeDisplayNode* GetScalarVolumeDisplayNode()
00083   {
00084     return vtkMRMLScalarVolumeDisplayNode::SafeDownCast(this->GetDisplayNode());
00085   }
00086 
00087   virtual void UpdateFromMRML();
00088   
00092   virtual void CalculateAutoLevels(vtkMRMLScalarVolumeDisplayNode *refNode = NULL, vtkImageData *refData = NULL)
00093     {
00094     this->CalculateScalarAutoLevels(refNode, refData);
00095     };
00096 
00097   virtual void CalculateScalarAutoLevels( vtkMRMLScalarVolumeDisplayNode *refNode = NULL,
00098                                          vtkImageData *imageData = NULL);
00101   void CalculateStatisticsAutoLevels( vtkMRMLScalarVolumeDisplayNode *refNode = NULL,
00102                                       vtkImageData *imageData = NULL);
00103   
00106   virtual vtkMRMLStorageNode* CreateDefaultStorageNode()
00107     {
00108     return vtkMRMLVolumeArchetypeStorageNode::New();
00109     };
00110 
00111 protected:
00112   vtkMRMLScalarVolumeNode();
00113   ~vtkMRMLScalarVolumeNode();
00114   vtkMRMLScalarVolumeNode(const vtkMRMLScalarVolumeNode&);
00115   void operator=(const vtkMRMLScalarVolumeNode&);
00116 
00119   vtkImageAccumulateDiscrete *Accumulate;
00120   vtkImageBimodalAnalysis *Bimodal;
00121 
00122   int CalculatingAutoLevels;
00123 };
00124 
00125 #endif
00126 
00127 
00128  
00129 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1