MeVisLab Toolbox Reference
mlMorphologyFilter.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(__mlMorphologyFilter_H)
17#define __mlMorphologyFilter_H
18
19// ML-includes
20#include "mlInitSystemKernel.h"
21#include "mlKernelModule.h"
22
23ML_START_NAMESPACE
24
25 //-------------------------------------------------------------------------
34 //-------------------------------------------------------------------------
36
37 public:
38
39 //--------------------------------------------------------------------------------------------------------
59 //--------------------------------------------------------------------------------------------------------
67
68 //-------------------------------------------------------------------
70 //-------------------------------------------------------------------
71 static const char* const MorphologyFilterNames[];
72
73
74 //-------------------------------------------------------------------
94 //-------------------------------------------------------------------
96
100 inline EnumField *getMorphologyFilterFld() const { return _morphologyFilterFld; }
101
102 protected:
107 void _userKernelPostUpdate() override;
108
110 void handleNotification(Field* field) override;
111
114 void calculateOutputImageProperties(int outputIndex, PagedImage* outputImage) override;
115
122
125 template <typename DATATYPE>
126 void calcRow(MLsoffset *indexTab,
127 size_t indexTabSize,
128 MLsoffset srcVoxelOffset,
129 size_t numVox,
130 DATATYPE *inCursor,
131 DATATYPE *outCursor,
132 const ImageVector &/*rowStart*/);
133
134 private:
135
136 //-------------------------------------------------------------------
139 //-------------------------------------------------------------------
141 EnumField *_morphologyFilterFld;
143
149 };
150
151ML_END_NAMESPACE
152
153#endif //of __mlMorphologyFilter_H
154
155
KernelModule(int inputNum=1, int outputNum=1)
void _userKernelPostUpdate() override
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
static const char *const MorphologyFilterNames[]
String names for morphology based filters.
void calculateOutputImageProperties(int outputIndex, PagedImage *outputImage) override
EnumField * getMorphologyFilterFld() const
void handleNotification(Field *field) override
Called when a parameter field is changed.
#define ML_MODULE_CLASS_HEADER(className)
#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.