SimpleITK
2.0.0
|
Apply the Fast Marching method to solve an Eikonal equation on an image. More...
#include <sitkFastMarchingBaseImageFilter.h>
Public Types | |
using | PixelIDTypeList = BasicPixelIDTypeList |
using | Self = FastMarchingBaseImageFilter |
enum | TopologyCheckType { Nothing, NoHandles, Strict } |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
using | Self = ProcessObject |
Public Member Functions | |
Self & | AddTrialPoint (std::vector< unsigned int > point) |
Add TrialPoints point. More... | |
Self & | ClearTrialPoints () |
Remove all TrialPoints points. More... | |
Image | Execute (const Image &image1) |
FastMarchingBaseImageFilter () | |
std::string | GetName () const |
double | GetNormalizationFactor () const |
double | GetStoppingValue () const |
TopologyCheckType | GetTopologyCheck () const |
std::vector< std::vector< unsigned int > > | GetTrialPoints () const |
Self & | SetNormalizationFactor (double NormalizationFactor) |
Self & | SetStoppingValue (double StoppingValue) |
Self & | SetTopologyCheck (TopologyCheckType TopologyCheck) |
Self & | SetTrialPoints (std::vector< std::vector< unsigned int > > TrialPoints) |
std::string | ToString () const |
virtual | ~FastMarchingBaseImageFilter () |
Public Member Functions inherited from itk::simple::ImageFilter | |
ImageFilter () | |
virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
virtual void | Abort () |
virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
Directly add a callback to observe an event. More... | |
virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
Add a Command Object to observer the event. More... | |
virtual float | GetProgress () const |
An Active Measurement of the progress of execution. More... | |
virtual bool | HasCommand (itk::simple::EventEnum event) const |
Query of this object has any registered commands for event. More... | |
ProcessObject () | |
virtual void | RemoveAllCommands () |
Remove all registered commands. More... | |
virtual | ~ProcessObject () |
virtual void | DebugOn () |
virtual void | DebugOff () |
virtual bool | GetDebug () const |
virtual void | SetDebug (bool debugFlag) |
virtual void | SetNumberOfThreads (unsigned int n) |
virtual unsigned int | GetNumberOfThreads () const |
virtual void | SetNumberOfWorkUnits (unsigned int n) |
virtual unsigned int | GetNumberOfWorkUnits () const |
Private Types | |
using | MemberFunctionType = Image(Self::*)(const Image &image1) |
Private Member Functions | |
template<class TImageType > | |
Image | ExecuteInternal (const Image &image1) |
Private Attributes | |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
double | m_NormalizationFactor {1.0} |
double | m_StoppingValue {std::numeric_limits<float>::max()/2.0} |
TopologyCheckType | m_TopologyCheck {itk::simple::FastMarchingBaseImageFilter::Nothing} |
std::vector< std::vector< unsigned int > > | m_TrialPoints {std::vector< std::vector<unsigned int > >()} |
Friends | |
struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::simple::ProcessObject | |
static bool | GetGlobalDefaultDebug () |
static void | GlobalDefaultDebugOff () |
static void | GlobalDefaultDebugOn () |
static void | SetGlobalDefaultDebug (bool debugFlag) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static void | SetGlobalWarningDisplay (bool flag) |
static bool | GetGlobalWarningDisplay () |
static double | GetGlobalDefaultCoordinateTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultCoordinateTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static double | GetGlobalDefaultDirectionTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultDirectionTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static bool | SetGlobalDefaultThreader (const std::string &threader) |
Set/Get the default threader used for process objects. More... | |
static std::string | GetGlobalDefaultThreader () |
Set/Get the default threader used for process objects. More... | |
static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
static unsigned int | GetGlobalDefaultNumberOfThreads () |
Set/Get the default threader used for process objects. More... | |
Protected Member Functions inherited from itk::simple::ImageFilter | |
void | CheckImageMatchingDimension (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingPixelType (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingSize (const Image &image1, const Image &image2, const std::string &image2Name) |
Protected Member Functions inherited from itk::simple::ProcessObject | |
virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
virtual itk::ProcessObject * | GetActiveProcess () |
virtual void | OnActiveProcessDelete () |
virtual void | onCommandDelete (const itk::simple::Command *cmd) noexcept |
virtual void | PreUpdate (itk::ProcessObject *p) |
virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
Static Protected Member Functions inherited from itk::simple::ImageFilter | |
template<class TImageType > | |
static void | FixNonZeroIndex (TImageType *img) |
Static Protected Member Functions inherited from itk::simple::ProcessObject | |
template<class TImageType > | |
static TImageType::ConstPointer | CastImageToITK (const Image &img) |
template<class TPixelType , unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
template<class TImageType > | |
static Image | CastITKToImage (TImageType *img) |
static const itk::EventObject & | GetITKEventObject (EventEnum e) |
template<typename T > | |
static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
Apply the Fast Marching method to solve an Eikonal equation on an image.
The speed function can be specified as a speed image or a speed constant. The speed image is set using the method SetInput(). If the speed image is nullptr, a constant speed function is used and is specified using method the SetSpeedConstant() .
If the speed function is constant and of value one, fast marching results is an approximate distance function from the initial alive points.
There are two ways to specify the output image information (LargestPossibleRegion, Spacing, Origin):
The output information is computed as follows.
If the speed image is nullptr or if the OverrideOutputInformation is set to true, the output information is set from user specified parameters. These parameters can be specified using methods
Else the output information is copied from the input speed image.
Implementation of this class is based on Chapter 8 of "Level Set Methods and Fast Marching Methods", J.A. Sethian, Cambridge Press, Second edition, 1999.
For an alternative implementation, see itk::FastMarchingImageFilter .
TTraits
traits
Definition at line 92 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 167 of file sitkFastMarchingBaseImageFilter.h.
Define the pixels types supported by this filter
Definition at line 104 of file sitkFastMarchingBaseImageFilter.h.
Definition at line 94 of file sitkFastMarchingBaseImageFilter.h.
Enumerator | |
---|---|
Nothing | |
NoHandles | |
Strict |
Definition at line 142 of file sitkFastMarchingBaseImageFilter.h.
|
virtual |
Destructor
itk::simple::FastMarchingBaseImageFilter::FastMarchingBaseImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
|
inline |
Add TrialPoints point.
Definition at line 117 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Remove all TrialPoints points.
Definition at line 119 of file sitkFastMarchingBaseImageFilter.h.
Execute the filter on the input image
|
private |
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 153 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Set/Get the Normalization Factor for the Speed Image . The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed.
Definition at line 130 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Get the Fast Marching algorithm Stopping Value.
Definition at line 140 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Definition at line 150 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Get the container of Trial Points representing the initial front.
Definition at line 115 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Set/Get the Normalization Factor for the Speed Image . The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed.
Definition at line 125 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Set the Fast Marching algorithm Stopping Value. The Fast Marching algorithm is terminated when the value of the smallest trial point is greater than the stopping value.
Definition at line 135 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Definition at line 146 of file sitkFastMarchingBaseImageFilter.h.
|
inline |
Set the container of Trial Points representing the initial front. Trial points are represented as a VectorContainer of LevelSetNodes.
Definition at line 110 of file sitkFastMarchingBaseImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 171 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Definition at line 173 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Definition at line 178 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Definition at line 180 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Definition at line 183 of file sitkFastMarchingBaseImageFilter.h.
|
private |
Definition at line 176 of file sitkFastMarchingBaseImageFilter.h.