tesseract_bin 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +23 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +46 -0
- data/VERSION +1 -0
- data/ext/tesseract_bin/extconf.rb +17 -0
- data/lib/tesseract_bin.rb +12 -0
- data/tesseract_bin.gemspec +660 -0
- data/test/helper.rb +18 -0
- data/test/test_tesseract_bin.rb +7 -0
- data/vendor/tesseract-2.04/AUTHORS +8 -0
- data/vendor/tesseract-2.04/COPYING +23 -0
- data/vendor/tesseract-2.04/ChangeLog +71 -0
- data/vendor/tesseract-2.04/INSTALL +229 -0
- data/vendor/tesseract-2.04/Makefile.am +20 -0
- data/vendor/tesseract-2.04/Makefile.in +641 -0
- data/vendor/tesseract-2.04/NEWS +1 -0
- data/vendor/tesseract-2.04/README +138 -0
- data/vendor/tesseract-2.04/ReleaseNotes +213 -0
- data/vendor/tesseract-2.04/StdAfx.cpp +8 -0
- data/vendor/tesseract-2.04/StdAfx.h +24 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.am +63 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.in +735 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.cpp +1082 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.h +109 -0
- data/vendor/tesseract-2.04/ccmain/applybox.cpp +891 -0
- data/vendor/tesseract-2.04/ccmain/applybox.h +73 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.cpp +1105 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.h +256 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.cpp +76 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.h +29 -0
- data/vendor/tesseract-2.04/ccmain/callnet.cpp +93 -0
- data/vendor/tesseract-2.04/ccmain/callnet.h +32 -0
- data/vendor/tesseract-2.04/ccmain/charcut.cpp +704 -0
- data/vendor/tesseract-2.04/ccmain/charcut.h +120 -0
- data/vendor/tesseract-2.04/ccmain/charsample.cpp +699 -0
- data/vendor/tesseract-2.04/ccmain/control.cpp +1842 -0
- data/vendor/tesseract-2.04/ccmain/control.h +198 -0
- data/vendor/tesseract-2.04/ccmain/docqual.cpp +1481 -0
- data/vendor/tesseract-2.04/ccmain/docqual.h +155 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.cpp +82 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.h +13 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.cpp +989 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.h +72 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.cpp +825 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.h +93 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.cpp +154 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.h +32 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.cpp +391 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.h +48 -0
- data/vendor/tesseract-2.04/ccmain/output.cpp +1273 -0
- data/vendor/tesseract-2.04/ccmain/output.h +116 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.cpp +666 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.h +155 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.cpp +107 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.h +43 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.cpp +1867 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.h +181 -0
- data/vendor/tesseract-2.04/ccmain/reject.cpp +1775 -0
- data/vendor/tesseract-2.04/ccmain/reject.h +181 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.cpp +366 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.h +35 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.cpp +375 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.cpp +278 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.h +49 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.cpp +110 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.h +38 -0
- data/vendor/tesseract-2.04/ccmain/tesseractfull.cc +37 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.cpp +387 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.h +58 -0
- data/vendor/tesseract-2.04/ccmain/tessio.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.cpp +38 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.h +48 -0
- data/vendor/tesseract-2.04/ccmain/tfacep.h +62 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.cpp +443 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.h +85 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.cpp +549 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.h +108 -0
- data/vendor/tesseract-2.04/ccmain/varabled.cpp +346 -0
- data/vendor/tesseract-2.04/ccmain/varabled.h +125 -0
- data/vendor/tesseract-2.04/ccmain/werdit.cpp +193 -0
- data/vendor/tesseract-2.04/ccmain/werdit.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.am +25 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.in +650 -0
- data/vendor/tesseract-2.04/ccstruct/blckerr.h +29 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.cpp +778 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.h +381 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.cpp +247 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.h +119 -0
- data/vendor/tesseract-2.04/ccstruct/blread.cpp +537 -0
- data/vendor/tesseract-2.04/ccstruct/blread.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/callcpp.cpp +252 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.cpp +650 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.h +186 -0
- data/vendor/tesseract-2.04/ccstruct/crakedge.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.cpp +133 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.h +52 -0
- data/vendor/tesseract-2.04/ccstruct/hpddef.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/hpdsizes.h +8 -0
- data/vendor/tesseract-2.04/ccstruct/ipoints.h +479 -0
- data/vendor/tesseract-2.04/ccstruct/labls.cpp +188 -0
- data/vendor/tesseract-2.04/ccstruct/labls.h +38 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.cpp +249 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.cpp +453 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.h +84 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.cpp +100 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.h +85 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.cpp +176 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.h +108 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.cpp +369 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.h +235 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.cpp +216 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.h +133 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.cpp +879 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.h +318 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.cpp +330 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.h +313 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.cpp +361 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.h +181 -0
- data/vendor/tesseract-2.04/ccstruct/pdclass.h +54 -0
- data/vendor/tesseract-2.04/ccstruct/points.cpp +102 -0
- data/vendor/tesseract-2.04/ccstruct/points.h +299 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.cpp +588 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.h +51 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.cpp +398 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.h +122 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.cpp +357 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.cpp +23 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.h +58 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.cpp +441 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.h +125 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.cpp +147 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.cpp +21 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.cpp +382 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.h +113 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.cpp +372 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.h +198 -0
- data/vendor/tesseract-2.04/ccstruct/rect.cpp +229 -0
- data/vendor/tesseract-2.04/ccstruct/rect.h +320 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.cpp +545 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.h +284 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.cpp +89 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.h +45 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.cpp +905 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.h +135 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.cpp +296 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.h +88 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.cpp +230 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.h +155 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.cpp +63 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.h +91 -0
- data/vendor/tesseract-2.04/ccstruct/werd.cpp +967 -0
- data/vendor/tesseract-2.04/ccstruct/werd.h +277 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.am +19 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.in +626 -0
- data/vendor/tesseract-2.04/ccutil/basedir.cpp +118 -0
- data/vendor/tesseract-2.04/ccutil/basedir.h +32 -0
- data/vendor/tesseract-2.04/ccutil/bits16.cpp +30 -0
- data/vendor/tesseract-2.04/ccutil/bits16.h +61 -0
- data/vendor/tesseract-2.04/ccutil/boxread.cpp +105 -0
- data/vendor/tesseract-2.04/ccutil/boxread.h +44 -0
- data/vendor/tesseract-2.04/ccutil/clst.cpp +626 -0
- data/vendor/tesseract-2.04/ccutil/clst.h +1085 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.cpp +500 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.h +103 -0
- data/vendor/tesseract-2.04/ccutil/elst.cpp +593 -0
- data/vendor/tesseract-2.04/ccutil/elst.h +1125 -0
- data/vendor/tesseract-2.04/ccutil/elst2.cpp +606 -0
- data/vendor/tesseract-2.04/ccutil/elst2.h +1121 -0
- data/vendor/tesseract-2.04/ccutil/errcode.cpp +104 -0
- data/vendor/tesseract-2.04/ccutil/errcode.h +104 -0
- data/vendor/tesseract-2.04/ccutil/fileerr.h +34 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.cpp +115 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.h +40 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.cpp +57 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.h +30 -0
- data/vendor/tesseract-2.04/ccutil/host.h +180 -0
- data/vendor/tesseract-2.04/ccutil/hosthplb.h +1 -0
- data/vendor/tesseract-2.04/ccutil/lsterr.h +43 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.cpp +126 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.h +39 -0
- data/vendor/tesseract-2.04/ccutil/memblk.cpp +1106 -0
- data/vendor/tesseract-2.04/ccutil/memblk.h +189 -0
- data/vendor/tesseract-2.04/ccutil/memry.cpp +532 -0
- data/vendor/tesseract-2.04/ccutil/memry.h +192 -0
- data/vendor/tesseract-2.04/ccutil/memryerr.h +38 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.cpp +5 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.h +37 -0
- data/vendor/tesseract-2.04/ccutil/ndminx.h +31 -0
- data/vendor/tesseract-2.04/ccutil/notdll.h +28 -0
- data/vendor/tesseract-2.04/ccutil/nwmain.h +176 -0
- data/vendor/tesseract-2.04/ccutil/ocrclass.h +345 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.cpp +772 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.h +191 -0
- data/vendor/tesseract-2.04/ccutil/platform.h +18 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.cpp +543 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.h +55 -0
- data/vendor/tesseract-2.04/ccutil/secname.h +9 -0
- data/vendor/tesseract-2.04/ccutil/serialis.cpp +117 -0
- data/vendor/tesseract-2.04/ccutil/serialis.h +93 -0
- data/vendor/tesseract-2.04/ccutil/stderr.h +26 -0
- data/vendor/tesseract-2.04/ccutil/strngs.cpp +495 -0
- data/vendor/tesseract-2.04/ccutil/strngs.h +138 -0
- data/vendor/tesseract-2.04/ccutil/tessclas.h +135 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.cpp +61 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.h +30 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.cpp +122 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.h +35 -0
- data/vendor/tesseract-2.04/ccutil/unichar.cpp +144 -0
- data/vendor/tesseract-2.04/ccutil/unichar.h +84 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.cpp +172 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.h +82 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.cpp +307 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.h +267 -0
- data/vendor/tesseract-2.04/ccutil/varable.cpp +672 -0
- data/vendor/tesseract-2.04/ccutil/varable.h +419 -0
- data/vendor/tesseract-2.04/classify/Makefile.am +24 -0
- data/vendor/tesseract-2.04/classify/Makefile.in +647 -0
- data/vendor/tesseract-2.04/classify/adaptive.cpp +535 -0
- data/vendor/tesseract-2.04/classify/adaptive.h +199 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.cpp +2958 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.h +86 -0
- data/vendor/tesseract-2.04/classify/baseline.cpp +58 -0
- data/vendor/tesseract-2.04/classify/baseline.h +91 -0
- data/vendor/tesseract-2.04/classify/blobclass.cpp +123 -0
- data/vendor/tesseract-2.04/classify/blobclass.h +49 -0
- data/vendor/tesseract-2.04/classify/chartoname.cpp +74 -0
- data/vendor/tesseract-2.04/classify/chartoname.h +21 -0
- data/vendor/tesseract-2.04/classify/cluster.cpp +2834 -0
- data/vendor/tesseract-2.04/classify/cluster.h +158 -0
- data/vendor/tesseract-2.04/classify/clusttool.cpp +507 -0
- data/vendor/tesseract-2.04/classify/clusttool.h +70 -0
- data/vendor/tesseract-2.04/classify/cutoffs.cpp +73 -0
- data/vendor/tesseract-2.04/classify/cutoffs.h +49 -0
- data/vendor/tesseract-2.04/classify/extern.h +32 -0
- data/vendor/tesseract-2.04/classify/extract.cpp +100 -0
- data/vendor/tesseract-2.04/classify/extract.h +36 -0
- data/vendor/tesseract-2.04/classify/featdefs.cpp +244 -0
- data/vendor/tesseract-2.04/classify/featdefs.h +71 -0
- data/vendor/tesseract-2.04/classify/flexfx.cpp +87 -0
- data/vendor/tesseract-2.04/classify/flexfx.h +34 -0
- data/vendor/tesseract-2.04/classify/float2int.cpp +126 -0
- data/vendor/tesseract-2.04/classify/float2int.h +65 -0
- data/vendor/tesseract-2.04/classify/fpoint.cpp +73 -0
- data/vendor/tesseract-2.04/classify/fpoint.h +63 -0
- data/vendor/tesseract-2.04/classify/fxdefs.cpp +74 -0
- data/vendor/tesseract-2.04/classify/fxdefs.h +93 -0
- data/vendor/tesseract-2.04/classify/fxid.h +69 -0
- data/vendor/tesseract-2.04/classify/hideedge.cpp +35 -0
- data/vendor/tesseract-2.04/classify/hideedge.h +76 -0
- data/vendor/tesseract-2.04/classify/intfx.cpp +608 -0
- data/vendor/tesseract-2.04/classify/intfx.h +63 -0
- data/vendor/tesseract-2.04/classify/intmatcher.cpp +1524 -0
- data/vendor/tesseract-2.04/classify/intmatcher.h +199 -0
- data/vendor/tesseract-2.04/classify/intproto.cpp +1823 -0
- data/vendor/tesseract-2.04/classify/intproto.h +320 -0
- data/vendor/tesseract-2.04/classify/kdtree.cpp +884 -0
- data/vendor/tesseract-2.04/classify/kdtree.h +118 -0
- data/vendor/tesseract-2.04/classify/mf.cpp +106 -0
- data/vendor/tesseract-2.04/classify/mf.h +43 -0
- data/vendor/tesseract-2.04/classify/mfdefs.cpp +58 -0
- data/vendor/tesseract-2.04/classify/mfdefs.h +60 -0
- data/vendor/tesseract-2.04/classify/mfoutline.cpp +1087 -0
- data/vendor/tesseract-2.04/classify/mfoutline.h +277 -0
- data/vendor/tesseract-2.04/classify/mfx.cpp +436 -0
- data/vendor/tesseract-2.04/classify/mfx.h +52 -0
- data/vendor/tesseract-2.04/classify/normfeat.cpp +132 -0
- data/vendor/tesseract-2.04/classify/normfeat.h +63 -0
- data/vendor/tesseract-2.04/classify/normmatch.cpp +305 -0
- data/vendor/tesseract-2.04/classify/normmatch.h +38 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.cpp +310 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.h +148 -0
- data/vendor/tesseract-2.04/classify/outfeat.cpp +262 -0
- data/vendor/tesseract-2.04/classify/outfeat.h +76 -0
- data/vendor/tesseract-2.04/classify/picofeat.cpp +297 -0
- data/vendor/tesseract-2.04/classify/picofeat.h +65 -0
- data/vendor/tesseract-2.04/classify/protos.cpp +472 -0
- data/vendor/tesseract-2.04/classify/protos.h +258 -0
- data/vendor/tesseract-2.04/classify/sigmenu.cpp +225 -0
- data/vendor/tesseract-2.04/classify/sigmenu.h +39 -0
- data/vendor/tesseract-2.04/classify/speckle.cpp +127 -0
- data/vendor/tesseract-2.04/classify/speckle.h +69 -0
- data/vendor/tesseract-2.04/classify/xform2d.cpp +120 -0
- data/vendor/tesseract-2.04/classify/xform2d.h +60 -0
- data/vendor/tesseract-2.04/config/config.guess +1466 -0
- data/vendor/tesseract-2.04/config/config.h.in +188 -0
- data/vendor/tesseract-2.04/config/config.sub +1579 -0
- data/vendor/tesseract-2.04/config/depcomp +530 -0
- data/vendor/tesseract-2.04/config/install-sh +269 -0
- data/vendor/tesseract-2.04/config/missing +198 -0
- data/vendor/tesseract-2.04/config/mkinstalldirs +40 -0
- data/vendor/tesseract-2.04/config/stamp-h.in +0 -0
- data/vendor/tesseract-2.04/configure +10424 -0
- data/vendor/tesseract-2.04/cutil/Makefile.am +14 -0
- data/vendor/tesseract-2.04/cutil/Makefile.in +612 -0
- data/vendor/tesseract-2.04/cutil/bitvec.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/bitvec.h +100 -0
- data/vendor/tesseract-2.04/cutil/callcpp.h +190 -0
- data/vendor/tesseract-2.04/cutil/const.h +108 -0
- data/vendor/tesseract-2.04/cutil/cutil.cpp +92 -0
- data/vendor/tesseract-2.04/cutil/cutil.h +159 -0
- data/vendor/tesseract-2.04/cutil/danerror.cpp +144 -0
- data/vendor/tesseract-2.04/cutil/danerror.h +41 -0
- data/vendor/tesseract-2.04/cutil/debug.cpp +97 -0
- data/vendor/tesseract-2.04/cutil/debug.h +348 -0
- data/vendor/tesseract-2.04/cutil/efio.cpp +62 -0
- data/vendor/tesseract-2.04/cutil/efio.h +32 -0
- data/vendor/tesseract-2.04/cutil/emalloc.cpp +91 -0
- data/vendor/tesseract-2.04/cutil/emalloc.h +44 -0
- data/vendor/tesseract-2.04/cutil/freelist.cpp +75 -0
- data/vendor/tesseract-2.04/cutil/freelist.h +45 -0
- data/vendor/tesseract-2.04/cutil/funcdefs.h +35 -0
- data/vendor/tesseract-2.04/cutil/general.h +33 -0
- data/vendor/tesseract-2.04/cutil/globals.cpp +69 -0
- data/vendor/tesseract-2.04/cutil/globals.h +70 -0
- data/vendor/tesseract-2.04/cutil/listio.cpp +68 -0
- data/vendor/tesseract-2.04/cutil/listio.h +43 -0
- data/vendor/tesseract-2.04/cutil/minmax.h +40 -0
- data/vendor/tesseract-2.04/cutil/oldheap.cpp +337 -0
- data/vendor/tesseract-2.04/cutil/oldheap.h +126 -0
- data/vendor/tesseract-2.04/cutil/oldlist.cpp +393 -0
- data/vendor/tesseract-2.04/cutil/oldlist.h +350 -0
- data/vendor/tesseract-2.04/cutil/structures.cpp +66 -0
- data/vendor/tesseract-2.04/cutil/structures.h +112 -0
- data/vendor/tesseract-2.04/cutil/tessarray.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/tessarray.h +166 -0
- data/vendor/tesseract-2.04/cutil/tordvars.cpp +95 -0
- data/vendor/tesseract-2.04/cutil/tordvars.h +61 -0
- data/vendor/tesseract-2.04/cutil/variables.cpp +317 -0
- data/vendor/tesseract-2.04/cutil/variables.h +170 -0
- data/vendor/tesseract-2.04/dict/Makefile.am +13 -0
- data/vendor/tesseract-2.04/dict/Makefile.in +609 -0
- data/vendor/tesseract-2.04/dict/choicearr.h +96 -0
- data/vendor/tesseract-2.04/dict/choices.cpp +210 -0
- data/vendor/tesseract-2.04/dict/choices.h +241 -0
- data/vendor/tesseract-2.04/dict/context.cpp +270 -0
- data/vendor/tesseract-2.04/dict/context.h +82 -0
- data/vendor/tesseract-2.04/dict/dawg.cpp +363 -0
- data/vendor/tesseract-2.04/dict/dawg.h +394 -0
- data/vendor/tesseract-2.04/dict/hyphen.cpp +84 -0
- data/vendor/tesseract-2.04/dict/hyphen.h +125 -0
- data/vendor/tesseract-2.04/dict/lookdawg.cpp +228 -0
- data/vendor/tesseract-2.04/dict/lookdawg.h +76 -0
- data/vendor/tesseract-2.04/dict/makedawg.cpp +449 -0
- data/vendor/tesseract-2.04/dict/makedawg.h +83 -0
- data/vendor/tesseract-2.04/dict/matchdefs.h +145 -0
- data/vendor/tesseract-2.04/dict/permdawg.cpp +415 -0
- data/vendor/tesseract-2.04/dict/permdawg.h +98 -0
- data/vendor/tesseract-2.04/dict/permngram.cpp +358 -0
- data/vendor/tesseract-2.04/dict/permngram.h +33 -0
- data/vendor/tesseract-2.04/dict/permnum.cpp +522 -0
- data/vendor/tesseract-2.04/dict/permnum.h +83 -0
- data/vendor/tesseract-2.04/dict/permute.cpp +1704 -0
- data/vendor/tesseract-2.04/dict/permute.h +93 -0
- data/vendor/tesseract-2.04/dict/reduce.cpp +424 -0
- data/vendor/tesseract-2.04/dict/reduce.h +112 -0
- data/vendor/tesseract-2.04/dict/states.cpp +382 -0
- data/vendor/tesseract-2.04/dict/states.h +111 -0
- data/vendor/tesseract-2.04/dict/stopper.cpp +1458 -0
- data/vendor/tesseract-2.04/dict/stopper.h +103 -0
- data/vendor/tesseract-2.04/dict/trie.cpp +683 -0
- data/vendor/tesseract-2.04/dict/trie.h +190 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.am +2 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.in +388 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.cpp +163 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.dsp +186 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.vcproj +637 -0
- data/vendor/tesseract-2.04/eurotext.tif +0 -0
- data/vendor/tesseract-2.04/image/Makefile.am +10 -0
- data/vendor/tesseract-2.04/image/Makefile.in +596 -0
- data/vendor/tesseract-2.04/image/bitstrm.cpp +157 -0
- data/vendor/tesseract-2.04/image/bitstrm.h +73 -0
- data/vendor/tesseract-2.04/image/img.h +336 -0
- data/vendor/tesseract-2.04/image/imgbmp.cpp +223 -0
- data/vendor/tesseract-2.04/image/imgbmp.h +50 -0
- data/vendor/tesseract-2.04/image/imgerrs.h +35 -0
- data/vendor/tesseract-2.04/image/imgio.cpp +321 -0
- data/vendor/tesseract-2.04/image/imgio.h +22 -0
- data/vendor/tesseract-2.04/image/imgs.cpp +1764 -0
- data/vendor/tesseract-2.04/image/imgs.h +102 -0
- data/vendor/tesseract-2.04/image/imgtiff.cpp +723 -0
- data/vendor/tesseract-2.04/image/imgtiff.h +89 -0
- data/vendor/tesseract-2.04/image/imgunpk.h +1377 -0
- data/vendor/tesseract-2.04/image/svshowim.cpp +40 -0
- data/vendor/tesseract-2.04/image/svshowim.h +25 -0
- data/vendor/tesseract-2.04/java/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ScrollView.java +421 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.am +5 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.in +474 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEvent.java +87 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventHandler.java +296 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventType.java +31 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.am +7 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.in +476 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVAbstractMenuItem.java +58 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVCheckboxMenuItem.java +60 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVEmptyMenuItem.java +48 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVImageHandler.java +228 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuBar.java +130 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuItem.java +61 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVPopupMenu.java +142 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVSubMenuItem.java +41 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVWindow.java +643 -0
- data/vendor/tesseract-2.04/java/makefile +55 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.am +13 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.in +596 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.cpp +363 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.h +90 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.cpp +82 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.h +30 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.cpp +170 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.h +29 -0
- data/vendor/tesseract-2.04/phototest.tif +0 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.am +31 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.in +529 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/configs/api_config +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train +19 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train.stderr +18 -0
- data/vendor/tesseract-2.04/tessdata/configs/inter +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/kannada +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/makebox +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/unlv +3 -0
- data/vendor/tesseract-2.04/tessdata/confsets +3 -0
- data/vendor/tesseract-2.04/tessdata/eng.DangAmbigs +39 -0
- data/vendor/tesseract-2.04/tessdata/eng.freq-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.inttemp +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.normproto +1247 -0
- data/vendor/tesseract-2.04/tessdata/eng.pffmtable +111 -0
- data/vendor/tesseract-2.04/tessdata/eng.unicharset +113 -0
- data/vendor/tesseract-2.04/tessdata/eng.user-words +921 -0
- data/vendor/tesseract-2.04/tessdata/eng.word-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/makedummies +8 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch.nochop +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/matdemo +7 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/msdemo +13 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/nobatch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/segdemo +9 -0
- data/vendor/tesseract-2.04/tessdll.cpp +351 -0
- data/vendor/tesseract-2.04/tessdll.dsp +2050 -0
- data/vendor/tesseract-2.04/tessdll.h +143 -0
- data/vendor/tesseract-2.04/tessdll.vcproj +5495 -0
- data/vendor/tesseract-2.04/tesseract.dsp +2124 -0
- data/vendor/tesseract-2.04/tesseract.dsw +116 -0
- data/vendor/tesseract-2.04/tesseract.sln +59 -0
- data/vendor/tesseract-2.04/tesseract.spec +188 -0
- data/vendor/tesseract-2.04/tesseract.vcproj +5859 -0
- data/vendor/tesseract-2.04/testing/Makefile.am +2 -0
- data/vendor/tesseract-2.04/testing/Makefile.in +312 -0
- data/vendor/tesseract-2.04/testing/README +43 -0
- data/vendor/tesseract-2.04/testing/counttestset.sh +61 -0
- data/vendor/tesseract-2.04/testing/reorgdata.sh +44 -0
- data/vendor/tesseract-2.04/testing/reports/1995.bus.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.doe3.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.mag.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.news.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/2.03.summary +9 -0
- data/vendor/tesseract-2.04/testing/reports/2.04.summary +9 -0
- data/vendor/tesseract-2.04/testing/runalltests.sh +110 -0
- data/vendor/tesseract-2.04/testing/runtestset.sh +61 -0
- data/vendor/tesseract-2.04/textord/Makefile.am +20 -0
- data/vendor/tesseract-2.04/textord/Makefile.in +624 -0
- data/vendor/tesseract-2.04/textord/blkocc.cpp +809 -0
- data/vendor/tesseract-2.04/textord/blkocc.h +327 -0
- data/vendor/tesseract-2.04/textord/blobcmpl.h +31 -0
- data/vendor/tesseract-2.04/textord/drawedg.cpp +77 -0
- data/vendor/tesseract-2.04/textord/drawedg.h +34 -0
- data/vendor/tesseract-2.04/textord/drawtord.cpp +469 -0
- data/vendor/tesseract-2.04/textord/drawtord.h +107 -0
- data/vendor/tesseract-2.04/textord/edgblob.cpp +412 -0
- data/vendor/tesseract-2.04/textord/edgblob.h +100 -0
- data/vendor/tesseract-2.04/textord/edgloop.cpp +211 -0
- data/vendor/tesseract-2.04/textord/edgloop.h +66 -0
- data/vendor/tesseract-2.04/textord/fpchop.cpp +1641 -0
- data/vendor/tesseract-2.04/textord/fpchop.h +238 -0
- data/vendor/tesseract-2.04/textord/gap_map.cpp +166 -0
- data/vendor/tesseract-2.04/textord/gap_map.h +40 -0
- data/vendor/tesseract-2.04/textord/makerow.cpp +2628 -0
- data/vendor/tesseract-2.04/textord/makerow.h +295 -0
- data/vendor/tesseract-2.04/textord/oldbasel.cpp +1761 -0
- data/vendor/tesseract-2.04/textord/oldbasel.h +195 -0
- data/vendor/tesseract-2.04/textord/pithsync.cpp +696 -0
- data/vendor/tesseract-2.04/textord/pithsync.h +134 -0
- data/vendor/tesseract-2.04/textord/pitsync1.cpp +425 -0
- data/vendor/tesseract-2.04/textord/pitsync1.h +135 -0
- data/vendor/tesseract-2.04/textord/scanedg.cpp +452 -0
- data/vendor/tesseract-2.04/textord/scanedg.h +74 -0
- data/vendor/tesseract-2.04/textord/sortflts.cpp +80 -0
- data/vendor/tesseract-2.04/textord/sortflts.h +64 -0
- data/vendor/tesseract-2.04/textord/tessout.h +76 -0
- data/vendor/tesseract-2.04/textord/topitch.cpp +2019 -0
- data/vendor/tesseract-2.04/textord/topitch.h +195 -0
- data/vendor/tesseract-2.04/textord/tordmain.cpp +907 -0
- data/vendor/tesseract-2.04/textord/tordmain.h +132 -0
- data/vendor/tesseract-2.04/textord/tospace.cpp +1939 -0
- data/vendor/tesseract-2.04/textord/tospace.h +193 -0
- data/vendor/tesseract-2.04/textord/tovars.cpp +87 -0
- data/vendor/tesseract-2.04/textord/tovars.h +94 -0
- data/vendor/tesseract-2.04/textord/underlin.cpp +312 -0
- data/vendor/tesseract-2.04/textord/underlin.h +53 -0
- data/vendor/tesseract-2.04/textord/wordseg.cpp +620 -0
- data/vendor/tesseract-2.04/textord/wordseg.h +70 -0
- data/vendor/tesseract-2.04/training/Makefile.am +54 -0
- data/vendor/tesseract-2.04/training/Makefile.in +720 -0
- data/vendor/tesseract-2.04/training/cnTraining.cpp +855 -0
- data/vendor/tesseract-2.04/training/cntraining.dsp +243 -0
- data/vendor/tesseract-2.04/training/cntraining.vcproj +950 -0
- data/vendor/tesseract-2.04/training/mergenf.cpp +451 -0
- data/vendor/tesseract-2.04/training/mergenf.h +106 -0
- data/vendor/tesseract-2.04/training/mfTraining.cpp +1341 -0
- data/vendor/tesseract-2.04/training/mftraining.dsp +285 -0
- data/vendor/tesseract-2.04/training/mftraining.vcproj +1055 -0
- data/vendor/tesseract-2.04/training/name2char.cpp +166 -0
- data/vendor/tesseract-2.04/training/name2char.h +38 -0
- data/vendor/tesseract-2.04/training/training.cpp +190 -0
- data/vendor/tesseract-2.04/training/training.h +130 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.cpp +140 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.dsp +335 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.vcproj +769 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.cpp +69 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.dsp +319 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.vcproj +1113 -0
- data/vendor/tesseract-2.04/viewer/Makefile.am +9 -0
- data/vendor/tesseract-2.04/viewer/Makefile.in +591 -0
- data/vendor/tesseract-2.04/viewer/scrollview.cpp +825 -0
- data/vendor/tesseract-2.04/viewer/scrollview.h +414 -0
- data/vendor/tesseract-2.04/viewer/svmnode.cpp +140 -0
- data/vendor/tesseract-2.04/viewer/svmnode.h +94 -0
- data/vendor/tesseract-2.04/viewer/svpaint.cpp +220 -0
- data/vendor/tesseract-2.04/viewer/svutil.cpp +347 -0
- data/vendor/tesseract-2.04/viewer/svutil.h +138 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.am +23 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.in +641 -0
- data/vendor/tesseract-2.04/wordrec/associate.cpp +62 -0
- data/vendor/tesseract-2.04/wordrec/associate.h +93 -0
- data/vendor/tesseract-2.04/wordrec/badwords.cpp +106 -0
- data/vendor/tesseract-2.04/wordrec/badwords.h +51 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.cpp +526 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.h +203 -0
- data/vendor/tesseract-2.04/wordrec/charsample.h +208 -0
- data/vendor/tesseract-2.04/wordrec/chop.cpp +458 -0
- data/vendor/tesseract-2.04/wordrec/chop.h +153 -0
- data/vendor/tesseract-2.04/wordrec/chopper.cpp +750 -0
- data/vendor/tesseract-2.04/wordrec/chopper.h +104 -0
- data/vendor/tesseract-2.04/wordrec/closed.cpp +136 -0
- data/vendor/tesseract-2.04/wordrec/closed.h +65 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.h +33 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.cpp +92 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.h +33 -0
- data/vendor/tesseract-2.04/wordrec/findseam.cpp +566 -0
- data/vendor/tesseract-2.04/wordrec/findseam.h +69 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.cpp +226 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.h +91 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.cpp +194 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.h +120 -0
- data/vendor/tesseract-2.04/wordrec/makechop.cpp +281 -0
- data/vendor/tesseract-2.04/wordrec/makechop.h +69 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.cpp +191 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.h +45 -0
- data/vendor/tesseract-2.04/wordrec/matrix.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/matrix.h +104 -0
- data/vendor/tesseract-2.04/wordrec/measure.h +135 -0
- data/vendor/tesseract-2.04/wordrec/metrics.cpp +363 -0
- data/vendor/tesseract-2.04/wordrec/metrics.h +130 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.cpp +51 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.h +27 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.cpp +110 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.h +45 -0
- data/vendor/tesseract-2.04/wordrec/olutil.cpp +153 -0
- data/vendor/tesseract-2.04/wordrec/olutil.h +128 -0
- data/vendor/tesseract-2.04/wordrec/outlines.cpp +172 -0
- data/vendor/tesseract-2.04/wordrec/outlines.h +148 -0
- data/vendor/tesseract-2.04/wordrec/pieces.cpp +410 -0
- data/vendor/tesseract-2.04/wordrec/pieces.h +154 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.cpp +134 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.h +71 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.cpp +116 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.h +73 -0
- data/vendor/tesseract-2.04/wordrec/render.cpp +152 -0
- data/vendor/tesseract-2.04/wordrec/render.h +58 -0
- data/vendor/tesseract-2.04/wordrec/seam.cpp +482 -0
- data/vendor/tesseract-2.04/wordrec/seam.h +136 -0
- data/vendor/tesseract-2.04/wordrec/split.cpp +182 -0
- data/vendor/tesseract-2.04/wordrec/split.h +115 -0
- data/vendor/tesseract-2.04/wordrec/tally.cpp +68 -0
- data/vendor/tesseract-2.04/wordrec/tally.h +94 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.cpp +108 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.h +46 -0
- data/vendor/tesseract-2.04/wordrec/tface.cpp +272 -0
- data/vendor/tesseract-2.04/wordrec/tface.h +35 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.cpp +284 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.h +64 -0
- metadata +708 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: clusttool.h
|
|
3
|
+
** Purpose: Definition of clustering utility tools
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: 6/6/89, 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
|
+
#ifndef __CLUSTERTOOL__
|
|
19
|
+
#define __CLUSTERTOOL__
|
|
20
|
+
|
|
21
|
+
//--------------------------Include Files---------------------------------------
|
|
22
|
+
#include "host.h"
|
|
23
|
+
#include "cluster.h"
|
|
24
|
+
#include <stdio.h>
|
|
25
|
+
|
|
26
|
+
/*-------------------------------------------------------------------------
|
|
27
|
+
Public Funtion Prototype
|
|
28
|
+
--------------------------------------------------------------------------*/
|
|
29
|
+
uinT16 ReadSampleSize(FILE *File);
|
|
30
|
+
|
|
31
|
+
PARAM_DESC *ReadParamDesc(FILE *File, uinT16 N);
|
|
32
|
+
|
|
33
|
+
PROTOTYPE *ReadPrototype(FILE *File, uinT16 N);
|
|
34
|
+
|
|
35
|
+
PROTOSTYLE ReadProtoStyle(FILE *File);
|
|
36
|
+
|
|
37
|
+
FLOAT32 *ReadNFloats (FILE * File, uinT16 N, FLOAT32 Buffer[]);
|
|
38
|
+
|
|
39
|
+
void WriteParamDesc (FILE * File, uinT16 N, PARAM_DESC ParamDesc[]);
|
|
40
|
+
|
|
41
|
+
void WritePrototype(FILE *File, uinT16 N, PROTOTYPE *Proto);
|
|
42
|
+
|
|
43
|
+
void WriteNFloats (FILE * File, uinT16 N, FLOAT32 Array[]);
|
|
44
|
+
|
|
45
|
+
void WriteProtoStyle(FILE *File, PROTOSTYLE ProtoStyle);
|
|
46
|
+
|
|
47
|
+
void WriteProtoList(
|
|
48
|
+
FILE *File,
|
|
49
|
+
uinT16 N,
|
|
50
|
+
PARAM_DESC ParamDesc[],
|
|
51
|
+
LIST ProtoList,
|
|
52
|
+
BOOL8 WriteSigProtos,
|
|
53
|
+
BOOL8 WriteInsigProtos);
|
|
54
|
+
|
|
55
|
+
FLOAT32 UniformRandomNumber(FLOAT32 MMin, FLOAT32 MMax);
|
|
56
|
+
|
|
57
|
+
//--------------Global Data Definitions and Declarations---------------------
|
|
58
|
+
// define errors that can be trapped
|
|
59
|
+
#define ILLEGALSAMPLESIZE 5000
|
|
60
|
+
#define ILLEGALCIRCULARSPEC 5001
|
|
61
|
+
#define ILLEGALMINMAXSPEC 5002
|
|
62
|
+
#define ILLEGALSIGNIFICANCESPEC 5003
|
|
63
|
+
#define ILLEGALSTYLESPEC 5004
|
|
64
|
+
#define ILLEGALSAMPLECOUNT 5005
|
|
65
|
+
#define ILLEGALMEANSPEC 5006
|
|
66
|
+
#define ILLEGALVARIANCESPEC 5007
|
|
67
|
+
#define ILLEGALDISTRIBUTION 5008
|
|
68
|
+
#define ILLEGALFLOAT 5009
|
|
69
|
+
#define ILLEGALESSENTIALSPEC 5013
|
|
70
|
+
#endif
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: cutoffs.c
|
|
3
|
+
** Purpose: Routines to manipulate an array of class cutoffs.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Wed Feb 20 09:28:51 1991, 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 "cutoffs.h"
|
|
22
|
+
#include "efio.h"
|
|
23
|
+
#include "scanutils.h"
|
|
24
|
+
#include "serialis.h"
|
|
25
|
+
#include "unichar.h"
|
|
26
|
+
#include "globals.h"
|
|
27
|
+
#include <stdio.h>
|
|
28
|
+
|
|
29
|
+
#define REALLY_QUOTE_IT(x) QUOTE_IT(x)
|
|
30
|
+
|
|
31
|
+
#define MAX_CUTOFF 1000
|
|
32
|
+
|
|
33
|
+
/**----------------------------------------------------------------------------
|
|
34
|
+
Public Code
|
|
35
|
+
----------------------------------------------------------------------------**/
|
|
36
|
+
/*---------------------------------------------------------------------------*/
|
|
37
|
+
void ReadNewCutoffs(const char *Filename,
|
|
38
|
+
CLASS_TO_INDEX ClassMapper,
|
|
39
|
+
CLASS_CUTOFF_ARRAY Cutoffs) {
|
|
40
|
+
/*
|
|
41
|
+
** Parameters:
|
|
42
|
+
** Filename name of file containing cutoff definitions
|
|
43
|
+
** ClassMapper array which maps class id's to class indexes
|
|
44
|
+
** Cutoffs array to put cutoffs into
|
|
45
|
+
** Globals: none
|
|
46
|
+
** Operation: Open Filename, read in all of the class-id/cutoff pairs
|
|
47
|
+
** and insert them into the Cutoffs array. Cutoffs are
|
|
48
|
+
** inserted in the array so that the array is indexed by
|
|
49
|
+
** class index rather than class id. Unused entries in the
|
|
50
|
+
** array are set to an arbitrarily high cutoff value.
|
|
51
|
+
** Return: none
|
|
52
|
+
** Exceptions: none
|
|
53
|
+
** History: Wed Feb 20 09:38:26 1991, DSJ, Created.
|
|
54
|
+
*/
|
|
55
|
+
FILE *CutoffFile;
|
|
56
|
+
char Class[UNICHAR_LEN + 1];
|
|
57
|
+
CLASS_ID ClassId;
|
|
58
|
+
int Cutoff;
|
|
59
|
+
int i;
|
|
60
|
+
|
|
61
|
+
CutoffFile = Efopen (Filename, "r");
|
|
62
|
+
|
|
63
|
+
for (i = 0; i < MAX_NUM_CLASSES; i++)
|
|
64
|
+
Cutoffs[i] = MAX_CUTOFF;
|
|
65
|
+
|
|
66
|
+
while (fscanf (CutoffFile, "%" REALLY_QUOTE_IT(UNICHAR_LEN) "s %d",
|
|
67
|
+
Class, &Cutoff) == 2) {
|
|
68
|
+
ClassId = unicharset.unichar_to_id(Class);
|
|
69
|
+
Cutoffs[ClassMapper[ClassId]] = Cutoff;
|
|
70
|
+
}
|
|
71
|
+
fclose(CutoffFile);
|
|
72
|
+
|
|
73
|
+
} /* ReadNewCutoffs */
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: cutoffs.h
|
|
3
|
+
** Purpose: Routines to manipulate an array of class cutoffs.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Wed Feb 20 09:34:20 1991, 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
|
+
#ifndef CUTOFFS_H
|
|
19
|
+
#define CUTOFFS_H
|
|
20
|
+
|
|
21
|
+
/**----------------------------------------------------------------------------
|
|
22
|
+
Include Files and Type Defines
|
|
23
|
+
----------------------------------------------------------------------------**/
|
|
24
|
+
#include "matchdefs.h"
|
|
25
|
+
|
|
26
|
+
typedef uinT16 CLASS_CUTOFF_ARRAY[MAX_NUM_CLASSES];
|
|
27
|
+
|
|
28
|
+
/**----------------------------------------------------------------------------
|
|
29
|
+
Public Function Prototypes
|
|
30
|
+
----------------------------------------------------------------------------**/
|
|
31
|
+
void ReadNewCutoffs(const char *Filename,
|
|
32
|
+
CLASS_TO_INDEX ClassMapper,
|
|
33
|
+
CLASS_CUTOFF_ARRAY Cutoffs);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
#if defined(__STDC__) || defined(__cplusplus)
|
|
37
|
+
# define _ARGS(s) s
|
|
38
|
+
#else
|
|
39
|
+
# define _ARGS(s) ()
|
|
40
|
+
#endif*/
|
|
41
|
+
|
|
42
|
+
/* cutoffs.c
|
|
43
|
+
void ReadNewCutoffs
|
|
44
|
+
_ARGS((char *Filename,
|
|
45
|
+
CLASS_TO_INDEX ClassMapper,
|
|
46
|
+
CLASS_CUTOFF_ARRAY Cutoffs));
|
|
47
|
+
#undef _ARGS
|
|
48
|
+
*/
|
|
49
|
+
#endif
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#ifndef EXTERN_H
|
|
2
|
+
#define EXTERN_H
|
|
3
|
+
|
|
4
|
+
/* -*-C-*-
|
|
5
|
+
********************************************************************************
|
|
6
|
+
*
|
|
7
|
+
* File: extern.h (Formerly extern.h)
|
|
8
|
+
* Description: External definitions for C or C++
|
|
9
|
+
* Author: Mark Seaman, OCR Technology
|
|
10
|
+
* Created: Tue Mar 20 14:01:22 1990
|
|
11
|
+
* Modified: Tue Mar 20 14:02:09 1990 (Mark Seaman) marks@hpgrlt
|
|
12
|
+
* Language: C
|
|
13
|
+
* Package: N/A
|
|
14
|
+
* Status: Experimental (Do Not Distribute)
|
|
15
|
+
*
|
|
16
|
+
* (c) Copyright 1990, Hewlett-Packard Company.
|
|
17
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
18
|
+
** you may not use this file except in compliance with the License.
|
|
19
|
+
** You may obtain a copy of the License at
|
|
20
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
21
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
22
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
+
** See the License for the specific language governing permissions and
|
|
25
|
+
** limitations under the License.
|
|
26
|
+
*
|
|
27
|
+
********************************************************************************
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#define EXTERN extern
|
|
31
|
+
|
|
32
|
+
#endif
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: extract.c
|
|
3
|
+
** Purpose: Generic high level feature extractor routines.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Sun Jan 21 09:44:08 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 "extract.h"
|
|
22
|
+
#include "variables.h"
|
|
23
|
+
#include "flexfx.h"
|
|
24
|
+
#include "funcdefs.h"
|
|
25
|
+
#include "danerror.h"
|
|
26
|
+
|
|
27
|
+
typedef CHAR_FEATURES (*CF_FUNC) ();
|
|
28
|
+
|
|
29
|
+
/**----------------------------------------------------------------------------
|
|
30
|
+
Private Function Prototypes
|
|
31
|
+
----------------------------------------------------------------------------**/
|
|
32
|
+
void ExtractorStub();
|
|
33
|
+
|
|
34
|
+
/**----------------------------------------------------------------------------
|
|
35
|
+
Global Data Definitions and Declarations
|
|
36
|
+
----------------------------------------------------------------------------**/
|
|
37
|
+
/* tables to keep track of the different low level feature extractors */
|
|
38
|
+
#define NUM_FX 3
|
|
39
|
+
#define DEFAULT_FX 2
|
|
40
|
+
|
|
41
|
+
int CurrentFx = DEFAULT_FX;
|
|
42
|
+
|
|
43
|
+
/**----------------------------------------------------------------------------
|
|
44
|
+
Public Code
|
|
45
|
+
----------------------------------------------------------------------------**/
|
|
46
|
+
/*---------------------------------------------------------------------------*/
|
|
47
|
+
CHAR_DESC ExtractBlobFeatures(TBLOB *Blob, LINE_STATS *LineStats) {
|
|
48
|
+
/*
|
|
49
|
+
** Parameters:
|
|
50
|
+
** Blob blob to extract features from
|
|
51
|
+
** LineStats statistics about line blob is in
|
|
52
|
+
** Operation: Extract features from Blob by calling the feature
|
|
53
|
+
** extractor which is currently being used. This routine
|
|
54
|
+
** simply provides a high level interface to feature
|
|
55
|
+
** extraction. The caller can extract any type of features
|
|
56
|
+
** from a blob without understanding any lower level details.
|
|
57
|
+
** Return: The character features extracted from Blob.
|
|
58
|
+
** Exceptions: none
|
|
59
|
+
** History: Sun Jan 21 10:07:28 1990, DSJ, Created.
|
|
60
|
+
*/
|
|
61
|
+
return (ExtractFlexFeatures (Blob, LineStats));
|
|
62
|
+
} /* ExtractBlobFeatures */
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
/*---------------------------------------------------------------------------*/
|
|
66
|
+
void InitExtractorVars() {
|
|
67
|
+
/*
|
|
68
|
+
** Parameters: none
|
|
69
|
+
** Globals: none
|
|
70
|
+
** Operation: Install global extractor variables into the variable
|
|
71
|
+
** system.
|
|
72
|
+
** Return: none
|
|
73
|
+
** Exceptions: none
|
|
74
|
+
** History: Sun Jan 21 10:19:59 1990, DSJ, Created.
|
|
75
|
+
*/
|
|
76
|
+
// VALUE dummy;
|
|
77
|
+
InitFlexFXVars();
|
|
78
|
+
|
|
79
|
+
} /* InitExtractorVars */
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
/**----------------------------------------------------------------------------
|
|
83
|
+
Private Code
|
|
84
|
+
----------------------------------------------------------------------------**/
|
|
85
|
+
/*---------------------------------------------------------------------------*/
|
|
86
|
+
void
|
|
87
|
+
ExtractorStub ()
|
|
88
|
+
/*
|
|
89
|
+
** Parameters: none
|
|
90
|
+
** Globals: none
|
|
91
|
+
** Operation: This routine is used to stub out feature extractors
|
|
92
|
+
** that are no longer used. It simply calls DoError.
|
|
93
|
+
** Return: none
|
|
94
|
+
** Exceptions: none
|
|
95
|
+
** History: Wed Jan 2 14:16:49 1991, DSJ, Created.
|
|
96
|
+
*/
|
|
97
|
+
#define DUMMY_ERROR 1
|
|
98
|
+
{
|
|
99
|
+
DoError (DUMMY_ERROR, "Selected feature extractor has been stubbed out!");
|
|
100
|
+
} /* ExtractorStub */
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: extract.h
|
|
3
|
+
** Purpose: Interface to high level generic feature extraction.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: 1/21/90, 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
|
+
#ifndef EXTRACT_H
|
|
19
|
+
#define EXTRACT_H
|
|
20
|
+
|
|
21
|
+
#include "fxdefs.h"
|
|
22
|
+
#include "featdefs.h"
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
|
|
25
|
+
/**----------------------------------------------------------------------------
|
|
26
|
+
Public Function Prototypes
|
|
27
|
+
----------------------------------------------------------------------------**/
|
|
28
|
+
CHAR_DESC ExtractBlobFeatures(TBLOB *Blob, LINE_STATS *LineStats);
|
|
29
|
+
|
|
30
|
+
void InitExtractorVars();
|
|
31
|
+
|
|
32
|
+
/*---------------------------------------------------------------------------
|
|
33
|
+
Private Function Prototypes
|
|
34
|
+
----------------------------------------------------------------------------*/
|
|
35
|
+
void ExtractorStub();
|
|
36
|
+
#endif
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: featdefs.c
|
|
3
|
+
** Purpose: Definitions of currently defined feature types.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Mon May 21 10:26:21 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 "featdefs.h"
|
|
22
|
+
#include "emalloc.h"
|
|
23
|
+
#include "danerror.h"
|
|
24
|
+
#include "scanutils.h"
|
|
25
|
+
#include "variables.h"
|
|
26
|
+
#include "sigmenu.h"
|
|
27
|
+
|
|
28
|
+
#include <string.h>
|
|
29
|
+
#include <stdio.h>
|
|
30
|
+
|
|
31
|
+
/* define errors triggered by this module */
|
|
32
|
+
#define ILLEGAL_NUM_SETS 3001
|
|
33
|
+
|
|
34
|
+
#define PICO_FEATURE_LENGTH 0.05
|
|
35
|
+
#define MAX_OUTLINE_FEATURES 100
|
|
36
|
+
|
|
37
|
+
/**----------------------------------------------------------------------------
|
|
38
|
+
Global Data Definitions and Declarations
|
|
39
|
+
----------------------------------------------------------------------------**/
|
|
40
|
+
/* define all of the parameters for the MicroFeature type*/
|
|
41
|
+
StartParamDesc (MicroFeatureParams)
|
|
42
|
+
DefineParam (0, 0, -0.5, 0.5)
|
|
43
|
+
DefineParam (0, 0, -0.25, 0.75)
|
|
44
|
+
DefineParam (0, 1, 0.0, 1.0)
|
|
45
|
+
DefineParam (1, 0, 0.0, 1.0)
|
|
46
|
+
DefineParam (0, 1, -0.5, 0.5)
|
|
47
|
+
DefineParam (0, 1, -0.5, 0.5)
|
|
48
|
+
EndParamDesc
|
|
49
|
+
/* now define the feature type itself (see features.h for info about each
|
|
50
|
+
parameter).*/
|
|
51
|
+
DefineFeature (MicroFeatureDesc, 5, 1, 4, 50, "Micro", "mf", MicroFeatureParams)
|
|
52
|
+
|
|
53
|
+
// define all of the parameters for the PicoFeature type
|
|
54
|
+
/* define knob that can be used to adjust pico-feature length */
|
|
55
|
+
FLOAT32 PicoFeatureLength = PICO_FEATURE_LENGTH;
|
|
56
|
+
StartParamDesc (PicoFeatParams)
|
|
57
|
+
DefineParam (0, 0, -0.25, 0.75)
|
|
58
|
+
DefineParam (1, 0, 0.0, 1.0)
|
|
59
|
+
DefineParam (0, 0, -0.5, 0.5)
|
|
60
|
+
EndParamDesc
|
|
61
|
+
/* now define the feature type itself (see features.h for info about each
|
|
62
|
+
parameter).*/
|
|
63
|
+
DefineFeature (PicoFeatDesc, 2, 1, 1, MAX_UINT8, "Pico", "pf", PicoFeatParams)
|
|
64
|
+
|
|
65
|
+
/* define all of the parameters for the NormFeat type*/
|
|
66
|
+
StartParamDesc (CharNormParams)
|
|
67
|
+
DefineParam (0, 0, -0.25, 0.75)
|
|
68
|
+
DefineParam (0, 1, 0.0, 1.0)
|
|
69
|
+
DefineParam (0, 1, 0.0, 1.0)
|
|
70
|
+
DefineParam (0, 1, 0.0, 1.0)
|
|
71
|
+
EndParamDesc
|
|
72
|
+
/* now define the feature type itself (see features.h for info about each
|
|
73
|
+
parameter).*/
|
|
74
|
+
DefineFeature (CharNormDesc, 4, 0, 1, 1, "CharNorm", "cn", CharNormParams)
|
|
75
|
+
|
|
76
|
+
// define all of the parameters for the OutlineFeature type
|
|
77
|
+
StartParamDesc (OutlineFeatParams)
|
|
78
|
+
DefineParam (0, 0, -0.5, 0.5)
|
|
79
|
+
DefineParam (0, 0, -0.25, 0.75)
|
|
80
|
+
DefineParam (0, 0, 0.0, 1.0)
|
|
81
|
+
DefineParam (1, 0, 0.0, 1.0)
|
|
82
|
+
EndParamDesc
|
|
83
|
+
/* now define the feature type itself (see features.h for info about each
|
|
84
|
+
parameter).*/
|
|
85
|
+
DefineFeature (OutlineFeatDesc, 3, 1, 1, MAX_OUTLINE_FEATURES, "Outline",
|
|
86
|
+
"of", OutlineFeatParams)
|
|
87
|
+
|
|
88
|
+
/**----------------------------------------------------------------------------
|
|
89
|
+
Global Data Definitions and Declarations
|
|
90
|
+
----------------------------------------------------------------------------**/
|
|
91
|
+
FEATURE_DEFS_STRUCT FeatureDefs = {
|
|
92
|
+
NUM_FEATURE_TYPES,
|
|
93
|
+
{
|
|
94
|
+
&MicroFeatureDesc,
|
|
95
|
+
&PicoFeatDesc,
|
|
96
|
+
&OutlineFeatDesc,
|
|
97
|
+
&CharNormDesc
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**----------------------------------------------------------------------------
|
|
102
|
+
Public Code
|
|
103
|
+
----------------------------------------------------------------------------**/
|
|
104
|
+
/*---------------------------------------------------------------------------*/
|
|
105
|
+
void FreeCharDescription(CHAR_DESC CharDesc) {
|
|
106
|
+
/*
|
|
107
|
+
** Parameters:
|
|
108
|
+
** CharDesc character description to be deallocated
|
|
109
|
+
** Globals: none
|
|
110
|
+
** Operation: Release the memory consumed by the specified character
|
|
111
|
+
** description and all of the features in that description.
|
|
112
|
+
** Return: none
|
|
113
|
+
** Exceptions: none
|
|
114
|
+
** History: Wed May 23 13:52:19 1990, DSJ, Created.
|
|
115
|
+
*/
|
|
116
|
+
int i;
|
|
117
|
+
|
|
118
|
+
if (CharDesc) {
|
|
119
|
+
for (i = 0; i < CharDesc->NumFeatureSets; i++)
|
|
120
|
+
FreeFeatureSet (CharDesc->FeatureSets[i]);
|
|
121
|
+
Efree(CharDesc);
|
|
122
|
+
}
|
|
123
|
+
} /* FreeCharDescription */
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
/*---------------------------------------------------------------------------*/
|
|
127
|
+
CHAR_DESC NewCharDescription() {
|
|
128
|
+
/*
|
|
129
|
+
** Parameters: none
|
|
130
|
+
** Globals: none
|
|
131
|
+
** Operation: Allocate a new character description, initialize its
|
|
132
|
+
** feature sets to be empty, and return it.
|
|
133
|
+
** Return: New character description structure.
|
|
134
|
+
** Exceptions: none
|
|
135
|
+
** History: Wed May 23 15:27:10 1990, DSJ, Created.
|
|
136
|
+
*/
|
|
137
|
+
CHAR_DESC CharDesc;
|
|
138
|
+
int i;
|
|
139
|
+
|
|
140
|
+
CharDesc = (CHAR_DESC) Emalloc (sizeof (CHAR_DESC_STRUCT));
|
|
141
|
+
CharDesc->NumFeatureSets = FeatureDefs.NumFeatureTypes;
|
|
142
|
+
|
|
143
|
+
for (i = 0; i < CharDesc->NumFeatureSets; i++)
|
|
144
|
+
CharDesc->FeatureSets[i] = NULL;
|
|
145
|
+
|
|
146
|
+
return (CharDesc);
|
|
147
|
+
|
|
148
|
+
} /* NewCharDescription */
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
/*---------------------------------------------------------------------------*/
|
|
152
|
+
void WriteCharDescription(FILE *File, CHAR_DESC CharDesc) {
|
|
153
|
+
/*
|
|
154
|
+
** Parameters:
|
|
155
|
+
** File open text file to write CharDesc to
|
|
156
|
+
** CharDesc character description to write to File
|
|
157
|
+
** Globals: none
|
|
158
|
+
** Operation: Write a textual representation of CharDesc to File.
|
|
159
|
+
** The format used is to write out the number of feature
|
|
160
|
+
** sets which will be written followed by a representation of
|
|
161
|
+
** each feature set.
|
|
162
|
+
** Each set starts with the short name for that feature followed
|
|
163
|
+
** by a description of the feature set. Feature sets which are
|
|
164
|
+
** not present are not written.
|
|
165
|
+
** Return: none
|
|
166
|
+
** Exceptions: none
|
|
167
|
+
** History: Wed May 23 17:21:18 1990, DSJ, Created.
|
|
168
|
+
*/
|
|
169
|
+
int Type;
|
|
170
|
+
int NumSetsToWrite = 0;
|
|
171
|
+
|
|
172
|
+
for (Type = 0; Type < CharDesc->NumFeatureSets; Type++)
|
|
173
|
+
if (CharDesc->FeatureSets[Type])
|
|
174
|
+
NumSetsToWrite++;
|
|
175
|
+
|
|
176
|
+
fprintf (File, " %d\n", NumSetsToWrite);
|
|
177
|
+
for (Type = 0; Type < CharDesc->NumFeatureSets; Type++)
|
|
178
|
+
if (CharDesc->FeatureSets[Type]) {
|
|
179
|
+
fprintf (File, "%s ", (FeatureDefs.FeatureDesc[Type])->ShortName);
|
|
180
|
+
WriteFeatureSet (File, CharDesc->FeatureSets[Type]);
|
|
181
|
+
}
|
|
182
|
+
} /* WriteCharDescription */
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
/*---------------------------------------------------------------------------*/
|
|
186
|
+
CHAR_DESC ReadCharDescription(FILE *File) {
|
|
187
|
+
/*
|
|
188
|
+
** Parameters:
|
|
189
|
+
** File open text file to read character description from
|
|
190
|
+
** Globals: none
|
|
191
|
+
** Operation: Read a character description from File, and return
|
|
192
|
+
** a data structure containing this information. The data
|
|
193
|
+
** is formatted as follows:
|
|
194
|
+
** NumberOfSets
|
|
195
|
+
** ShortNameForSet1 Set1
|
|
196
|
+
** ShortNameForSet2 Set2
|
|
197
|
+
** ...
|
|
198
|
+
** Return: Character description read from File.
|
|
199
|
+
** Exceptions: ILLEGAL_NUM_SETS
|
|
200
|
+
** History: Wed May 23 17:32:48 1990, DSJ, Created.
|
|
201
|
+
*/
|
|
202
|
+
int NumSetsToRead;
|
|
203
|
+
char ShortName[FEAT_NAME_SIZE];
|
|
204
|
+
CHAR_DESC CharDesc;
|
|
205
|
+
int Type;
|
|
206
|
+
|
|
207
|
+
if (fscanf (File, "%d", &NumSetsToRead) != 1 ||
|
|
208
|
+
NumSetsToRead < 0 || NumSetsToRead > FeatureDefs.NumFeatureTypes)
|
|
209
|
+
DoError (ILLEGAL_NUM_SETS, "Illegal number of feature sets");
|
|
210
|
+
|
|
211
|
+
CharDesc = NewCharDescription ();
|
|
212
|
+
for (; NumSetsToRead > 0; NumSetsToRead--) {
|
|
213
|
+
fscanf (File, "%s", ShortName);
|
|
214
|
+
Type = ShortNameToFeatureType (ShortName);
|
|
215
|
+
CharDesc->FeatureSets[Type] =
|
|
216
|
+
ReadFeatureSet (File, FeatureDefs.FeatureDesc[Type]);
|
|
217
|
+
}
|
|
218
|
+
return (CharDesc);
|
|
219
|
+
|
|
220
|
+
} // ReadCharDescription
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
/*---------------------------------------------------------------------------*/
|
|
224
|
+
int ShortNameToFeatureType(const char *ShortName) {
|
|
225
|
+
/*
|
|
226
|
+
** Parameters:
|
|
227
|
+
** ShortName short name of a feature type
|
|
228
|
+
** Globals: none
|
|
229
|
+
** Operation: Search thru all features currently defined and return
|
|
230
|
+
** the feature type for the feature with the specified short
|
|
231
|
+
** name. Trap an error if the specified name is not found.
|
|
232
|
+
** Return: Feature type which corresponds to ShortName.
|
|
233
|
+
** Exceptions: ILLEGAL_SHORT_NAME
|
|
234
|
+
** History: Wed May 23 15:36:05 1990, DSJ, Created.
|
|
235
|
+
*/
|
|
236
|
+
int i;
|
|
237
|
+
|
|
238
|
+
for (i = 0; i < FeatureDefs.NumFeatureTypes; i++)
|
|
239
|
+
if (!strcmp ((FeatureDefs.FeatureDesc[i]->ShortName), ShortName))
|
|
240
|
+
return (i);
|
|
241
|
+
DoError (ILLEGAL_SHORT_NAME, "Illegal short name for a feature");
|
|
242
|
+
return 0;
|
|
243
|
+
|
|
244
|
+
} // ShortNameToFeatureType
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: featdefs.h
|
|
3
|
+
** Purpose: Definitions of currently defined feature types.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Mon May 21 08:28:01 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
|
+
#ifndef FEATDEFS_H
|
|
19
|
+
#define FEATDEFS_H
|
|
20
|
+
|
|
21
|
+
/**----------------------------------------------------------------------------
|
|
22
|
+
Include Files and Type Defines
|
|
23
|
+
----------------------------------------------------------------------------**/
|
|
24
|
+
#include "ocrfeatures.h"
|
|
25
|
+
|
|
26
|
+
/* Enumerate the different types of features currently defined. */
|
|
27
|
+
#define NUM_FEATURE_TYPES 4
|
|
28
|
+
|
|
29
|
+
/* define error traps which can be triggered by this module.*/
|
|
30
|
+
#define ILLEGAL_SHORT_NAME 2000
|
|
31
|
+
|
|
32
|
+
/* A character is described by multiple sets of extracted features. Each
|
|
33
|
+
set contains a number of features of a particular type, for example, a
|
|
34
|
+
set of bays, or a set of closures, or a set of microfeatures. Each
|
|
35
|
+
feature consists of a number of parameters. All features within a
|
|
36
|
+
feature set contain the same number of parameters.*/
|
|
37
|
+
|
|
38
|
+
typedef struct
|
|
39
|
+
{
|
|
40
|
+
uinT32 NumFeatureSets;
|
|
41
|
+
FEATURE_SET FeatureSets[NUM_FEATURE_TYPES];
|
|
42
|
+
} CHAR_DESC_STRUCT;
|
|
43
|
+
typedef CHAR_DESC_STRUCT *CHAR_DESC;
|
|
44
|
+
|
|
45
|
+
typedef struct
|
|
46
|
+
{
|
|
47
|
+
uinT32 NumFeatureTypes;
|
|
48
|
+
FEATURE_DESC FeatureDesc[NUM_FEATURE_TYPES];
|
|
49
|
+
FEATURE_EXT_STRUCT* FeatureExtractors[NUM_FEATURE_TYPES];
|
|
50
|
+
int FeatureEnabled[NUM_FEATURE_TYPES];
|
|
51
|
+
} FEATURE_DEFS_STRUCT;
|
|
52
|
+
typedef FEATURE_DEFS_STRUCT *FEATURE_DEFS;
|
|
53
|
+
|
|
54
|
+
/*----------------------------------------------------------------------
|
|
55
|
+
Generic functions for manipulating character descriptions
|
|
56
|
+
----------------------------------------------------------------------*/
|
|
57
|
+
void FreeCharDescription(CHAR_DESC CharDesc);
|
|
58
|
+
|
|
59
|
+
CHAR_DESC NewCharDescription();
|
|
60
|
+
|
|
61
|
+
void WriteCharDescription(FILE *File, CHAR_DESC CharDesc);
|
|
62
|
+
|
|
63
|
+
CHAR_DESC ReadCharDescription(FILE *File);
|
|
64
|
+
|
|
65
|
+
int ShortNameToFeatureType(const char *ShortName);
|
|
66
|
+
|
|
67
|
+
/**----------------------------------------------------------------------------
|
|
68
|
+
Global Data Definitions and Declarations
|
|
69
|
+
----------------------------------------------------------------------------**/
|
|
70
|
+
extern FEATURE_DEFS_STRUCT FeatureDefs;
|
|
71
|
+
#endif
|