MeVisLab Toolbox Reference
mlCloseGapFilter.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
16
17#if !defined (__mlCloseGapFilter_H)
18#define __mlCloseGapFilter_H
19
20// ML-includes
21#include "mlInitSystemKernel.h"
22#include "mlKernelModule.h"
23
24ML_START_NAMESPACE
25
26 //--------------------------------------------------------------------
35 //--------------------------------------------------------------------
37
38 public:
39
40 //--------------------------------------------------------------------------------------------------------
131 //--------------------------------------------------------------------------------------------------------
143
145 static const char* const CloseGapFilterNames[];
146
147 //--------------------------------------------------------------------
163 //--------------------------------------------------------------------
172
174 static const char* const CloseGapKernelNames[];
175
176
177 //-------------------------------------------------------------------
196 //-------------------------------------------------------------------
198
199 //-------------------------------------------------------------------
202 //-------------------------------------------------------------------
203 inline EnumField *getCloseGapFilterFld () const { return _closeGapFilterFld ; };
204 inline FloatField *getSensitivityFld () const { return _sensitivityFld ; };
205 inline EnumField *getSelectInternalKernelFld() const { return _selectInternalKernelFld; };
207
208 protected:
210 void handleNotification(Field* field) override;
211
214 void activateAttachments() override;
215
222
225 template <typename DATATYPE>
226 void calcRow(MLsoffset *indexTab,
227 size_t indexTabSize,
228 MLsoffset srcVoxelOffset,
229 size_t numVox,
230 DATATYPE *inCursor,
231 DATATYPE *outCursor,
232 const ImageVector &/*rowStart*/);
233
234 // After checking all inherited GUI elements we use this kernel update method
235 // to overwrite kernel settings in that case that a special kernel has been
236 // selected by the \c _selectInternalKernelFld.
237 void _userKernelPostUpdate() override;
238
239 private:
240
241 //-------------------------------------------------------------------
244 //-------------------------------------------------------------------
246 EnumField *_closeGapFilterFld;
247
249 FloatField *_sensitivityFld;
250
252 EnumField *_selectInternalKernelFld;
254
257 std::vector<MLint> _orderedIndices;
258
264 };
265
266ML_END_NAMESPACE
267
268#endif //of __mlCloseGapFilter_H
269
270
271
static const char *const CloseGapFilterNames[]
Strings names for CloseGap based filters.
FloatField * getSensitivityFld() const
EnumField * getCloseGapFilterFld() const
void _userKernelPostUpdate() override
EnumField * getSelectInternalKernelFld() const
static const char *const CloseGapKernelNames[]
String names for the mlCloseGapKernels enum.
void handleNotification(Field *field) override
Called when a parameter field is changed.
void activateAttachments() override
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
KernelModule(int inputNum=1, int outputNum=1)
#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.