/* * Copyright (C) 2014 Mathias Unberath * CONRAD is developed as an Open Source project under the GNU General Public License (GPL). */ package edu.stanford.rsl.conrad.geometry.shapes.activeshapemodels.kernels; import edu.stanford.rsl.conrad.numerics.SimpleVector; /** * This interface is used for the creation of kernel functions for the use in Kernel Principal Component Analysis. * @author Mathias Unberath * */ public interface KernelFunction { /** * Evaluate the kernel function for a pair of data sets x and y. * Evaluating the kernel function is equivalent to calculating the scalar-product (inner- or dot-product) in feature space. * $\phi(x)^T \phi(y) = k(x,y) $ * @param x * @param y * @return Value of dot-product in feature space */ float evaluateKernel(SimpleVector x, SimpleVector y); String getName(); }