7 #ifndef Tomato_OXModelT1ADAPTERVNLCOST_H 8 #define Tomato_OXModelT1ADAPTERVNLCOST_H 10 #include "CmakeConfigForTomato.h" 13 #include <vnl/vnl_cost_function.h> 19 class ModelT1AdapterVnlCost :
public vnl_cost_function {
24 double f(vnl_vector<double>
const& params){
26 return _ModelT1->calcCostValue(params.data_block());
30 void gradf (vnl_vector< double >
const ¶ms, vnl_vector< double > &gradient){
33 _ModelT1->calcCostDerivative(params.data_block(), gradient.data_block());
36 void setModel(Model<double>* _ModelT1){
37 this->_ModelT1 = _ModelT1;
41 Model<double>* getModel(){
48 ModelT1AdapterVnlCost(
int nDims) : vnl_cost_function(nDims){
56 ModelT1AdapterVnlCost(
const ModelT1AdapterVnlCost &old){
57 _ModelT1 = old._ModelT1;
62 Model<double>* _ModelT1;
69 #endif //Tomato_OXModelT1ADAPTERVNLCOST_H
Definition: OxCalculator.h:19