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);
290 void operator=(const Self &);
320 const ThreadRegionType & regionToProcess,
335 #ifndef ITK_MANUAL_INSTANTIATION
336 #include "itkNarrowBandImageFilterBase.hxx"
std::vector< RegionType > m_RegionList
Light weight base class for most itk classes.
virtual void ApplyUpdate(const TimeStepType &) override
std::vector< bool > m_TouchedForThread
std::vector< bool > ValidTimeStepList
TOutputImage OutputImageType
ValueType m_IsoSurfaceValue
void SetNarrowBandInnerRadius(const float &val)
virtual void SetNarrowBand(NarrowBandType *ptr)
void PrintSelf(std::ostream &os, Indent indent) const override
NarrowBandType::RegionType RegionType
virtual void ThreadedIterate(void *arg, ThreadIdType threadId)
OutputImageType::IndexType IndexType
OutputPixelType PixelType
virtual TimeStepType ThreadedCalculateChange(const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
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()
virtual void PostProcessOutput() override
FiniteDifferenceImageFilter< TInputImage, TOutputImage > Superclass
void InsertNarrowBandNode(const IndexType &index, const PixelType &value, const signed char &nodestate)
NodeContainerType::iterator Iterator
virtual void Initialize() override
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
unsigned int ThreadIdType
NarrowBandImageFilterBase Self
FiniteDifferenceFunctionType::TimeStepType TimeStepType
Barrier::Pointer m_Barrier
NarrowBand< BandNodeType > NarrowBandType
std::vector< TimeStepType > TimeStepList
virtual void CopyInputToOutput() override
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.
virtual void InitializeIteration() override
NarrowBandImageFilterBase * Filter
Control indentation during Print() invocation.
Superclass::TimeStepType TimeStepType
FiniteDifferenceFunction< TOutputImage > FiniteDifferenceFunctionType
virtual void AllocateUpdateBuffer() override
virtual TimeStepType CalculateChange() override
virtual void GenerateData() override
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
static ITK_THREAD_RETURN_TYPE IterateThreaderCallback(void *arg)
Standard barrier class implementation for synchronizing the execution of threads. ...