-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
108 lines (84 loc) · 4.78 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Scantelope facilitates decoding of data matrix-labeled test tubes.
It supports a few scanners including the Avision AVA6 Plus.
Copyright (c) 2011 Ginkgo Bioworks Inc.
Copyright (c) 2011 Daniel M Taub
This file is part of Scantelope.
Scantelope is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
DEPENDENCIES:
Python 2.x where x = 6 or greater
Imagemagick 6.5.8-9 or greater
http://www.imagemagick.org/
OpenCV 2.2 + and python wrapper - module named "cv"
http://sourceforge.net/projects/opencvlibrary/
libdmtx and python wrapper -module named "pydmtx"
http://www.libdmtx.org/
sane
http://www.sane-project.org/
FILES:
README this readme file
COPYING GPL 3.0
serv.py Main application - uses http API (described below)
test.py Test application - runs 10 scans
box_adaptors/ contains schematics for scanner jigs
drivers/ contains drivers for sane
10-saned.rules udev rules file for Avision scanner to allow
running the software as any user in the 'scanner' group
* other files are subroutines, supporting files, etc
INSTALLATION:
May need to do this on 64-bit: ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.4.3.4 /usr/lib/libtiff.so.3
NOTE: install.sh is an installation script for a debian-based (ubuntu, mint, etc) system.
You may run this as user with sudo access, but make sure to check the SCANUSER and ARCH variables.
WARNING: this script will replace your libsane-avision drivers with binary drivers from the manufacturer.
The default behavior creates the 'scanner' group and adds the current user to said group.
ARCH defaults to 'i386' but 'amd64' and 'arm' are also valid. The script requires a good amount of space
in /tmp or you can change the directory/comment out the 'cd' call. Feel free to delete installation
directories after install. Before the scanner will work, after installing new drivers, it may be necessary
to unplug-replug the scanner and/or restart/relogin before running serv.py.
0) install all dependencies
a) required packages: cmake python-numpy g++ python-dev git-core autoconf automake libtool sane
b) ImageMagic-6.5.8-9 or later
c) OpenCV 2.2 or later
d) libdmtx and dmtx-wrappers/python
1) install sane drivers
2) create 'scanner' group and add chosen user(s) to it
3) set up udev permissions 10-saned.rules
- test scanner visibility with 'scanimage -L'
- run 'python serv.py' (or test.py for test)
- browse to http://localhost:2233/scan/status
INTERFACE:
(http API)
http://localhost:2233{command}
replace {command} with: in order to:
/scan/status show current server settings and most recent log message
/scan/list list available scanners
/scan/select/{0,1...n} select scanner from list
/config/ view current "inner" image and show options
/use/{cfgName} use configuration {cfgName} for current scanner
/res/{600|300} select resolution
/xoff/{integer} select xoffset
/yoff/{integer} select yoffst
/config/save saves current configuration to a file
/config/calibrate automatically configure box position/boundaries and save as default
/ view CSV of most-recently decoded
/images/n_m.jpg view image from row n (0-7) and column m (0-11)
/images/inner.jpg view full plate image
The scanning should start on first http access, and will stop automatically
SUPPORTED SCANNERS:
Scantelope will not work with just any scanner. Since the label of a matrix
tube generally sits above the surface of the flatbed, it requires a scanner
with a large depth-of-field to work properly.
For this reason, we recommend the Avision AVA6 Plus and have included the
binary sane drivers as well as a schematic describing the jig we use to
position the rack on the bed. You can build your own, but may need to tweak
the values in the CONFIG class of the scan.py module.
There is also limited support for the hp3900 which we do not intend to
expand at this time.