MeVisLab Toolbox Reference
mlSigmaFilter.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
15
16#if !defined(__mlSigmaFilter_H)
17#define __mlSigmaFilter_H
19
20#include "mlKernelModule.h"
21
22// ML-includes
23// Include dll-specific settings.
24#include "mlInitSystemKernel.h"
25
26// Include module programming stuff from ML
27#include <mlModuleIncludes.h>
28
29ML_START_NAMESPACE
30
33
34public:
35
36 //-------------------------------------------------------------------
54 //-------------------------------------------------------------------
56
57 inline DoubleField &getSigmaFld() const { return *_sigmaFld; }
58
59 inline DoubleField &getStdDevMaxFld() const { return *_stdDevMaxFld; }
60
61 inline BoolField &getMultSigmaWithLocalStdDevFld() const { return *_multSigmaWithLocalStdDevFld; }
62
63protected:
64
66 void calculateOutputImageProperties(int outputIndex, PagedImage* outputImage) override;
67
69 void handleNotification(Field* field) override;
70
72 void activateAttachments() override;
73
80
83 template <typename DATATYPE>
84 void calcRow(MLsoffset *indexTab,
85 size_t indexTabSize,
86 MLsoffset srcVoxelOffset,
87 size_t numVox,
88 DATATYPE *inCursor,
89 DATATYPE *outCursor,
90 const ImageVector &/*rowStart*/);
91
97
98private:
99
101 DoubleField *_sigmaFld;
102
105 DoubleField *_stdDevMaxFld;
106
111 IntField* _minNumValidKernelVoxelsInIntervalFld;
112
116 BoolField* _multSigmaWithLocalStdDevFld;
117
120 BoolField* _useMedianAsReferenceFld;
121
124 BoolField* _useTriangleWeightingFld;
125
126};
127
128ML_END_NAMESPACE
129
130#endif //of __mlSigmaFilter_H
131
Field to encapsulate a boolean value.
Definition mlFields.h:56
Field to encapsulate a double value.
Definition mlFields.h:494
Base class for all fields used in the ML.
Definition mlField.h:73
Field to encapsulate an integer value.
Definition mlFields.h:117
The typically used convenience class to apply a kernel to an image.
The class PagedImage, representing a fragmented image that manages properties and data of an image lo...
A sigma filter class.
DoubleField & getSigmaFld() const
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
In this virtual template method the filtering of one row needs to be implemented.
void handleNotification(Field *field) override
Handle field changes.
CALC_ROW_H()
The implementation of the calculateOutputSubImage() method overloaded from Module is done in this mac...
BoolField & getMultSigmaWithLocalStdDevFld() const
void calculateOutputImageProperties(int outputIndex, PagedImage *outputImage) override
Computes the output image properties for output outIndex.
void activateAttachments() override
Update internal state after loading.
DoubleField & getStdDevMaxFld() const
ML_MODULE_CLASS_HEADER(SigmaFilter)
Macro to declare methods/functions of the runtime system interface of this class.
SigmaFilter()
Constructor.
#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 that is a 32-bit signed integer on 32-bit platforms and a 64-bit integer on 64-...
Definition mlTypeDefs.h:561