/****************************************************************************** * AUTHOR : Balaji MNA * DATE : 14-JUN-2009 * NAME : createShapeRecognizer * DESCRIPTION : resolves logical project name and call createWordRecognizer * function. * ARGUMENTS : strLogicalProjectName - logical project name; * outShapeRecognizerPtr - return shape recognizer object * RETURNS : if success returns 0 or if fails returns error code * NOTES : * CHANGE HISTROY * Author Date Description of change ******************************************************************************/ int LTKLipiEngineModule::createShapeRecognizer(string &strLogicalProjectName, LTKShapeRecognizer** outShapeRecognizerPtr) { int errorCode; LOG(LTKLogger::LTK_LOGLEVEL_INFO)<< "Entering: LTKLipiEngineModule::createShapeRecognizer()"<<endl; if(strLogicalProjectName.empty()) { return EINVALID_PROJECT_NAME; } string strProjectName = ""; string strProfileName = ""; // Resolve the logical name into project name and profile name errorCode = resolveLogicalNameToProjectProfile(strLogicalProjectName, strProjectName, strProfileName); if(errorCode !=SUCCESS) { LOG( LTKLogger::LTK_LOGLEVEL_ERR) << "Error: " << getErrorMessage(errorCode) << "LTKLipiEngineModule::createShapeRecognizer()"<<endl; LTKReturnError(errorCode); } errorCode = createShapeRecognizer(strProjectName,strProfileName,outShapeRecognizerPtr); if(errorCode !=SUCCESS) { LOG( LTKLogger::LTK_LOGLEVEL_ERR) << "Error: " << getErrorMessage(errorCode) << "LTKLipiEngineModule::createShapeRecognizer()"<<endl; LTKReturnError(errorCode); } LOG(LTKLogger::LTK_LOGLEVEL_INFO)<< "Exiting: LTKLipiEngineModule::createShapeRecognizer()"<<endl; return SUCCESS; }
/***************************************************************************** * AUTHOR : Deepu V. * DATE : 22-AUG-2005 * NAME : initializeWordRecognizer * DESCRIPTION : Initialization of Boxed word Recognizer. This function performs * -Create & initialize shape recognizer * ARGUMENTS : * RETURNS : * NOTES : * CHANGE HISTROY * Author Date Description of *****************************************************************************/ BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo& controlInfo) :LTKWordRecognizer(BOXFLD), m_shapeRecognizer(NULL), m_numShapeRecoResults(DEFAULT_SHAPE_RECO_CHOICES), m_shapeRecoMinConfidence(DEFAULT_SHAPE_RECO_MIN_CONFID), m_module_createShapeRecognizer(NULL), m_module_deleteShapeRecognizer(NULL), m_numCharsProcessed(0), m_numTracesProcessed(0), m_boxedShapeProject(""), m_boxedShapeProfile(""), m_lipiRoot(""), m_boxedConfigFile(""), m_logFile(""), m_logLevel(LTKLogger::LTK_LOGLEVEL_ERR), m_toolkitVersion(""), m_OSUtilPtr(LTKOSUtilFactory::getInstance()) { string boxedShapeProfile; //profile name int errorCode = 0; LTKControlInfo tempControlInfo = controlInfo; if ( tempControlInfo.lipiRoot.empty() ) { throw LTKException(ELIPI_ROOT_PATH_NOT_SET); } if ( tempControlInfo.projectName.empty() ) { throw LTKException(EINVALID_PROJECT_NAME); } if( (tempControlInfo.profileName).empty() ) { tempControlInfo.profileName = DEFAULT_PROFILE; } if ( tempControlInfo.toolkitVersion.empty() ) { throw LTKException(ENO_TOOLKIT_VERSION); } // initialize the data members m_lipiRoot = tempControlInfo.lipiRoot; m_toolkitVersion = tempControlInfo.toolkitVersion; //constructing the boxed Config filename m_boxedConfigFile = m_lipiRoot + PROJECTS_PATH_STRING + tempControlInfo.projectName + PROFILE_PATH_STRING + tempControlInfo.profileName + SEPARATOR + BOXFLD + CONFIGFILEEXT; readClassifierConfig(); LOG(LTKLogger::LTK_LOGLEVEL_DEBUG) <<"Entering: BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo& )" <<endl; //Creating the shape recognizer object if((errorCode = createShapeRecognizer(m_boxedShapeProject, m_boxedShapeProfile,&m_shapeRecognizer)) != SUCCESS) { LOG(LTKLogger::LTK_LOGLEVEL_ERR) <<"Error: BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo&)"<<endl; throw LTKException(errorCode); } if(m_shapeRecognizer == NULL) { LOG(LTKLogger::LTK_LOGLEVEL_ERR) <<"Error : "<< ECREATE_SHAPEREC <<":"<< getErrorMessage(ECREATE_SHAPEREC) <<" BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo&)" <<endl; throw LTKException(ECREATE_SHAPEREC); } //loading the model data file if( (errorCode = (m_shapeRecognizer->loadModelData())) != SUCCESS ) { m_module_deleteShapeRecognizer(m_shapeRecognizer); m_shapeRecognizer = NULL; LOG(LTKLogger::LTK_LOGLEVEL_ERR) <<"Error: BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo&)"<<endl; throw LTKException(errorCode); } m_numCharsProcessed = 0; //initializing number of characters processed m_numTracesProcessed = 0; //initializing number of traces processed LOG(LTKLogger::LTK_LOGLEVEL_DEBUG) <<"Exiting: BoxedFieldRecognizer::BoxedFieldRecognizer(const LTKControlInfo&)" <<endl; }