|
@@ -0,0 +1,44 @@
|
|
|
+/**
|
|
|
+* @file GMHIKernelPartial.h
|
|
|
+* @author Erik Rodner
|
|
|
+* @brief Fast multiplication with subset histogram intersection kernel matrices (Interface)
|
|
|
+* @date 15/09/2015
|
|
|
+
|
|
|
+*/
|
|
|
+#ifndef _NICE_GMHIKERNELPARTIALINCLUDE
|
|
|
+#define _NICE_GMHIKERNELPARTIALINCLUDE
|
|
|
+
|
|
|
+#include <vector>
|
|
|
+
|
|
|
+#include <core/algebra/PartialGenericMatrix.h>
|
|
|
+
|
|
|
+#include "GMHIKernel.h"
|
|
|
+
|
|
|
+namespace NICE {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @class GMHIKernelPartial
|
|
|
+ * @brief Fast multiplication with histogram intersection kernel sub-matrices
|
|
|
+ * @author Erik Rodner
|
|
|
+ */
|
|
|
+
|
|
|
+class GMHIKernelPartial : public GMHIKernel, PartialGenericMatrix
|
|
|
+{
|
|
|
+
|
|
|
+ protected:
|
|
|
+
|
|
|
+
|
|
|
+ public:
|
|
|
+
|
|
|
+ /** simple constructor */
|
|
|
+ GMHIKernelPartial( FastMinKernel *_fmk, ParameterizedFunction *_pf = NULL, const Quantization *_q = NULL )
|
|
|
+ : GMHIKernel ( _fmk, _pf, _q ) {};
|
|
|
+
|
|
|
+ /** multiply a submatrix with a vector: A*x = y */
|
|
|
+ virtual void multiply (const PartialGenericMatrix::SetType & rowSet, const PartialGenericMatrix::SetType & columnSet, NICE::Vector & y, const NICE::Vector & x) const;
|
|
|
+
|
|
|
+ virtual double getDiagonalElement( uint i ) const;
|
|
|
+};
|
|
|
+
|
|
|
+}
|
|
|
+#endif
|