Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkSlicerSegmentationGeometryLogic Class Reference

#include <Modules/Loadable/Segmentations/Logic/vtkSlicerSegmentationGeometryLogic.h>

Inheritance diagram for vtkSlicerSegmentationGeometryLogic:
Collaboration diagram for vtkSlicerSegmentationGeometryLogic:

Public Types

typedef vtkObject Superclass
 

Public Member Functions

std::string CalculateOutputGeometry ()
 
void ComputeSourceAxisIndexForInputAxis ()
 
virtual const char * GetClassName ()
 
virtual int * GetInputAxisIndexForSourceAxis ()
 Source to input axes mapping.
 
virtual void GetInputAxisIndexForSourceAxis (int data[3])
 
virtual vtkMRMLSegmentationNodeGetInputSegmentationNode ()
 Input segmentation MRML node to modify the labelmap geometry of.
 
virtual bool GetIsotropicSpacing ()
 
virtual vtkOrientedImageDataGetOutputGeometryImageData ()
 Oriented image data containing output geometry. This is what the class calculates from the inputs.
 
virtual double GetOversamplingFactor ()
 
virtual bool GetPadOutputGeometry ()
 
virtual int * GetSourceAxisIndexForInputAxis ()
 Source to input axes mapping.
 
virtual void GetSourceAxisIndexForInputAxis (int data[3])
 
virtual vtkMRMLDisplayableNodeGetSourceGeometryNode ()
 MRML node specifying the source geometry.
 
virtual double * GetUserSpacing ()
 
virtual void GetUserSpacing (double data[3])
 
bool InputSegmentationCanBeResampled ()
 Determine if input segmentation is non-empty, and with binary labelmap master.
 
virtual int IsA (const char *type)
 
virtual void IsotropicSpacingOff ()
 
virtual void IsotropicSpacingOn ()
 
bool IsSourceSegmentationWithBinaryLabelmapMaster ()
 Determine if source node is a non-empty segmentation with a labelmap master.
 
virtual void PadOutputGeometryOff ()
 
virtual void PadOutputGeometryOn ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
bool ResampleLabelmapsInSegmentationNode ()
 
void ResetGeometryImageData ()
 Reset geometry image data.
 
virtual void SetInputSegmentationNode (vtkMRMLSegmentationNode *)
 
virtual void SetIsotropicSpacing (bool)
 
virtual void SetOversamplingFactor (double)
 
virtual void SetPadOutputGeometry (bool)
 
bool SetReferenceImageGeometryInSegmentationNode ()
 
virtual void SetSourceGeometryNode (vtkMRMLDisplayableNode *node)
 
virtual void SetUserSpacing (double data[])
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkSlicerSegmentationGeometryLogicNew ()
 
static vtkSlicerSegmentationGeometryLogicSafeDownCast (vtkObject *o)
 

Protected Member Functions

std::string CalculateOutputGeometryFromBounds (bool keepCurrentAxisDirections)
 
std::string CalculateOutputGeometryFromImage ()
 
void CalculatePaddedOutputGeometry ()
 
 vtkSlicerSegmentationGeometryLogic ()
 
 ~vtkSlicerSegmentationGeometryLogic () override
 

Protected Attributes

int InputAxisIndexForSourceAxis [3] { 0, 1, 2 }
 
vtkMRMLSegmentationNodeInputSegmentationNode { nullptr }
 
bool IsotropicSpacing { false }
 
vtkOrientedImageDataOutputGeometryImageData { nullptr }
 
double OversamplingFactor { 1.0 }
 
bool PadOutputGeometry { true }
 
int SourceAxisIndexForInputAxis [3] { 0, 1, 2 }
 
vtkMRMLDisplayableNodeSourceGeometryNode { nullptr }
 
double UserSpacing [3] { 1.0, 1.0, 1.0 }
 

Detailed Description

Definition at line 39 of file vtkSlicerSegmentationGeometryLogic.h.

Member Typedef Documentation

◆ Superclass

Constructor & Destructor Documentation

◆ vtkSlicerSegmentationGeometryLogic()

vtkSlicerSegmentationGeometryLogic::vtkSlicerSegmentationGeometryLogic ( )
protected

◆ ~vtkSlicerSegmentationGeometryLogic()

vtkSlicerSegmentationGeometryLogic::~vtkSlicerSegmentationGeometryLogic ( )
overrideprotected

Member Function Documentation

◆ CalculateOutputGeometry()

std::string vtkSlicerSegmentationGeometryLogic::CalculateOutputGeometry ( )

Calculate output geometry into

See also
GeometryImageData with current options
Returns
Error message. Empty when successful

◆ CalculateOutputGeometryFromBounds()

std::string vtkSlicerSegmentationGeometryLogic::CalculateOutputGeometryFromBounds ( bool keepCurrentAxisDirections)
protected

Calculate output geometry into

See also
GeometryImageData with current options from node bounds. If keepCurrentAxisDirections is true then the current axes directions will be preserved, otherwise the source axes directions are used.
Returns
Error message. Empty when successful

◆ CalculateOutputGeometryFromImage()

std::string vtkSlicerSegmentationGeometryLogic::CalculateOutputGeometryFromImage ( )
protected

Calculate output geometry into

See also
GeometryImageData with current options from image or segmentation that uses labelmap as source representation.
Returns
Error message. Empty when successful

◆ CalculatePaddedOutputGeometry()

void vtkSlicerSegmentationGeometryLogic::CalculatePaddedOutputGeometry ( )
protected

◆ ComputeSourceAxisIndexForInputAxis()

void vtkSlicerSegmentationGeometryLogic::ComputeSourceAxisIndexForInputAxis ( )

Match the axes of the input labelmap to the axes of the transformed source node. Use this calculated permutation for updating spacing widget from geometry and interpreting spacing input

◆ GetClassName()

virtual const char * vtkSlicerSegmentationGeometryLogic::GetClassName ( )
virtual

◆ GetInputAxisIndexForSourceAxis() [1/2]

virtual int * vtkSlicerSegmentationGeometryLogic::GetInputAxisIndexForSourceAxis ( )
virtual

Source to input axes mapping.

See also
matchInputAndSourceAxes

◆ GetInputAxisIndexForSourceAxis() [2/2]

virtual void vtkSlicerSegmentationGeometryLogic::GetInputAxisIndexForSourceAxis ( int data[3])
virtual

◆ GetInputSegmentationNode()

virtual vtkMRMLSegmentationNode * vtkSlicerSegmentationGeometryLogic::GetInputSegmentationNode ( )
virtual

Input segmentation MRML node to modify the labelmap geometry of.

◆ GetIsotropicSpacing()

virtual bool vtkSlicerSegmentationGeometryLogic::GetIsotropicSpacing ( )
virtual

Flag indicating whether isotropic spacing is requested. Off by default Resample the volume to have isotropic spacing, which means the voxels will be cubes. Use smallest spacing. Useful if the volume has elongated voxels.

◆ GetOutputGeometryImageData()

virtual vtkOrientedImageData * vtkSlicerSegmentationGeometryLogic::GetOutputGeometryImageData ( )
virtual

Oriented image data containing output geometry. This is what the class calculates from the inputs.

◆ GetOversamplingFactor()

virtual double vtkSlicerSegmentationGeometryLogic::GetOversamplingFactor ( )
virtual

Oversampling factor: Split each voxel of the volume to this many voxels along each direction. Useful when increasing the resolution is needed 1 by default.

◆ GetPadOutputGeometry()

virtual bool vtkSlicerSegmentationGeometryLogic::GetPadOutputGeometry ( )
virtual

If enabled then the output geometry extent is padded as needed to ensure that the input segmentation extent fits into the output. Enabled by default.

◆ GetSourceAxisIndexForInputAxis() [1/2]

virtual int * vtkSlicerSegmentationGeometryLogic::GetSourceAxisIndexForInputAxis ( )
virtual

Source to input axes mapping.

See also
matchInputAndSourceAxes

◆ GetSourceAxisIndexForInputAxis() [2/2]

virtual void vtkSlicerSegmentationGeometryLogic::GetSourceAxisIndexForInputAxis ( int data[3])
virtual

◆ GetSourceGeometryNode()

virtual vtkMRMLDisplayableNode * vtkSlicerSegmentationGeometryLogic::GetSourceGeometryNode ( )
virtual

MRML node specifying the source geometry.

◆ GetUserSpacing() [1/2]

virtual double * vtkSlicerSegmentationGeometryLogic::GetUserSpacing ( )
virtual

Explicitly specified spacing. Only applied if

See also
SourceGeometryNode does not contain volume data (i.e. not a volume node nor a segmentation node with labelmap master, but an ROI, model, or segmentation with poly data master)

◆ GetUserSpacing() [2/2]

virtual void vtkSlicerSegmentationGeometryLogic::GetUserSpacing ( double data[3])
virtual

◆ InputSegmentationCanBeResampled()

bool vtkSlicerSegmentationGeometryLogic::InputSegmentationCanBeResampled ( )

Determine if input segmentation is non-empty, and with binary labelmap master.

◆ IsA()

virtual int vtkSlicerSegmentationGeometryLogic::IsA ( const char * type)
virtual

◆ IsotropicSpacingOff()

virtual void vtkSlicerSegmentationGeometryLogic::IsotropicSpacingOff ( )
virtual

◆ IsotropicSpacingOn()

virtual void vtkSlicerSegmentationGeometryLogic::IsotropicSpacingOn ( )
virtual

◆ IsSourceSegmentationWithBinaryLabelmapMaster()

bool vtkSlicerSegmentationGeometryLogic::IsSourceSegmentationWithBinaryLabelmapMaster ( )

Determine if source node is a non-empty segmentation with a labelmap master.

◆ IsTypeOf()

static int vtkSlicerSegmentationGeometryLogic::IsTypeOf ( const char * type)
static

◆ New()

static vtkSlicerSegmentationGeometryLogic * vtkSlicerSegmentationGeometryLogic::New ( )
static

◆ PadOutputGeometryOff()

virtual void vtkSlicerSegmentationGeometryLogic::PadOutputGeometryOff ( )
virtual

◆ PadOutputGeometryOn()

virtual void vtkSlicerSegmentationGeometryLogic::PadOutputGeometryOn ( )
virtual

◆ PrintSelf()

void vtkSlicerSegmentationGeometryLogic::PrintSelf ( ostream & os,
vtkIndent indent )
override

◆ ResampleLabelmapsInSegmentationNode()

bool vtkSlicerSegmentationGeometryLogic::ResampleLabelmapsInSegmentationNode ( )

Resample labelmap representation of the input segmentation node according to the current output geometry setting.

See also
SetReferenceImageGeometryInSegmentationNode()

◆ ResetGeometryImageData()

void vtkSlicerSegmentationGeometryLogic::ResetGeometryImageData ( )

Reset geometry image data.

See also
GeometryImageData

◆ SafeDownCast()

static vtkSlicerSegmentationGeometryLogic * vtkSlicerSegmentationGeometryLogic::SafeDownCast ( vtkObject * o)
static

◆ SetInputSegmentationNode()

virtual void vtkSlicerSegmentationGeometryLogic::SetInputSegmentationNode ( vtkMRMLSegmentationNode * )
virtual

◆ SetIsotropicSpacing()

virtual void vtkSlicerSegmentationGeometryLogic::SetIsotropicSpacing ( bool )
virtual

◆ SetOversamplingFactor()

virtual void vtkSlicerSegmentationGeometryLogic::SetOversamplingFactor ( double )
virtual

◆ SetPadOutputGeometry()

virtual void vtkSlicerSegmentationGeometryLogic::SetPadOutputGeometry ( bool )
virtual

◆ SetReferenceImageGeometryInSegmentationNode()

bool vtkSlicerSegmentationGeometryLogic::SetReferenceImageGeometryInSegmentationNode ( )

Sets the computed reference image geometry into the input segmentation node (in the ReferenceImageGeometry conversion parameter and node reference). For example, reference geometry may be used for determining the geometry of the segmentation when saving into file, to make the extents of the segmentation match the extents of the segmented image (instead of making the segmentation just big enough to store all the segments).

◆ SetSourceGeometryNode()

virtual void vtkSlicerSegmentationGeometryLogic::SetSourceGeometryNode ( vtkMRMLDisplayableNode * node)
virtual

◆ SetUserSpacing()

virtual void vtkSlicerSegmentationGeometryLogic::SetUserSpacing ( double data[])
virtual

Member Data Documentation

◆ InputAxisIndexForSourceAxis

int vtkSlicerSegmentationGeometryLogic::InputAxisIndexForSourceAxis[3] { 0, 1, 2 }
protected

Definition at line 153 of file vtkSlicerSegmentationGeometryLogic.h.

◆ InputSegmentationNode

vtkMRMLSegmentationNode* vtkSlicerSegmentationGeometryLogic::InputSegmentationNode { nullptr }
protected

Definition at line 146 of file vtkSlicerSegmentationGeometryLogic.h.

◆ IsotropicSpacing

bool vtkSlicerSegmentationGeometryLogic::IsotropicSpacing { false }
protected

Definition at line 148 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OutputGeometryImageData

vtkOrientedImageData* vtkSlicerSegmentationGeometryLogic::OutputGeometryImageData { nullptr }
protected

Definition at line 152 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OversamplingFactor

double vtkSlicerSegmentationGeometryLogic::OversamplingFactor { 1.0 }
protected

Definition at line 149 of file vtkSlicerSegmentationGeometryLogic.h.

◆ PadOutputGeometry

bool vtkSlicerSegmentationGeometryLogic::PadOutputGeometry { true }
protected

Definition at line 150 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceAxisIndexForInputAxis

int vtkSlicerSegmentationGeometryLogic::SourceAxisIndexForInputAxis[3] { 0, 1, 2 }
protected

Definition at line 154 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceGeometryNode

vtkMRMLDisplayableNode* vtkSlicerSegmentationGeometryLogic::SourceGeometryNode { nullptr }
protected

Definition at line 147 of file vtkSlicerSegmentationGeometryLogic.h.

◆ UserSpacing

double vtkSlicerSegmentationGeometryLogic::UserSpacing[3] { 1.0, 1.0, 1.0 }
protected

Definition at line 151 of file vtkSlicerSegmentationGeometryLogic.h.


The documentation for this class was generated from the following file: