From 0209d7253477032b6a511e11b20a762167db70cf Mon Sep 17 00:00:00 2001 From: Maria Dimashova Date: Thu, 16 Jun 2011 12:35:40 +0000 Subject: [PATCH] minor change (moved methods implementation from hpp to cpp) --- modules/ml/include/opencv2/ml/ml.hpp | 22 ++++---- modules/ml/src/data.cpp | 98 +++++++++++++++++++++++++----------- 2 files changed, 79 insertions(+), 41 deletions(-) diff --git a/modules/ml/include/opencv2/ml/ml.hpp b/modules/ml/include/opencv2/ml/ml.hpp index 33782cf..554cb72 100644 --- a/modules/ml/include/opencv2/ml/ml.hpp +++ b/modules/ml/include/opencv2/ml/ml.hpp @@ -2092,28 +2092,26 @@ public: // returns: // 0 - OK // 1 - file can not be opened or is not correct - int read_csv(const char* filename); - - const CvMat* get_values(){ return values; } + int read_csv( const char* filename ); + const CvMat* get_values(); const CvMat* get_responses(); - - const CvMat* get_missing(){ return missing; } + const CvMat* get_missing(); void set_response_idx( int idx ); // old response become predictors, new response_idx = idx // if idx < 0 there will be no response - int get_response_idx() { return response_idx; } + int get_response_idx(); - const CvMat* get_train_sample_idx() { return train_sample_idx; } - const CvMat* get_test_sample_idx() { return test_sample_idx; } + const CvMat* get_train_sample_idx(); + const CvMat* get_test_sample_idx(); void mix_train_and_test_idx(); - void set_train_test_split( const CvTrainTestSplit * spl); + void set_train_test_split( const CvTrainTestSplit * spl ); const CvMat* get_var_idx(); void chahge_var_idx( int vi, bool state ); // state == true to set vi-variable as predictor const CvMat* get_var_types(); - int get_var_type( int var_idx ) { return var_types->data.ptr[var_idx]; } + int get_var_type( int var_idx ); // following 2 methods enable to change vars type // use these methods to assign CV_VAR_CATEGORICAL type for categorical variable // with numerical labels; in the other cases var types are correctly determined automatically @@ -2123,10 +2121,10 @@ public: void change_var_type( int var_idx, int type); // type in { CV_VAR_ORDERED, CV_VAR_CATEGORICAL } void set_delimiter( char ch ); - char get_delimiter() { return delimiter; } + char get_delimiter(); void set_miss_ch( char ch ); - char get_miss_ch() { return miss_ch; } + char get_miss_ch(); protected: virtual void clear(); diff --git a/modules/ml/src/data.cpp b/modules/ml/src/data.cpp index 67cb10b..c589a4c 100644 --- a/modules/ml/src/data.cpp +++ b/modules/ml/src/data.cpp @@ -44,7 +44,7 @@ #define MISS_VAL FLT_MAX #define CV_VAR_MISS 0 -CvTrainTestSplit :: CvTrainTestSplit() +CvTrainTestSplit::CvTrainTestSplit() { train_sample_part_mode = CV_COUNT; train_sample_part.count = -1; @@ -52,7 +52,7 @@ CvTrainTestSplit :: CvTrainTestSplit() mix = false; } -CvTrainTestSplit :: CvTrainTestSplit( int _train_sample_count, bool _mix ) +CvTrainTestSplit::CvTrainTestSplit( int _train_sample_count, bool _mix ) { train_sample_part_mode = CV_COUNT; train_sample_part.count = _train_sample_count; @@ -60,7 +60,7 @@ CvTrainTestSplit :: CvTrainTestSplit( int _train_sample_count, bool _mix ) mix = _mix; } -CvTrainTestSplit :: CvTrainTestSplit( float _train_sample_portion, bool _mix ) +CvTrainTestSplit::CvTrainTestSplit( float _train_sample_portion, bool _mix ) { train_sample_part_mode = CV_PORTION; train_sample_part.portion = _train_sample_portion; @@ -70,7 +70,7 @@ CvTrainTestSplit :: CvTrainTestSplit( float _train_sample_portion, bool _mix ) //////////////// -CvMLData :: CvMLData() +CvMLData::CvMLData() { values = missing = var_types = var_idx_mask = response_out = var_idx_out = var_types_out = 0; train_sample_idx = test_sample_idx = 0; @@ -87,20 +87,20 @@ CvMLData :: CvMLData() rng = &cv::theRNG(); } -CvMLData :: ~CvMLData() +CvMLData::~CvMLData() { clear(); delete class_map; } -void CvMLData :: free_train_test_idx() +void CvMLData::free_train_test_idx() { cvReleaseMat( &train_sample_idx ); cvReleaseMat( &test_sample_idx ); sample_idx = 0; } -void CvMLData :: clear() +void CvMLData::clear() { if ( !class_map->empty() ) class_map->clear(); @@ -244,7 +244,17 @@ int CvMLData::read_csv(const char* filename) return 0; } -void CvMLData :: str_to_flt_elem( const char* token, float& flt_elem, int& type) +const CvMat* CvMLData::get_values() +{ + return values; +} + +const CvMat* CvMLData::get_missing() +{ + return missing; +} + +void CvMLData::str_to_flt_elem( const char* token, float& flt_elem, int& type) { char* stopstring = NULL; @@ -273,9 +283,9 @@ void CvMLData :: str_to_flt_elem( const char* token, float& flt_elem, int& type) } } -void CvMLData :: set_delimiter(char ch) +void CvMLData::set_delimiter(char ch) { - CV_FUNCNAME( "CvMLData :: set_delimited" ); + CV_FUNCNAME( "CvMLData::set_delimited" ); __BEGIN__; if (ch == miss_ch /*|| ch == flt_separator*/) @@ -286,9 +296,14 @@ void CvMLData :: set_delimiter(char ch) __END__; } -void CvMLData :: set_miss_ch(char ch) +char CvMLData::get_delimiter() { - CV_FUNCNAME( "CvMLData :: set_miss_ch" ); + return delimiter; +} + +void CvMLData::set_miss_ch(char ch) +{ + CV_FUNCNAME( "CvMLData::set_miss_ch" ); __BEGIN__; if (ch == delimiter/* || ch == flt_separator*/) @@ -299,9 +314,14 @@ void CvMLData :: set_miss_ch(char ch) __END__; } -void CvMLData :: set_response_idx( int idx ) +char CvMLData::get_miss_ch() +{ + return miss_ch; +} + +void CvMLData::set_response_idx( int idx ) { - CV_FUNCNAME( "CvMLData :: set_response_idx" ); + CV_FUNCNAME( "CvMLData::set_response_idx" ); __BEGIN__; if ( !values ) @@ -319,9 +339,14 @@ void CvMLData :: set_response_idx( int idx ) __END__; } -void CvMLData :: change_var_type( int var_idx, int type ) +int CvMLData::get_response_idx() { - CV_FUNCNAME( "CvMLData :: change_var_type" ); + return response_idx; +} + +void CvMLData::change_var_type( int var_idx, int type ) +{ + CV_FUNCNAME( "CvMLData::change_var_type" ); __BEGIN__; int var_count = 0; @@ -347,9 +372,9 @@ void CvMLData :: change_var_type( int var_idx, int type ) return; } -void CvMLData :: set_var_types( const char* str ) +void CvMLData::set_var_types( const char* str ) { - CV_FUNCNAME( "CvMLData :: set_var_types" ); + CV_FUNCNAME( "CvMLData::set_var_types" ); __BEGIN__; const char* ord = 0, *cat = 0; @@ -472,9 +497,9 @@ void CvMLData :: set_var_types( const char* str ) __END__; } -const CvMat* CvMLData :: get_var_types() +const CvMat* CvMLData::get_var_types() { - CV_FUNCNAME( "CvMLData :: get_var_types" ); + CV_FUNCNAME( "CvMLData::get_var_types" ); __BEGIN__; uchar *var_types_out_ptr = 0; @@ -511,9 +536,14 @@ const CvMat* CvMLData :: get_var_types() return var_types_out; } -const CvMat* CvMLData :: get_responses() +int CvMLData::get_var_type( int var_idx ) +{ + return var_types->data.ptr[var_idx]; +} + +const CvMat* CvMLData::get_responses() { - CV_FUNCNAME( "CvMLData :: get_responses_ptr" ); + CV_FUNCNAME( "CvMLData::get_responses_ptr" ); __BEGIN__; int var_count = 0; @@ -535,9 +565,9 @@ const CvMat* CvMLData :: get_responses() return response_out; } -void CvMLData :: set_train_test_split( const CvTrainTestSplit * spl) +void CvMLData::set_train_test_split( const CvTrainTestSplit * spl) { - CV_FUNCNAME( "CvMLData :: set_division" ); + CV_FUNCNAME( "CvMLData::set_division" ); __BEGIN__; int sample_count = 0; @@ -597,7 +627,17 @@ void CvMLData :: set_train_test_split( const CvTrainTestSplit * spl) __END__; } -void CvMLData :: mix_train_and_test_idx() +const CvMat* CvMLData::get_train_sample_idx() +{ + return train_sample_idx; +} + +const CvMat* CvMLData::get_test_sample_idx() +{ + return test_sample_idx; +} + +void CvMLData::mix_train_and_test_idx() { if ( !values || !sample_idx) return; @@ -614,9 +654,9 @@ void CvMLData :: mix_train_and_test_idx() } } -const CvMat* CvMLData :: get_var_idx() +const CvMat* CvMLData::get_var_idx() { - CV_FUNCNAME( "CvMLData :: get_var_idx" ); + CV_FUNCNAME( "CvMLData::get_var_idx" ); __BEGIN__; int avcount = 0; @@ -654,9 +694,9 @@ const CvMat* CvMLData :: get_var_idx() return var_idx_out; } -void CvMLData :: chahge_var_idx( int vi, bool state ) +void CvMLData::chahge_var_idx( int vi, bool state ) { - CV_FUNCNAME( "CvMLData :: get_responses_ptr" ); + CV_FUNCNAME( "CvMLData::get_responses_ptr" ); __BEGIN__; int var_count = 0; -- 2.7.4