17#if !defined(__mlKernelLineApplicator_H)
18#define __mlKernelLineApplicator_H
31#define ML_DEBUG_ENV_NAME "ML_KERNELLINEAPPLICATOR"
66 template <
typename DATATYPE,
typename KDATATYPE>
179 if (
this != &kernLineApp){
311 outSubImg->getCursorPos(),
321 outSubImg->getCursorPos(),
332 (inSubImg->getCursorPos(), outSubImg->getCursorPos(), numVox,
340 (inSubImg->getCursorPos(), outSubImg->getCursorPos(), numVox,
351 (inSubImg->getCursorPos(), outSubImg->getCursorPos(), numVox,
362 (inSubImg->getCursorPos(), outSubImg->getCursorPos(), numVox,
388 outSubImg->getCursorPos(),
453template <
typename DATATYPE,
typename KDATATYPE>
const char *
const
458 "ApplyImageIntervalFilter",
459 "ApplyKernelIntervalFilter",
460 "ApplyImageAndKernelInterval"
466#undef ML_DEBUG_ENV_NAME
const KernelLineApplicatorBase< DATATYPE, KDATATYPE > & operator=(const KernelLineApplicatorBase< DATATYPE, KDATATYPE > &kernLineAppBase)
Assignment operator. Assures that dynamic and normal members are copied correctly.
virtual void _clearIndices()
Removes the current _indexTab.
KernelLineApplicatorBase()
size_t _indexTabSize
Size of _indexTab. Default is 0.
const TKernel< KDATATYPE > * _kernel
Pointer to the kernel used to filter an input page.
void _init()
Initialization the current instance of mlKernelApplicatorBase. To be called by constructors.
virtual void _defineIndices(const SubImage &inSubImg)
void setKernel(const TKernel< KDATATYPE > &kernel)
@ APPLY_IMAGE_INTERVAL_FILTER
@ APPLY_IMAGE_AND_KERNEL_INTERVAL_FILTER
@ APPLY_KERNEL_INTERVAL_FILTER
ApplyMode _applyMode
The mode how the kernel is applied to the image.
static const char *const ApplyModeNames[]
Strings for ApplyMode names. See mlKernalLineApplicator.cpp for the names.
KernelLineApplicator(const TKernel< KDATATYPE > &kernel, ApplyMode applyMode, MLdouble iIntMin=-DBL_MIN, MLdouble iIntMax=DBL_MAX, MLdouble kIntMin=-DBL_MIN, MLdouble kIntMax=DBL_MAX)
DATATYPE getImageIntervalMin() const
void setApplyMode(ApplyMode mode)
bool _normOrigI
_normOrigI==true indicates that the interval is used exclusively.
void applyToLine(TSubImageWithCursor< DATATYPE > *inSubImg, TSubImageWithCursor< DATATYPE > *outSubImg, size_t numVox)
void setImageInterval(MLdouble min=-DBL_MAX, MLdouble max=DBL_MAX)
bool isInImageInterval(DATATYPE v) const
const KernelLineApplicator & operator=(const KernelLineApplicator &kernLineApp)
Assignment operator. Assures that dynamic and normal members are copied correctly.
bool isInKernelInterval(DATATYPE v) const
virtual void applyUserFilterToLine(TSubImageWithCursor< DATATYPE > *inSubImg, TSubImageWithCursor< DATATYPE > *outSubImg, long numVox) const
void _init()
Initialization the current instance of mlKernelApplicator. To be called by constructors.
KernelLineApplicator(const KernelLineApplicator &kernLineApp)
Copy constructor.
DATATYPE getKernelIntervalMin() const
DATATYPE getKernelIntervalMax() const
bool _normKernI
_normKernI==true indicates that the interval is used exclusively.
void setKernelInterval(MLdouble min=-DBL_MAX, MLdouble max=DBL_MAX)
ApplyMode getApplyMode() const
virtual ~KernelLineApplicator()
Destructor. Frees dynamic members.
DATATYPE getImageIntervalMax() const
@ isScalarType
Flag that is true for all built-in scalar types (and false for extended types).