MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //------------------------------------------------------------------------- 00005 00010 //------------------------------------------------------------------------- 00011 // Prevent multiple including of this file. 00012 #if !defined(__mlZeroCrossingsFilter_H) 00013 #define __mlZeroCrossingsFilter_H 00014 00015 // ML-includes 00016 #ifndef __mlInitSystemKernel_H 00017 #include "mlInitSystemKernel.h" 00018 #endif 00019 #ifndef __mlKernelModule_H 00020 #include "mlKernelModule.h" 00021 #endif 00022 00023 ML_START_NAMESPACE 00024 00025 //------------------------------------------------------------------------- 00033 //------------------------------------------------------------------------- 00034 class MLKERNELEXPORT ZeroCrossingsFilter : public KernelModule{ 00035 00036 public: 00037 00038 //------------------------------------------------------------------- 00056 //------------------------------------------------------------------- 00057 ZeroCrossingsFilter(); 00058 00059 protected: 00060 00062 virtual void calculateOutputImageProperties(int outIndex); 00063 00069 CALC_ROW_H(); 00070 00073 template <typename DATATYPE> 00074 void calcRow(MLsoffset *indexTab, 00075 size_t indexTabSize, 00076 MLsoffset srcVoxelOffset, 00077 size_t numVox, 00078 DATATYPE *inCursor, 00079 DATATYPE *outCursor, 00080 const ImageVector &/*rowStart*/); 00081 00086 ML_MODULE_CLASS_HEADER(ZeroCrossingsFilter); 00087 private: 00090 DoubleField *_crossingOffsetFld; 00091 }; 00092 00093 ML_END_NAMESPACE 00094 00095 #endif //of __mlZeroCrossingsFilter_H 00096 00097