2 ///////////////////////////////////////////////////////////////////////////
3 // This program is free software: you can redistribute it and/or modify //
4 // it under the terms of the version 3 of the GNU General Public License //
5 // as published by the Free Software Foundation. //
7 // This program is distributed in the hope that it will be useful, but //
8 // WITHOUT ANY WARRANTY; without even the implied warranty of //
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
10 // General Public License for more details. //
12 // You should have received a copy of the GNU General Public License //
13 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
15 // Written by Francois Fleuret //
16 // (C) Idiap Research Institute //
18 // Contact <francois.fleuret@idiap.ch> for comments & bug reports //
19 ///////////////////////////////////////////////////////////////////////////
23 This is a LabelledImagePool which corresponds to a subset of another
24 pool. We use that to extract the training, validation and test pool
25 from the global pool. It is mainly necessary to have such a class to
26 avoid unnecessary memory usage.
30 #ifndef LABELLED_IMAGE_POOL_SUBSET_H
31 #define LABELLED_IMAGE_POOL_SUBSET_H
33 #include "labelled_image_pool.h"
35 class LabelledImagePoolSubset : public LabelledImagePool {
36 LabelledImagePool *_mother_pool;
40 LabelledImagePoolSubset(LabelledImagePool *mother_pool, bool *used);
41 virtual ~LabelledImagePoolSubset();
42 virtual int nb_images();
43 virtual LabelledImage *grab_image(int n_image);
44 virtual void release_image(int n_image);