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

Wrapper class around itk::VesselEnhancingDiffusion3DImageFilter. More...

#include <vtkvmtkVesselEnhancingDiffusion3DImageFilter.h>

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

Public Types

enum  { EQUISPACED_STEPS, LOGARITHMIC_STEPS }
 
typedef vtkvmtkITKImageToImageFilterFF Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkvmtkVesselEnhancingDiffusion3DImageFilterNewInstance () const
 
virtual void SetSigmaMin (double)
 
virtual double GetSigmaMin ()
 
virtual void SetSigmaMax (double)
 
virtual double GetSigmaMax ()
 
virtual void SetNumberOfSigmaSteps (int)
 
virtual int GetNumberOfSigmaSteps ()
 
void SetSigmaStepMethodToEquispaced ()
 
void SetSigmaStepMethodToLogarithmic ()
 
void SetTimeStep (double value)
 
void SetEpsilon (double value)
 
void SetOmega (double value)
 
void SetSensitivity (double value)
 
void SetNumberOfIterations (int value)
 
void SetAlpha (double value)
 
void SetBeta (double value)
 
void SetGamma (double value)
 
void SetRecalculateVesselness (int value)
 
double ComputeSigmaValue (int scaleLevel)
 
void Update ()
 

Static Public Member Functions

static vtkvmtkVesselEnhancingDiffusion3DImageFilterNew ()
 
static int IsTypeOf (const char *type)
 
static vtkvmtkVesselEnhancingDiffusion3DImageFilterSafeDownCast (vtkObjectBase *o)
 

Protected Types

typedef itk::VesselEnhancingDiffusion3DImageFilter< Superclass::InputImageType::PixelType > ImageFilterType
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkvmtkVesselEnhancingDiffusion3DImageFilter ()
 
 ~vtkvmtkVesselEnhancingDiffusion3DImageFilter ()
 
ImageFilterTypeGetImageFilterPointer ()
 

Protected Attributes

double SigmaMin
 
double SigmaMax
 
int NumberOfSigmaSteps
 
int SigmaStepMethod
 

Detailed Description

Wrapper class around itk::VesselEnhancingDiffusion3DImageFilter.

Date
2006/04/06 16:48:25
Revision
1.2

vtkvmtkVesselEnhancingDiffusion3DImageFilter

Definition at line 42 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

Member Typedef Documentation

◆ Superclass

typedef vtkvmtkITKImageToImageFilterFF vtkvmtkVesselEnhancingDiffusion3DImageFilter::Superclass

◆ ImageFilterType

typedef itk::VesselEnhancingDiffusion3DImageFilter<Superclass::InputImageType::PixelType> vtkvmtkVesselEnhancingDiffusion3DImageFilter::ImageFilterType
protected

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Constructor & Destructor Documentation

◆ vtkvmtkVesselEnhancingDiffusion3DImageFilter()

vtkvmtkVesselEnhancingDiffusion3DImageFilter::vtkvmtkVesselEnhancingDiffusion3DImageFilter ( )
inlineprotected

◆ ~vtkvmtkVesselEnhancingDiffusion3DImageFilter()

vtkvmtkVesselEnhancingDiffusion3DImageFilter::~vtkvmtkVesselEnhancingDiffusion3DImageFilter ( )
inlineprotected

Definition at line 194 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

194 {};

Member Function Documentation

◆ New()

static vtkvmtkVesselEnhancingDiffusion3DImageFilter* vtkvmtkVesselEnhancingDiffusion3DImageFilter::New ( )
static

◆ IsTypeOf()

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

◆ IsA()

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

◆ SafeDownCast()

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

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkvmtkVesselEnhancingDiffusion3DImageFilter::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkvmtkVesselEnhancingDiffusion3DImageFilter* vtkvmtkVesselEnhancingDiffusion3DImageFilter::NewInstance ( ) const

◆ SetSigmaMin()

virtual void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetSigmaMin ( double  )
virtual

◆ GetSigmaMin()

virtual double vtkvmtkVesselEnhancingDiffusion3DImageFilter::GetSigmaMin ( )
virtual

◆ SetSigmaMax()

virtual void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetSigmaMax ( double  )
virtual

◆ GetSigmaMax()

virtual double vtkvmtkVesselEnhancingDiffusion3DImageFilter::GetSigmaMax ( )
virtual

◆ SetNumberOfSigmaSteps()

virtual void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetNumberOfSigmaSteps ( int  )
virtual

◆ GetNumberOfSigmaSteps()

virtual int vtkvmtkVesselEnhancingDiffusion3DImageFilter::GetNumberOfSigmaSteps ( )
virtual

◆ SetSigmaStepMethodToEquispaced()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetSigmaStepMethodToEquispaced ( )
inline

◆ SetSigmaStepMethodToLogarithmic()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetSigmaStepMethodToLogarithmic ( )
inline

◆ SetTimeStep()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetTimeStep ( double  value)
inline

Definition at line 67 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

68  {
69  DelegateITKInputMacro(SetTimeStep,value);
70  }

◆ SetEpsilon()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetEpsilon ( double  value)
inline

Definition at line 72 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

73  {
74  DelegateITKInputMacro(SetEpsilon,value);
75  }

◆ SetOmega()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetOmega ( double  value)
inline

Definition at line 77 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

78  {
79  DelegateITKInputMacro(SetOmega,value);
80  }

◆ SetSensitivity()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetSensitivity ( double  value)
inline

Definition at line 82 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

83  {
84  DelegateITKInputMacro(SetSensitivity,value);
85  }

◆ SetNumberOfIterations()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetNumberOfIterations ( int  value)
inline

Definition at line 87 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

88  {
89  DelegateITKInputMacro(SetIterations,value);
90  }

◆ SetAlpha()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetAlpha ( double  value)
inline

Definition at line 92 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

93  {
94  DelegateITKInputMacro(SetAlpha,value);
95  }

◆ SetBeta()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetBeta ( double  value)
inline

Definition at line 97 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

98  {
99  DelegateITKInputMacro(SetBeta,value);
100  }

◆ SetGamma()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetGamma ( double  value)
inline

Definition at line 102 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

103  {
104  DelegateITKInputMacro(SetGamma,value);
105  }

◆ SetRecalculateVesselness()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::SetRecalculateVesselness ( int  value)
inline

Definition at line 107 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

108  {
109  DelegateITKInputMacro(SetRecalculateVesselness,value);
110  }

◆ ComputeSigmaValue()

double vtkvmtkVesselEnhancingDiffusion3DImageFilter::ComputeSigmaValue ( int  scaleLevel)
inline

Definition at line 112 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

113  {
114  double sigmaValue;
115 
116  if (this->NumberOfSigmaSteps < 2)
117  {
118  return this->SigmaMin;
119  }
120 
121  switch (this->SigmaStepMethod)
122  {
123  case EQUISPACED_STEPS:
124  {
125  double stepSize = ( SigmaMax - SigmaMin ) / (NumberOfSigmaSteps-1);
126  if (stepSize < 1e-10)
127  {
128  stepSize = 1e-10;
129  }
130  sigmaValue = SigmaMin + stepSize * scaleLevel;
131  break;
132  }
133  case LOGARITHMIC_STEPS:
134  {
135  double stepSize = ( vcl_log(SigmaMax) - vcl_log(SigmaMin) ) / (NumberOfSigmaSteps-1);
136  if (stepSize < 1e-10)
137  {
138  stepSize = 1e-10;
139  }
140  sigmaValue = vcl_exp( vcl_log (SigmaMin) + stepSize * scaleLevel);
141  break;
142  }
143  default:
144  vtkErrorMacro("Error: undefined sigma step method.");
145  sigmaValue = 0.0;
146  break;
147  }
148 
149  return sigmaValue;
150  }

◆ Update()

void vtkvmtkVesselEnhancingDiffusion3DImageFilter::Update ( )
inline

Definition at line 152 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

153  {
154  std::vector<float> scales;
155  for (int i=0; i<this->NumberOfSigmaSteps; i++)
156  {
157  scales.push_back(this->ComputeSigmaValue(i));
158  }
159  this->GetImageFilterPointer()->SetScales(scales);
160 #if (VTK_MAJOR_VERSION <= 5)
161  if (this->GetOutput(0))
162  {
163  this->GetOutput(0)->Update();
164  if ( this->GetOutput(0)->GetSource() )
165  {
166  // this->SetErrorCode( this->GetOutput(0)->GetSource()->GetErrorCode() );
167  }
168  }
169 #endif
170  }

◆ GetImageFilterPointer()

ImageFilterType* vtkvmtkVesselEnhancingDiffusion3DImageFilter::GetImageFilterPointer ( )
inlineprotected

Definition at line 195 of file vtkvmtkVesselEnhancingDiffusion3DImageFilter.h.

195 { return dynamic_cast<ImageFilterType*>(m_Filter.GetPointer()); }
itk::VesselEnhancingDiffusion3DImageFilter< Superclass::InputImageType::PixelType > ImageFilterType

Member Data Documentation

◆ SigmaMin

double vtkvmtkVesselEnhancingDiffusion3DImageFilter::SigmaMin
protected

◆ SigmaMax

double vtkvmtkVesselEnhancingDiffusion3DImageFilter::SigmaMax
protected

◆ NumberOfSigmaSteps

int vtkvmtkVesselEnhancingDiffusion3DImageFilter::NumberOfSigmaSteps
protected

◆ SigmaStepMethod

int vtkvmtkVesselEnhancingDiffusion3DImageFilter::SigmaStepMethod
protected

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