#include <itkMultiphaseSparseFiniteDifferenceImageFilter.h>
This class implements a finite difference partial differential equation solver for evolving surfaces embedded in volumes as level-sets.
For algorithmic details see [141] and \sethian1996.
This code was adapted from [22].
This code was taken from the Insight Journal paper:
"Cell Tracking using Coupled Active Surfaces for Nuclei and Membranes" https://doi.org/10.54294/wvwmf8
That is based on the papers:
"Level Set Segmentation: Active Contours without edge" https://doi.org/10.54294/8jk6oy and "Level set segmentation using coupled active surfaces" https://doi.org/10.54294/23ugmy
Definition at line 167 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
Classes | |
struct | SparseDataStruct |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
static constexpr unsigned int | OutputImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
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 Attributes | |
bool | m_BoundsCheckingActive {} |
unsigned int | m_CurrentFunctionIndex {} |
unsigned int | m_RMSCounter { 0 } |
double | m_RMSSum { 0. } |
Additional Inherited Members | |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::BFCType = NeighborhoodAlgorithm::ImageBoundaryFacesCalculator<StatusImageType> |
Definition at line 252 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ConstPointer = SmartPointer<const Self> |
Definition at line 179 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureImagePointer |
Definition at line 194 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureImageType |
Definition at line 193 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeaturePointType |
Definition at line 198 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureRegionType |
Definition at line 195 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureSizeType |
Definition at line 196 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FeatureSpacingType |
Definition at line 197 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionFloatOffsetType = typename FiniteDifferenceFunctionType::FloatOffsetType |
Definition at line 225 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionPointer |
Definition at line 217 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::FiniteDifferenceFunctionType |
The value type of the time step. This is distinct from PixelType because PixelType may often be a vector value, while the TimeStep is a scalar value.
Definition at line 216 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::IdCellType |
Definition at line 210 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputImagePointer |
Definition at line 177 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputImageType |
Input and output image types.
Definition at line 176 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputIndexType |
Definition at line 184 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputIndexValueType |
Definition at line 185 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputOffsetValueType |
Definition at line 191 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputPixelType |
Definition at line 189 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputPointType |
Definition at line 178 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputRegionType |
Definition at line 188 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSizeType |
Definition at line 186 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSizeValueType |
Definition at line 187 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::InputSpacingType |
Definition at line 190 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerConstIterator = typename LayerType::ConstIterator |
Definition at line 234 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerIterator = typename LayerType::Iterator |
Definition at line 233 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListConstIterator = typename LayerListType::const_iterator |
Definition at line 239 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListIterator = typename LayerListType::iterator |
Definition at line 238 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerListType = std::vector<LayerPointerType> |
A type for a list of LayerPointerTypes
Definition at line 237 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeStoragePointer = typename LayerNodeStorageType::Pointer |
Definition at line 257 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeStorageType = ObjectStore<LayerNodeType> |
Memory pre-allocator used to manage layer nodes in a multi-threaded environment.
Definition at line 256 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerNodeType = SparseFieldLevelSetNode<OutputIndexType> |
Node type used in sparse field layer lists.
Definition at line 228 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerPointerType = typename LayerType::Pointer |
Definition at line 232 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::LayerType = SparseFieldLayer<LayerNodeType> |
A list type used in the algorithm.
Definition at line 231 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::NeighborListType = SparseFieldCityBlockNeighborList<NeighborhoodIterator<OutputImageType>> |
Definition at line 263 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OffsetType = typename NeighborListType::OffsetType |
Definition at line 264 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputImagePointer |
Definition at line 202 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputImageType |
Definition at line 201 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputIndexType |
Definition at line 207 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputIndexValueType |
Definition at line 208 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputPixelType |
Definition at line 203 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputRegionType |
Definition at line 204 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::OutputSizeType |
Definition at line 205 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Pointer = SmartPointer<Self> |
Definition at line 178 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Self = MultiphaseSparseFiniteDifferenceImageFilter |
Standard class type aliases
Definition at line 175 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusImagePointer = typename StatusImageType::Pointer |
Definition at line 247 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusImageType = Image<StatusType, Self::ImageDimension> |
The type of the image used to index status information. Necessary for the internals of the algorithm.
Definition at line 246 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::StatusType = signed char |
Type used for storing status information
Definition at line 242 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::Superclass |
Definition at line 176 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::TimeStepType |
Definition at line 218 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::UpdateBufferConstIterator = typename UpdateBufferType::const_iterator |
Definition at line 261 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::UpdateBufferType = std::vector<ValueType> |
Container type used to store updates to the active layer.
Definition at line 260 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ValueType = typename InputImageType::ValueType |
Definition at line 220 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ZeroCrossingFilterPointer = typename ZeroCrossingFilterType::Pointer |
Definition at line 250 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
using itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >::ZeroCrossingFilterType = ZeroCrossingImageFilter<InputImageType, InputImageType> |
Definition at line 249 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 306 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
inlineoverrideprotectedvirtual |
Reserves memory in the update buffer. Called before each iteration.
Definition at line 392 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
overrideprotectedvirtual |
Applies the update buffer values to the active layer and reconstructs the sparse field layers for the next iteration.
|
overrideprotectedvirtual |
Traverses the active layer list and calculates the change at these indices to be applied in the current iteration.
|
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 358 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.
|
overrideprotectedvirtual |
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.
|
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::LightObject.
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.
|
overridevirtual |
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >.
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 |
|
overrideprotectedvirtual |
Constructs the sparse field layers and initializes their values.
Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >.
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.
|
overrideprotectedvirtual |
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, unsigned int >.
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 |
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.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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, unsigned int >.
|
overrideprotectedvirtual |
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::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >.
|
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 288 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
|
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 468 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticconstexpr |
Definition at line 187 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
The value of the pixel outside the sparse layers
Definition at line 519 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 535 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 480 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 528 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 525 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
The value in the input which represents the isosurface of interest.
Definition at line 516 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Connectivity information for examining neighbor pixels.
Definition at line 348 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 513 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Stores the distance between pixels in the neighborhood iterator.
Definition at line 351 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 531 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
private |
Definition at line 530 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 508 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pending change to a more negative sparse field.
Definition at line 498 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pending change to a more positive sparse field.
Definition at line 494 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates a pixel is on the boundary of the image
Definition at line 502 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value which indicates pending change to another sparse field layer.
Definition at line 490 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Special status value used as a default for indices which have no meaningful status.
Definition at line 506 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Multiplicative identity of the ValueType.
Definition at line 483 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.
|
staticprotected |
Additive identity of the ValueType.
Definition at line 486 of file itkMultiphaseSparseFiniteDifferenceImageFilter.h.