21 #define GRT_DLL_EXPORTS
31 classType =
"EnvelopeExtractor";
32 featureExtractionType = classType;
35 debugLog.setProceedingText(
"[DEBUG EnvelopeExtractor]");
36 errorLog.setProceedingText(
"[ERROR EnvelopeExtractor]");
37 warningLog.setProceedingText(
"[WARNING EnvelopeExtractor]");
39 if( bufferSize > 0 && numDimensions > 0 ){
40 init( bufferSize, numDimensions );
46 classType =
"EnvelopeExtractor";
47 featureExtractionType = classType;
49 debugLog.setProceedingText(
"[DEBUG EnvelopeExtractor]");
50 errorLog.setProceedingText(
"[ERROR EnvelopeExtractor]");
51 warningLog.setProceedingText(
"[WARNING EnvelopeExtractor]");
65 this->bufferSize = rhs.bufferSize;
66 this->buffer = rhs.buffer;
76 if( featureExtraction == NULL )
return false;
87 errorLog <<
"clone(FeatureExtraction *featureExtraction) - FeatureExtraction Types Do Not Match!" << std::endl;
94 if( !initialized )
return false;
100 for(UINT j=0; j<numInputDimensions; j++){
101 featureVector[j] = 0;
102 for(UINT i=0; i<count; i++){
103 featureVector[j] += SQR( buffer[i][j] );
105 featureVector[j] = sqrt( featureVector[j] / count );
109 featureDataReady =
true;
121 file.open(filename.c_str(), std::ios::out);
135 file.open(filename.c_str(), std::ios::in);
149 if( !file.is_open() ){
150 errorLog <<
"saveModelToFile(fstream &file) - The file is not open!" << std::endl;
155 file <<
"ENVELOPE_EXTRACTOR_FILE_V1.0" << std::endl;
159 errorLog <<
"saveModelToFile(fstream &file) - Failed to save base feature extraction settings to file!" << std::endl;
163 file <<
"BufferSize: " << bufferSize << std::endl;
172 if( !file.is_open() ){
173 errorLog <<
"loadModelFromFile(fstream &file) - The file is not open!" << std::endl;
184 if( word !=
"ENVELOPE_EXTRACTOR_FILE_V1.0" ){
185 errorLog <<
"loadModelFromFile(fstream &file) - Invalid file format!" << std::endl;
191 errorLog <<
"loadFeatureExtractionSettingsFromFile(fstream &file) - Failed to load base feature extraction settings from file!" << std::endl;
197 if( word !=
"BufferSize:" ){
198 errorLog <<
"loadModelFromFile(fstream &file) - Failed to read BufferSize header!" << std::endl;
203 return init( bufferSize, numInputDimensions );
210 if( bufferSize == 0 || numDimensions == 0 )
return false;
212 this->bufferSize = bufferSize;
213 numInputDimensions = numDimensions;
214 numOutputDimensions = numDimensions;
bool push_back(const T &value)
unsigned int getNumValuesInBuffer() const
bool resize(const unsigned int newBufferSize)