Slicer
5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Slicer logic class for slice manipulation. More...
#include <Libs/MRML/Logic/vtkMRMLSliceLogic.h>
Public Types | |
enum | { CompositeModifiedEvent = 18000 } |
CompositeModifiedEvent is generated when slice composite node is modified. More... | |
enum | { LayerNone = -1, LayerBackground = 0, LayerForeground = 1, LayerLabel = 2 } |
typedef vtkMRMLAbstractLogic | Superclass |
Public Types inherited from vtkMRMLAbstractLogic | |
typedef vtkObject | Superclass |
typedef void(vtkMRMLAbstractLogic::* | TaskFunctionPointer) (void *clientdata) |
Public Member Functions | |
vtkMRMLSliceNode * | AddSliceNode (const char *layoutName) |
Convenience function for adding a slice node and setting it in this logic. More... | |
void | CreateSliceModel () |
Make a slice model with the current configuration More... | |
void | DeleteSliceModel () |
void | EndSliceCompositeNodeInteraction () |
Indicate an interaction with the slice composite node has been completed. More... | |
void | EndSliceNodeInteraction () |
Indicate an interaction with the slice node has been completed. More... | |
void | EndSliceOffsetInteraction () |
Indicate the slice offset value has completed its change. More... | |
virtual bool | EnterMRMLCallback () const |
void | FitFOVToBackground (double fov) |
void | FitSliceToAll (int width=-1, int height=-1) |
void | FitSliceToBackground (int width, int height) |
adjust the node's field of view to match the extent of current background volume More... | |
void | FitSliceToVolume (vtkMRMLVolumeNode *volumeNode, int width, int height) |
adjust the node's field of view to match the extent of current background volume More... | |
virtual vtkMRMLSliceLayerLogic * | GetBackgroundLayer () |
void | GetBackgroundRASBox (double rasDimensions[3], double rasCenter[3]) |
Get the size of the volume, transformed to RAS space More... | |
void | GetBackgroundSliceBounds (double sliceBounds[6]) |
void | GetBackgroundSliceDimensions (double sliceDimensions[3], double sliceCenter[3]) |
Get the size of the volume, transformed to slice space More... | |
double * | GetBackgroundSliceSpacing () |
void | GetBackgroundWindowLevelAndRange (double &window, double &level, double &rangeLow, double &rangeHigh, bool &autoWindowLevel) |
void | GetBackgroundWindowLevelAndRange (double &window, double &level, double &rangeLow, double &rangeHigh) |
Helper to get the background layer Window/Level and intensity range More... | |
vtkImageBlend * | GetBlend () |
vtkImageBlend * | GetBlendUVW () |
virtual const char * | GetClassName () |
int | GetEditableLayerAtWorldPosition (double worldPos[3], bool backgroundVolumeEditable=true, bool foregroundVolumeEditable=true) |
virtual vtkImageReslice * | GetExtractModelTexture () |
virtual vtkMRMLSliceLayerLogic * | GetForegroundLayer () |
void | GetForegroundWindowLevelAndRange (double &window, double &level, double &rangeLow, double &rangeHigh, bool &autoWindowLevel) |
void | GetForegroundWindowLevelAndRange (double &window, double &level, double &rangeLow, double &rangeHigh) |
Helper to get the foreground layer Window/Level and intensity range More... | |
vtkAlgorithmOutput * | GetImageDataConnection () |
virtual vtkMRMLSliceLayerLogic * | GetLabelLayer () |
vtkMRMLVolumeNode * | GetLayerVolumeNode (int layer) |
void | GetLowestVolumeSliceBounds (double sliceBounds[6], bool useVoxelCenter=false) |
double * | GetLowestVolumeSliceSpacing () |
std::vector< vtkMRMLDisplayNode * > | GetPolyDataDisplayNodes () |
Get all slice displaynodes creating PolyData models like glyphs etc. More... | |
void | GetSliceBounds (double sliceBounds[6]) |
Get the largest slice bounding box for all volumes in layers More... | |
virtual vtkMRMLSliceCompositeNode * | GetSliceCompositeNode () |
The MRML slice node for this slice logic More... | |
vtkMRMLSliceDisplayNode * | GetSliceDisplayNode () |
Slice plane display properties More... | |
int | GetSliceIndexFromOffset (double sliceOffset, vtkMRMLVolumeNode *volumeNode) |
int | GetSliceIndexFromOffset (double sliceOffset) |
virtual vtkMRMLModelDisplayNode * | GetSliceModelDisplayNode () |
virtual vtkMRMLModelNode * | GetSliceModelNode () |
Model slice plane More... | |
virtual vtkMRMLLinearTransformNode * | GetSliceModelTransformNode () |
Model slice plane transform from xy to RAS More... | |
virtual vtkMRMLSliceNode * | GetSliceNode () |
The MRML slice node for this slice logic More... | |
double | GetSliceOffset () |
Get/Set the current distance from the origin to the slice plane More... | |
void | GetVolumeSliceBounds (vtkMRMLVolumeNode *volumeNode, double sliceBounds[6], bool useVoxelCenter=false) |
void | GetVolumeSliceDimensions (vtkMRMLVolumeNode *volumeNode, double sliceDimensions[3], double sliceCenter[3]) |
Get the size of the volume, transformed to slice space More... | |
double * | GetVolumeSliceSpacing (vtkMRMLVolumeNode *volumeNode) |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | ResizeSliceNode (double newWidth, double newHeight) |
void | RotateSliceToLowestVolumeAxes (bool forceSlicePlaneToSingleSlice=true) |
void | SetBackgroundLayer (vtkMRMLSliceLayerLogic *BackgroundLayer) |
void | SetBackgroundWindowLevel (double window, double level) |
Helper to set the background layer Window/Level More... | |
void | SetForegroundLayer (vtkMRMLSliceLayerLogic *ForegroundLayer) |
void | SetForegroundWindowLevel (double window, double level) |
Helper to set the foreground layer Window/Level More... | |
void | SetLabelLayer (vtkMRMLSliceLayerLogic *LabelLayer) |
void | SetSliceCompositeNode (vtkMRMLSliceCompositeNode *SliceCompositeNode) |
void | SetSliceExtentsToSliceNode () |
Set slice extents to all layers More... | |
void | SetSliceNode (vtkMRMLSliceNode *newSliceNode) |
void | SetSliceOffset (double offset) |
void | SnapSliceOffsetToIJK () |
void | StartSliceCompositeNodeInteraction (unsigned int parameters) |
void | StartSliceNodeInteraction (unsigned int parameters) |
void | StartSliceOffsetInteraction () |
Indicate the slice offset value is starting to change. More... | |
void | UpdateImageData () |
Internally used by UpdatePipeline. More... | |
void | UpdatePipeline () |
update the pipeline to reflect the current state of the nodes More... | |
void | UpdateSliceCompositeNode () |
Manage and synchronise the SliceCompositeNode More... | |
void | UpdateSliceNode () |
Manage and synchronise the SliceNode More... | |
void | UpdateSliceNodeFromLayout () |
Update slicer node given a layout name More... | |
Public Member Functions inherited from vtkMRMLAbstractLogic | |
virtual vtkMRMLApplicationLogic * | GetMRMLApplicationLogic () const |
Get access to overall application state. More... | |
vtkMRMLScene * | GetMRMLScene () const |
Return a reference to the current MRML scene. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
virtual void | SetMRMLApplicationLogic (vtkMRMLApplicationLogic *logic) |
void | SetMRMLScene (vtkMRMLScene *newScene) |
Set and observe the MRMLScene. More... | |
Static Public Member Functions | |
static vtkMRMLSliceCompositeNode * | GetSliceCompositeNode (vtkMRMLSliceNode *node) |
Return the associated slicerlayer nodes. More... | |
static vtkMRMLSliceNode * | GetSliceNode (vtkMRMLSliceCompositeNode *node) |
Return the associated slice node. More... | |
static void | GetVolumeRASBox (vtkMRMLVolumeNode *volumeNode, double rasDimensions[3], double rasCenter[3]) |
Get the size of the volume, transformed to RAS space More... | |
static bool | IsSliceModelDisplayNode (vtkMRMLDisplayNode *mrmlDisplayNode) |
static bool | IsSliceModelNode (vtkMRMLNode *mrmlNode) |
static int | IsTypeOf (const char *type) |
static vtkMRMLSliceLogic * | New () |
The Usual VTK class functions. More... | |
static vtkMRMLSliceLogic * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkMRMLAbstractLogic | |
static int | IsTypeOf (const char *type) |
static vtkMRMLAbstractLogic * | New () |
static vtkMRMLAbstractLogic * | SafeDownCast (vtkObject *o) |
Static Public Attributes | |
static const int | SLICE_INDEX_NO_VOLUME |
static const int | SLICE_INDEX_OUT_OF_VOLUME |
static const int | SLICE_INDEX_ROTATED |
static const std::string | SLICE_MODEL_NODE_NAME_SUFFIX |
Protected Member Functions | |
bool | IsEventInsideVolume (bool background, double worldPos[3]) |
void | OnMRMLNodeModified (vtkMRMLNode *node) override |
void | OnMRMLSceneEndImport () override |
void | OnMRMLSceneEndRestore () override |
void | OnMRMLSceneNodeAdded (vtkMRMLNode *node) override |
void | OnMRMLSceneNodeRemoved (vtkMRMLNode *node) override |
void | OnMRMLSceneStartClose () override |
void | ProcessMRMLLogicsEvents (vtkObject *caller, unsigned long event, void *callData) override |
process logic events More... | |
void | ProcessMRMLLogicsEvents () |
void | SetMRMLSceneInternal (vtkMRMLScene *newScene) override |
void | SetupCrosshairNode () |
void | SetWindowLevel (double window, double level, int layer) |
Helper to set Window/Level in any layer More... | |
bool | UpdateBlendLayers (vtkImageBlend *blend, const std::deque< SliceLayerInfo > &layers) |
void | UpdateFromMRMLScene () override |
void | UpdateSliceNodes () |
bool | VolumeWindowLevelEditable (const char *volumeNodeID) |
Returns true if the volume's window/level values are editable on the GUI. More... | |
vtkMRMLSliceLogic () | |
~vtkMRMLSliceLogic () override | |
Protected Member Functions inherited from vtkMRMLAbstractLogic | |
int | EndModify (bool wasModifying) |
virtual bool | EnterMRMLLogicsCallback () const |
virtual bool | EnterMRMLNodesCallback () const |
virtual bool | EnterMRMLSceneCallback () const |
bool | GetDisableModifiedEvent () const |
int | GetInMRMLLogicsCallbackFlag () const |
int | GetInMRMLNodesCallbackFlag () const |
int | GetInMRMLSceneCallbackFlag () const |
vtkCallbackCommand * | GetMRMLLogicsCallbackCommand () |
vtkObserverManager * | GetMRMLLogicsObserverManager () const |
vtkCallbackCommand * | GetMRMLNodesCallbackCommand () |
vtkObserverManager * | GetMRMLNodesObserverManager () const |
vtkCallbackCommand * | GetMRMLSceneCallbackCommand () |
vtkObserverManager * | GetMRMLSceneObserverManager () const |
int | GetPendingModifiedEventCount () const |
int | GetProcessingMRMLSceneEvent () const |
Return the event id currently processed or 0 if any. More... | |
int | InvokePendingModifiedEvent () |
void | Modified () override |
virtual void | ObserveMRMLScene () |
virtual void | OnMRMLSceneEndBatchProcess () |
virtual void | OnMRMLSceneEndClose () |
virtual void | OnMRMLSceneNew () |
virtual void | OnMRMLSceneStartBatchProcess () |
virtual void | OnMRMLSceneStartImport () |
virtual void | OnMRMLSceneStartRestore () |
virtual void | ProcessMRMLNodesEvents (vtkObject *caller, unsigned long event, void *callData) |
virtual void | ProcessMRMLSceneEvents (vtkObject *caller, unsigned long event, void *callData) |
virtual void | RegisterNodes () |
void | SetAndObserveMRMLSceneEventsInternal (vtkMRMLScene *newScene, vtkIntArray *events, vtkFloatArray *priorities=nullptr) |
void | SetDisableModifiedEvent (bool onOff) |
void | SetInMRMLLogicsCallbackFlag (int flag) |
void | SetInMRMLNodesCallbackFlag (int flag) |
void | SetInMRMLSceneCallbackFlag (int flag) |
void | SetProcessingMRMLSceneEvent (int event) |
bool | StartModify () |
virtual void | UnobserveMRMLScene () |
vtkMRMLAbstractLogic () | |
~vtkMRMLAbstractLogic () override | |
Static Protected Member Functions | |
static vtkMRMLSliceCompositeNode * | GetSliceCompositeNode (vtkMRMLScene *scene, const char *layoutName) |
static vtkMRMLSliceNode * | GetSliceNode (vtkMRMLScene *scene, const char *layoutName) |
Static Protected Member Functions inherited from vtkMRMLAbstractLogic | |
static void | MRMLLogicsCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLLogicCallback is a static function to relay modified events from the logics. More... | |
static void | MRMLNodesCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLNodesCallback is a static function to relay modified events from the nodes. More... | |
static void | MRMLSceneCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
Protected Attributes | |
bool | AddingSliceModelNodes |
vtkMRMLSliceLayerLogic * | BackgroundLayer |
vtkImageReslice * | ExtractModelTexture |
vtkMRMLSliceLayerLogic * | ForegroundLayer |
vtkAlgorithmOutput * | ImageDataConnection |
vtkMRMLSliceLayerLogic * | LabelLayer |
BlendPipeline * | Pipeline |
BlendPipeline * | PipelineUVW |
vtkMRMLSliceCompositeNode * | SliceCompositeNode |
vtkMRMLModelDisplayNode * | SliceModelDisplayNode |
vtkMRMLModelNode * | SliceModelNode |
vtkMRMLLinearTransformNode * | SliceModelTransformNode |
vtkMRMLSliceNode * | SliceNode |
double | SliceSpacing [3] |
Slicer logic class for slice manipulation.
This class manages the logic associated with display of slice windows (but not the GUI). Features of the class include: – a back-to-front list of MrmlVolumes to be displayed – a compositing mode for each volume layer (opacity, outline, glyph, checkerboard, etc) – each layer is required to provide an RGBA image in the space defined by the vtkMRMLSliceNode
This class manages internal vtk pipelines that create an output vtkImageData which can be used by the vtkSlicerSliceGUI class to display the resulting composite image or it can be used as a texture map in a vtkSlicerView. This class can also be used for resampling volumes for further computation.
Definition at line 58 of file vtkMRMLSliceLogic.h.
Definition at line 63 of file vtkMRMLSliceLogic.h.
anonymous enum |
CompositeModifiedEvent is generated when slice composite node is modified.
Enumerator | |
---|---|
CompositeModifiedEvent |
Definition at line 67 of file vtkMRMLSliceLogic.h.
anonymous enum |
Enumerator | |
---|---|
LayerNone | |
LayerBackground | |
LayerForeground | |
LayerLabel |
Definition at line 72 of file vtkMRMLSliceLogic.h.
|
protected |
|
overrideprotected |
vtkMRMLSliceNode* vtkMRMLSliceLogic::AddSliceNode | ( | const char * | layoutName | ) |
Convenience function for adding a slice node and setting it in this logic.
void vtkMRMLSliceLogic::CreateSliceModel | ( | ) |
Make a slice model with the current configuration
void vtkMRMLSliceLogic::DeleteSliceModel | ( | ) |
void vtkMRMLSliceLogic::EndSliceCompositeNodeInteraction | ( | ) |
Indicate an interaction with the slice composite node has been completed.
void vtkMRMLSliceLogic::EndSliceNodeInteraction | ( | ) |
Indicate an interaction with the slice node has been completed.
void vtkMRMLSliceLogic::EndSliceOffsetInteraction | ( | ) |
Indicate the slice offset value has completed its change.
|
virtual |
Reimplemented to avoir calling ProcessMRMLSceneEvents when we are added the MRMLModelNode into the scene
void vtkMRMLSliceLogic::FitFOVToBackground | ( | double | fov | ) |
adjust the node's field of view to match the FOV the value fov will be applied to the smallest slice window dimension
void vtkMRMLSliceLogic::FitSliceToAll | ( | int | width = -1 , |
int | height = -1 |
||
) |
adjust the node's field of view to match the extent of all volume layers (fits to first non-null layer)
void vtkMRMLSliceLogic::FitSliceToBackground | ( | int | width, |
int | height | ||
) |
adjust the node's field of view to match the extent of current background volume
void vtkMRMLSliceLogic::FitSliceToVolume | ( | vtkMRMLVolumeNode * | volumeNode, |
int | width, | ||
int | height | ||
) |
adjust the node's field of view to match the extent of current background volume
|
virtual |
The background slice layer TODO: this will eventually be generalized to a list of layers
void vtkMRMLSliceLogic::GetBackgroundRASBox | ( | double | rasDimensions[3], |
double | rasCenter[3] | ||
) |
Get the size of the volume, transformed to RAS space
void vtkMRMLSliceLogic::GetBackgroundSliceBounds | ( | double | sliceBounds[6] | ) |
Get the min/max bounds of the volume
void vtkMRMLSliceLogic::GetBackgroundSliceDimensions | ( | double | sliceDimensions[3], |
double | sliceCenter[3] | ||
) |
Get the size of the volume, transformed to slice space
double* vtkMRMLSliceLogic::GetBackgroundSliceSpacing | ( | ) |
Get the spacing of the volume, transformed to slice space
void vtkMRMLSliceLogic::GetBackgroundWindowLevelAndRange | ( | double & | window, |
double & | level, | ||
double & | rangeLow, | ||
double & | rangeHigh, | ||
bool & | autoWindowLevel | ||
) |
Helper to get the background layer Window/Level, intensity range and status of automatic Window/Level setting
void vtkMRMLSliceLogic::GetBackgroundWindowLevelAndRange | ( | double & | window, |
double & | level, | ||
double & | rangeLow, | ||
double & | rangeHigh | ||
) |
Helper to get the background layer Window/Level and intensity range
vtkImageBlend* vtkMRMLSliceLogic::GetBlend | ( | ) |
The compositing filter TODO: this will eventually be generalized to a per-layer compositing function
vtkImageBlend* vtkMRMLSliceLogic::GetBlendUVW | ( | ) |
|
virtual |
Reimplemented from vtkMRMLAbstractLogic.
int vtkMRMLSliceLogic::GetEditableLayerAtWorldPosition | ( | double | worldPos[3], |
bool | backgroundVolumeEditable = true , |
||
bool | foregroundVolumeEditable = true |
||
) |
Get volume at the specified world position that should be used for interactions, such as window/level adjustments. backgroundVolumeEditable and foregroundVolumeEditable can be used specify that a volume is not editable (even if it is visible at the given position).
|
virtual |
An image reslice instance to pull a single slice from the volume that represents the filmsheet display output
|
virtual |
The foreground slice layer TODO: this will eventually be generalized to a list of layers
void vtkMRMLSliceLogic::GetForegroundWindowLevelAndRange | ( | double & | window, |
double & | level, | ||
double & | rangeLow, | ||
double & | rangeHigh, | ||
bool & | autoWindowLevel | ||
) |
Helper to get the foreground layer Window/Level, intensity range and status of automatic Window/Level setting
void vtkMRMLSliceLogic::GetForegroundWindowLevelAndRange | ( | double & | window, |
double & | level, | ||
double & | rangeLow, | ||
double & | rangeHigh | ||
) |
Helper to get the foreground layer Window/Level and intensity range
vtkAlgorithmOutput* vtkMRMLSliceLogic::GetImageDataConnection | ( | ) |
the tail of the pipeline – returns nullptr if none of the inputs exist
|
virtual |
The Label slice layer TODO: this will eventually be generalized to a list of layers
vtkMRMLVolumeNode* vtkMRMLSliceLogic::GetLayerVolumeNode | ( | int | layer | ) |
Get the volume node corresponding to layer (0=background, 1=foreground, 2=label)
void vtkMRMLSliceLogic::GetLowestVolumeSliceBounds | ( | double | sliceBounds[6], |
bool | useVoxelCenter = false |
||
) |
Get the min/max bounds of the lowest volume layer (background, foreground, label)
double* vtkMRMLSliceLogic::GetLowestVolumeSliceSpacing | ( | ) |
Get the spacing of the lowest volume layer (background, foreground, label), transformed to slice space
std::vector< vtkMRMLDisplayNode*> vtkMRMLSliceLogic::GetPolyDataDisplayNodes | ( | ) |
Get all slice displaynodes creating PolyData models like glyphs etc.
void vtkMRMLSliceLogic::GetSliceBounds | ( | double | sliceBounds[6] | ) |
Get the largest slice bounding box for all volumes in layers
|
virtual |
The MRML slice node for this slice logic
|
static |
Return the associated slicerlayer nodes.
|
staticprotected |
vtkMRMLSliceDisplayNode* vtkMRMLSliceLogic::GetSliceDisplayNode | ( | ) |
Slice plane display properties
int vtkMRMLSliceLogic::GetSliceIndexFromOffset | ( | double | sliceOffset, |
vtkMRMLVolumeNode * | volumeNode | ||
) |
Get the DICOM slice index (1-based) from slice offset (distance from the origin to the slice plane). If the return value is negative then then no slice index can be determined: SLICE_INDEX_ROTATED=the slice is rotated compared to the volume planes, SLICE_INDEX_OUT_OF_VOLUME=the slice plane is out of the volume SLICE_INDEX_NO_VOLUME=the specified volume is not available
int vtkMRMLSliceLogic::GetSliceIndexFromOffset | ( | double | sliceOffset | ) |
Get the DICOM slice index (1-based) from slice offset (distance from the origin to the slice plane). Slice index is computed for the first available volume (the search order is background, foreground, label volume). If the return value is negative then then no slice index can be determined for the first available volume: SLICE_INDEX_ROTATED=the slice is rotated compared to the volume planes, SLICE_INDEX_OUT_OF_VOLUME=the slice plane is out of the volume SLICE_INDEX_NO_VOLUME=no volume is available
|
virtual |
Model slice plane display properties. The method is deprecated, use SliceDisplayNode instead.
|
virtual |
Model slice plane
|
virtual |
Model slice plane transform from xy to RAS
|
virtual |
The MRML slice node for this slice logic
|
static |
Return the associated slice node.
|
staticprotected |
double vtkMRMLSliceLogic::GetSliceOffset | ( | ) |
Get/Set the current distance from the origin to the slice plane
|
static |
Get the size of the volume, transformed to RAS space
void vtkMRMLSliceLogic::GetVolumeSliceBounds | ( | vtkMRMLVolumeNode * | volumeNode, |
double | sliceBounds[6], | ||
bool | useVoxelCenter = false |
||
) |
Get the min/max bounds of the volume
void vtkMRMLSliceLogic::GetVolumeSliceDimensions | ( | vtkMRMLVolumeNode * | volumeNode, |
double | sliceDimensions[3], | ||
double | sliceCenter[3] | ||
) |
Get the size of the volume, transformed to slice space
double* vtkMRMLSliceLogic::GetVolumeSliceSpacing | ( | vtkMRMLVolumeNode * | volumeNode | ) |
Get the spacing of the volume, transformed to slice space
|
virtual |
Reimplemented from vtkMRMLAbstractLogic.
|
protected |
Returns true if position is inside the selected layer volume. Use background flag to choose between foreground/background layer.
|
static |
Return true if the display node is a volume slice node display node by checking the attribute SliceLogic.IsSliceModelDiplayNode Returns false if the attribute is not present, true if the attribute is present and not equal to zero
|
static |
Return true if the node is a model node that has the default volume slice node name suffix, false otherwise
|
static |
|
static |
The Usual VTK class functions.
|
overrideprotectedvirtual |
Called after the corresponding MRML event is triggered.
Reimplemented from vtkMRMLAbstractLogic.
|
overrideprotectedvirtual |
If vtkMRMLScene::EndImportEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event
Reimplemented from vtkMRMLAbstractLogic.
|
overrideprotectedvirtual |
If vtkMRMLScene::EndRestoreEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event
Reimplemented from vtkMRMLAbstractLogic.
|
overrideprotectedvirtual |
If vtkMRMLScene::NodeAddedEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event
Reimplemented from vtkMRMLAbstractLogic.
|
overrideprotectedvirtual |
If vtkMRMLScene::NodeRemovedEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event
Reimplemented from vtkMRMLAbstractLogic.
|
overrideprotectedvirtual |
If vtkMRMLScene::StartCloseEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event
Reimplemented from vtkMRMLAbstractLogic.
|
override |
|
overrideprotectedvirtual |
process logic events
Reimplemented from vtkMRMLAbstractLogic.
|
protected |
void vtkMRMLSliceLogic::ResizeSliceNode | ( | double | newWidth, |
double | newHeight | ||
) |
Adjust dimensions and fov based on the new viewport size. The size should be the viewport size (typically vtkRenderWindow), not the size of the renderers (important if it's in a lightbox mode). It must be called each time the renderwindow size is modified and each time the lightbox configuration is changed.
void vtkMRMLSliceLogic::RotateSliceToLowestVolumeAxes | ( | bool | forceSlicePlaneToSingleSlice = true | ) |
Rotate slice view to match axes of the lowest volume layer (background, foreground, label).
forceSlicePlaneToSingleSlice | If the volume is single-slice and forceSlicePlaneToSingleSlice is enabled then slice view will be aligned with the volume's slice plane. If the flag is disabled of the volume has more than one slice then the slice view will be rotated to the closest orthogonal axis. |
|
static |
void vtkMRMLSliceLogic::SetBackgroundLayer | ( | vtkMRMLSliceLayerLogic * | BackgroundLayer | ) |
void vtkMRMLSliceLogic::SetBackgroundWindowLevel | ( | double | window, |
double | level | ||
) |
Helper to set the background layer Window/Level
void vtkMRMLSliceLogic::SetForegroundLayer | ( | vtkMRMLSliceLayerLogic * | ForegroundLayer | ) |
void vtkMRMLSliceLogic::SetForegroundWindowLevel | ( | double | window, |
double | level | ||
) |
Helper to set the foreground layer Window/Level
void vtkMRMLSliceLogic::SetLabelLayer | ( | vtkMRMLSliceLayerLogic * | LabelLayer | ) |
|
overrideprotectedvirtual |
Called each time a new scene is set. Can be reimplemented in derivated classes. Doesn't observe the scene by default, that means that UpdateFromMRMLScene() won't be called by default when a scene is imported, closed or restored, only when a new scene is set.
Reimplemented from vtkMRMLAbstractLogic.
void vtkMRMLSliceLogic::SetSliceCompositeNode | ( | vtkMRMLSliceCompositeNode * | SliceCompositeNode | ) |
void vtkMRMLSliceLogic::SetSliceExtentsToSliceNode | ( | ) |
Set slice extents to all layers
void vtkMRMLSliceLogic::SetSliceNode | ( | vtkMRMLSliceNode * | newSliceNode | ) |
void vtkMRMLSliceLogic::SetSliceOffset | ( | double | offset | ) |
|
protected |
|
protected |
Helper to set Window/Level in any layer
void vtkMRMLSliceLogic::SnapSliceOffsetToIJK | ( | ) |
Set the current distance so that it corresponds to the closest center of a voxel in IJK space (integer value)
void vtkMRMLSliceLogic::StartSliceCompositeNodeInteraction | ( | unsigned int | parameters | ) |
Indicate an interaction with the slice composite node is beginning. The parameters of the slice node being manipulated are passed as a bitmask. See vtkMRMLSliceNode::InteractionFlagType.
void vtkMRMLSliceLogic::StartSliceNodeInteraction | ( | unsigned int | parameters | ) |
Indicate an interaction with the slice node is beginning. The parameters of the slice node being manipulated are passed as a bitmask. See vtkMRMLSliceNode::InteractionFlagType.
void vtkMRMLSliceLogic::StartSliceOffsetInteraction | ( | ) |
Indicate the slice offset value is starting to change.
|
protected |
Helper to update input of blend filter from a set of layers. It minimizes changes to the imaging pipeline (does not remove and re-add an input if it is not changed) because rebuilding of the pipeline is a relatively expensive operation.
|
overrideprotectedvirtual |
Called every time the scene has been significantly changed. If the scene BatchProcessState events are observed (in SetMRMLSceneInternal() ), UpdateFromMRMLScene is called after each batch process (Close, Import, Restore...). It is also being called by default when a new scene is set (SetMRMLScene).
Reimplemented from vtkMRMLAbstractLogic.
void vtkMRMLSliceLogic::UpdateImageData | ( | ) |
Internally used by UpdatePipeline.
void vtkMRMLSliceLogic::UpdatePipeline | ( | ) |
update the pipeline to reflect the current state of the nodes
void vtkMRMLSliceLogic::UpdateSliceCompositeNode | ( | ) |
Manage and synchronise the SliceCompositeNode
void vtkMRMLSliceLogic::UpdateSliceNode | ( | ) |
Manage and synchronise the SliceNode
void vtkMRMLSliceLogic::UpdateSliceNodeFromLayout | ( | ) |
Update slicer node given a layout name
|
protected |
|
protected |
Returns true if the volume's window/level values are editable on the GUI.
|
protected |
Definition at line 432 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 436 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 442 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 437 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 443 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 438 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 440 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 441 of file vtkMRMLSliceLogic.h.
|
static |
Definition at line 332 of file vtkMRMLSliceLogic.h.
|
static |
Definition at line 331 of file vtkMRMLSliceLogic.h.
|
static |
Definition at line 330 of file vtkMRMLSliceLogic.h.
|
static |
Default node name suffix for use with volume slice models to distinguish them as built in models rather than user accessible.
Definition at line 367 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 435 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 446 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 445 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 447 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 434 of file vtkMRMLSliceLogic.h.
|
protected |
Definition at line 448 of file vtkMRMLSliceLogic.h.