Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkSlicerSegmentationGeometryLogic Class Reference

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

Inheritance diagram for vtkSlicerSegmentationGeometryLogic:
Inheritance graph
[legend]
Collaboration diagram for vtkSlicerSegmentationGeometryLogic:
Collaboration graph
[legend]

Public Types

typedef vtkObject Superclass
 

Public Member Functions

std::string CalculateOutputGeometry ()
 
void ComputeSourceAxisIndexForInputAxis ()
 
virtual const char * GetClassName ()
 
virtual int * GetInputAxisIndexForSourceAxis ()
 
virtual void GetInputAxisIndexForSourceAxis (int data[3])
 
virtual vtkMRMLSegmentationNodeGetInputSegmentationNode ()
 
virtual bool GetIsotropicSpacing ()
 
virtual vtkOrientedImageDataGetOutputGeometryImageData ()
 
virtual double GetOversamplingFactor ()
 
virtual int * GetSourceAxisIndexForInputAxis ()
 
virtual void GetSourceAxisIndexForInputAxis (int data[3])
 
virtual vtkMRMLDisplayableNodeGetSourceGeometryNode ()
 
virtual double * GetUserSpacing ()
 
virtual void GetUserSpacing (double data[3])
 
bool InputSegmentationCanBeResampled ()
 Determine if input segmentation is non-empty, and with binary labelmap master. More...
 
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. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ResetGeometryImageData ()
 Reset geometry image data. More...
 
virtual void SetInputSegmentationNode (vtkMRMLSegmentationNode *)
 
virtual void SetIsotropicSpacing (bool)
 
virtual void SetOversamplingFactor (double)
 
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 ()
 
 vtkSlicerSegmentationGeometryLogic ()
 
 ~vtkSlicerSegmentationGeometryLogic () override
 

Protected Attributes

int InputAxisIndexForSourceAxis [3] { 0, 1, 2 }
 Source to input axes mapping. More...
 
vtkMRMLSegmentationNodeInputSegmentationNode
 Input segmentation MRML node to modify the labelmap geometry of. More...
 
bool IsotropicSpacing
 
vtkOrientedImageDataOutputGeometryImageData
 Oriented image data containing output geometry. This is what the class calculates from the inputs. More...
 
double OversamplingFactor
 
int SourceAxisIndexForInputAxis [3] { 0, 1, 2 }
 Inverse permutation of. More...
 
vtkMRMLDisplayableNodeSourceGeometryNode
 MRML node specifying the source geometry. More...
 
double UserSpacing [3] { 1.0, 1.0, 1.0 }
 

Detailed Description

Definition at line 40 of file vtkSlicerSegmentationGeometryLogic.h.

Member Typedef Documentation

◆ Superclass

Definition at line 44 of file vtkSlicerSegmentationGeometryLogic.h.

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 master representation.
Returns
Error message. Empty when successful

◆ 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

◆ GetInputAxisIndexForSourceAxis() [2/2]

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

◆ GetInputSegmentationNode()

virtual vtkMRMLSegmentationNode* vtkSlicerSegmentationGeometryLogic::GetInputSegmentationNode ( )
virtual

◆ GetIsotropicSpacing()

virtual bool vtkSlicerSegmentationGeometryLogic::GetIsotropicSpacing ( )
virtual

◆ GetOutputGeometryImageData()

virtual vtkOrientedImageData* vtkSlicerSegmentationGeometryLogic::GetOutputGeometryImageData ( )
virtual

◆ GetOversamplingFactor()

virtual double vtkSlicerSegmentationGeometryLogic::GetOversamplingFactor ( )
virtual

◆ GetSourceAxisIndexForInputAxis() [1/2]

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

◆ GetSourceAxisIndexForInputAxis() [2/2]

virtual int* vtkSlicerSegmentationGeometryLogic::GetSourceAxisIndexForInputAxis ( )
virtual

◆ GetSourceGeometryNode()

virtual vtkMRMLDisplayableNode* vtkSlicerSegmentationGeometryLogic::GetSourceGeometryNode ( )
virtual

◆ GetUserSpacing() [1/2]

virtual double* vtkSlicerSegmentationGeometryLogic::GetUserSpacing ( )
virtual

◆ 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

◆ PrintSelf()

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

◆ 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

◆ 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

Source to input axes mapping.

See also
matchInputAndSourceAxes

Definition at line 127 of file vtkSlicerSegmentationGeometryLogic.h.

◆ InputSegmentationNode

vtkMRMLSegmentationNode* vtkSlicerSegmentationGeometryLogic::InputSegmentationNode
protected

Input segmentation MRML node to modify the labelmap geometry of.

Definition at line 104 of file vtkSlicerSegmentationGeometryLogic.h.

◆ IsotropicSpacing

bool vtkSlicerSegmentationGeometryLogic::IsotropicSpacing
protected

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.

Definition at line 112 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OutputGeometryImageData

vtkOrientedImageData* vtkSlicerSegmentationGeometryLogic::OutputGeometryImageData
protected

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

Definition at line 124 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OversamplingFactor

double vtkSlicerSegmentationGeometryLogic::OversamplingFactor
protected

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.

Definition at line 117 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceAxisIndexForInputAxis

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

Inverse permutation of.

See also
InputAxisIndexForSourceAxis

Definition at line 129 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceGeometryNode

vtkMRMLDisplayableNode* vtkSlicerSegmentationGeometryLogic::SourceGeometryNode
protected

MRML node specifying the source geometry.

Definition at line 107 of file vtkSlicerSegmentationGeometryLogic.h.

◆ UserSpacing

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

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)

Definition at line 121 of file vtkSlicerSegmentationGeometryLogic.h.


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