#ifndef _NICE_OBJREC_GENERICKERNELSELECTION_INCLUDE #define _NICE_OBJREC_GENERICKERNELSELECTION_INCLUDE #include #include "KernelRBF.h" #include "KernelExp.h" namespace OBJREC { class GenericKernelSelection { public: static Kernel *selectKernel ( const NICE::Config *conf, std::string kernel_type ) { Kernel *kernel = NULL; if ( kernel_type == "rbf" ) { double log_rbf_gamma = conf->gD("Kernel","log_rbf_gamma",-2.5); kernel = new KernelRBF (log_rbf_gamma); } else if ( kernel_type == "exp" ) { double log_rbf_gamma = conf->gD("Kernel","log_rbf_gamma",-2.5); double log_rbf_sv = conf->gD("Kernel","log_rbf_sv",0.0); kernel = new KernelExp (log_rbf_gamma, log_rbf_sv); } else { fthrow(Exception, "Kernel type " << kernel_type << " is unknown" ); } return kernel; } }; } #endif