MeVisLab Toolbox Reference
mlBitMorphologyFilter.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 #ifndef ML_BIT_MORPHOLOGY_FILTER_H
17 #define ML_BIT_MORPHOLOGY_FILTER_H
18 
19 #include "mlInitSystemKernel.h"
20 #include "mlKernelModule.h"
21 
22 ML_START_NAMESPACE
23 
24  //-----------------------------------------------------------------
37  //-----------------------------------------------------------------
39 
40  public:
41 
42  //---------------------------------------------------------------------------------
56  //---------------------------------------------------------------------------------
58  ID = 0,
61 
62  NUM_BIT_MORPHOLOGY_FILTERS
63  };
64 
66  static const char* const BitMorphologyFilterNames[NUM_BIT_MORPHOLOGY_FILTERS];
67 
68  //-------------------------------------------------------------------
85  //-------------------------------------------------------------------
87 
91  inline EnumField *getBitMorphologyFilterFld() const { return _bitMorphologyFilterFld; }
92 
93  protected:
95  void handleNotification(Field* field) override;
96 
102  void calculateOutputImageProperties(int outputIndex, PagedImage* outputImage) override;
103 
110 
115  template <typename DATATYPE>
116  void calcRow(MLsoffset *indexTab,
117  size_t indexTabSize,
118  MLsoffset srcVoxelOffset,
119  size_t numVox,
120  DATATYPE *inCursor,
121  DATATYPE *outCursor,
122  const ImageVector &/*rowStart*/);
123 
124  private:
127  EnumField *_bitMorphologyFilterFld;
128 
134  };
135 
136 ML_END_NAMESPACE
137 
138 #endif
The class to apply BitMorphology based kernel filters to images.
BitMorphologyFilter()
Constructor.
EnumField * getBitMorphologyFilterFld() const
Access method to the enum field managing the binary morphological filtering algorithm.
BitMorphologyFilterTypes
The following BitMorphology based filters are available:
void calculateOutputImageProperties(int outputIndex, PagedImage *outputImage) override
Computes the output image properties (e.g.
void handleNotification(Field *field) override
Called when a parameter field is changed.
CALC_ROW_H()
Macro which needs to be added to the implementation of a class derived from KernelModule or KernelBas...
void calcRow(MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
In this template method the filtering of one row needs to be implemented.
Field to encapsulate an enumerated value.
Definition: mlFields.h:363
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.
Class which represents an image, which manages properties of an image and image data which is located...
Definition: mlPagedImage.h:70
#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