00001 #ifndef Impala_Core_VideoSet_FilterRkf_h 00002 #define Impala_Core_VideoSet_FilterRkf_h 00003 00004 #include "Core/Feature/FeatureTable.h" 00005 #include "Core/Table/Criterion.h" 00006 #include "Core/Table/Select.h" 00007 #include "Core/VideoSet/Keyframes.h" 00008 #include "Core/VideoSet/VideoSet.h" 00009 00010 namespace Impala 00011 { 00012 namespace Core 00013 { 00014 namespace VideoSet 00015 { 00016 00017 template<class T> 00018 void 00019 FilterRkf(T*& table, Keyframes* kf) 00020 { 00021 ILOG_FUNCTION(Impala.Core.VideoSet.FilterRkf); 00022 Table::QuidTable* rkfQuids = kf->MakeRkfTable(); 00023 Table::CriterionQuidInSet<T> c(rkfQuids); 00024 ILOG_DEBUG("before: table->Size = "<< table->Size()); 00025 Table::Select(table, table, c, true); 00026 ILOG_DEBUG("after: table->Size = "<< table->Size()); 00027 } 00028 00029 template<class T> 00030 void 00031 FilterRkf(T*& table, VideoSet* vidset) 00032 { 00033 Keyframes* kf = new Keyframes(vidset, "keyframes"); 00034 FilterRkf(table, kf); 00035 delete kf; 00036 } 00037 00038 } // namespace 00039 } // namespace 00040 } // namespace 00041 00042 #endif