SHOGUN  4.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
FactorGraphFeatures.cpp
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2013 Shell Hu
8  * Copyright (C) 2013 Shell Hu
9  */
10 
12 
13 using namespace shogun;
14 
16 {
17  init();
20 }
21 
23 {
24  init();
25  m_samples = new CDynamicObjectArray(num_samples);
27 }
28 
30 {
32 }
33 
35 {
36  return new CFactorGraphFeatures(*this);
37 }
38 
40 {
41  return F_ANY;
42 }
43 
45 {
46  return C_FACTOR_GRAPH;
47 }
48 
49 
51 {
52  if (m_samples == NULL)
53  return 0;
54  else
55  return m_samples->get_array_size();
56 }
57 
59 {
60  if (m_samples != NULL)
61  {
62  m_samples->push_back(example);
63  return true;
64  }
65  else
66  return false;
67 }
68 
70 {
71  REQUIRE(m_samples != NULL, "%s::get_sample(): m_samples is NULL!\n", get_name());
72  REQUIRE(idx >= 0 && idx < get_num_vectors(), "%s::get_sample(): out of index!\n", get_name());
73 
74  return dynamic_cast<CFactorGraph*>(m_samples->get_element(idx));
75 }
76 
77 void CFactorGraphFeatures::init()
78 {
79  SG_ADD((CSGObject**) &m_samples, "samples", "Array of examples",
81 }
82 
84 {
85  REQUIRE(base_feats != NULL, "CFactorGraphFeatures::obtain_from_generic(): base_feats is NULL!\n");
86 
87  if (base_feats->get_feature_class() == C_FACTOR_GRAPH)
88  return dynamic_cast<CFactorGraphFeatures*>(base_feats);
89  else
90  SG_SERROR("base_labels must be of dynamic type CFactorGraph!\n")
91 
92  return NULL;
93 }
94 
virtual EFeatureType get_feature_type() const
CDynamicObjectArray * m_samples
int32_t index_t
Definition: common.h:62
#define REQUIRE(x,...)
Definition: SGIO.h:206
CFactorGraph * get_sample(index_t idx)
virtual int32_t get_num_vectors() const
#define SG_REF(x)
Definition: SGObject.h:54
EFeatureClass
shogun feature class
Definition: FeatureTypes.h:38
Class SGObject is the base class of all shogun objects.
Definition: SGObject.h:115
bool add_sample(CFactorGraph *fg)
static CFactorGraphFeatures * obtain_from_generic(CFeatures *base_feats)
CFactorGraphFeatures maintains an array of factor graphs, each graph is a sample, i...
virtual EFeatureClass get_feature_class() const =0
Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an a...
virtual CFeatures * duplicate() const
EFeatureType
shogun feature type
Definition: FeatureTypes.h:19
#define SG_UNREF(x)
Definition: SGObject.h:55
virtual const char * get_name() const
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
Class CFactorGraph a factor graph is a structured input in general.
Definition: FactorGraph.h:27
The class Features is the base class of all feature objects.
Definition: Features.h:68
#define SG_SERROR(...)
Definition: SGIO.h:179
CSGObject * get_element(int32_t index) const
#define SG_ADD(...)
Definition: SGObject.h:84
virtual EFeatureClass get_feature_class() const

SHOGUN Machine Learning Toolbox - Documentation