Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLSliceLayerLogic.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Program: 3D Slicer
9 Module: $RCSfile: vtkMRMLSliceLayerLogic.h,v $
10 Date: $Date$
11 Version: $Revision$
12
13=========================================================================auto=*/
14
19//
27//
29//
30
31#ifndef __vtkMRMLSliceLayerLogic_h
32#define __vtkMRMLSliceLayerLogic_h
33
34// MRMLLogic includes
36
37// MRML includes
38#include "vtkMRMLVolumeNode.h"
39#include "vtkMRMLSliceNode.h"
44
45// VTK includes
46#include <vtkImageLogic.h>
47#include <vtkImageExtractComponents.h>
48#include <vtkVersion.h>
49
50class vtkAssignAttribute;
51class vtkImageReslice;
52class vtkGeneralTransform;
53
54// STL includes
55// #include <cstdlib>
56
58class vtkTransform;
59
60class VTK_MRML_LOGIC_EXPORT vtkMRMLSliceLayerLogic : public vtkMRMLAbstractLogic
61{
62public:
66 void PrintSelf(ostream& os, vtkIndent indent) override;
67
70 vtkGetObjectMacro(VolumeNode, vtkMRMLVolumeNode);
72
79
82 vtkGetObjectMacro(SliceNode, vtkMRMLSliceNode);
84
87 vtkGetObjectMacro(Reslice, vtkImageReslice);
88 vtkGetObjectMacro(ResliceUVW, vtkImageReslice);
89
93 vtkGetMacro(IsLabelLayer, int);
94 vtkSetMacro(IsLabelLayer, int);
95 vtkBooleanMacro(IsLabelLayer, int);
96
100
103 vtkImageData* GetImageData();
104 vtkAlgorithmOutput* GetImageDataConnection();
105
108 vtkImageData* GetImageDataUVW();
109 vtkAlgorithmOutput* GetImageDataConnectionUVW();
110
112
117
119
124
127 vtkGetObjectMacro(XYToIJKTransform, vtkGeneralTransform);
128
132 vtkGetMacro(InterpolationMode, int);
133 vtkSetMacro(InterpolationMode, int);
134
135protected:
140
141 // Initialize listening to MRML events
142 void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
143
147 void ProcessMRMLSceneEvents(vtkObject* caller, unsigned long event, void* callData) override;
148 void ProcessMRMLNodesEvents(vtkObject* caller, unsigned long event, void* callData) override;
150 void OnMRMLNodeModified(vtkMRMLNode* node) override;
151 vtkAlgorithmOutput* GetSliceImageDataConnection();
152 vtkAlgorithmOutput* GetSliceImageDataConnectionUVW();
153
154 // Copy VolumeDisplayNodeObserved into VolumeDisplayNode
156
164
167 vtkImageReslice* Reslice;
168 vtkImageReslice* ResliceUVW;
171
175
177 vtkGeneralTransform* XYToIJKTransform;
178 vtkGeneralTransform* UVWToIJKTransform;
179
181
183
185};
186
187#endif
Display labelmap outlines.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.
vtkAssignAttribute * AssignAttributeTensorsToScalars
vtkMRMLVolumeNode * VolumeNode
the MRML Nodes that define this Logic's parameters
vtkAlgorithmOutput * GetImageDataConnectionUVW()
vtkMRMLVolumeDisplayNode * VolumeDisplayNodeUVW
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
~vtkMRMLSliceLayerLogic() override
static vtkMRMLSliceLayerLogic * New()
The Usual vtk class functions.
void PrintSelf(ostream &os, vtkIndent indent) override
vtkAlgorithmOutput * GetSliceImageDataConnection()
vtkImageReslice * Reslice
the VTK class instances that implement this Logic's operations
void operator=(const vtkMRMLSliceLayerLogic &)
void SetSliceNode(vtkMRMLSliceNode *SliceNode)
vtkAssignAttribute * AssignAttributeScalarsToTensors
void SetVolumeNode(vtkMRMLVolumeNode *VolumeNode)
void ProcessMRMLSceneEvents(vtkObject *caller, unsigned long event, void *callData) override
vtkImageData * GetImageData()
Get the output of the pipeline for this layer.
vtkAlgorithmOutput * GetImageDataConnection()
vtkMRMLSliceLayerLogic(const vtkMRMLSliceLayerLogic &)
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
vtkImageLabelOutline * LabelOutline
vtkAssignAttribute * AssignAttributeScalarsToTensorsUVW
vtkImageLabelOutline * LabelOutlineUVW
vtkGeneralTransform * XYToIJKTransform
TODO: make this a vtkAbstractTransform for non-linear.
vtkMRMLVolumeDisplayNode * VolumeDisplayNode
vtkGeneralTransform * UVWToIJKTransform
vtkAlgorithmOutput * GetSliceImageDataConnectionUVW()
void OnMRMLNodeModified(vtkMRMLNode *node) override
vtkImageData * GetImageDataUVW()
Get the output of the texture UVW pipeline for this layer.
vtkMRMLVolumeDisplayNode * VolumeDisplayNodeObserved
MRML node for storing a slice through RAS space.
MRML node for representing a volume display attributes.
MRML node for representing a volume (image stack).