ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkMultiphaseSparseFiniteDifferenceImageFilter.h>
This class implements a finite difference partial differential equation solver for evolving surfaces embedded in volumes as level-sets.
This code was adapted from the paper
"An active contour model without edges" T. Chan and L. Vese. In Scale-Space Theories in Computer Vision, pages 141-151, 1999.
This code was taken from the Insight Journal paper:
"Cell Tracking using Coupled Active Surfaces for Nuclei and Membranes" http://www.insight-journal.org/browse/publication/642 http://hdl.handle.net/10380/3055
That is based on the papers:
"Level Set Segmentation: Active Contours without edge" http://www.insight-journal.org/browse/publication/322 http://hdl.handle.net/1926/1532 and "Level set segmentation using coupled active surfaces" http://www.insight-journal.org/browse/publication/323 http://hdl.handle.net/1926/1533
Definition at line 178 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
Classes | |
struct | SparseDataStruct |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TFeatureImage, TOutputImage > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Attributes | |
ValueType | m_BackgroundValue |
bool | m_InterpolateSurfaceLocation |
ValueType | m_IsoSurfaceValue |
NeighborListType | m_NeighborList |
unsigned int | m_NumberOfLayers |
std::vector< ValueType > | m_PixelDistance |
std::vector< SparseDataStruct * > | m_SparseData |
Protected Attributes inherited from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell > | |
std::vector < FiniteDifferenceFunctionPointer > | m_DifferenceFunctions |
unsigned int | m_ElapsedIterations |
IdCellType | m_FunctionCount |
KdTreePointer | m_KdTree |
std::vector< InputImagePointer > | m_LevelSet |
VectorIdCellType | m_Lookup |
double | m_MaximumRMSError |
unsigned int | m_NumberOfIterations |
double | m_RMSChange |
bool | m_UseImageSpacing |
Static Protected Attributes | |
static double | m_ConstantGradientValue |
static const StatusType | m_StatusActiveChangingDown |
static const StatusType | m_StatusActiveChangingUp |
static const StatusType | m_StatusBoundaryPixel |
static const StatusType | m_StatusChanging |
static const StatusType | m_StatusNull |
static const ValueType | m_ValueOne |
static const ValueType | m_ValueZero |
Private Member Functions | |
MultiphaseSparseFiniteDifferenceImageFilter (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
bool | m_BoundsCheckingActive |
unsigned int | m_CurrentFunctionIndex |
unsigned int | m_RMSCounter |
double | m_RMSSum |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
typedef NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< StatusImageType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::BFCType |
Definition at line 268 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef SmartPointer< const Self > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ConstPointer |
Definition at line 189 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeatureImagePointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureImagePointer |
Definition at line 217 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeatureImageType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureImageType |
Definition at line 215 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeaturePointType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeaturePointType |
Definition at line 220 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeatureRegionType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureRegionType |
Definition at line 218 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeatureSizeType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureSizeType |
Definition at line 216 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FeatureSpacingType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureSpacingType |
Definition at line 219 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef FiniteDifferenceFunctionType::FloatOffsetType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionFloatOffsetType |
Definition at line 238 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FiniteDifferenceFunctionPointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionPointer |
Definition at line 236 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::FiniteDifferenceFunctionType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionType |
Definition at line 234 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::IdCellType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::IdCellType |
Definition at line 231 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputImagePointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputImagePointer |
Definition at line 204 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputImageType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputImageType |
Information derived from the image types.
Definition at line 203 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputIndexType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputIndexType |
Definition at line 208 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputIndexValueType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputIndexValueType |
Definition at line 209 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputOffsetValueType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputOffsetValueType |
Definition at line 213 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputPixelType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputPixelType |
Definition at line 210 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputPointType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputPointType |
Definition at line 211 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputRegionType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputRegionType |
Definition at line 205 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputSizeType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSizeType |
Definition at line 206 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputSizeValueType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSizeValueType |
Definition at line 207 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::InputSpacingType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSpacingType |
Definition at line 212 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerType::ConstIterator itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerConstIterator |
Definition at line 247 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerType::Iterator itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerIterator |
Definition at line 246 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerListType::const_iterator itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListConstIterator |
Definition at line 252 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerListType::iterator itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListIterator |
Definition at line 251 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef std::vector< LayerPointerType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListType |
A type for a list of LayerPointerTypes
Definition at line 250 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerNodeStorageType::Pointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeStoragePointer |
Definition at line 273 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef ObjectStore< LayerNodeType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeStorageType |
Memory pre-allocator used to manage layer nodes in a multi-threaded environment.
Definition at line 272 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef SparseFieldLevelSetNode< OutputIndexType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeType |
Node type used in sparse field layer lists.
Definition at line 241 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef LayerType::Pointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerPointerType |
Definition at line 245 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef SparseFieldLayer< LayerNodeType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerType |
A list type used in the algorithm.
Definition at line 244 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef SparseFieldCityBlockNeighborList< NeighborhoodIterator< OutputImageType > > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::NeighborListType |
Definition at line 279 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef NeighborListType::OffsetType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OffsetType |
Definition at line 280 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputImagePointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputImagePointer |
Definition at line 223 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputImageType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputImageType |
Definition at line 222 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputIndexType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputIndexType |
Definition at line 226 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputIndexValueType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputIndexValueType |
Definition at line 227 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputPixelType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputPixelType |
Definition at line 228 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputRegionType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputRegionType |
Definition at line 224 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputSizeType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputSizeType |
Definition at line 225 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef SmartPointer< Self > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Pointer |
Definition at line 188 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef MultiphaseSparseFiniteDifferenceImageFilter itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Self |
Standard class typedefs
Definition at line 185 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef StatusImageType::Pointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusImagePointer |
Definition at line 261 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Image< StatusType, itkGetStaticConstMacro(ImageDimension) > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusImageType |
The type of the image used to index status information. Necessary for the internals of the algorithm.
Definition at line 260 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef signed char itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusType |
Type used for storing status information
Definition at line 255 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Superclass |
Definition at line 187 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef Superclass::TimeStepType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::TimeStepType |
Typedefs from the superclass
Definition at line 200 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef UpdateBufferType::const_iterator itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::UpdateBufferConstIterator |
Definition at line 277 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef std::vector< ValueType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::UpdateBufferType |
Container type used to store updates to the active layer.
Definition at line 276 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef InputImageType::ValueType itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ValueType |
Definition at line 230 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef ZeroCrossingFilterType::Pointer itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ZeroCrossingFilterPointer |
Definition at line 266 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
typedef ZeroCrossingImageFilter< InputImageType, InputImageType > itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ZeroCrossingFilterType |
Definition at line 264 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
End concept checking
|
inlineprotected |
Definition at line 335 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
|
inlineprotectedvirtual |
Reserves memory in the update buffer. Called before each iteration.
Implements itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
Definition at line 417 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Applies the update buffer values to the active layer and reconstructs the sparse field layers for the next iteration.
|
protectedvirtual |
Traverses the active layer list and calculates the change at these indices to be applied in the current iteration.
Implements itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
inlineprotectedvirtual |
This function allows a subclass to override the way in which updates to output values are applied during each iteration. The default simply follows the standard finite difference scheme of scaling the change by the timestep and adding to the value of the previous iteration.
Definition at line 387 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Constructs the active layer and initialize the first layers inside and outside of the active layer. The active layer defines the position of the zero level set by its values, which are constrained within a range around zero.
|
protected |
Initializes a layer of the sparse field using a previously initialized layer. Builds the list of nodes in m_Layer[to] using m_Layer[from]. Marks values in the m_StatusImage.
|
protectedvirtual |
Copies the input to the output image. Processing occurs on the output image, so the data type of the output image determines the precision of the calculations (i.e. double or float). This method overrides the parent class method to do some additional processing.
Implements itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
|
virtual |
Get/Set the value of the InterpolateSurfaceLocation flag. This flag tells the solver whether or not to interpolate for the surface location when calculating change at a voxel location. Turned on by default. Some applications may not use this value and can safely turn the flag off.
|
virtual |
Set/Get the value of the isosurface to use in the input image.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
Reimplemented in itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
|
virtual |
Set/Get the number of layers to use in the sparse field. Argument is the number of layers on ONE side of the active layer, so the total layers in the sparse field is 2 * NumberOfLayers +1
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Constructs the sparse field layers and initializes their values.
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
Reimplemented in itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
|
protected |
Initializes the values of the active layer set.
|
protected |
Initializes the pixel constants that will be set outside the sparse layer.
|
protectedvirtual |
This method pre-processes pixels inside and outside the sparse field layers. The default is to set them to positive and negative values, respectively. This is not necessary as part of the calculations, but produces a more intuitive output for the user.
|
protectedvirtual |
This method is optionally defined by a subclass and is called immediately prior to each iterative CalculateChange-ApplyUpdate cycle. It can be used to set global variables needed for the next iteration (ie. average gradient magnitude of the image in anisotropic diffusion functions), or otherwise prepare for the next iteration.
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
Reimplemented in itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
|
inline |
See Get/SetInterpolateSurfaceLocation
Definition at line 305 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
inline |
See Get/SetInterpolateSurfaceLocation
Definition at line 303 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
This method packages the output(s) into a consistent format. The default implementation produces a volume with the final solution values in the sparse field, and inside and outside values elsewhere as appropriate.
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::InPlaceImageFilter< TFeatureImage, TOutputImage >.
|
protected |
|
protected |
|
protected |
Adjusts the values associated with all the index layers of the sparse field by propagating out one layer at a time from the active set. This method also takes care of deleting nodes from the layers which have been marked in the status image as having been moved to other layers.
|
protected |
|
protected |
Adjusts the values in a single layer "to" using values in a neighboring layer "from". The list of indices in "to" are traversed and assigned new values appropriately. Any indices in "to" without neighbors in "from" are moved into the "promote" layer (or deleted if "promote" is greater than the number of layers). "InOrOut" == 1 indicates this propagation is inwards (more negative). "InOrOut" == 2 indicates this propagation is outwards (more positive).
|
inline |
Definition at line 309 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
virtual |
Get/Set the value of the InterpolateSurfaceLocation flag. This flag tells the solver whether or not to interpolate for the surface location when calculating change at a voxel location. Turned on by default. Some applications may not use this value and can safely turn the flag off.
|
virtual |
Set/Get the value of the isosurface to use in the input image.
|
virtual |
Set/Get the number of layers to use in the sparse field. Argument is the number of layers on ONE side of the active layer, so the total layers in the sparse field is 2 * NumberOfLayers +1
itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::typedef | ( | Concept::EqualityComparable< typename TOutputImage::PixelType > | ) |
Begin concept checking This class requires OutputEqualityComparableCheck in the form of ( Concept::EqualityComparable< typename TOutputImage::PixelType > )
itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::typedef | ( | Concept::Convertible< double, typename TOutputImage::PixelType > | ) |
This class requires DoubleConvertibleToOutputCheck in the form of ( Concept::Convertible< double, typename TOutputImage::PixelType > )
itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::typedef | ( | Concept::OStreamWritable< typename TOutputImage::PixelType > | ) |
This class requires OutputOStreamWritableCheck in the form of ( Concept::OStreamWritable< typename TOutputImage::PixelType > )
|
protected |
Updates the active layer values using m_UpdateBuffer. Also creates an "up" and "down" list for promotion/demotion of indices leaving the active set.
|
inlineprotectedvirtual |
Reimplemented in itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
Definition at line 479 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
static |
Definition at line 197 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
The value of the pixel outside the sparse layers
Definition at line 528 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
This flag is true when methods need to check boundary conditions and false when methods do not need to check for boundary conditions.
Definition at line 547 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
The constant gradient to maintain between isosurfaces in the sparse-field of the level-set image. This value defaults to 1.0
Definition at line 485 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 540 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
This flag tells the solver whether or not to interpolate for the actual surface location when calculating change at each active layer node. By default this is turned on. Subclasses which do not sample propagation (speed), advection, or curvature terms should turn this flag off.
Definition at line 534 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
The value in the input which represents the isosurface of interest.
Definition at line 525 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Connectivity information for examining neighbor pixels.
Definition at line 378 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
The number of layers to use in the sparse field. Sparse field will consist of m_NumberOfLayers layers on both sides of a single active layer. This active layer is the interface of interest, i.e. the zero level set.
Definition at line 522 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Stores the distance between pixels in the neighborhood iterator.
Definition at line 381 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 543 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 542 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 517 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pending change to a more negative sparse field.
Definition at line 507 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pending change to a more positive sparse field.
Definition at line 503 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pixel is on the boundary of the image
Definition at line 511 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates pending change to another sparse field layer.
Definition at line 499 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value used as a default for indices which have no meaningful status.
Definition at line 515 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Multiplicative identity of the ValueType.
Definition at line 492 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Additive identity of the ValueType.
Definition at line 495 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.