reference/ocr-simple/link.cc
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#include <tcl.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#include "link.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
#include "tcl_interface.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
#include "system.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
/*
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
To link tcl and C variables:  (variable num)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
int num;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
LINK_VARIABLE(num, INT);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
make sure the variable is external and in system.h
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
so that everyone can get at it
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
*/
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
int DISPLAY_SPELLING_MISTAKES = 0;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
extern Tcl_Interp* TCL_ip;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
#define LINK_VARIABLE(name, type) \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
Tcl_LinkVar(TCL_ip, #name, (void*) &name, TCL_LINK_##type)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
int init_link_vars()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
  LINK_VARIABLE(ENABLE_USER_INTERFACE, INT);  // 0 turns the display off 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
  LINK_VARIABLE(VERY_LOW_CONFIDENCE, INT); // Words that display in red
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
  LINK_VARIABLE(LOW_CONFIDENCE, INT); // Words that will be displayed in blue
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
  LINK_VARIABLE(DISPLAY_LINE_BOUNDARIES, INT); // Words that display in blue
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
  LINK_VARIABLE(DISPLAY_BOUNDING_BOXES, INT); // Display component boundaries
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
  LINK_VARIABLE(SPELLCHECK, INT); // should the page be spellchecked
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
  LINK_VARIABLE(DISPLAY_IMAGE, INT); // display the scanned image?
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
  LINK_VARIABLE(DESKEW_METHOD, INT); // 1 for rle, 0 for bitmap
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
  LINK_VARIABLE(DISPLAY_SPELLING_MISTAKES, INT); 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
  LINK_VARIABLE(SCALE_FACTOR, DOUBLE);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
  LINK_VARIABLE(NoiseTolerance, INT);// Minimum num of pixels in line of text 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
  LINK_VARIABLE(MinLineSize, INT);        // Minimum number of rows in line of text
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
  LINK_VARIABLE(MinVertSeparation, INT);  // Minimum number of rows between lines of text
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
  LINK_VARIABLE(MinHorizSeparation, INT); // Minimum number of blank pixels btween chars
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
  LINK_VARIABLE(ConfidenceThreshold, INT);// Minimum confidence for some operations
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
  LINK_VARIABLE(JoinTolerance, INT);     // Maximum number of pixels 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
                                         // joining two fused characters
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
  // The next 4 are used in character grouping
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
  LINK_VARIABLE( MaxVertSize, INT);  // Max vert pixels in char 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
  LINK_VARIABLE( BaseLineTolerance, INT);  // How far from baseline is 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
                                           // okay 1/INT * linesize
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
  LINK_VARIABLE( TopLineTolerance, INT);   // How far from topline 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
                                           //is okay 1/INT *linesize
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
  /* Constants for the number of horizontal and vertical divisions 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
     for determining the gray scale property vector for each component */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
  LINK_VARIABLE( NumHorizDiv, INT);        //Number of horizontal divisions
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
  LINK_VARIABLE( NumVertDiv, INT);         //Number of vertical divisions
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
  LINK_VARIABLE( SCALE_FACTOR, DOUBLE);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
}