1IIPSRV(8)                   System Manager's Manual                  IIPSRV(8)
2
3
4

NAME

6       IIPSRV - IIPImage Image Server
7
8

DESCRIPTION

10       IIPImage  is  an  advanced high-performance feature-rich multi-protocol
11       image server for web-based streamed viewing and zooming of ultra  high-
12       resolution  images.  It  is designed to be fast and bandwidth-efficient
13       with low processor and memory requirements. The system can  comfortably
14       handle gigapixel size images as well as advanced image features such as
15       8, 16 and 32 bit depths,  CIELAB  colorimetric  images  and  scientific
16       imagery such as multispectral images.  Source images can be either TIFF
17       (tiled multi-resolution) or JPEG2000 (if enabled).
18
19       The image server can also dynamically export images in JPEG format  and
20       perform basic image processing, such as contrast adjustment, gamma con‐
21       trol, conversion from color to greyscale, color twist,  region  extrac‐
22       tion and arbitrary rescaling. The server can also export spectral point
23       or profile data from multispectral data and apply color maps or perform
24       hillshading rendering.
25
26

SYNOPSIS

28       Command line use:
29
30       iipsrv.fcgi --bind host : port
31
32
33

FILES

35       iipsrv.fcgi main executable
36
37       iipsrv.log log file: usually in /var/log/ or /tmp/
38
39
40

OPTIONS

42       There  are several parameters that can be supplied to iipsrv.fcgi These
43       should be set via the appropriate web server  configuration  directives
44       if  running  via  Apache  or  Lighttpd. See EXAMPLES for details of web
45       server configuations.  Alternatively these parameters can  be  set  via
46       environment  settings if running directly from the command line or from
47       spawn-fcgi.
48
49
50       LOGFILE
51              The log file the module will (attempt) to write to. If no  value
52              is  given,  no log will be written. Make sure the server process
53              has write access to this directory. Paths with  spaces  in  them
54              may not work correctly.
55
56       VERBOSITY
57              The  level of logging. 0 means no logging, 1 is minimal logging,
58              2 lots of debugging stuff and 3 even more debugging stuff and  4
59              a  very  large amount indeed. Logging is only enabled if LOGFILE
60              has also been defined.
61
62       JPEG_QUALITY
63              The default JPEG quality factor for compression when the  client
64              does  not  specify  one.  The value should be between 1 (highest
65              level of compression)  and  100  (highest  image  quality).  The
66              default is 75.
67
68       MAX_IMAGE_CACHE_SIZE
69              Max image cache size to be held in RAM in MB. This is a cache of
70              the compressed JPEG image tiles requested  by  the  client.  The
71              default is 5MB.
72
73       FILESYSTEM_PREFIX
74              This is a prefix automatically added by the server to the begin‐
75              ning of each file system path. This can be useful  for  security
76              reasons to limit access to certain sub-directories. For example,
77              with a prefix of "/home/images/" set on the server, a request by
78              a    client   for   "image.tif"   will   point   to   the   path
79              "/home/images/image.tif".  Any reverse directory path  component
80              such as ../ is also filtered out. No default value.
81
82       MAX_CVT
83              The  maximum permitted image pixel size returned by the CVT com‐
84              mand in conjunction with WID or HEI or RGN. The default is 5000.
85              This prevents huge requests from overloading the server
86
87       MAX_LAYERS
88              The  maximum  number  of quality layers to decode for image that
89              support progressive quality encoding, such as JPEG2000.  Ignored
90              for  other file formats. By default half of the available layers
91              are decoded. If set to -1, all  the  available  layers  will  be
92              decoded.
93
94       WATERMARK
95              TIFF image to use as watermark file. This image should be not be
96              bigger the tile size used for TIFF tiling. If  bigger,  it  will
97              simply  be  cropped  to the tile size. If smaller, the watermark
98              will be positioned randomly  within  the  available  space.  The
99              image can be either colour or grayscale.
100
101       WATERMARK_PROBABILITY
102              The  probability  that  a  particilar tile will have a watermark
103              applied to it. 0 means never, 1 means always.
104
105       WATERMARK_OPACITY
106              The opacity (between 0 and 1) applied to the watermark image.
107
108       MEMCACHED_SERVERS
109              A comma-delimitted list of memcached servers with optional  port
110              numbers. For example: localhost,192.168.0.1:8888,192.168.0.2.
111
112       MEMCACHED_TIMEOUT
113              Time  in seconds that cache remains fresh. Default is 86400 sec‐
114              onds (24 hours).
115
116       FILENAME_PATTERN
117              Pattern that  follows  the  name  stem  for  a  panoramic  image
118              sequence.   eg:  "_pyr_" for FZ1_pyr_000_090.tif.  In this exam‐
119              ple, just supply FZ1 to the FIF command. The "000" indicates the
120              vertical  angle  and "090" the horizontal. This is only relevant
121              to 3D image sequences. The default is "_pyr_".
122
123       CORS   Cross Origin Resource Sharing setting. Disabled by default.  Set
124              to  "*"  to  enable  for all domains or specify a single domain.
125              See http://www.w3.org/TR/cors/ for more details on CORS.
126
127       BASE_URL
128              Set a base URL for use  in  certain  protocol  requests  if  web
129              server  rewriting  has taken place and the public URL is not the
130              same as that supplied to iipsrv
131
132       CACHE_CONTROL
133              Set the HTTP Cache-Control header. See  http://www.w3.org/Proto
134              cols/rfc2616/rfc2616-sec14.html#sec14.9   for  a  full  list  of
135              options. If not set,  header  defaults  to  "max-age=86400"  (24
136              hours).
137
138
139

EXAMPLES

141       iipsrv  will  be automatically started by both Apache and Lighttpd. But
142       not by Nginx or Java Application Servers.  See the  example  configura‐
143       tion in the README or included with your distribution for the appropri‐
144       ate syntax.  Note that Apache has two  FCGI  modules:  mod_fastcgi  and
145       mod_fcgid which are configured differently.
146
147       You  may  also  wish to run iipsrv as a standalone program. To do this,
148       use the following syntax to bind to a particular port  and  listen  for
149       FCGI  (not  HTTP) requests.  In the following example, iipsrv will bind
150       to port 9000 on the machine's IP address 192.168.0.1:
151
152       % iipsrv.fcgi --bind 192.168.0.1:9000
153
154       There is additionally a --backlog parameter that is optional  and  sets
155       the  socket  backlog  value.  The backlog value specifies the number of
156       requests can be queued and, therefore, increases the number of  concur‐
157       rent  connections that iipsrv can handle and is set to 2048 by default.
158       For example:
159
160       % iipsrv.fcgi --bind 192.168.0.1:9000 --backlog 1024
161
162       Note that the backlog parameter must be specified after the bind param‐
163       eter  and  argument.   Note  also that this value may be limited by the
164       operating system. On Linux kernels < 2.4.25 and Mac OS X,  the  backlog
165       limit  is hard-coded to 128, so any value above this will be limited to
166       128 by the OS. If you do provide a backlog value,  verify  whether  the
167       setting /proc/sys/net/core/somaxconn should be updated.
168
169
170       It  is  also  possible to run iipsrv via the spawn-fcgi program. Set up
171       any parameters via environment variables and run the command as follows
172       to  bind,  as  in  the  previous  example  to  port  9000 on IP address
173       192.168.0.1:
174
175       % spawn-fcgi -f src/iipsrv.fcgi -a 192.168.0.1 -p 9000
176
177       For use in stand alone or spawn-fcgi mode, you will then need  to  con‐
178       figure  your  webserver  on  the same machine or another to direct FCGI
179       protocol requests to this IP address and port.
180
181       For web servers such as Nginx or Java Application Servers such as  Tom‐
182       cat,  JBoss  or Jetty, which cannot automatically start FCGI processes,
183       iipsrv will need to be started in stand alone mode or via spawn-fcgi.
184
185
186

PROTOCOLS

188       The IIPImage server supports the Internet Imaging Protocol (IIP) ,  the
189       Zoomify  protocol,  the DeepZoom and the International Image Interoper‐
190       ability Framework  (IIIF)  protocols.  Client  applications  supporting
191       these  protocols should be able to use iipsrv as their back-end server.
192       IIP is the most feature rich of the 4 protocols and  allows  access  to
193       the more advanced imaging server features.
194
195
196
197

IMAGE PATHS

199       The  image  paths  given  to  the  server must be absolute paths on the
200       server machine  (eg.  via  the  FIF  variable  for  the  IIP  protocol:
201       FIF=/images/test.tif) and not paths relative to the web server document
202       root location. If the FILESYSTEM_PREFIX server directive has  been  set
203       (see  OPTIONS  above),  then this prefix is automatically pre-pended to
204       all requests to generate the absolute image path. Make  sure  that  the
205       server process owner is able to access and read the images.
206
207       Note  that  images  do not need to be directly accessible externally by
208       the client via the web server.
209
210
211

SEE ALSO

213       IIPImage website: http://iipimage.sourceforge.net
214
215

AUTHORS

217       Ruven Pillay <ruven@users.sourceforge.net>
218
219
220
221
222Ruven Pillay                     February 2016                       IIPSRV(8)
Impressum