#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 [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 158 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> |
![]() | |
using | ConstPointer |
using | InputImageConstPointer |
using | InputImagePixelType |
using | InputImagePointer |
using | InputImageRegionType |
using | InputImageType |
typedef typename OutputImageType::PixelType | OutputImagePixelType |
using | OutputImagePixelType |
typedef typename OutputImageType::RegionType | OutputImageRegionType |
using | OutputImageRegionType |
using | Pointer |
using | Self |
using | Superclass |
![]() | |
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 = TInputImage |
using | OutputImagePixelType |
using | OutputImageRegionType |
using | Pointer = SmartPointer<Self> |
using | Self = ImageToImageFilter |
using | Superclass = 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 |
![]() | |
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 |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Public Member Functions | |
virtual const unsigned int & | GetElapsedIterations () const |
InputImagePointer | GetLevelSet (const IdCellType &i) |
const char * | GetNameOfClass () const override |
virtual void | SetElapsedIterations (unsigned int _arg) |
void | SetFunctionCount (const IdCellType &n) |
void | SetKdTree (KdTreeType *kdtree) |
void | SetLevelSet (const IdCellType &i, const InputImageType *levelSet) |
void | SetLookup (VectorIdCellType lookup) |
virtual const FiniteDifferenceFunctionPointer | GetDifferenceFunction (const IdCellType &functionIndex) const |
virtual void | SetDifferenceFunction (const IdCellType &functionIndex, FiniteDifferenceFunctionPointer function) |
virtual void | SetNumberOfIterations (unsigned int _arg) |
virtual const unsigned int & | GetNumberOfIterations () const |
virtual void | SetUseImageSpacing (bool _arg) |
virtual void | UseImageSpacingOn () |
virtual void | UseImageSpacingOff () |
virtual const bool & | GetUseImageSpacing () const |
virtual void | SetMaximumRMSError (double _arg) |
virtual const double & | GetMaximumRMSError () const |
virtual void | SetRMSChange (double _arg) |
virtual const double & | GetRMSChange () const |
virtual void | SetInitializedState (bool _arg) |
virtual const bool & | GetInitializedState () const |
virtual void | InitializedStateOn () |
virtual void | InitializedStateOff () |
virtual void | SetManualReinitialization (bool _arg) |
virtual const bool & | GetManualReinitialization () const |
virtual void | ManualReinitializationOn () |
virtual void | ManualReinitializationOff () |
![]() | |
virtual bool | CanRunInPlace () const |
virtual bool | CanRunInPlace () const |
virtual void | SetInPlace (bool _arg) |
virtual bool | GetInPlace () const |
virtual void | InPlaceOn () |
virtual void | InPlaceOff () |
virtual void | SetInPlace (bool _arg) |
virtual bool | GetInPlace () const |
virtual void | InPlaceOn () |
virtual void | InPlaceOff () |
![]() | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
void | PopBackInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
![]() | |
OutputImageType * | GetOutput (unsigned int idx) |
OutputImageType * | GetOutput () |
const OutputImageType * | GetOutput () const |
virtual void | GraftOutput (DataObject *graft) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *graft) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *graft) |
ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override |
ProcessObject::DataObjectPointer | MakeOutput (const ProcessObject::DataObjectIdentifierType &) override |
![]() | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
virtual const bool & | GetAbortGenerateData () const |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
NameArray | GetInputNames () const |
DataObjectPointerArray | GetInputs () |
MultiThreaderType * | GetMultiThreader () const |
const char * | GetNameOfClass () const override |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
DataObjectPointerArray | GetOutputs () |
virtual float | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
void | IncrementProgress (float increment) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
void | SetMultiThreader (MultiThreaderType *threader) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
virtual void | SetReleaseDataFlag (bool val) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TOutputImage::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 |
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 {} |
![]() | |
bool | m_DynamicMultiThreading { true } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Private Attributes | |
bool | m_InitializedState {} |
bool | m_ManualReinitialization {} |
Additional Inherited Members | |
![]() | |
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 () |
![]() | |
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::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::CentroidVectorType = Vector<float, Self::ImageDimension> |
Definition at line 222 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::ConstPointer = SmartPointer<const Self> |
Definition at line 167 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureImagePointer = typename FeatureImageType::Pointer |
Definition at line 194 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureImageType = TFeatureImage |
Definition at line 193 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeaturePixelType = typename FeatureImageType::PixelType |
Definition at line 199 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeaturePointType = typename FeatureImageType::PointType |
Definition at line 198 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureRegionType = typename FeatureImageType::RegionType |
Definition at line 195 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureSizeType = typename FeatureImageType::SizeType |
Definition at line 196 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FeatureSpacingType = typename FeatureImageType::SpacingType |
Definition at line 197 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::FiniteDifferenceFunctionPointer = typename FiniteDifferenceFunctionType::Pointer |
Definition at line 217 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 216 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::IdCellType = TIdCell |
Definition at line 210 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputCoordinateType = typename InputPointType::CoordinateType |
Definition at line 179 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 177 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputImageType = TInputImage |
Input and output image types.
Definition at line 176 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputIndexType = typename InputImageType::IndexType |
Definition at line 184 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputIndexValueType = typename InputIndexType::IndexValueType |
Definition at line 185 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputOffsetValueType = typename InputImageType::OffsetValueType |
Definition at line 191 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputPixelType = typename InputImageType::PixelType |
Definition at line 189 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputPointType = typename InputImageType::PointType |
Definition at line 178 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputRegionType = typename InputImageType::RegionType |
Definition at line 188 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSizeType = typename InputImageType::SizeType |
Definition at line 186 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSizeValueType = typename InputSizeType::SizeValueType |
Definition at line 187 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::InputSpacingType = typename InputImageType::SpacingType |
Definition at line 190 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeGeneratorPointer = typename KdTreeGeneratorType::Pointer |
Definition at line 225 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeGeneratorType = Statistics::KdTreeGenerator<SampleType> |
Definition at line 224 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreePointer = typename KdTreeType::Pointer |
Definition at line 227 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::KdTreeType = typename KdTreeGeneratorType::KdTreeType |
Definition at line 226 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 202 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputImageType = TOutputImage |
Definition at line 201 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputIndexType = typename OutputImageType::IndexType |
Definition at line 207 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputIndexValueType = typename OutputImageType::IndexValueType |
Definition at line 208 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 203 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputRegionType = typename OutputImageType::RegionType |
Definition at line 204 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputSizeType = typename OutputImageType::SizeType |
Definition at line 205 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::OutputSizeValueType = typename OutputImageType::SizeValueType |
Definition at line 206 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Pointer = SmartPointer<Self> |
Definition at line 166 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
Definition at line 220 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::SampleType = Statistics::ListSample<CentroidVectorType> |
Definition at line 223 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Self = MultiphaseFiniteDifferenceImageFilter |
Standard class type aliases.
Definition at line 164 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::Superclass = InPlaceImageFilter<TFeatureImage, TOutputImage> |
Definition at line 165 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
Definition at line 218 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::TimeStepVectorType = typename std::vector<TimeStepType> |
Definition at line 219 of file itkMultiphaseFiniteDifferenceImageFilter.h.
using itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFiniteDifferenceFunction, TIdCell >::VectorIdCellType = std::vector<IdCellType> |
Definition at line 211 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inlineprotected |
Definition at line 389 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
overrideprotecteddefault |
|
protectedpure virtual |
This method allocates a temporary update container in the subclass.
Implemented in itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage > >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
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::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage > >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
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::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage > >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
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::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage > >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
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::ImageToImageFilter< TInputImage, TOutputImage >.
|
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 234 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 329 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::InPlaceImageFilter< TFeatureImage, TOutputImage >.
Reimplemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >, and itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
|
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::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >, and itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
Definition at line 495 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
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::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >, and itk::ScalarChanAndVeseSparseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData, TIdCell >.
Definition at line 505 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Require the filter to be manually reinitialized (by calling SetInitializedStateOff()
|
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::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage > >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
Definition at line 533 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::InPlaceImageFilter< TFeatureImage, TOutputImage >.
Reimplemented in itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, unsigned int >, itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >, and itk::MultiphaseSparseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell >.
|
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 252 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set the number of elapsed iterations of the filter.
|
inline |
Definition at line 354 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
inline |
Definition at line 348 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inline |
Definition at line 305 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
inline |
Definition at line 342 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 484 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.
|
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 173 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
The function that will be used in calculating updates for each pixel.
Definition at line 416 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 410 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 405 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 542 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 408 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 406 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 407 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 539 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 411 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 413 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 412 of file itkMultiphaseFiniteDifferenceImageFilter.h.
|
protected |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 420 of file itkMultiphaseFiniteDifferenceImageFilter.h.