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
KernelModule(int inputNum=1, int outputNum=1)
DoubleField & getSigmaFld() const
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
void handleNotification(Field *field) override
Handle field changes.
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)
#define MLKERNELEXPORT
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
TImageVector< MLint > ImageVector
Defines the standard ImageVector type that is used by the ML for indexing and coordinates.