MeVisLab Toolbox Reference
mlKernelTools.h File Reference
#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
 Main documentation file for ML users and developers.
 

Functions

template<typename DATATYPE >
static bool ml::_isScalarValueInRange (const DATATYPE &v, bool normal, double minVal, double maxVal, OverloadSelector::OnTrue)
 Global static template functions for line filtering.
 
template<typename DATATYPE >
static bool ml::_isScalarValueInRange (const DATATYPE &, bool, double, double, OverloadSelector::OnFalse)
 
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)
 Global template functions for page filtering.
 
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.