MeVisLab Toolbox Reference
mlCorrelation.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #ifndef ML_CORRELATION_H
14 #define ML_CORRELATION_H
15 
16 
18 
19 // ML-includes
20 #include "mlInitSystemKernel.h"
21 
22 // ML kernel includes
23 #include "mlKernel.h"
24 #include "mlKernelModule.h"
25 
26 ML_START_NAMESPACE
27 
28 
31 {
32 public:
33 
35  Correlation (void);
36 
38  ~Correlation (void) override;
39 
41  void handleNotification (Field *field) override;
42 
45  // SubImageBox calculateInputSubImageBox (int inIndex, const SubImageBox &outSubImgBox, int outIndex);
46 
49 
52  template <typename DATATYPE>
53  void calcRow(MLsoffset *indexTab,
54  size_t indexTabSize,
55  MLsoffset /*srcVoxelOffset*/,
56  size_t numVox,
57  DATATYPE *inCursor,
58  DATATYPE *outCursor,
59  const ImageVector &/*rowStart*/);
60 
61 private:
63  bool _generateKernel();
64 
66  void _clearKernel();
67 
69  Field *kernelInputField;
70 
72  ImageVector _extKernelImage;
74  KernelDataType *_kernelImagePtr;
75 
78 };
79 
80 
81 ML_END_NAMESPACE
82 
83 #endif // __mlCorrelation_H
84 
85 
Correlation of image with kernel image.
Definition: mlCorrelation.h:31
Correlation(void)
Constructor.
void handleNotification(Field *field) override
Handle field changes of the field field.
~Correlation(void) override
Destructor cleaning kernel data.
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
In this virtual template method the filtering of one row is implemented.
CALC_ROW_H()
Calc the SubImageBox: default for input 1 (the image), empty for the kernel image as it has already c...
Base class for all fields used in the ML.
Definition: mlField.h:73
The typically used convenience class to apply a kernel to an image.
#define ML_MODULE_CLASS_HEADER(className)
Like ML_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...
MLint MLsoffset
Signed ML offset type which is a 32 bit signed integer on 32 bit platforms and a 64 bit integer on 64...
Definition: mlTypeDefs.h:650
MLdouble KernelDataType
Define the standard data type for kernel elements to be used in this library.
Definition: mlKernel.h:2208