18 #ifndef __itkNarrowBandImageFilterBase_h
19 #define __itkNarrowBandImageFilterBase_h
67 template<
typename TInputImage,
typename TOutputImage >
116 itkGetConstMacro(IsoSurfaceValue,
ValueType);
144 const signed char & nodestate)
247 void GetSplitRegion(
const size_t& i, ThreadRegionType & splitRegion);
320 const ThreadRegionType & regionToProcess,
335 #ifndef ITK_MANUAL_INSTANTIATION
336 #include "itkNarrowBandImageFilterBase.hxx"
virtual void GenerateData()
std::vector< RegionType > m_RegionList
Light weight base class for most itk classes.
std::vector< bool > m_TouchedForThread
std::vector< bool > ValidTimeStepList
TOutputImage OutputImageType
virtual void AllocateUpdateBuffer()
ValueType m_IsoSurfaceValue
void SetNarrowBandInnerRadius(const float &val)
virtual void SetNarrowBand(NarrowBandType *ptr)
virtual void InitializeIteration()
NarrowBandType::RegionType RegionType
virtual void ThreadedIterate(void *arg, ThreadIdType threadId)
OutputImageType::IndexType IndexType
OutputPixelType PixelType
virtual TimeStepType ThreadedCalculateChange(const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
virtual void PostProcessOutput()
Superclass::InputImageType InputImageType
SmartPointer< Self > Pointer
float GetNarrowBandTotalRadius() const
#define ITK_THREAD_RETURN_TYPE
IdentifierType m_ReinitializationFrequency
Superclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
void InsertNarrowBandNode(const BandNodeType &node)
TInputImage InputImageType
SizeValueType IdentifierType
virtual void CreateNarrowBand()
FiniteDifferenceImageFilter< TInputImage, TOutputImage > Superclass
void InsertNarrowBandNode(const IndexType &index, const PixelType &value, const signed char &nodestate)
NarrowBandImageFilterBase()
NodeContainerType::iterator Iterator
virtual void Initialize()
void InsertNarrowBandNode(const IndexType &index)
SmartPointer< const Self > ConstPointer
Superclass::IndexType IndexType
float GetNarrowBandInnerRadius() const
void GetSplitRegion(const vcl_size_t &i, ThreadRegionType &splitRegion)
NarrowBandType::Pointer NarrowBandPointer
NarrowBandType::Iterator NarrowBandIterator
virtual void Modified() const
NarrowBandImageFilterBase Self
FiniteDifferenceFunctionType::TimeStepType TimeStepType
Barrier::Pointer m_Barrier
virtual void ApplyUpdate(const TimeStepType &)
NarrowBand< BandNodeType > NarrowBandType
std::vector< TimeStepType > TimeStepList
virtual void CopyInputToOutput()
void PrintSelf(std::ostream &os, Indent indent) const
void operator=(const Self &)
This class implements a multi-threaded finite difference image to image solver that can be applied to...
void SetNarrowBandTotalRadius(const float &val)
Base class for filters that take an image as input and produce an image as output.
NarrowBandImageFilterBase * Filter
Control indentation during Print() invocation.
Superclass::TimeStepType TimeStepType
FiniteDifferenceFunction< TOutputImage > FiniteDifferenceFunctionType
static const unsigned int ImageDimension
virtual ~NarrowBandImageFilterBase()
static const unsigned int ImageDimension
OutputImageType::ValueType ValueType
Superclass::OutputImageType OutputImageType
virtual void ThreadedApplyUpdate(const TimeStepType &dt, const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
NarrowBandPointer m_NarrowBand
BandNode< IndexType, PixelType > BandNodeType
Superclass::PixelType PixelType
unsigned int ThreadIdType
static ITK_THREAD_RETURN_TYPE IterateThreaderCallback(void *arg)
virtual TimeStepType CalculateChange()