/src/tesseract/src/classify/mfoutline.h
Line | Count | Source |
1 | | /****************************************************************************** |
2 | | ** Filename: mfoutline.h |
3 | | ** Purpose: Interface spec for fx outline structures |
4 | | ** Author: Dan Johnson |
5 | | ** |
6 | | ** (c) Copyright Hewlett-Packard Company, 1988. |
7 | | ** Licensed under the Apache License, Version 2.0 (the "License"); |
8 | | ** you may not use this file except in compliance with the License. |
9 | | ** You may obtain a copy of the License at |
10 | | ** http://www.apache.org/licenses/LICENSE-2.0 |
11 | | ** Unless required by applicable law or agreed to in writing, software |
12 | | ** distributed under the License is distributed on an "AS IS" BASIS, |
13 | | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | | ** See the License for the specific language governing permissions and |
15 | | ** limitations under the License. |
16 | | ******************************************************************************/ |
17 | | |
18 | | #ifndef MFOUTLINE_H |
19 | | #define MFOUTLINE_H |
20 | | |
21 | | #include "blobs.h" |
22 | | #include "fpoint.h" |
23 | | #include "oldlist.h" |
24 | | #include "params.h" |
25 | | |
26 | | namespace tesseract { |
27 | | |
28 | | using MFOUTLINE = LIST; |
29 | | |
30 | | enum class DIRECTION : uint8_t { north, south, east, west, northeast, northwest, southeast, southwest }; |
31 | | |
32 | | struct MFEDGEPT { |
33 | | // Inline functions for manipulating micro-feature outline edge points. |
34 | | |
35 | 27.8k | void ClearMark() { |
36 | 27.8k | ExtremityMark = false; |
37 | 27.8k | } |
38 | | |
39 | 0 | void MarkPoint() { |
40 | 0 | ExtremityMark = true; |
41 | 0 | } |
42 | | |
43 | | FPOINT Point; |
44 | | float Slope; |
45 | | bool Hidden; |
46 | | bool ExtremityMark; |
47 | | DIRECTION Direction; |
48 | | DIRECTION PreviousDirection; |
49 | | }; |
50 | | |
51 | | enum NORM_METHOD { baseline, character }; |
52 | | |
53 | | /**---------------------------------------------------------------------------- |
54 | | Macros |
55 | | ----------------------------------------------------------------------------**/ |
56 | | template <typename T> |
57 | 20.1k | inline constexpr T AverageOf(T A, T B) { |
58 | 20.1k | return (A + B) / T{2}; |
59 | 20.1k | } |
60 | | |
61 | | // Constant for computing the scale factor to use to normalize characters. |
62 | | constexpr float MF_SCALE_FACTOR = 0.5f / kBlnXHeight; |
63 | | |
64 | | // Inline functions for manipulating micro-feature outlines. |
65 | | |
66 | 5.19k | static inline bool DegenerateOutline(MFOUTLINE Outline) { |
67 | 5.19k | return (Outline == NIL_LIST) || (Outline == Outline->list_rest()); |
68 | 5.19k | } Unexecuted instantiation: baseapi.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: applybox.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: control.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: linerec.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: ltrresultiterator.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: output.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: pageiterator.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: pagesegmain.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: reject.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: resultiterator.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tessedit.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tesseractclass.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: adaptions.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: docqual.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: equationdetect.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: fixspace.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: fixxht.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: osdetect.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: par_control.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: recogtraining.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: superscript.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tessbox.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tfacepp.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: classify.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: adaptmatch.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: blobclass.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: cutoffs.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: float2int.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: intfx.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: intmatcher.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: intproto.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: mfx.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: normfeat.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: normmatch.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) outfeat.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Line | Count | Source | 66 | 1.79k | static inline bool DegenerateOutline(MFOUTLINE Outline) { | 67 | 1.79k | return (Outline == NIL_LIST) || (Outline == Outline->list_rest()); | 68 | 1.79k | } |
picofeat.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Line | Count | Source | 66 | 3.40k | static inline bool DegenerateOutline(MFOUTLINE Outline) { | 67 | 3.40k | return (Outline == NIL_LIST) || (Outline == Outline->list_rest()); | 68 | 3.40k | } |
Unexecuted instantiation: protos.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: shapetable.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tessclassifier.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: trainingsample.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: tface.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: wordrec.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: chopper.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: findseam.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: gradechop.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: pieces.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: segsearch.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: wordclass.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: adaptive.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: intfeaturespace.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: mfoutline.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: shapeclassifier.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: chop.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) Unexecuted instantiation: outlines.cpp:tesseract::DegenerateOutline(tesseract::list_rec*) |
69 | | |
70 | 111k | static inline MFEDGEPT *PointAt(MFOUTLINE Outline) { |
71 | 111k | return reinterpret_cast<MFEDGEPT *>(Outline->first_node()); |
72 | 111k | } Unexecuted instantiation: baseapi.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: applybox.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: control.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: linerec.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: ltrresultiterator.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: output.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: pageiterator.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: pagesegmain.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: reject.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: resultiterator.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tessedit.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tesseractclass.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: adaptions.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: docqual.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: equationdetect.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: fixspace.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: fixxht.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: osdetect.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: par_control.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: recogtraining.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: superscript.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tessbox.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tfacepp.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: classify.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: adaptmatch.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: blobclass.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: cutoffs.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: float2int.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: intfx.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: intmatcher.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: intproto.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: mfx.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: normfeat.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: normmatch.cpp:tesseract::PointAt(tesseract::list_rec*) outfeat.cpp:tesseract::PointAt(tesseract::list_rec*) Line | Count | Source | 70 | 30.2k | static inline MFEDGEPT *PointAt(MFOUTLINE Outline) { | 71 | 30.2k | return reinterpret_cast<MFEDGEPT *>(Outline->first_node()); | 72 | 30.2k | } |
picofeat.cpp:tesseract::PointAt(tesseract::list_rec*) Line | Count | Source | 70 | 53.2k | static inline MFEDGEPT *PointAt(MFOUTLINE Outline) { | 71 | 53.2k | return reinterpret_cast<MFEDGEPT *>(Outline->first_node()); | 72 | 53.2k | } |
Unexecuted instantiation: protos.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: shapetable.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tessclassifier.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: trainingsample.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: tface.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: wordrec.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: chopper.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: findseam.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: gradechop.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: pieces.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: segsearch.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: wordclass.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: adaptive.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: intfeaturespace.cpp:tesseract::PointAt(tesseract::list_rec*) mfoutline.cpp:tesseract::PointAt(tesseract::list_rec*) Line | Count | Source | 70 | 27.8k | static inline MFEDGEPT *PointAt(MFOUTLINE Outline) { | 71 | 27.8k | return reinterpret_cast<MFEDGEPT *>(Outline->first_node()); | 72 | 27.8k | } |
Unexecuted instantiation: shapeclassifier.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: chop.cpp:tesseract::PointAt(tesseract::list_rec*) Unexecuted instantiation: outlines.cpp:tesseract::PointAt(tesseract::list_rec*) |
73 | | |
74 | 59.0k | static inline MFOUTLINE NextPointAfter(MFOUTLINE Outline) { |
75 | 59.0k | return Outline->list_rest(); |
76 | 59.0k | } Unexecuted instantiation: baseapi.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: applybox.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: control.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: linerec.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: ltrresultiterator.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: output.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: pageiterator.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: pagesegmain.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: reject.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: resultiterator.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tessedit.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tesseractclass.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: adaptions.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: docqual.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: equationdetect.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: fixspace.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: fixxht.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: osdetect.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: par_control.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: recogtraining.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: superscript.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tessbox.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tfacepp.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: classify.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: adaptmatch.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: blobclass.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: cutoffs.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: float2int.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: intfx.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: intmatcher.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: intproto.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: mfx.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: normfeat.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: normmatch.cpp:tesseract::NextPointAfter(tesseract::list_rec*) outfeat.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Line | Count | Source | 74 | 10.0k | static inline MFOUTLINE NextPointAfter(MFOUTLINE Outline) { | 75 | 10.0k | return Outline->list_rest(); | 76 | 10.0k | } |
picofeat.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Line | Count | Source | 74 | 21.1k | static inline MFOUTLINE NextPointAfter(MFOUTLINE Outline) { | 75 | 21.1k | return Outline->list_rest(); | 76 | 21.1k | } |
Unexecuted instantiation: protos.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: shapetable.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tessclassifier.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: trainingsample.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: tface.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: wordrec.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: chopper.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: findseam.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: gradechop.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: pieces.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: segsearch.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: wordclass.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: adaptive.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: intfeaturespace.cpp:tesseract::NextPointAfter(tesseract::list_rec*) mfoutline.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Line | Count | Source | 74 | 27.8k | static inline MFOUTLINE NextPointAfter(MFOUTLINE Outline) { | 75 | 27.8k | return Outline->list_rest(); | 76 | 27.8k | } |
Unexecuted instantiation: shapeclassifier.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: chop.cpp:tesseract::NextPointAfter(tesseract::list_rec*) Unexecuted instantiation: outlines.cpp:tesseract::NextPointAfter(tesseract::list_rec*) |
77 | | |
78 | 5.19k | static inline void MakeOutlineCircular(MFOUTLINE Outline) { |
79 | 5.19k | set_rest(last(Outline), Outline); |
80 | 5.19k | } Unexecuted instantiation: baseapi.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: applybox.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: control.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: linerec.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: ltrresultiterator.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: output.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: pageiterator.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: pagesegmain.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: reject.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: resultiterator.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tessedit.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tesseractclass.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: adaptions.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: docqual.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: equationdetect.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: fixspace.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: fixxht.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: osdetect.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: par_control.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: recogtraining.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: superscript.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tessbox.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tfacepp.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: classify.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: adaptmatch.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: blobclass.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: cutoffs.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: float2int.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: intfx.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: intmatcher.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: intproto.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: mfx.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: normfeat.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: normmatch.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: outfeat.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: picofeat.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: protos.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: shapetable.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tessclassifier.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: trainingsample.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: tface.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: wordrec.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: chopper.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: findseam.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: gradechop.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: pieces.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: segsearch.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: wordclass.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: adaptive.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: intfeaturespace.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) mfoutline.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Line | Count | Source | 78 | 5.19k | static inline void MakeOutlineCircular(MFOUTLINE Outline) { | 79 | 5.19k | set_rest(last(Outline), Outline); | 80 | 5.19k | } |
Unexecuted instantiation: shapeclassifier.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: chop.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) Unexecuted instantiation: outlines.cpp:tesseract::MakeOutlineCircular(tesseract::list_rec*) |
81 | | |
82 | | /**---------------------------------------------------------------------------- |
83 | | Public Function Prototypes |
84 | | ----------------------------------------------------------------------------**/ |
85 | | void ComputeBlobCenter(TBLOB *Blob, TPOINT *BlobCenter); |
86 | | |
87 | | LIST ConvertBlob(TBLOB *Blob); |
88 | | |
89 | | MFOUTLINE ConvertOutline(TESSLINE *Outline); |
90 | | |
91 | | void FilterEdgeNoise(MFOUTLINE Outline, float NoiseSegmentLength); |
92 | | |
93 | | void FindDirectionChanges(MFOUTLINE Outline, float MinSlope, float MaxSlope); |
94 | | |
95 | | void FreeMFOutline(void *agr); // MFOUTLINE Outline); |
96 | | |
97 | | void FreeOutlines(LIST Outlines); |
98 | | |
99 | | void MarkDirectionChanges(MFOUTLINE Outline); |
100 | | |
101 | | MFOUTLINE NextExtremity(MFOUTLINE EdgePoint); |
102 | | |
103 | | void NormalizeOutline(MFOUTLINE Outline, float XOrigin); |
104 | | |
105 | | /*---------------------------------------------------------------------------- |
106 | | Private Function Prototypes |
107 | | -----------------------------------------------------------------------------*/ |
108 | | void ChangeDirection(MFOUTLINE Start, MFOUTLINE End, DIRECTION Direction); |
109 | | |
110 | | // Normalizes the Outline in-place using cn_denorm's local transformation, |
111 | | // then converts from the integer feature range [0,255] to the clusterer |
112 | | // feature range of [-0.5, 0.5]. |
113 | | void CharNormalizeOutline(MFOUTLINE Outline, const DENORM &cn_denorm); |
114 | | |
115 | | void ComputeDirection(MFEDGEPT *Start, MFEDGEPT *Finish, float MinSlope, float MaxSlope); |
116 | | |
117 | | MFOUTLINE NextDirectionChange(MFOUTLINE EdgePoint); |
118 | | |
119 | | } // namespace tesseract |
120 | | |
121 | | #endif |