15 #ifndef __vtkSlicerVolumeRenderingLogic_h 16 #define __vtkSlicerVolumeRenderingLogic_h 19 #include "vtkSlicerVolumeRenderingModuleLogicExport.h" 37 class vtkColorTransferFunction;
39 class vtkPiecewiseFunction;
40 class vtkScalarsToColors;
41 class vtkVolumeProperty;
64 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
70 void RegisterRenderingMethod(
const char* methodName,
71 const char* displayNodeClassName);
73 std::map<std::string, std::string> GetRenderingMethods();
78 vtkSetStringMacro(DefaultRenderingMethod);
79 vtkGetStringMacro(DefaultRenderingMethod);
85 vtkSetMacro(UseLinearRamp,
bool);
86 vtkGetMacro(UseLinearRamp,
bool);
126 void AddAllVolumeRenderingDisplayNodes();
130 void RemoveAllVolumeRenderingDisplayNodes();
134 void ChangeVolumeRenderingMethod(
const char* displayNodeClassName = 0);
145 void CopyDisplayToVolumeRenderingDisplayNode(
154 void CopyScalarDisplayToVolumeRenderingDisplayNode(
163 void CopyLabelMapDisplayToVolumeRenderingDisplayNode(
182 void SetThresholdToVolumeProp(
183 double scalarRange[2],
double threshold[2],
184 vtkVolumeProperty* node,
185 bool linearRamp =
false,
bool stayUpAtUpperLimit =
false);
209 void SetWindowLevelToVolumeProp(
210 double scalarRange[2],
double windowLevel[2],
211 vtkLookupTable* lut, vtkVolumeProperty* node);
216 void SetGradientOpacityToVolumeProp(
217 double scalarRange[2], vtkVolumeProperty* node);
222 void SetLabelMapToVolumeProp(
223 vtkScalarsToColors* lut, vtkVolumeProperty* node);
240 char *displayNodeID);
289 int LoadCustomPresetsScene(
const char* sceneFilePath);
305 bool IsDifferentFunction(vtkPiecewiseFunction* function1,
306 vtkPiecewiseFunction* function2)
const;
310 bool IsDifferentFunction(vtkColorTransferFunction* function1,
311 vtkColorTransferFunction* function2)
const;
322 void ObserveMRMLScene() VTK_OVERRIDE;
323 void OnMRMLSceneNodeAdded(
vtkMRMLNode* node) VTK_OVERRIDE;
324 void OnMRMLSceneNodeRemoved(
vtkMRMLNode* node) VTK_OVERRIDE;
325 void OnMRMLNodeModified(
vtkMRMLNode* node) VTK_OVERRIDE;
337 char* DefaultRenderingMethod;
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
MRML node for representing a volume display attributes.
static const char * GetIconVolumeReferenceRole()
std::vector< vtkMRMLNode * > DisplayNodesType
A set of MRML Nodes that supports serialization and undo/redo.
virtual void RegisterNodes()
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
MRML node for representing a volume (image stack).
MRML node to represent a 3D view.
MRML node for representing a volume (image stack).
Abstract Superclass for all specific types of MRML nodes.
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...
MRML node for representing a volume display attributes.
MRML node for representing a volume display attributes.