VMTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkvmtkCenterlineGeometry Class Reference

Compute length, curvature, torsion, tortuosity, and frenet frames for individual centerlines. More...

#include <vtkvmtkCenterlineGeometry.h>

Inheritance diagram for vtkvmtkCenterlineGeometry:
[legend]
Collaboration diagram for vtkvmtkCenterlineGeometry:
[legend]

Public Types

typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkvmtkCenterlineGeometryNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
virtual void SetLengthArrayName (const char *)
 
virtual char * GetLengthArrayName ()
 
virtual void SetCurvatureArrayName (const char *)
 
virtual char * GetCurvatureArrayName ()
 
virtual void SetTorsionArrayName (const char *)
 
virtual char * GetTorsionArrayName ()
 
virtual void SetTortuosityArrayName (const char *)
 
virtual char * GetTortuosityArrayName ()
 
virtual void SetFrenetTangentArrayName (const char *)
 
virtual char * GetFrenetTangentArrayName ()
 
virtual void SetFrenetNormalArrayName (const char *)
 
virtual char * GetFrenetNormalArrayName ()
 
virtual void SetFrenetBinormalArrayName (const char *)
 
virtual char * GetFrenetBinormalArrayName ()
 
virtual void SetSmoothingFactor (double)
 
virtual double GetSmoothingFactor ()
 
virtual void SetNumberOfSmoothingIterations (int)
 
virtual int GetNumberOfSmoothingIterations ()
 
virtual void SetLineSmoothing (int)
 
virtual int GetLineSmoothing ()
 
virtual void LineSmoothingOn ()
 
virtual void LineSmoothingOff ()
 
virtual void SetOutputSmoothedLines (int)
 
virtual int GetOutputSmoothedLines ()
 
virtual void OutputSmoothedLinesOn ()
 
virtual void OutputSmoothedLinesOff ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkvmtkCenterlineGeometrySafeDownCast (vtkObjectBase *o)
 
static vtkvmtkCenterlineGeometryNew ()
 
static double ComputeLineCurvature (vtkPoints *linePoints, vtkDoubleArray *curvatureArray)
 
static double ComputeLineTorsion (vtkPoints *linePoints, vtkDoubleArray *torsionArray)
 
static void ComputeLineFrenetReferenceSystem (vtkPoints *linePoints, vtkDoubleArray *lineTangentArray, vtkDoubleArray *lineNormalArray, vtkDoubleArray *lineBinormalArray)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkvmtkCenterlineGeometry ()
 
 ~vtkvmtkCenterlineGeometry ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE
 

Protected Attributes

char * LengthArrayName
 
char * CurvatureArrayName
 
char * TorsionArrayName
 
char * TortuosityArrayName
 
char * FrenetTangentArrayName
 
char * FrenetNormalArrayName
 
char * FrenetBinormalArrayName
 
int LineSmoothing
 
int OutputSmoothedLines
 
double SmoothingFactor
 
int NumberOfSmoothingIterations
 

Detailed Description

Compute length, curvature, torsion, tortuosity, and frenet frames for individual centerlines.

Date
2006/07/17 09:52:56
Revision
1.3

The length, curvature, torsion, and tortuosity metrics are scalar quantities which are identical for each point / tract that makes up a cell. They are cell data which are attached to the centerline (which should only consist of one cell, as it has not been split or grouped).

The frenet reference frame is composed of three orthogonal vectors (tangent, normal, and binormal) unique to their parameterization along the centerline. Three vectors are stored as point data for each point making up the centerline.

A laplacian smoothing filter can be applied to the line if the computation appears to be unstable (as we are using second derivatives and such here).

Definition at line 41 of file vtkvmtkCenterlineGeometry.h.

Member Typedef Documentation

◆ Superclass

typedef vtkPolyDataAlgorithm vtkvmtkCenterlineGeometry::Superclass

Definition at line 44 of file vtkvmtkCenterlineGeometry.h.

Constructor & Destructor Documentation

◆ vtkvmtkCenterlineGeometry()

vtkvmtkCenterlineGeometry::vtkvmtkCenterlineGeometry ( )
protected

◆ ~vtkvmtkCenterlineGeometry()

vtkvmtkCenterlineGeometry::~vtkvmtkCenterlineGeometry ( )
protected

Member Function Documentation

◆ IsTypeOf()

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

◆ IsA()

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

◆ SafeDownCast()

static vtkvmtkCenterlineGeometry* vtkvmtkCenterlineGeometry::SafeDownCast ( vtkObjectBase *  o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkvmtkCenterlineGeometry::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkvmtkCenterlineGeometry* vtkvmtkCenterlineGeometry::NewInstance ( ) const

◆ PrintSelf()

void vtkvmtkCenterlineGeometry::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

◆ New()

static vtkvmtkCenterlineGeometry* vtkvmtkCenterlineGeometry::New ( )
static

◆ SetLengthArrayName()

virtual void vtkvmtkCenterlineGeometry::SetLengthArrayName ( const char *  )
virtual

◆ GetLengthArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetLengthArrayName ( )
virtual

◆ SetCurvatureArrayName()

virtual void vtkvmtkCenterlineGeometry::SetCurvatureArrayName ( const char *  )
virtual

◆ GetCurvatureArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetCurvatureArrayName ( )
virtual

◆ SetTorsionArrayName()

virtual void vtkvmtkCenterlineGeometry::SetTorsionArrayName ( const char *  )
virtual

◆ GetTorsionArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetTorsionArrayName ( )
virtual

◆ SetTortuosityArrayName()

virtual void vtkvmtkCenterlineGeometry::SetTortuosityArrayName ( const char *  )
virtual

◆ GetTortuosityArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetTortuosityArrayName ( )
virtual

◆ SetFrenetTangentArrayName()

virtual void vtkvmtkCenterlineGeometry::SetFrenetTangentArrayName ( const char *  )
virtual

◆ GetFrenetTangentArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetFrenetTangentArrayName ( )
virtual

◆ SetFrenetNormalArrayName()

virtual void vtkvmtkCenterlineGeometry::SetFrenetNormalArrayName ( const char *  )
virtual

◆ GetFrenetNormalArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetFrenetNormalArrayName ( )
virtual

◆ SetFrenetBinormalArrayName()

virtual void vtkvmtkCenterlineGeometry::SetFrenetBinormalArrayName ( const char *  )
virtual

◆ GetFrenetBinormalArrayName()

virtual char* vtkvmtkCenterlineGeometry::GetFrenetBinormalArrayName ( )
virtual

◆ SetSmoothingFactor()

virtual void vtkvmtkCenterlineGeometry::SetSmoothingFactor ( double  )
virtual

◆ GetSmoothingFactor()

virtual double vtkvmtkCenterlineGeometry::GetSmoothingFactor ( )
virtual

◆ SetNumberOfSmoothingIterations()

virtual void vtkvmtkCenterlineGeometry::SetNumberOfSmoothingIterations ( int  )
virtual

◆ GetNumberOfSmoothingIterations()

virtual int vtkvmtkCenterlineGeometry::GetNumberOfSmoothingIterations ( )
virtual

◆ SetLineSmoothing()

virtual void vtkvmtkCenterlineGeometry::SetLineSmoothing ( int  )
virtual

◆ GetLineSmoothing()

virtual int vtkvmtkCenterlineGeometry::GetLineSmoothing ( )
virtual

◆ LineSmoothingOn()

virtual void vtkvmtkCenterlineGeometry::LineSmoothingOn ( )
virtual

◆ LineSmoothingOff()

virtual void vtkvmtkCenterlineGeometry::LineSmoothingOff ( )
virtual

◆ SetOutputSmoothedLines()

virtual void vtkvmtkCenterlineGeometry::SetOutputSmoothedLines ( int  )
virtual

◆ GetOutputSmoothedLines()

virtual int vtkvmtkCenterlineGeometry::GetOutputSmoothedLines ( )
virtual

◆ OutputSmoothedLinesOn()

virtual void vtkvmtkCenterlineGeometry::OutputSmoothedLinesOn ( )
virtual

◆ OutputSmoothedLinesOff()

virtual void vtkvmtkCenterlineGeometry::OutputSmoothedLinesOff ( )
virtual

◆ ComputeLineCurvature()

static double vtkvmtkCenterlineGeometry::ComputeLineCurvature ( vtkPoints *  linePoints,
vtkDoubleArray *  curvatureArray 
)
static

◆ ComputeLineTorsion()

static double vtkvmtkCenterlineGeometry::ComputeLineTorsion ( vtkPoints *  linePoints,
vtkDoubleArray *  torsionArray 
)
static

◆ ComputeLineFrenetReferenceSystem()

static void vtkvmtkCenterlineGeometry::ComputeLineFrenetReferenceSystem ( vtkPoints *  linePoints,
vtkDoubleArray *  lineTangentArray,
vtkDoubleArray *  lineNormalArray,
vtkDoubleArray *  lineBinormalArray 
)
static

◆ RequestData()

virtual int vtkvmtkCenterlineGeometry::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Member Data Documentation

◆ LengthArrayName

char* vtkvmtkCenterlineGeometry::LengthArrayName
protected

Definition at line 94 of file vtkvmtkCenterlineGeometry.h.

◆ CurvatureArrayName

char* vtkvmtkCenterlineGeometry::CurvatureArrayName
protected

Definition at line 95 of file vtkvmtkCenterlineGeometry.h.

◆ TorsionArrayName

char* vtkvmtkCenterlineGeometry::TorsionArrayName
protected

Definition at line 96 of file vtkvmtkCenterlineGeometry.h.

◆ TortuosityArrayName

char* vtkvmtkCenterlineGeometry::TortuosityArrayName
protected

Definition at line 97 of file vtkvmtkCenterlineGeometry.h.

◆ FrenetTangentArrayName

char* vtkvmtkCenterlineGeometry::FrenetTangentArrayName
protected

Definition at line 98 of file vtkvmtkCenterlineGeometry.h.

◆ FrenetNormalArrayName

char* vtkvmtkCenterlineGeometry::FrenetNormalArrayName
protected

Definition at line 99 of file vtkvmtkCenterlineGeometry.h.

◆ FrenetBinormalArrayName

char* vtkvmtkCenterlineGeometry::FrenetBinormalArrayName
protected

Definition at line 100 of file vtkvmtkCenterlineGeometry.h.

◆ LineSmoothing

int vtkvmtkCenterlineGeometry::LineSmoothing
protected

Definition at line 102 of file vtkvmtkCenterlineGeometry.h.

◆ OutputSmoothedLines

int vtkvmtkCenterlineGeometry::OutputSmoothedLines
protected

Definition at line 103 of file vtkvmtkCenterlineGeometry.h.

◆ SmoothingFactor

double vtkvmtkCenterlineGeometry::SmoothingFactor
protected

Definition at line 104 of file vtkvmtkCenterlineGeometry.h.

◆ NumberOfSmoothingIterations

int vtkvmtkCenterlineGeometry::NumberOfSmoothingIterations
protected

Definition at line 105 of file vtkvmtkCenterlineGeometry.h.


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