MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLKernel/mlKernelCurvatureEstimationFilter.h
Go to the documentation of this file.
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