00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkFloodFilledImageFunctionConditionalIterator_h
00018
#define __itkFloodFilledImageFunctionConditionalIterator_h
00019
00020
#include "itkFloodFilledImageFunctionConditionalConstIterator.h"
00021
00022
namespace itk
00023 {
00024
00032
template<
class TImage,
class TFunction>
00033 class ITK_EXPORT FloodFilledImageFunctionConditionalIterator:
public FloodFilledImageFunctionConditionalConstIterator<TImage, TFunction>
00034 {
00035
public:
00037
typedef FloodFilledImageFunctionConditionalIterator
Self;
00038 typedef FloodFilledImageFunctionConditionalConstIterator<TImage, TFunction> Superclass;
00039
00041
typedef typename Superclass::FunctionType
FunctionType;
00042
00044
typedef typename Superclass::FunctionInputType
FunctionInputType;
00045
00047
typedef typename Superclass::IndexType
IndexType;
00048
00050
typedef typename Superclass::SizeType
SizeType;
00051
00053
typedef typename Superclass::RegionType
RegionType;
00054
00056
typedef typename Superclass::ImageType
ImageType;
00057
00059
typedef typename Superclass::InternalPixelType
InternalPixelType;
00060
00062
typedef typename Superclass::PixelType
PixelType;
00063
00068
itkStaticConstMacro(NDimensions,
unsigned int, Superclass::NDimensions);
00069
00073 FloodFilledImageFunctionConditionalIterator(
ImageType *imagePtr,
00074 FunctionType *fnPtr,
00075
IndexType startIndex):
Superclass(imagePtr, fnPtr, startIndex) {};
00076
00080 FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr,
00081 FunctionType *fnPtr,
00082 std::vector<IndexType>& startIndex):
Superclass(imagePtr, fnPtr, startIndex) {};
00083
00087 FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr,
00088 FunctionType *fnPtr):
Superclass(imagePtr, fnPtr) {};
00089
00091
const PixelType & Get(
void)
const
00092 {
return const_cast<ImageType *>(m_Image.GetPointer())->GetPixel(m_IndexStack.front() ); }
00093
00095
void Set(
const PixelType & value)
00096 { const_cast<ImageType *>(m_Image.GetPointer())->GetPixel(m_IndexStack.front() ) = value; }
00097
00099
virtual ~FloodFilledImageFunctionConditionalIterator() {};
00100 };
00101
00102 }
00103
00104
#endif