Welcome, Guest! Log In | Create Account

Appendix

Setting environment variables in Windows

To set the environment variable LIPI_ROOT
Imported from wikispaces► Open the properties of "My Computer" from Windows Explorer.
Imported from wikispaces► Go to "Advanced" sheet from property dialog.
Imported from wikispaces► Click on "Environment variables" button and add this new variable under "user variables".

Setting environment variable in Linux

In case of Linux, set the environment variable using the appropriate shell command:

export LIPI_ROOT=/home/testusers/lipi-core-toolkit2.2.0
export LD_LIBRARY_PATH=$LIPI_ROOT/lib

Downloading cabarc.exe

You can download the Microsoft Cabinet SDK from the following link:
http://support.microsoft.com/default.aspx?scid=kb;en-us;310618

After downloading, execute cabsdk.exe and it will prompt for the directory where the files can be extracted. Give any directory and ensure that the bin directory (after extracting) is added to System PATH variable for you to execute cabarc.exe from anywhere.

Perl for Windows

Download Perl from the following link: http://www.activestate.com/Products/ActivePerl/
For install instructions, follow the link:http:''aspn.activestate.com/ASPN/docs/ActivePerl/install.html

Configurable make settings for Windows for VC 6.0

The different configurations that the user can modify for Windows are given below:

Configurable options Remarks
RELOPT=Release This flag is used for the final target release option·Release·Debug
BUILD=BUILD This flag is used to build the project.Another option is REBUILD – this flag is used to clean the project every time before building the project.
CLEAN=CLEAN This flag is used for cleaning the project.
MSDEV=msdev This flag is used to compile the VC++6.0 project space.

Sample ink file

.VERSION 1.0
.HIERARCHY CHARACTER
.COORD X Y T
.SEGMENT CHARACTER 0 OK "0"
.H_LINE 1374 2249
.V_LINE 499 1250
.X_DIM 750
.Y_DIM 874
.X_POINTS_PER_INCH 1000
.Y_POINTS_PER_INCH 1000
.POINTS_PER_SECOND 125
.COMMENT CALIB X: 26 Y: -29

.PEN_DOWN
736 1683 0
733 1684 0
737 1684 0
.....
.....
.....
1042 1672 0
1044 1669 0
1038 1670 0
.PEN_UP

An ink for character recognition must have the following attributes
Imported from wikispaces► The .HIERARCHY tag should identify it as a CHARACTER
Imported from wikispaces► The stroke indices and the truth corresponding to it should also be written in the ink file.
Example:

.SEGMENT CHARACTER 0 OK "0"

The above mentioned line specify that
Imported from wikispaces► The truth associated with the character 0 is class 0

Sample ink file for runwordrec

An ink for word recognition must have the following attributes
Imported from wikispaces► The .HIERARCHY tag should identify it as a WORD CHARACTER, as opposed to CHARACTER for a shape recognition ink file.
Imported from wikispaces► The stroke indices and the truth corresponding to them should also be written in the ink file.
Example:

.SEGMENT CHARACTER 0 GOOD "0 0 __"
.SEGMENT CHARACTER 1,2 GOOD "1 0 __"
.SEGMENT CHARACTER 3 GOOD "2 0 __"

The above mentioned lines specify that
Imported from wikispaces► The truth associated with the character with stroke index 0 is class 0
Imported from wikispaces► Stroke index 1 and 2 correspond to class 1
Imported from wikispaces► Stroke index 3 corresponds to class 2

.VERSION 1.0 0
.HIERARCHY WORD CHARACTER
.COORD X Y T
.SEGMENT WORD
.X_POINTS_PER_INCH 2500
.Y_POINTS_PER_INCH 2500
.POINTS_PER_SECOND 1200
.SEGMENT CHARACTER 0 GOOD "0 0 __"
.SEGMENT CHARACTER 1,2 GOOD "1 0 __"
.SEGMENT CHARACTER 3 GOOD "2 0 __"

.PEN_DOWN
3814 182 17184
3816 181 0
3814 181 0
3594 298 0
...
...
...
3583 260 0
3583 260 0
.PEN_UP
.PEN_DOWN
3908 730 2513
3919 716 0
3936 694 0
3955 671 0
...
...
...
4423 1482 0
4431 1475 0
4433 1466 15632
.PEN_UP
.PEN_DOWN
3754 1667 2513
3766 1672 0
3787 1671 0
...
...
...
5010 1604 0
5105 1606 0
5184 1611 0
5229 1624 17605
.PEN_UP
.PEN_DOWN
3763 418 17184
3750 426 0
3735 432 0
...
...
...
4531 1473 0
4587 1473 25396
.PEN_UP

Configurable make settings for Linux

In the case of Linux, the configurable options are specified in global.mk

Configurable options Remarks
CC=g++ GNU compiler used for compiling cpp files
LINKLIB=-ldl –lc Add any standard required libraries, e.g.–lm links math library
CFLAGS = -c To compile in debugging mode add -g to CFLAGS
SHFLAGS=-shared –fpic Flags required to build .so shared object

Module dependencies on Windows

Module Static Library
lipiengine common.lib, utils.lib, shapereccommon.lib, wordreccommon.lib
pointfloat common.lib, utils.lib, featureextractorcommon.lib
preproc common.lib, utils.lib, shapereccommon.lib
nn common.lib, utils.lib, shapereccommon.lib, featureextractorcommon.lib
boxfld common.lib, utils.lib, shapereccommon.lib, featureextractorcommon.lib, wordreccommon.lib
imgwriter common.lib, utils.lib, shapereccommon.lib
logger utils.lib
mdv common.lib, utils.lib
runshaperec common.lib, utils.lib, shapereccommon.lib
runwordrec common.lib, utils.lib, shapereccommon.lib, wordreccommon.lib
shaperectst common.lib, utils.lib, shapereccommon.lib
wordrectst common.lib, utils.lib, wordreccommon.lib

Module dependencies on Linux

Module Static Library
lipiengine common.a, utils.a, shapereccommon.a, wordreccommon.a
pointfloat common.a, utils.a, featureextractorcommon.a
preproc common.a, utils.a, shapereccommon.a
nn common.a, utils.a, shapereccommon.a, featureextractorcommon.a
boxfld common.a, utils.a, shapereccommon.a, featureextractorcommon.a, wordreccommon.a
imgwriter common.a, utils.a, shapereccommon.a
logger utils.a
mdv common.a, utils.a
runshaperec common.a, utils.a, shapereccommon.a
runwordrec common.a, utils.a, shapereccommon.a, wordreccommon.a
shaperectst common.a, utils.a, shapereccommon.a
wordrectst common.a, utils.a, wordreccommon.a//

Options file for the eval tool

Optionsfile.txt
# File containing the results
input=/home/user/lipitk/resultfile.txt

# Output file to write the accuracy
# If not mentioned the output is displayed on the screen
output=outputfile.txt

# Number of top errors, to be printed in the performance analysis matrix
# default value is 5
top_errors=1

# Number of images per row in the HTML file of each class
# default value is 10
number_images_row=12

# Number of topchoices to consider for the performance analysis
# default value is 1
top_choices=3

Model data header information file

This model data header information file contains the metadata information about the model data file.

Sample model data header information file

Module Possible values Description
SCRIPT TAMIL, DEVANAGARI, GENERAL Name of the script/language on which this model data created
DATASETNAME String field A string holding the name of the dataset.For example: DATASETNAME=SchoolData
COMMENT String field Free field to store any text

References

[1] Lipitk: A Generic Toolkit for Online Handwriting Recognition, Sriganesh Madhvanath, DeepuVijayasenan and Thanigai Murugan Kadiresan, Proceedings of the 10th International Workshop on Frontiers in Handwriting Recognition (IWFHR-10), La Baule, France, Oct 2006. [2] The Carnegie Mellon Sphinx Project, http://cmusphinx.sourceforge.net. [3] The Festival Speech Synthesis System, http://www.cstr.ed.ac.uk/projects/festival/. [4] Shanmugham, S., Monaco, P. and B. Eberman, "MRCP: Media Resource Control Protocol", Internet Draft draft-shanmugham- mrcp-05, January 2004 [5] Rosetta - Multistroke / Full Word Handwriting Recognition for X, http://www.handhelds.org/project/rosetta/ [6] XStroke: Full-screen Gesture Recognition for X, [7] WayV Project, http://www.stressbunny.com/wayv/ [8] UNIPEN 1.0 Format Definition, http://www.unipen.org/pages/5/index.htm [9] InkML – The Digital Ink Markup Language, www.w3.org/2002/mmi/ink [10] UPX: A New XML Representation for Annotated Datasets of Online Handwriting Data, Mudit Agrawal, Kalika Bali, Sriganesh Madhvanath, Louis Vuurpijl, 8th International Conference on Document Analysis and Recognition (ICDAR 2005), Seoul, Korea, Aug 29 - Sept 1, 2005. [11] HRE API: A Portable Handwriting Recognition Engine Interface, http://playground.sun.com/pub/multimedia/handwriting/hre.html

Glossary

Project lipi-core-toolkit parlance for a grouping of recognizer configurations, targeted at a particular shape or word recognition problem.
Profile Specific set of configuration files associated with, and generally addressing a specific aspect of, a particular Project. Specific Profiles of the same Project may be created for specific writers, specific datasets, and so forth.
Lipitk Lipi Toolkit
HWR Hand-Writing Recognition
DLL Dynamic Link Library - On Windows platforms, a library linked dynamically as needed
SO Shared Object (Linux) - On Linux platforms, a library linked dynamically as needed
stroke The sequence of pen points between two consecutive pen events, pen down and pen up
tar A file compression format and utility generally found on UNIX platforms; the act of compressing a file using this utility
untar A utility for uncompressing files compressed using tar, generally found on UNIX platforms; the act of uncompressing a tar’d file using this utility
tarball or tar file A file in the tar format, generally a compressed collection of files
UNIPEN 1.0 A standard format from the International Unipen Foundation (http://www.unipen.org/) to store on-line handwriting data (as digital ink) and its annotations.