• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  **	Filename:    flexfx.c
3  **	Purpose:     Interface to flexible feature extractor.
4  **	Author:      Dan Johnson
5  **	History:     Wed May 23 13:45:10 1990, DSJ, Created.
6  **
7  **	(c) Copyright Hewlett-Packard Company, 1988.
8  ** Licensed under the Apache License, Version 2.0 (the "License");
9  ** you may not use this file except in compliance with the License.
10  ** You may obtain a copy of the License at
11  ** http://www.apache.org/licenses/LICENSE-2.0
12  ** Unless required by applicable law or agreed to in writing, software
13  ** distributed under the License is distributed on an "AS IS" BASIS,
14  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ** See the License for the specific language governing permissions and
16  ** limitations under the License.
17  ******************************************************************************/
18 /**----------------------------------------------------------------------------
19           Include Files and Type Defines
20 ----------------------------------------------------------------------------**/
21 #include "flexfx.h"
22 #include "featdefs.h"
23 #include "emalloc.h"
24 #include <string.h>
25 #include <stdio.h>
26 
27 /**----------------------------------------------------------------------------
28               Public Code
29 ----------------------------------------------------------------------------**/
30 /*---------------------------------------------------------------------------*/
ExtractFlexFeatures(TBLOB * Blob,LINE_STATS * LineStats)31 CHAR_DESC ExtractFlexFeatures(TBLOB *Blob, LINE_STATS *LineStats) {
32 /*
33  **	Parameters:
34  **		Blob		blob to extract features from
35  **		LineStats	statistics about text line Blob is on
36  **	Globals: none
37  **	Operation: Allocate a new character descriptor and fill it in by
38  **		calling all feature extractors which are enabled.
39  **	Return: Structure containing features extracted from Blob.
40  **	Exceptions: none
41  **	History: Wed May 23 13:46:22 1990, DSJ, Created.
42  */
43   int Type;
44   CHAR_DESC CharDesc;
45 
46   CharDesc = NewCharDescription ();
47 
48   for (Type = 0; Type < CharDesc->NumFeatureSets; Type++)
49     if (FeatureDefs.FeatureExtractors[Type] != NULL &&
50         FeatureDefs.FeatureExtractors[Type]->Extractor != NULL) {
51       CharDesc->FeatureSets[Type] =
52         (FeatureDefs.FeatureExtractors[Type])->Extractor(Blob, LineStats);
53       if (CharDesc->FeatureSets[Type] == NULL) {
54         FreeCharDescription(CharDesc);
55         return NULL;
56       }
57     }
58 
59   return (CharDesc);
60 
61 }                                /* ExtractFlexFeatures */
62