MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //-------------------------------------------------------------------------------- 00004 00009 //-------------------------------------------------------------------------------- 00010 // Prevent multiple including of this file. 00011 #if !defined(__mlKernelCurvatureEstimationFilter_H) 00012 #define __mlKernelCurvatureEstimationFilter_H 00013 00014 // ML-includes 00015 #ifndef __mlInitSystemKernel_H 00016 #include "mlInitSystemKernel.h" 00017 #endif 00018 #ifndef __mlKernelModule_H 00019 #include "mlKernelModule.h" 00020 #endif 00021 00022 ML_START_NAMESPACE 00023 00024 //---------------------------------------------------------------------------- 00036 //---------------------------------------------------------------------------- 00037 class MLKERNELEXPORT KernelCurvatureEstimationFilter : public KernelModule { 00038 00039 public: 00040 00041 //---------------------------------------------------------------------------- 00063 //---------------------------------------------------------------------------- 00064 KernelCurvatureEstimationFilter(); 00065 00066 //---------------------------------------------------------------------------- 00068 //---------------------------------------------------------------------------- 00069 inline BoolField *getCalculateAngleFld() const { return _calculateAngleFld; } 00070 00071 00072 protected: 00074 virtual void calculateOutputImageProperties(int outIndex); 00075 00081 CALC_ROW_H(); 00082 00085 template <typename DATATYPE> 00086 void calcRow(MLsoffset *indexTab, 00087 size_t indexTabSize, 00088 MLsoffset srcVoxelOffset, 00089 size_t numVox, 00090 DATATYPE *inCursor, 00091 DATATYPE *outCursor, 00092 const ImageVector &/*rowStart*/); 00093 00094 private: 00097 BoolField *_calculateAngleFld; 00098 00103 ML_MODULE_CLASS_HEADER(KernelCurvatureEstimationFilter); 00104 }; 00105 00106 ML_END_NAMESPACE 00107 00108 #endif //of __mlKernelCurvatureEstimationFilter_H 00109 00110