16#if !defined (__mlKernelBaseModule_H)
17#define __mlKernelBaseModule_H
229 friend class KernelBaseOpCalculateOutputImageHandler;
Base class for the calculation of pages of an output image (PagedImage) of a Module.
Field to encapsulate a double value.
Field to encapsulate an enumerated value.
Base class for all fields used in the ML.
The module base class to apply kernels to an image.
virtual SubImageBox calculateValidDestArea(const SubImageBox &validDestArea, const SubImageBox &outSubImageBox)
Function called after the Kernel Framework calculated the valid area in the global destination image.
EnumField & getReferenceExtentModeFld() const
Returns how the reference extent for input images is calculated; valid values are InputImageRefExtent...
virtual void _connectToAllOutputs(Field *field)
Helper function to connect a field field to all output fields.
SubImageBox calculateInputSubImageBox(int inIndex, const SubImageBox &outSubImgBox, int outIndex) override
Calculates the region of the input image needed for the calculation of the output image region define...
EnumField * getBorderHandlingFld() const
virtual void _calcKernelPage(SubImage *outSubImg, int outIndex, SubImage *inSubImgs, int numInSubImgs, MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t loopIdx, size_t iteration, const ImageVector &ov1, const ImageVector &ov2, const ImageVector &pOf, size_t numVox)=0
This method is not intended to be overloaded directly, because it is subject to change.
virtual void calcOutSubImagePostProcessing(SubImage *outSubImg, int outIndex, SubImage *inSubImgs)
Called to postProcess the output image outSubImg with the index outIndex from the input subimage inSu...
virtual ImageVector _getCalculatedReferenceInputExt() const
Return the reference extent of input image dependent on the current value of _referenceExtentFld.
virtual void _setCorrectCorrelationMinMax(bool imageIntervalUsed=false, MLdouble intervalMin=0, MLdouble intervalMax=0, MLint inIdx=0, MLint outIdx=0)
This method calculates and sets the possible min/max values for output image outIdx if a correlation ...
InputImageRefExtent
Enumerator specifying the calculation mode for the extent of the reference extent of the input image.
@ Input0_ExtWithFill
Input 0 defines the reference extent of the input image, filling undefined input areas with fill valu...
@ MaxExtentsWithFill
Maximum component wise extent of all inputs, filling undefined input areas with fill value.
@ Input0_ExtWithoutFill
Input 0 defines the reference extent of the input image, leaving undefined input areas undefined.
@ MaxExtentsWithoutFill
Maximum component wise extent of all inputs, leaving undefined input areas undefined.
virtual void calcInSubImagePreparation(int outIndex, SubImage *inSubImgs)
Does some preprocessing on input subimages if we have more than one.
virtual ImageVector calculateOutInCoordShift(const ImageVector shift, const SubImageBox &outSubImageBox)
Function called after the Kernel Framework calculated the shift vector between input and output.
void calculateOutputImageProperties(int outputIndex, PagedImage *outputImage) override
Set properties of output image outputImage with output index outputIndex.
const Kernel & getConstKernel() const
Method to access the kernel as constant object. See also getKernel().
DoubleField * getFillValueFld() const
The field value is value written in input or output image borders where a border handling requires fi...
KernelBaseModule(int inputNum=1, int outputNum=1)
Constructor.
virtual SubImageBox calculateAreaToBeCalculated(const SubImageBox &areaToBeCalculated, const SubImageBox &outSubImageBox)
Function called after the Kernel Framework calculated which box needs to be calculated for the curren...
Base class for an image processing module of the ML.
virtual CalculateOutputImageHandler * createCalculateOutputImageHandler(PagedImage *outputImage)
Creates the CalculateOutputImageHandler for the given output image outputImage.
virtual void calculateOutputSubImage(SubImage *outputSubImage, int outputIndex, SubImage *inputSubImages)
Calculate page outputSubImage of output image with index outputIndex given the input image tiles in a...
Class which represents an image, which manages properties of an image and image data which is located...
This class manages/represents a rectangular 6d image region which is organized linearly in memory.
Base class for thread local data that is passed to CalculateOutputImageHandler::calculateOutputSubIma...
#define ML_ABSTRACT_MODULE_CLASS_HEADER(className)
Like ML_ABSTRACT_CLASS_HEADER for the usage of derived classes from Module.
#define MLKERNELEXPORT
Includes files used in many parts of the dll, defined dll-specific macros and controls any system dep...
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
MLint MLsoffset
Signed ML offset type which is a 32 bit signed integer on 32 bit platforms and a 64 bit integer on 64...
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...