X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=folded-ctf.git;a=blobdiff_plain;f=tools.h;h=e5347f2ef5d22393e46c233e2fe97227ab23ba0e;hp=99b1ade1a3d1499c5e32506fac5d548b0b182182;hb=HEAD;hpb=20ec321944108cd1fe74b37ea45db3ba1a2d526a diff --git a/tools.h b/tools.h index 99b1ade..e5347f2 100644 --- a/tools.h +++ b/tools.h @@ -1,22 +1,33 @@ +/* + * folded-ctf is an implementation of the folded hierarchy of + * classifiers for object detection, developed by Francois Fleuret + * and Donald Geman. + * + * Copyright (c) 2008 Idiap Research Institute, http://www.idiap.ch/ + * Written by Francois Fleuret + * + * This file is part of folded-ctf. + * + * folded-ctf is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * folded-ctf is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with folded-ctf. If not, see . + * + */ -/////////////////////////////////////////////////////////////////////////// -// This program is free software: you can redistribute it and/or modify // -// it under the terms of the version 3 of the GNU General Public License // -// as published by the Free Software Foundation. // -// // -// This program is distributed in the hope that it will be useful, but // -// WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // -// General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program. If not, see . // -// // -// Written by Francois Fleuret // -// (C) Idiap Research Institute // -// // -// Contact for comments & bug reports // -/////////////////////////////////////////////////////////////////////////// +/* + + Two handy functions to sample in a very large weighted sample set, + and to generate a ROC curve given a very large sample set. + + */ #ifndef TOOLS_H #define TOOLS_H @@ -24,6 +35,9 @@ #include #include "misc.h" +// This function is not trivial because it has to handle numerical +// pitfalls due to the very large number of samples. + scalar_t robust_sampling(int nb, scalar_t *weights, int nb_to_sample, int *sampled); void print_roc_small_pos(ostream *out,