ITK
6.0.0
Insight Toolkit
|
#include <itkMultiphaseFiniteDifferenceImageFilter.h>
This is an alternate version of the ITK finite difference solver (FDS) framework, supporting the solution of multiple functions, simultaneously. The FDS framework is a set of classes for creating filters to solve partial differential equations on images using an iterative, finite difference update scheme.
Based on 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" 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 162 of file itkMultiphaseFiniteDifferenceImageFilter.h.
Public Types | |
using | CentroidVectorType = Vector< float, Self::ImageDimension > |
using | ConstPointer = SmartPointer< const Self > |
using | FeatureImagePointer = typename FeatureImageType::Pointer |
using | FeatureImageType = TFeatureImage |
using | FeaturePixelType = typename FeatureImageType::PixelType |
using | FeaturePointType = typename FeatureImageType::PointType |
using | FeatureRegionType = typename FeatureImageType::RegionType |
using | FeatureSizeType = typename FeatureImageType::SizeType |
using | FeatureSpacingType = typename FeatureImageType::SpacingType |
using | FiniteDifferenceFunctionPointer = typename FiniteDifferenceFunctionType::Pointer |
using | FiniteDifferenceFunctionType = TFiniteDifferenceFunction |
using | IdCellType = TIdCell |
using | InputCoordinateType = typename InputPointType::CoordinateType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageType = TInputImage |
using | InputIndexType = typename InputImageType::IndexType |
using | InputIndexValueType = typename InputIndexType::IndexValueType |
using | InputOffsetValueType = typename InputImageType::OffsetValueType |
using | InputPixelType = typename InputImageType::PixelType |
using | InputPointType = typename InputImageType::PointType |
using | InputRegionType = typename InputImageType::RegionType |
using | InputSizeType = typename InputImageType::SizeType |
using | InputSizeValueType = typename InputSizeType::SizeValueType |
using | InputSpacingType = typename InputImageType::SpacingType |
using | KdTreeGeneratorPointer = typename KdTreeGeneratorType::Pointer |
using | KdTreeGeneratorType = Statistics::KdTreeGenerator< SampleType > |
using | KdTreePointer = typename KdTreeType::Pointer |
using | KdTreeType = typename KdTreeGeneratorType::KdTreeType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageType = TOutputImage |
using | OutputIndexType = typename OutputImageType::IndexType |
using | OutputIndexValueType = typename OutputImageType::IndexValueType |
using | OutputPixelType = typename OutputImageType::PixelType |
using | OutputRegionType = typename OutputImageType::RegionType |
using | OutputSizeType = typename OutputImageType::SizeType |
using | OutputSizeValueType = typename OutputImageType::SizeValueType |
using | Pointer = SmartPointer< Self > |
using | RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
using | SampleType = Statistics::ListSample< CentroidVectorType > |
using | Self = MultiphaseFiniteDifferenceImageFilter |
using | Superclass = InPlaceImageFilter< TFeatureImage, TOutputImage > |
using | TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
using | TimeStepVectorType = typename std::vector< TimeStepType > |
using | VectorIdCellType = std::vector< IdCellType > |
Public Types inherited from itk::InPlaceImageFilter< TFeatureImage, TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TFeatureImage |
using | Pointer = SmartPointer< Self > |
using | Self = InPlaceImageFilter |
using | Superclass = ImageToImageFilter< TFeatureImage, TOutputImage > |
Public Types inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TFeatureImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageToImageFilter |
using | Superclass = ImageSource< TOutputImage > |
Public Types inherited from itk::ImageSource< TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
using | OutputImagePixelType = typename OutputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageSource |
using | Superclass = ProcessObject |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TFeatureImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Attributes | |
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 {} |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Private Attributes | |
bool | m_InitializedState {} |
bool | m_ManualReinitialization {} |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Types inherited from itk::ImageToImageFilter< TFeatureImage, TOutputImage > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
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::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::CentroidVectorType = Vector<float, Self::ImageDimension> |
Definition at line 226 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::ConstPointer = SmartPointer<const Self> |
Definition at line 171 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureImagePointer = typename FeatureImageType::Pointer |
Definition at line 198 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureImageType = TFeatureImage |
Definition at line 197 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeaturePixelType = typename FeatureImageType::PixelType |
Definition at line 203 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeaturePointType = typename FeatureImageType::PointType |
Definition at line 202 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureRegionType = typename FeatureImageType::RegionType |
Definition at line 199 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureSizeType = typename FeatureImageType::SizeType |
Definition at line 200 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureSpacingType = typename FeatureImageType::SpacingType |
Definition at line 201 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FiniteDifferenceFunctionPointer = typename FiniteDifferenceFunctionType::Pointer |
Definition at line 221 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FiniteDifferenceFunctionType = TFiniteDifferenceFunction |
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 220 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::IdCellType = TIdCell |
Definition at line 214 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputCoordinateType = typename InputPointType::CoordinateType |
Definition at line 183 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 181 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputImageType = TInputImage |
Input and output image types.
Definition at line 180 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputIndexType = typename InputImageType::IndexType |
Definition at line 188 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputIndexValueType = typename InputIndexType::IndexValueType |
Definition at line 189 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputOffsetValueType = typename InputImageType::OffsetValueType |
Definition at line 195 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputPixelType = typename InputImageType::PixelType |
Definition at line 193 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputPointType = typename InputImageType::PointType |
Definition at line 182 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputRegionType = typename InputImageType::RegionType |
Definition at line 192 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSizeType = typename InputImageType::SizeType |
Definition at line 190 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSizeValueType = typename InputSizeType::SizeValueType |
Definition at line 191 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSpacingType = typename InputImageType::SpacingType |
Definition at line 194 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeGeneratorPointer = typename KdTreeGeneratorType::Pointer |
Definition at line 229 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeGeneratorType = Statistics::KdTreeGenerator<SampleType> |
Definition at line 228 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreePointer = typename KdTreeType::Pointer |
Definition at line 231 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeType = typename KdTreeGeneratorType::KdTreeType |
Definition at line 230 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 206 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputImageType = TOutputImage |
Definition at line 205 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputIndexType = typename OutputImageType::IndexType |
Definition at line 211 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputIndexValueType = typename OutputImageType::IndexValueType |
Definition at line 212 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 207 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputRegionType = typename OutputImageType::RegionType |
Definition at line 208 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputSizeType = typename OutputImageType::SizeType |
Definition at line 209 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputSizeValueType = typename OutputImageType::SizeValueType |
Definition at line 210 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Pointer = SmartPointer<Self> |
Definition at line 170 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
Definition at line 224 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::SampleType = Statistics::ListSample<CentroidVectorType> |
Definition at line 227 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Self = MultiphaseFiniteDifferenceImageFilter |
Standard class type aliases.
Definition at line 168 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Superclass = InPlaceImageFilter<TFeatureImage, TOutputImage> |
Definition at line 169 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
Definition at line 222 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::TimeStepVectorType = typename std::vector<TimeStepType> |
Definition at line 223 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::VectorIdCellType = std::vector<IdCellType> |
Definition at line 215 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inlineprotected |
Definition at line 393 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
overrideprotecteddefault |
|
protectedpure virtual |
This method allocates a temporary update container in the subclass.
Implemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.
|
protectedpure virtual |
This method is defined by a subclass to apply changes to the output from an update buffer and a time step value "dt".
dt | Time step value. |
Implemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.
|
protectedpure virtual |
This method is defined by a subclass to populate an update buffer with changes for the pixels in the output. It returns a time step value to be used for the update.
Implemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.
|
protectedpure virtual |
This method can be defined in subclasses as needed to copy the input to the output. See DenseFiniteDifferenceImageFilter2 for an implementation.
Implemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.
|
overrideprotectedvirtual |
This is the default, high-level algorithm for calculating finite difference solutions. It calls virtual methods in its subclasses to implement the major steps of the algorithm.
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
FiniteDifferenceImageFilter2 needs a larger input requested region than the output requested region. As such, we need to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ProcessObject.
|
inlinevirtual |
This method returns a pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
functionIndex | Index of difference function to return. |
Definition at line 238 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Get the number of elapsed iterations of the filter.
|
virtual |
Set/Get the state of the filter.
|
inline |
Definition at line 333 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Require the filter to be manually reinitialized (by calling SetInitializedStateOff()
|
virtual |
Set/Get the maximum error allowed in the solution. This may not be defined for all solvers and its meaning may change with the application.
|
overridevirtual |
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
Set/Get the number of iterations that the filter will run.
|
virtual |
Set/Get the root mean squared change of the previous iteration. May not be used by all solvers.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
|
protectedvirtual |
This method returns true when the current iterative solution of the equation has met the criteria to stop solving. Defined by a subclass.
|
inlineprotectedvirtual |
This method is optionally defined by a subclass and is called before the loop of iterations of calculate_change & update. It does the global initialization, i.e. in the SparseFieldLevelSetImageFilter, initialize the list of layers.
Reimplemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >, and itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >.
Definition at line 499 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
inlineprotectedvirtual |
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 in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >, and itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >.
Definition at line 509 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Require the filter to be manually reinitialized (by calling SetInitializedStateOff()
|
inlineprotectedvirtual |
This method is called after the solution has been generated to allow subclasses to apply some further processing to the output.
Reimplemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.
Definition at line 537 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
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::ImageSource< TOutputImage >.
|
inlineprotected |
Virtual method for resolving a single time step from a set of time steps returned from processing threads.
timeStepList | The set of time changes compiled from all the threaded calls to ThreadedGenerateData. |
valid | The set of flags indicating which of "timeStepList" elements are valid. Although they are uint8_t, they should be treated like booleans. |
The default is to return the minimum value in the list.
|
inlinevirtual |
This method sets the pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
functionIndex | Index of difference function to set. |
function | Pointer to difference function to set. |
Definition at line 256 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set the number of elapsed iterations of the filter.
|
inline |
Definition at line 358 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
inline |
Definition at line 352 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inline |
Definition at line 309 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inline |
Definition at line 346 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Require the filter to be manually reinitialized (by calling SetInitializedStateOff()
|
virtual |
Set/Get the maximum error allowed in the solution. This may not be defined for all solvers and its meaning may change with the application.
|
virtual |
Set/Get the number of iterations that the filter will run.
|
virtual |
Set/Get the root mean squared change of the previous iteration. May not be used by all solvers.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
|
inlineprotectedvirtual |
This method is similar to Halt(), and its default implementation in this class is simply to call Halt(). However, this method takes as a parameter a void pointer to the MultiThreaderBase::WorkUnitInfo structure. If you override this method instead of overriding Halt, you will be able to get the current thread ID and handle the Halt method accordingly. This is useful if you are doing a lot of processing in Halt that you don't want parallelized. Notice that ThreadedHalt is only called by the multithreaded filters, so you still should implement Halt, just in case a non-threaded filter is used.
Definition at line 488 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
|
staticconstexpr |
Dimensionality of input and output data is assumed to be the same.
Definition at line 177 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
The function that will be used in calculating updates for each pixel.
Definition at line 420 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 414 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 409 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 546 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 412 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 410 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 411 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
private |
Indicates whether the filter automatically resets to UNINITIALIZED state after completing, or whether filter must be manually reset
Definition at line 543 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 415 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 417 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 416 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 424 of file itkMultiphaseFiniteDifferenceImageFilter.h.