CSimpleFeatures< ST > Class Template Reference

Inheritance diagram for CSimpleFeatures< ST >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 CSimpleFeatures (int32_t size=0)
 CSimpleFeatures (const CSimpleFeatures &orig)
 CSimpleFeatures (ST *fm, int32_t num_feat, int32_t num_vec)
 CSimpleFeatures (char *fname)
virtual CFeaturesduplicate () const
virtual ~CSimpleFeatures ()
void free_feature_matrix ()
void free_features ()
ST * get_feature_vector (int32_t num, int32_t &len, bool &dofree)
void free_feature_vector (ST *feat_vec, int32_t num, bool dofree)
void get_fm (ST **dst, int32_t *d1, int32_t *d2)
ST * get_feature_matrix (int32_t &num_feat, int32_t &num_vec)
virtual void set_feature_matrix (ST *fm, int32_t num_feat, int32_t num_vec)
virtual void copy_feature_matrix (ST *src, int32_t num_feat, int32_t num_vec)
virtual bool apply_preproc (bool force_preprocessing=false)
virtual int32_t get_size ()
virtual int32_t get_num_vectors ()
int32_t get_num_features ()
void set_num_features (int32_t num)
void set_num_vectors (int32_t num)
virtual EFeatureClass get_feature_class ()
virtual EFeatureType get_feature_type ()
virtual bool reshape (int32_t p_num_features, int32_t p_num_vectors)
template<>
EFeatureType get_feature_type ()

Protected Member Functions

virtual ST * compute_feature_vector (int32_t num, int32_t &len, ST *target=NULL)

Protected Attributes

int32_t num_vectors
 number of vectors in cache
int32_t num_features
 number of features in cache
ST * feature_matrix
CCache< ST > * feature_cache


Detailed Description

template<class ST>
class CSimpleFeatures< ST >

The class SimpleFeatures implements dense feature matrices, which are stored en-block in memory in fortran order, i.e. column-by-column, where a column denotes a feature vector.

There are get_num_vectors() many feature vectors, of dimension get_num_features(). To access a feature vector call get_feature_vector() and when you are done treating it call free_feature_vector(). While free_feature_vector() is a NOP in most cases feature vectors might have been generated on the fly (due to a number preprocessors being attached to them).

From this template class a number of dense feature matrix classes are derived. They all are only shortcuts for different data types and heavily rely on this class:

8bit char matrix - CCharFeatures 8bit Byte matrix - CByteFeatures 16bit Integer matrix - CShortFeatures 16bit Word matrix - CWordFeatures 32bit Float matrix - CShortRealFeatures 64bit Double matrix - CRealFeatures 64bit Double matrix in a file - CRealFileFeatures 64bit Tangent of posterior log-odds (TOP) features from HMM - CTOPFeatures 64bit Fisher Kernel (FK) features from HMM - CTOPFeatures 32bit Integer matrix - CIntFeatures

Definition at line 55 of file SimpleFeatures.h.


Constructor & Destructor Documentation

template<class ST>
CSimpleFeatures< ST >::CSimpleFeatures ( int32_t  size = 0  ) 

constructor

Parameters:
size cache size

Definition at line 62 of file SimpleFeatures.h.

template<class ST>
CSimpleFeatures< ST >::CSimpleFeatures ( const CSimpleFeatures< ST > &  orig  ) 

copy constructor

Definition at line 67 of file SimpleFeatures.h.

template<class ST>
CSimpleFeatures< ST >::CSimpleFeatures ( ST *  fm,
int32_t  num_feat,
int32_t  num_vec 
)

constructor

Parameters:
fm feature matrix
num_feat number of features in matrix
num_vec number of vectors in matrix

Definition at line 87 of file SimpleFeatures.h.

template<class ST>
CSimpleFeatures< ST >::CSimpleFeatures ( char *  fname  ) 

constructor

NOT IMPLEMENTED!

Parameters:
fname filename to load features from

Definition at line 100 of file SimpleFeatures.h.

template<class ST>
virtual CSimpleFeatures< ST >::~CSimpleFeatures (  )  [virtual]

Definition at line 113 of file SimpleFeatures.h.


Member Function Documentation

template<class ST>
virtual bool CSimpleFeatures< ST >::apply_preproc ( bool  force_preprocessing = false  )  [virtual]

apply preprocessor

Parameters:
force_preprocessing if preprocssing shall be forced
Returns:
if applying was successful

Definition at line 297 of file SimpleFeatures.h.

template<class ST>
virtual ST* CSimpleFeatures< ST >::compute_feature_vector ( int32_t  num,
int32_t &  len,
ST *  target = NULL 
) [protected, virtual]

compute feature vector for sample num if target is set the vector is written to target len is returned by reference

NOT IMPLEMENTED!

Parameters:
num num
len len
target 
Returns:
feature vector

Reimplemented in CFKFeatures, CRealFileFeatures, and CTOPFeatures.

Definition at line 419 of file SimpleFeatures.h.

template<class ST>
virtual void CSimpleFeatures< ST >::copy_feature_matrix ( ST *  src,
int32_t  num_feat,
int32_t  num_vec 
) [virtual]

copy feature matrix store copy of feature_matrix, where num_features is the column offset, and columns are linear in memory see below for definition of feature_matrix

Parameters:
src feature matrix to copy
num_feat number of features in matrix
num_vec number of vectors in matrix

Reimplemented in CByteFeatures, CCharFeatures, CIntFeatures, CRealFeatures, CShortFeatures, CShortRealFeatures, and CWordFeatures.

Definition at line 282 of file SimpleFeatures.h.

template<class ST>
virtual CFeatures* CSimpleFeatures< ST >::duplicate (  )  const [virtual]

duplicate feature object

Returns:
feature object

Implements CFeatures.

Definition at line 108 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::free_feature_matrix (  ) 

free feature matrix

Definition at line 122 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::free_feature_vector ( ST *  feat_vec,
int32_t  num,
bool  dofree 
)

free feature vector

Parameters:
feat_vec feature vector to free
num index in feature cache
dofree if vector should be really deleted

Definition at line 214 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::free_features (  ) 

free feature matrix and cache

Definition at line 133 of file SimpleFeatures.h.

template<class ST>
virtual EFeatureClass CSimpleFeatures< ST >::get_feature_class (  )  [virtual]

get feature class

Returns:
feature class SIMPLE

Implements CFeatures.

Definition at line 381 of file SimpleFeatures.h.

template<class ST>
ST* CSimpleFeatures< ST >::get_feature_matrix ( int32_t &  num_feat,
int32_t &  num_vec 
)

get the pointer to the feature matrix num_feat,num_vectors are returned by reference

Parameters:
num_feat number of features in matrix
num_vec number of vectors in matrix
Returns:
feature matrix

Definition at line 248 of file SimpleFeatures.h.

template<>
EFeatureType CSimpleFeatures< uint64_t >::get_feature_type (  )  [virtual]

get feature type the ULONG feature can deal with

Returns:
feature type ULONG

Implements CFeatures.

Definition at line 505 of file SimpleFeatures.h.

template<class ST>
virtual EFeatureType CSimpleFeatures< ST >::get_feature_type (  )  [virtual]

get feature type

Returns:
templated feature type

Implements CFeatures.

Reimplemented in CByteFeatures, and CShortFeatures.

template<class ST>
ST* CSimpleFeatures< ST >::get_feature_vector ( int32_t  num,
int32_t &  len,
bool &  dofree 
)

get feature vector for sample num from the matrix as it is if matrix is initialized, else return preprocessed compute_feature_vector

Parameters:
num index of feature vector
len length is returned by reference
dofree whether returned vector must be freed by caller via free_feature_vector
Returns:
feature vector

Definition at line 150 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::get_fm ( ST **  dst,
int32_t *  d1,
int32_t *  d2 
)

get the pointer to the feature matrix num_feat,num_vectors are returned by reference

Parameters:
dst destination to store matrix in
d1 dimension 1 of matrix
d2 dimension 2 of matrix

Reimplemented in CIntFeatures, CRealFeatures, CShortRealFeatures, and CWordFeatures.

Definition at line 230 of file SimpleFeatures.h.

template<class ST>
int32_t CSimpleFeatures< ST >::get_num_features (  ) 

get number of features

Returns:
number of features

Definition at line 346 of file SimpleFeatures.h.

template<class ST>
virtual int32_t CSimpleFeatures< ST >::get_num_vectors (  )  [virtual]

get number of feature vectors

Returns:
number of feature vectors

Implements CFeatures.

Definition at line 340 of file SimpleFeatures.h.

template<class ST>
virtual int32_t CSimpleFeatures< ST >::get_size (  )  [virtual]

get memory footprint of one feature

Returns:
memory footprint of one feature

Implements CFeatures.

Definition at line 333 of file SimpleFeatures.h.

template<class ST>
virtual bool CSimpleFeatures< ST >::reshape ( int32_t  p_num_features,
int32_t  p_num_vectors 
) [virtual]

reshape

Parameters:
p_num_features new number of features
p_num_vectors new number of vectors
Returns:
if reshaping was successful

Reimplemented from CFeatures.

Definition at line 395 of file SimpleFeatures.h.

template<class ST>
virtual void CSimpleFeatures< ST >::set_feature_matrix ( ST *  fm,
int32_t  num_feat,
int32_t  num_vec 
) [virtual]

set feature matrix necessary to set feature_matrix, num_features, num_vectors, where num_features is the column offset, and columns are linear in memory see below for definition of feature_matrix

Parameters:
fm feature matrix to se
num_feat number of features in matrix
num_vec number of vectors in matrix

Definition at line 265 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::set_num_features ( int32_t  num  ) 

set number of features

Parameters:
num number to set

Definition at line 352 of file SimpleFeatures.h.

template<class ST>
void CSimpleFeatures< ST >::set_num_vectors ( int32_t  num  ) 

set number of vectors

Parameters:
num number to set

Definition at line 367 of file SimpleFeatures.h.


Member Data Documentation

template<class ST>
CCache<ST>* CSimpleFeatures< ST >::feature_cache [protected]

feature cache

Definition at line 435 of file SimpleFeatures.h.

template<class ST>
ST* CSimpleFeatures< ST >::feature_matrix [protected]

feature matrix

Definition at line 432 of file SimpleFeatures.h.

template<class ST>
int32_t CSimpleFeatures< ST >::num_features [protected]

number of features in cache

Definition at line 429 of file SimpleFeatures.h.

template<class ST>
int32_t CSimpleFeatures< ST >::num_vectors [protected]

number of vectors in cache

Definition at line 426 of file SimpleFeatures.h.


The documentation for this class was generated from the following file:

SHOGUN Machine Learning Toolbox - Documentation