// file: $isip/class/mmedia/FeatureSelect/feats_00.cc // version: $Id: feats_00.cc 9407 2004-02-25 01:53:46Z parihar $ // // isip include files // #include "FeatureSelect.h" //------------------------------------------------------------------------ // // required public methods // //----------------------------------------------------------------------- // method: default constructor // // arguments: none // // return: none // // this is the default constructor for the FeatureSelect class // FeatureSelect::FeatureSelect(ALGORITHM algorithm_a, IMPLEMENTATION implementation_a) { // initialize class data // algorithm_d = algorithm_a; implementation_d = implementation_a; ratio_class_d.assign(DEF_RATIO_CLASS, DEF_DELIM); ratio_similar_d.assign(DEF_RATIO_SIMILAR, DEF_DELIM); dim_d = DEF_DIMENSION; input_type_d = FeatureFile::DEF_FILE_TYPE; input_format_d = FeatureFile::DEF_FILE_FORMAT; output_type_d = FeatureFile::DEF_FILE_TYPE; output_format_d = FeatureFile::DEF_FILE_FORMAT; output_directory_d.assign(String::NULL_STRING); output_extension_d.assign(String::NULL_STRING); output_preserve_d.assign(Filename::DEF_DIR_PRES); output_suffix_d.assign(DEF_OUTPUT_SUFFIX); } // method: assign // // arguments: // const FeatureSelect& arg: (input) object to be assigned // // return: a bool8 value indicating status // // this method assigns the input object to the current object // bool8 FeatureSelect::assign(const FeatureSelect& arg_a) { // assign data from the input FeatureSelect object // algorithm_d = arg_a.algorithm_d; implementation_d = arg_a.implementation_d; ratio_class_d = arg_a.ratio_class_d; ratio_similar_d = arg_a.ratio_similar_d; dim_d = arg_a.dim_d; input_type_d = arg_a.input_type_d; input_format_d = arg_a.input_format_d; output_type_d = arg_a.output_type_d; output_format_d = arg_a.output_format_d; output_directory_d.assign(arg_a.output_directory_d); output_extension_d.assign(arg_a.output_extension_d); output_preserve_d.assign(arg_a.output_preserve_d); output_suffix_d.assign(arg_a.output_suffix_d); audiodb_file_d = arg_a.audiodb_file_d; // exit gracefully // return true; } // method: eq // // arguments: // const FeatureSelect& arg: (input) object to be compared // // return: a bool8 value indicating status // // this method checks whether the current object is identical to the // input object // bool8 FeatureSelect::eq(const FeatureSelect& arg_a) const { // compare the data members // if ((algorithm_d != arg_a.algorithm_d) || (implementation_d != arg_a.implementation_d) || (input_type_d != arg_a.input_type_d) || (input_format_d != arg_a.input_format_d) || (output_type_d != arg_a.output_type_d) || (output_directory_d.ne(arg_a.output_directory_d)) || (output_extension_d.ne(arg_a.output_extension_d)) || (output_preserve_d != arg_a.output_preserve_d) || (output_suffix_d.ne(arg_a.output_suffix_d)) || (ratio_class_d.ne( arg_a.ratio_class_d)) || (ratio_similar_d.ne( arg_a.ratio_similar_d)) || (audiodb_file_d.ne(arg_a.audiodb_file_d))) { return false; } // exit gracefully // return true; } // method: clear // // arguments: // Integral::CMODE ctype: (input) clear mode // // return: a bool8 value indicating status // // this method resets the data members to the default values // bool8 FeatureSelect::clear(Integral::CMODE ctype_a) { // reset the data members unless the mode is RETAIN // if (ctype_a != Integral::RETAIN) { // clear the design parameters // algorithm_d = DEF_ALGORITHM; implementation_d = DEF_IMPLEMENTATION; audiodb_file_d.clear(ctype_a); audiodb_d.clear(ctype_a); ratio_class_d.assign(DEF_RATIO_CLASS); ratio_similar_d.assign(DEF_RATIO_SIMILAR); dim_d = DEF_DIMENSION; input_type_d = FeatureFile::DEF_FILE_TYPE; input_format_d = FeatureFile::DEF_FILE_FORMAT; output_type_d = FeatureFile::DEF_FILE_TYPE; output_format_d = FeatureFile::DEF_FILE_FORMAT; output_directory_d.assign(String::NULL_STRING); output_extension_d.assign(String::NULL_STRING); output_preserve_d.assign(Filename::DEF_DIR_PRES); output_suffix_d.assign(DEF_OUTPUT_SUFFIX); } // exit gracefully // return true; } //----------------------------------------------------------------------------- // // we define non-integral constants in the default constructor // //----------------------------------------------------------------------------- // constants: class name // const String FeatureSelect::CLASS_NAME(L"FeatureSelect"); // constants: i/o related constants // const String FeatureSelect::DEF_PARAM(L""); const String FeatureSelect::PARAM_ALGORITHM(L"algorithm"); const String FeatureSelect::PARAM_IMPLEMENTATION(L"implementation"); // constants: name map(s) for the enumerated values // const NameMap FeatureSelect::ALGO_MAP(L"CLASS_BASED"); const NameMap FeatureSelect::IMPL_MAP(L"NONE"); // constants: default values of the class data // const String FeatureSelect::DEF_RATIO_CLASS(L"1:1"); const String FeatureSelect::DEF_RATIO_SIMILAR(L"1:1"); const String FeatureSelect::DEF_OUTPUT_SUFFIX(L"_out_of_class"); // static instantiations: memory manager // Integral::DEBUG FeatureSelect::debug_level_d = Integral::NONE; Integral::DEBUG FeatureSelect::verbosity_d = Integral::NONE; MemoryManager FeatureSelect::mgr_d(sizeof(FeatureSelect), FeatureSelect::name());