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: vtkMRMLLabelMapVolumeDisplayNode.h,v $ 00010 Date: $Date: 2006/03/19 17:12:29 $ 00011 Version: $Revision: 1.3 $ 00012 00013 =========================================================================auto=*/ 00017 00018 #ifndef __vtkMRMLLabelMapVolumeDisplayNode_h 00019 #define __vtkMRMLLabelMapVolumeDisplayNode_h 00020 00021 #include "vtkMRML.h" 00022 #include "vtkMRMLScene.h" 00023 #include "vtkMRMLNode.h" 00024 #include "vtkMRMLVolumeDisplayNode.h" 00025 00026 #include "vtkImageData.h" 00027 #include "vtkImageMapToColors.h" 00028 00029 00030 class VTK_MRML_EXPORT vtkMRMLLabelMapVolumeDisplayNode : public vtkMRMLVolumeDisplayNode 00031 { 00032 public: 00033 static vtkMRMLLabelMapVolumeDisplayNode *New(); 00034 vtkTypeMacro(vtkMRMLLabelMapVolumeDisplayNode,vtkMRMLVolumeDisplayNode); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00037 virtual vtkMRMLNode* CreateNodeInstance(); 00038 00041 virtual const char* GetNodeTagName() {return "LabelMapVolumeDisplay";}; 00042 00045 virtual void ProcessMRMLEvents ( vtkObject * /*caller*/, 00046 unsigned long /*event*/, 00047 void * /*callData*/ ); 00050 virtual void SetDefaultColorMap(); 00051 00052 virtual void UpdateImageDataPipeline(); 00053 00056 void SetImageData(vtkImageData *imageData) 00057 { 00058 this->UpdateImageDataPipeline(); 00059 this->MapToColors->SetInput( imageData); 00060 }; 00061 00064 virtual vtkImageData* GetImageData() 00065 { 00066 if (this->MapToColors->GetInput() == NULL) 00067 { 00068 return NULL; 00069 } 00070 this->MapToColors->Update(); 00071 return this->MapToColors->GetOutput(); 00072 }; 00073 00074 protected: 00075 vtkMRMLLabelMapVolumeDisplayNode(); 00076 ~vtkMRMLLabelMapVolumeDisplayNode(); 00077 vtkMRMLLabelMapVolumeDisplayNode(const vtkMRMLLabelMapVolumeDisplayNode&); 00078 void operator=(const vtkMRMLLabelMapVolumeDisplayNode&); 00079 00080 vtkImageMapToColors *MapToColors; 00081 00082 }; 00083 00084 #endif 00085
1.6.1