00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2012 Heiko Strathmann 00008 */ 00009 00010 #ifndef __STREAMINGDENSEDATAGENERATOR_H_ 00011 #define __STREAMINGDENSEDATAGENERATOR_H_ 00012 00013 #include <shogun/features/streaming/StreamingDenseFeatures.h> 00014 00015 namespace shogun 00016 { 00017 00018 00028 template <class T> class CMeanShiftDataGenerator: 00029 public CStreamingDenseFeatures<T> 00030 { 00031 public: 00033 CMeanShiftDataGenerator(); 00034 00035 CMeanShiftDataGenerator(T mean_shift, index_t dim); 00036 00038 virtual ~CMeanShiftDataGenerator(); 00039 00041 virtual const char* get_name() const 00042 { 00043 return "MeanShiftDataGenerator"; 00044 } 00045 00046 void set_mean_shift_model(T mean_shift, index_t dimension); 00047 00048 bool get_next_example(); 00049 00050 void release_example(); 00051 00052 private: 00054 void init(); 00055 00056 protected: 00058 T m_mean_shift; 00059 index_t m_dimension; 00060 }; 00061 00062 } 00063 00064 #endif /* __STREAMINGDENSEDATAGENERATOR_H_ */