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

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 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

◆ 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 the input segmentation node according to the current output geometry setting.

◆ 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

◆ 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 145 of file vtkSlicerSegmentationGeometryLogic.h.

◆ InputSegmentationNode

vtkMRMLSegmentationNode* vtkSlicerSegmentationGeometryLogic::InputSegmentationNode { nullptr }
protected

Definition at line 138 of file vtkSlicerSegmentationGeometryLogic.h.

◆ IsotropicSpacing

bool vtkSlicerSegmentationGeometryLogic::IsotropicSpacing { false }
protected

Definition at line 140 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OutputGeometryImageData

vtkOrientedImageData* vtkSlicerSegmentationGeometryLogic::OutputGeometryImageData { nullptr }
protected

Definition at line 144 of file vtkSlicerSegmentationGeometryLogic.h.

◆ OversamplingFactor

double vtkSlicerSegmentationGeometryLogic::OversamplingFactor { 1.0 }
protected

Definition at line 141 of file vtkSlicerSegmentationGeometryLogic.h.

◆ PadOutputGeometry

bool vtkSlicerSegmentationGeometryLogic::PadOutputGeometry { true }
protected

Definition at line 142 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceAxisIndexForInputAxis

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

Definition at line 146 of file vtkSlicerSegmentationGeometryLogic.h.

◆ SourceGeometryNode

vtkMRMLDisplayableNode* vtkSlicerSegmentationGeometryLogic::SourceGeometryNode { nullptr }
protected

Definition at line 139 of file vtkSlicerSegmentationGeometryLogic.h.

◆ UserSpacing

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

Definition at line 143 of file vtkSlicerSegmentationGeometryLogic.h.


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