]> pere.pagekite.me Git - homepage.git/blob - mypapers/sane-slides/sane-slides.tex
Generated.
[homepage.git] / mypapers / sane-slides / sane-slides.tex
1 \documentclass[a4, landscape, semrot]{seminar}
2
3 \usepackage{fancybox}
4 \usepackage{graphicx}
5 \usepackage{picinpar}
6
7 \slideframe{Oval}
8
9 \def\urlend#1{#1\endgroup}
10 \def\url{\begingroup \tt
11 \catcode`\_=13 % Don't know why this works.
12 \catcode`\~=11 \catcode`\#=11 \catcode`\^=11
13 \catcode`\$=11 \catcode`\&=11 \catcode`\%=11
14 \urlend}% \url for plain \TeX.
15
16 \newcommand{\heading}[1]{%
17 \begin{center}
18 \large\bf #1%
19 \end{center}
20 \vspace{1ex minus 1ex}}
21
22 \newpagestyle{MH}%
23 {UWA/CIIPS Seminar, Perth, 2000-07-27\hfill\thepage}%
24 {SANE: Scanner Access Now Easy \hfill Petter Reinholdtsen}
25 \pagestyle{MH}
26
27 \rotateheaderstrue
28
29
30 \begin{document}
31
32 \begin{slide}
33
34 \begin{center}
35 \includegraphics[height=2cm]{sane-logo-2}
36 \end{center}
37
38 \heading{SANE: Scanner Access Now Easy - on Unix}
39
40 \begin{center}
41 Petter Reinholdtsen $<$pere@hungry.com$>$
42 \end{center}
43
44 \begin{abstract}
45 SANE is an open source project to provide scanner support on Unix. It
46 supports more then 200 different scanners and works on almost all Unix
47 platforms.
48 \end{abstract}
49
50 \end{slide}
51
52 \begin{slide}
53
54 \heading{What is SANE}
55
56 \begin{itemize}
57
58 \item Open Source multi-platform project with developers all over the
59 world.
60
61 \item Application programming interface (API) that provides
62 standardized access to any raster image scanner hardware (flatbed
63 scanner, hand-held scanner, video- and still-cameras,
64 frame-grabbers, etc.).
65
66 \item Network protocol to communicate with scanner servers --- hosts
67 with attached scanner hardware.
68
69 \end{itemize}
70
71 \end{slide}
72
73 \begin{slide}
74
75 \heading{Why another scanner API}
76
77 When the SANE project started, there were no common scanner API on
78 Unix. Some programs supported some scanners, but every program
79 maintained it's own drivers.
80
81 TWAIN existed only on Windows and Macintosh. The TWAIN API is not
82 usable, because GUI and scanner driver is one (i.e. platform
83 dependent) and it has no network support.
84
85 \newslide
86
87 \heading{Example:\\
88 The MEMS Exchange Remote Microscope\footnote{\url{http://www.mems-exchange.org/exchange/software/microscope/}}}
89
90 \begin{itemize}
91
92 \item automated and remotely controllable semiconductor inspection
93 microscopes
94
95 \item lets MEMS designers view their wafers after critical processing
96 steps from any location having an Internet connection.
97
98 \end{itemize}
99
100 \subsubsection*{Components}
101
102 \begin{itemize}
103
104 \item an optical microscope (currently a Leica INM200 or
105 INS1000)
106
107 \item a server which controls the microscope
108
109 \item a JavaTM applet or servlet that constructs the client interface.
110 \end{itemize}
111
112 \newslide
113
114 \heading{A three layered architecture}
115 \begin{center}
116 \includegraphics[height=4cm]{architecture}
117 \end{center}
118 \begin{itemize}
119
120 \item Frontend is backend and platforms independent
121
122 \item Backends are platform independent
123
124 \item The sane internal (sanei) API hides all platform dependent code
125 (SCSI, parport, serial, network and config file API) from the
126 backends.
127
128
129 \end{itemize}
130
131 \newslide
132 \heading{Setting up SANE}
133 \subsection*{Fetch and compile}
134
135 Download latest distribution from \url{http://www.mostang.com/sane/},
136 current stable version is 1.0.2.
137
138 Unpack:\\
139 {\tt tar zxvf sane-<version>.tar.gz}
140
141 Compile:\\
142 {\tt ./configure <--prefix=[/usr/local]>\\
143 make; make install}.
144
145 When successful, {\tt scanimage}, {\tt xscanimage}, {\tt xcam}, {\tt
146 sane-config} should be available in /usr/local/bin;.
147
148 {\tt xscanimage} require the Gtk library and might be missing.
149
150 \newslide
151
152 \subsection*{Configuration}
153
154 The SANE config files hide in {\tt <prefix>/etc/sane.d/}.
155
156 \begin{itemize}
157 \item local scanner
158 \begin{itemize}
159 \item {\tt dll.conf} \\
160 List of backends to load. Comment out the unused ones to
161 reduce startup time. ('man sane-dll' for details)
162 \item {\tt $<$backend$>$.conf} \\
163 Backend-dependent configuration, normally path to scanner device.
164 \item Test with {\tt scanimage -L} and {\tt scanimage -T}
165 \item If nothing works, try to set environment
166 {\tt SANE\_DEBUG\_DLL=128} to get debug information.
167 \end{itemize}
168 \newslide
169 \item network scanner
170 \begin{itemize}
171 \item {\tt /etc/inetd.conf} and {\tt /etc/services} (server side)
172 to start saned. ('man saned' for details)
173 \item {\tt saned.conf} (server side)\\
174 List of hosts allowed to access scanner. Insert '+' to allow
175 everyone and leave access control to tcp\_wrapper.
176 \item {\tt net.conf} (client side)\\
177 List of scanner server hosts to contact.
178 \end{itemize}
179 \end{itemize}
180
181
182 \newslide
183
184 \heading{Frontends}
185
186 I'm aware of the following applications with SANE support.
187
188 \begin{itemize}
189 \item {\tt scanimage} for batch scanning
190 \item {\tt xscanimage} / {\tt xsane} for GUI. (also as GIMP plugins)
191 \item WWW frontend (SANEcgi)
192 \item Pyton and Tcl/Tk client
193 \item NextStep client (NSane)
194 \item BeOS client
195 \item OS/2 client (ScanIt/2)
196 \item winsane / xsane for Windows
197 \end{itemize}
198
199 {\tt xsane} is the best client for Unix/X11 at the moment.
200
201 \newslide
202
203 \heading{Supported scanners and platforms}
204 \begin{itemize}
205 \item 35 backends and $>200$ different models
206 \item Mostly SCSI, some parallel port and some USB scanners
207
208 \item Works on Unix (Linux, *BSD, HP/UX, OpenSTEP, DEC Unix, SCO *,
209 Irix, Solaris, AUX, DomainOS), OS/2, BeOS and sometimes even on
210 Windows.
211 \end{itemize}
212
213 \newslide
214
215 \heading{Thank you}
216
217 \begin{center}
218 \includegraphics[height=5cm]{sane-logo-2}
219
220 \url{http://www.mostang.com/sane/}
221 \end{center}
222 \end{slide}
223 \end{document}