MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLKernel/mlKernelTools.h File Reference

A class with untyped and templated code with static functions to simplify standard kernel filter operations. More...

#include "mlInitSystemKernel.h"
#include "mlLineApplicator.h"
#include "mlKernel.h"

Go to the source code of this file.

Classes

struct  ml::fctLineFilter< DATATYPE >
 The basic implementation of a filter to filter an image row with kernel operations. More...
struct  ml::useObjectLineFilter< T, DATATYPE >
 Wrapper for the use of object bound row filters. More...
class  ml::KernelTools
 Class collecting a set of templated an normal functions for filtering operations using kernels. More...

Namespaces

namespace  ml
 

Define the namespace name like in the ML. Default is ml.


Functions

template<typename DATATYPE >
static bool ml::_isScalarValueInRange (const DATATYPE &v, bool normal, double minVal, double maxVal, OverloadSelector::OnTrue)
 Check if a value is in the given range.
template<typename DATATYPE >
static bool ml::isScalarValueInRange (const DATATYPE &v, bool normal, double minVal, double maxVal)
template<typename IN_DATATYPE , typename OUT_DATATYPE >
static void ml::MLKernelToolsCopyLine (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, MLsoffset srcVoxelOffset)
 Copy the line from input subimage which corresponds to the line to be modified in the output image.
template<typename IN_DATATYPE , typename OUT_DATATYPE , typename K_DATATYPE >
static void ml::MLKernelToolsCorrelateLine (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, const K_DATATYPE *valTab, const MLsoffset *indexTab, size_t indexTabSize)
 Correlate all voxels of the a row pointed to by inCursor with the current kernel and write the result into the row pointed to by outCursor.
template<typename IN_DATATYPE , typename OUT_DATATYPE , typename K_DATATYPE >
static void ml::MLKernelToolsCorrelateLineWithImageInterval (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, const K_DATATYPE *valTab, const MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, MLdouble minVal, MLdouble maxVal)
 Correlate all voxels of the a row pointed to by inCursor with the current kernel and write the result into the row pointed to by outCursor.
template<typename IN_DATATYPE , typename OUT_DATATYPE , typename K_DATATYPE >
static void ml::MLKernelToolsCorrelateLineWithKernelInterval (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, const K_DATATYPE *valTab, const MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, MLdouble minVal, MLdouble maxVal)
 Correlate all voxels of the a row pointed to by inCursor with the current kernel and write the result into the row pointed to by outCursor.
template<typename IN_DATATYPE , typename OUT_DATATYPE , typename K_DATATYPE >
static void ml::MLKernelToolsCorrelateLineWithImageAndKernelInterval (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, const K_DATATYPE *valTab, const MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, MLdouble imgIntMinVal, MLdouble imgIntMaxVal, MLdouble kernIntMinVal, MLdouble kernIntMaxVal)
 Correlate all voxels of the a row pointed to by inCursor with the current kernel and write the result into the row pointed to by outCursor.
template<typename IN_DATATYPE , typename OUT_DATATYPE , typename K_DATATYPE >
static void ml::MLKernelToolsCorrelateLineEvtWithIntervals (const IN_DATATYPE *inCursor, OUT_DATATYPE *outCursor, size_t numVox, const K_DATATYPE *valTab, const MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, MLdouble imgIntMinVal, MLdouble imgIntMaxVal, MLdouble kernIntMinVal, MLdouble kernIntMaxVal, bool useImgInt, bool useKernInt)
 Correlate all voxels of the a row pointed to by inCursor with the current kernel and write the result into the row pointed to by outCursor.
template<typename DATATYPE >
static void ml::MLKernelToolsApplyFiltering (const ImageVector &inImgExt, LineApplicator< DATATYPE > &lineApp, KernelTools::BorderHandling borderHandling, MLdouble fillValue, TSubImageWithCursor< DATATYPE > &outSubImg, TSubImageWithCursor< DATATYPE > &inSubImg)
 Compute the page outSubImg by filtering inSubImg with the lineApp instance which contains the kernel and intervals.
template<typename DATATYPE >
static void ml::MLKernelToolsApplyFiltering (const ImageVector &inImgExt, const fctLineFilter< DATATYPE > &lineFilter, const ImageVector &negKernelExt, const ImageVector &posKernelExt, KernelTools::BorderHandling borderHandling, MLdouble fillValue, TSubImageWithCursor< DATATYPE > &outSubImg, TSubImageWithCursor< DATATYPE > &inSubImg)
 Compute the page outSubImg by filtering inSubImg with the passed function taking care of correct intervals and boundary handling.

Detailed Description

A class with untyped and templated code with static functions to simplify standard kernel filter operations.

Author:
Wolf Spindler
Date:
03/2003

Definition in file mlKernelTools.h.