SourceForge: enblend/enblend: changeset 598:882223824422
Harden the detection of response files.
authorDr. Christoph L. Spiel <cspiel@freenet.de>
Sat Nov 07 10:02:29 2009 +0100 (7 weeks ago)
changeset 598882223824422
parent 597 af0a40a346e7
child 599 6a615eccb6e3
Harden the detection of response files.
Implied suggestion by Bruno Postle.
VERSION
doc/enblend.info
doc/enfuse.info
doc/filespec.texi
doc/versenblend.texi
src/common.h
src/filespec.cc
     1.1 --- a/VERSION	Fri Nov 06 09:42:01 2009 +0100
     1.2 +++ b/VERSION	Sat Nov 07 10:02:29 2009 +0100
     1.3 @@ -1,1 +1,1 @@
     1.4 -4.0-f2451287ddf1
     1.5 +4.0-af0a40a346e7
     2.1 --- a/doc/enblend.info	Fri Nov 06 09:42:01 2009 +0100
     2.2 +++ b/doc/enblend.info	Sat Nov 07 10:02:29 2009 +0100
     2.3 @@ -27,7 +27,7 @@
     2.4  Enblend
     2.5  *******
     2.6  
     2.7 -This manual is for Enblend (version 4.0-dd32463fe9de, 5 November 2009),
     2.8 +This manual is for Enblend (version 4.0-dd32463fe9de, 7 November 2009),
     2.9  a tool for compositing images in such a way that the seam between the
    2.10  images is invisible, or at least very difficult to see.
    2.11  
    2.12 @@ -260,7 +260,7 @@
    2.13       For convenience whitespace at the beginning and at the end of each
    2.14       line is ignored.  However, this implies that response files cannot
    2.15       represent filenames that start or end with whitespace, as there is
    2.16 -     no quoting syntax.  Filenames with embedded whatespace cause no
    2.17 +     no quoting syntax.  Filenames with embedded whitespace cause no
    2.18       problems, though.
    2.19  
    2.20  Only whole-line comments
    2.21 @@ -276,7 +276,16 @@
    2.22  
    2.23  Image filenames cannot start with `@'
    2.24       An at-sign always introduces a response file, even if the extension
    2.25 -     would hinto towards an image.
    2.26 +     would hint towards an image.
    2.27 +
    2.28 +   If Enblend or Enfuse do not recognize a response file, they will
    2.29 +issue a warning.  To force a file being recognized as a response file
    2.30 +add one of the following syntactic comments to the _first_ line of the
    2.31 +file.
    2.32 +
    2.33 +     # response-file: true
    2.34 +     # enblend-response-file: true
    2.35 +     # enfuse-response-file: true
    2.36  
    2.37  Here is an example of a valid response file.
    2.38       # 4\pi panorama!
    2.39 @@ -1862,252 +1871,253 @@
    2.40  Program Index
    2.41  *************
    2.42  
    2.43 -ale:                                           See 6.        (line 1211)
    2.44 -align_image_stack (Hugin):                     See 6.        (line 1218)
    2.45 -cinepaint <1>:                                 See 6.        (line 1230)
    2.46 -cinepaint:                                     See 3.2.      (line  596)
    2.47 -convert (ImageMagick):                         See 6.        (line 1241)
    2.48 -dcraw <1>:                                     See 6.        (line 1201)
    2.49 +ale:                                           See 6.        (line 1220)
    2.50 +align_image_stack (Hugin):                     See 6.        (line 1227)
    2.51 +cinepaint <1>:                                 See 6.        (line 1239)
    2.52 +cinepaint:                                     See 3.2.      (line  605)
    2.53 +convert (ImageMagick):                         See 6.        (line 1250)
    2.54 +dcraw <1>:                                     See 6.        (line 1210)
    2.55  dcraw:                                         See 2.        (line  102)
    2.56 -display (ImageMagick):                         See 6.        (line 1241)
    2.57 -exiftool:                                      See 6.        (line 1269)
    2.58 -exrdisplay (OpenEXR):                          See 6.        (line 1247)
    2.59 -fulla (Hugin):                                 See 6.        (line 1218)
    2.60 -gimp <1>:                                      See 6.        (line 1237)
    2.61 -gimp <2>:                                      See 3.2.      (line  596)
    2.62 +display (ImageMagick):                         See 6.        (line 1250)
    2.63 +exiftool:                                      See 6.        (line 1278)
    2.64 +exrdisplay (OpenEXR):                          See 6.        (line 1256)
    2.65 +fulla (Hugin):                                 See 6.        (line 1227)
    2.66 +gimp <1>:                                      See 6.        (line 1246)
    2.67 +gimp <2>:                                      See 3.2.      (line  605)
    2.68  gimp:                                          See 2.        (line  102)
    2.69 -gm (GraphicsMagick):                           See 6.        (line 1241)
    2.70 -hugin <1>:                                     See 6.        (line 1215)
    2.71 -hugin <2>:                                     See 3.2.      (line  587)
    2.72 +gm (GraphicsMagick):                           See 6.        (line 1250)
    2.73 +hugin <1>:                                     See 6.        (line 1224)
    2.74 +hugin <2>:                                     See 3.2.      (line  596)
    2.75  hugin <3>:                                     See 2.        (line  102)
    2.76  hugin:                                         See 1.        (line   56)
    2.77 -identify (ImageMagick) <1>:                    See 6.        (line 1241)
    2.78 -identify (ImageMagick):                        See 4.1.      (line 1050)
    2.79 -montage (ImageMagick):                         See 6.        (line 1241)
    2.80 -nona (Hugin) <1>:                              See 6.        (line 1218)
    2.81 -nona (Hugin):                                  See 3.2.      (line  587)
    2.82 +identify (ImageMagick) <1>:                    See 6.        (line 1250)
    2.83 +identify (ImageMagick):                        See 4.1.      (line 1059)
    2.84 +montage (ImageMagick):                         See 6.        (line 1250)
    2.85 +nona (Hugin) <1>:                              See 6.        (line 1227)
    2.86 +nona (Hugin):                                  See 3.2.      (line  596)
    2.87  PanoTools <1>:                                 See 2.        (line  102)
    2.88  PanoTools:                                     See 1.        (line   56)
    2.89 -pfshdrcalibrate (PFScalibration):              See 6.        (line 1250)
    2.90 -pfsin (PFSTools):                              See 6.        (line 1250)
    2.91 -pfsout (PFSTools):                             See 6.        (line 1250)
    2.92 -pfstmo_* (PFStmo):                             See 6.        (line 1250)
    2.93 -pfsview (PFSTools):                            See 6.        (line 1250)
    2.94 -PTmender (PanoTools):                          See 6.        (line 1223)
    2.95 -PTOptimizer (PanoTools):                       See 6.        (line 1223)
    2.96 -tifficc (LittleCMS):                           See 6.        (line 1273)
    2.97 -tiffinfo (libtiff) <1>:                        See 6.        (line 1265)
    2.98 -tiffinfo (libtiff):                            See 4.1.      (line 1050)
    2.99 -ufraw <1>:                                     See 6.        (line 1204)
   2.100 +pfshdrcalibrate (PFScalibration):              See 6.        (line 1259)
   2.101 +pfsin (PFSTools):                              See 6.        (line 1259)
   2.102 +pfsout (PFSTools):                             See 6.        (line 1259)
   2.103 +pfstmo_* (PFStmo):                             See 6.        (line 1259)
   2.104 +pfsview (PFSTools):                            See 6.        (line 1259)
   2.105 +PTmender (PanoTools):                          See 6.        (line 1232)
   2.106 +PTOptimizer (PanoTools):                       See 6.        (line 1232)
   2.107 +tifficc (LittleCMS):                           See 6.        (line 1282)
   2.108 +tiffinfo (libtiff) <1>:                        See 6.        (line 1274)
   2.109 +tiffinfo (libtiff):                            See 4.1.      (line 1059)
   2.110 +ufraw <1>:                                     See 6.        (line 1213)
   2.111  ufraw:                                         See 2.        (line  102)
   2.112 -ufraw-batch:                                   See 6.        (line 1204)
   2.113 +ufraw-batch:                                   See 6.        (line 1213)
   2.114  Option Index
   2.115  ************
   2.116  
   2.117 ---anneal:                                      See 3.3.      (line  633)
   2.118 ---coarse-mask:                                 See 3.3.      (line  679)
   2.119 ---compression:                                 See 3.1.      (line  309)
   2.120 ---depth:                                       See 3.2.      (line  507)
   2.121 ---dijkstra:                                    See 3.3.      (line  719)
   2.122 ---fine-mask:                                   See 3.3.      (line  732)
   2.123 ---gpu:                                         See 3.2.      (line  604)
   2.124 ---help:                                        See 3.1.      (line  345)
   2.125 ---load-masks:                                  See 3.3.      (line  739)
   2.126 ---mask-vectorize:                              See 3.3.      (line  745)
   2.127 ---no-optimize:                                 See 3.3.      (line  790)
   2.128 ---optimize:                                    See 3.3.      (line  798)
   2.129 ---optimizer-weights:                           See 3.3.      (line  821)
   2.130 ---output:                                      See 3.1.      (line  378)
   2.131 ---save-masks:                                  See 3.3.      (line  848)
   2.132 ---smooth-difference:                           See 3.3.      (line  876)
   2.133 ---verbose:                                     See 3.1.      (line  385)
   2.134 ---version:                                     See 3.1.      (line  420)
   2.135 ---visualize:                                   See 3.3.      (line  894)
   2.136 ---wrap:                                        See 3.1.      (line  427)
   2.137 --a:                                            See 3.1.      (line  301)
   2.138 --b <1>:                                        See 5.        (line 1124)
   2.139 --b:                                            See 3.2.      (line  485)
   2.140 --c:                                            See 3.2.      (line  496)
   2.141 --d:                                            See 3.2.      (line  507)
   2.142 --f:                                            See 3.2.      (line  584)
   2.143 --g:                                            See 3.2.      (line  592)
   2.144 --h:                                            See 3.1.      (line  345)
   2.145 --l:                                            See 3.1.      (line  348)
   2.146 --m <1>:                                        See 5.        (line 1124)
   2.147 --m:                                            See 3.2.      (line  616)
   2.148 --o:                                            See 3.1.      (line  378)
   2.149 --V:                                            See 3.1.      (line  420)
   2.150 --v:                                            See 3.1.      (line  385)
   2.151 --w:                                            See 3.1.      (line  427)
   2.152 --x:                                            See 3.1.      (line  464)
   2.153 +--anneal:                                      See 3.3.      (line  642)
   2.154 +--coarse-mask:                                 See 3.3.      (line  688)
   2.155 +--compression:                                 See 3.1.      (line  318)
   2.156 +--depth:                                       See 3.2.      (line  516)
   2.157 +--dijkstra:                                    See 3.3.      (line  728)
   2.158 +--fine-mask:                                   See 3.3.      (line  741)
   2.159 +--gpu:                                         See 3.2.      (line  613)
   2.160 +--help:                                        See 3.1.      (line  354)
   2.161 +--load-masks:                                  See 3.3.      (line  748)
   2.162 +--mask-vectorize:                              See 3.3.      (line  754)
   2.163 +--no-optimize:                                 See 3.3.      (line  799)
   2.164 +--optimize:                                    See 3.3.      (line  807)
   2.165 +--optimizer-weights:                           See 3.3.      (line  830)
   2.166 +--output:                                      See 3.1.      (line  387)
   2.167 +--save-masks:                                  See 3.3.      (line  857)
   2.168 +--smooth-difference:                           See 3.3.      (line  885)
   2.169 +--verbose:                                     See 3.1.      (line  394)
   2.170 +--version:                                     See 3.1.      (line  429)
   2.171 +--visualize:                                   See 3.3.      (line  903)
   2.172 +--wrap:                                        See 3.1.      (line  436)
   2.173 +-a:                                            See 3.1.      (line  310)
   2.174 +-b <1>:                                        See 5.        (line 1133)
   2.175 +-b:                                            See 3.2.      (line  494)
   2.176 +-c:                                            See 3.2.      (line  505)
   2.177 +-d:                                            See 3.2.      (line  516)
   2.178 +-f:                                            See 3.2.      (line  593)
   2.179 +-g:                                            See 3.2.      (line  601)
   2.180 +-h:                                            See 3.1.      (line  354)
   2.181 +-l:                                            See 3.1.      (line  357)
   2.182 +-m <1>:                                        See 5.        (line 1133)
   2.183 +-m:                                            See 3.2.      (line  625)
   2.184 +-o:                                            See 3.1.      (line  387)
   2.185 +-V:                                            See 3.1.      (line  429)
   2.186 +-v:                                            See 3.1.      (line  394)
   2.187 +-w:                                            See 3.1.      (line  436)
   2.188 +-x:                                            See 3.1.      (line  473)
   2.189  General Index
   2.190  *************
   2.191  
   2.192 -360o panoramas:                                See 3.1.      (line  427)
   2.193 -a.tif:                                         See 3.1.      (line  380)
   2.194 +360o panoramas:                                See 3.1.      (line  436)
   2.195 +a.tif:                                         See 3.1.      (line  389)
   2.196  affine transformation:                         See 2.        (line  139)
   2.197  alpha channel <1>:                             See 2.        (line  160)
   2.198  alpha channel:                                 See 1.        (line   49)
   2.199 -alpha channel, associated:                     See 3.2.      (line  592)
   2.200 -anneal parameters:                             See 3.3.      (line  633)
   2.201 +alpha channel, associated:                     See 3.2.      (line  601)
   2.202 +anneal parameters:                             See 3.3.      (line  642)
   2.203  authors, list of:                              See Appendix B.
   2.204 -                                                             (line 1428)
   2.205 -binary mask:                                   See 4.        (line 1034)
   2.206 -bits per channel:                              See 3.2.      (line  507)
   2.207 -blur difference image:                         See 3.3.      (line  876)
   2.208 +                                                             (line 1437)
   2.209 +binary mask:                                   See 4.        (line 1043)
   2.210 +bits per channel:                              See 3.2.      (line  516)
   2.211 +blur difference image:                         See 3.3.      (line  885)
   2.212  bug reports:                                   See Appendix A.
   2.213 -                                                             (line 1281)
   2.214 +                                                             (line 1290)
   2.215  Burt-Adelson multiresolution spline:           See 1.        (line   37)
   2.216 -channel width:                                 See 3.2.      (line  507)
   2.217 +channel width:                                 See 3.2.      (line  516)
   2.218  channel, alpha:                                See 1.        (line   49)
   2.219 -CIECAM02:                                      See 3.2.      (line  496)
   2.220 -coarse mask:                                   See 3.3.      (line  679)
   2.221 -color appearance model:                        See 3.2.      (line  496)
   2.222 -color space, sRGB:                             See 3.2.      (line  498)
   2.223 -colors, visualization image:                   See 3.3.      (line  947)
   2.224 -compression:                                   See 3.1.      (line  309)
   2.225 -compression, deflate:                          See 3.1.      (line  324)
   2.226 -compression, JPEG:                             See 3.1.      (line  315)
   2.227 -compression, LZW:                              See 3.1.      (line  330)
   2.228 -compression, packbits:                         See 3.1.      (line  334)
   2.229 +CIECAM02:                                      See 3.2.      (line  505)
   2.230 +coarse mask:                                   See 3.3.      (line  688)
   2.231 +color appearance model:                        See 3.2.      (line  505)
   2.232 +color space, sRGB:                             See 3.2.      (line  507)
   2.233 +colors, visualization image:                   See 3.3.      (line  956)
   2.234 +compression:                                   See 3.1.      (line  318)
   2.235 +compression, deflate:                          See 3.1.      (line  333)
   2.236 +compression, JPEG:                             See 3.1.      (line  324)
   2.237 +compression, LZW:                              See 3.1.      (line  339)
   2.238 +compression, packbits:                         See 3.1.      (line  343)
   2.239  conversion, raw:                               See 2.        (line  126)
   2.240 -default output filename:                       See 3.1.      (line  380)
   2.241 -deflate compression:                           See 3.1.      (line  324)
   2.242 -DIJKSTRA radius:                               See 3.3.      (line  719)
   2.243 -double precision float, IEEE754:               See 3.2.      (line  559)
   2.244 +default output filename:                       See 3.1.      (line  389)
   2.245 +deflate compression:                           See 3.1.      (line  333)
   2.246 +DIJKSTRA radius:                               See 3.3.      (line  728)
   2.247 +double precision float, IEEE754:               See 3.2.      (line  568)
   2.248  feathering, detrimental effect of:             See 1.        (line   56)
   2.249  filenames, literal:                            See 3.        (line  183)
   2.250 -fine mask:                                     See 3.3.      (line  732)
   2.251 +fine mask:                                     See 3.3.      (line  741)
   2.252  format of response files:                      See 3.        (line  231)
   2.253  free documentation license (FDL):              See Appendix C.
   2.254 -                                                             (line 1467)
   2.255 +                                                             (line 1476)
   2.256  general index:
   2.257 -          See ``General Index''.                             (line 1946)
   2.258 +          See ``General Index''.                             (line 1955)
   2.259  GNU free documentation license:                See Appendix C.
   2.260 -                                                             (line 1467)
   2.261 -GPU (Graphics Processing Unit):                See 3.2.      (line  604)
   2.262 +                                                             (line 1476)
   2.263 +GPU (Graphics Processing Unit):                See 3.2.      (line  613)
   2.264  grammar, response file:                        See 3.        (line  245)
   2.265 -graphics processing unit:                      See 3.2.      (line  604)
   2.266 -half precision float, OpenEXR:                 See 3.2.      (line  574)
   2.267 -helpful programs:                              See 6.        (line 1197)
   2.268 -Hugin:                                         See A.2.      (line 1371)
   2.269 -ICC profile:                                   See 3.2.      (line  498)
   2.270 -IEEE754 double precision float:                See 3.2.      (line  559)
   2.271 -IEEE754 single precision float:                See 3.2.      (line  550)
   2.272 -image cache:                                   See 5.        (line 1127)
   2.273 -image cache, block size:                       See 3.2.      (line  485)
   2.274 -image cache, cache size:                       See 3.2.      (line  616)
   2.275 -image cache, location:                         See 5.        (line 1138)
   2.276 -image colors, visualization:                   See 3.3.      (line  947)
   2.277 +graphics processing unit:                      See 3.2.      (line  613)
   2.278 +half precision float, OpenEXR:                 See 3.2.      (line  583)
   2.279 +helpful programs:                              See 6.        (line 1206)
   2.280 +Hugin:                                         See A.2.      (line 1380)
   2.281 +ICC profile:                                   See 3.2.      (line  507)
   2.282 +IEEE754 double precision float:                See 3.2.      (line  568)
   2.283 +IEEE754 single precision float:                See 3.2.      (line  559)
   2.284 +image cache:                                   See 5.        (line 1136)
   2.285 +image cache, block size:                       See 3.2.      (line  494)
   2.286 +image cache, cache size:                       See 3.2.      (line  625)
   2.287 +image cache, location:                         See 5.        (line 1147)
   2.288 +image colors, visualization:                   See 3.3.      (line  956)
   2.289  image, multi-layer:                            See 1.        (line   70)
   2.290 -image, visualization:                          See 3.3.      (line  912)
   2.291 +image, visualization:                          See 3.3.      (line  921)
   2.292  index, general:
   2.293 -          See ``General Index''.                             (line 1946)
   2.294 +          See ``General Index''.                             (line 1955)
   2.295  index, option:
   2.296 -          See ``Option Index''.                              (line 1907)
   2.297 +          See ``Option Index''.                              (line 1916)
   2.298  index, program:
   2.299 -          See ``Program Index''.                             (line 1865)
   2.300 -input mask:                                    See 4.1.      (line 1046)
   2.301 +          See ``Program Index''.                             (line 1874)
   2.302 +input mask:                                    See 4.1.      (line 1055)
   2.303  invocation:                                    See 3.        (line  179)
   2.304 -JPEG compression:                              See 3.1.      (line  315)
   2.305 -KImageFuser:                                   See A.2.      (line 1371)
   2.306 +JPEG compression:                              See 3.1.      (line  324)
   2.307 +KImageFuser:                                   See A.2.      (line 1380)
   2.308  lens distortion, correction of:                See 2.        (line  139)
   2.309 -levels, pyramid:                               See 3.1.      (line  348)
   2.310 -LibJPEG:                                       See 6.        (line 1254)
   2.311 -LibPNG:                                        See 6.        (line 1257)
   2.312 -LibTiff:                                       See 6.        (line 1261)
   2.313 +levels, pyramid:                               See 3.1.      (line  357)
   2.314 +LibJPEG:                                       See 6.        (line 1263)
   2.315 +LibPNG:                                        See 6.        (line 1266)
   2.316 +LibTiff:                                       See 6.        (line 1270)
   2.317  literal filenames:                             See 3.        (line  183)
   2.318 -load mask:                                     See 3.3.      (line  739)
   2.319 -loops in seam line:                            See 3.3.      (line  775)
   2.320 -LZW compression:                               See 3.1.      (line  330)
   2.321 -mask template character, %:                    See 3.3.      (line  951)
   2.322 -mask template character, B:                    See 3.3.      (line 1000)
   2.323 -mask template character, b:                    See 3.3.      (line  994)
   2.324 -mask template character, D:                    See 3.3.      (line  991)
   2.325 -mask template character, d:                    See 3.3.      (line  985)
   2.326 -mask template character, E:                    See 3.3.      (line 1019)
   2.327 -mask template character, e:                    See 3.3.      (line 1013)
   2.328 -mask template character, F:                    See 3.3.      (line 1009)
   2.329 -mask template character, f:                    See 3.3.      (line 1003)
   2.330 -mask template character, i:                    See 3.3.      (line  954)
   2.331 -mask template character, n:                    See 3.3.      (line  969)
   2.332 -mask template character, P:                    See 3.3.      (line  982)
   2.333 -mask template character, p:                    See 3.3.      (line  974)
   2.334 -mask template characters, table of:            See 3.3.      (line  950)
   2.335 -mask, binary:                                  See 4.        (line 1034)
   2.336 -mask, coarse:                                  See 3.3.      (line  679)
   2.337 -mask, fine:                                    See 3.3.      (line  732)
   2.338 -mask, generation:                              See 3.3.      (line  714)
   2.339 -mask, input files:                             See 4.1.      (line 1046)
   2.340 -mask, load:                                    See 3.3.      (line  739)
   2.341 -mask, optimization visualization:              See 3.3.      (line  894)
   2.342 -mask, save:                                    See 3.3.      (line  848)
   2.343 -mask, vectorization distance:                  See 3.3.      (line  745)
   2.344 -mask, weight:                                  See 4.        (line 1034)
   2.345 -masks, understanding:                          See 4.        (line 1034)
   2.346 -memory, tuning usage of:                       See 5.        (line 1124)
   2.347 +load mask:                                     See 3.3.      (line  748)
   2.348 +loops in seam line:                            See 3.3.      (line  784)
   2.349 +LZW compression:                               See 3.1.      (line  339)
   2.350 +mask template character, %:                    See 3.3.      (line  960)
   2.351 +mask template character, B:                    See 3.3.      (line 1009)
   2.352 +mask template character, b:                    See 3.3.      (line 1003)
   2.353 +mask template character, D:                    See 3.3.      (line 1000)
   2.354 +mask template character, d:                    See 3.3.      (line  994)
   2.355 +mask template character, E:                    See 3.3.      (line 1028)
   2.356 +mask template character, e:                    See 3.3.      (line 1022)
   2.357 +mask template character, F:                    See 3.3.      (line 1018)
   2.358 +mask template character, f:                    See 3.3.      (line 1012)
   2.359 +mask template character, i:                    See 3.3.      (line  963)
   2.360 +mask template character, n:                    See 3.3.      (line  978)
   2.361 +mask template character, P:                    See 3.3.      (line  991)
   2.362 +mask template character, p:                    See 3.3.      (line  983)
   2.363 +mask template characters, table of:            See 3.3.      (line  959)
   2.364 +mask, binary:                                  See 4.        (line 1043)
   2.365 +mask, coarse:                                  See 3.3.      (line  688)
   2.366 +mask, fine:                                    See 3.3.      (line  741)
   2.367 +mask, generation:                              See 3.3.      (line  723)
   2.368 +mask, input files:                             See 4.1.      (line 1055)
   2.369 +mask, load:                                    See 3.3.      (line  748)
   2.370 +mask, optimization visualization:              See 3.3.      (line  903)
   2.371 +mask, save:                                    See 3.3.      (line  857)
   2.372 +mask, vectorization distance:                  See 3.3.      (line  754)
   2.373 +mask, weight:                                  See 4.        (line 1043)
   2.374 +masks, understanding:                          See 4.        (line 1043)
   2.375 +memory, tuning usage of:                       See 5.        (line 1133)
   2.376  multi-directory TIFF:                          See 1.        (line   70)
   2.377  multi-layer image:                             See 1.        (line   70)
   2.378 -nearest-feature transform (NFT):               See 3.3.      (line  714)
   2.379 +nearest-feature transform (NFT):               See 3.3.      (line  723)
   2.380  Octave:                                        See Appendix A.
   2.381 -                                                             (line 1281)
   2.382 -OpenEXR, data format:                          See 3.2.      (line  570)
   2.383 -OpenEXR, half precision float:                 See 3.2.      (line  574)
   2.384 -optimize seam:                                 See 3.3.      (line  790)
   2.385 -optimize strategy:                             See 3.3.      (line  803)
   2.386 -optimize, anneal parameters:                   See 3.3.      (line  633)
   2.387 -optimizer weights:                             See 3.3.      (line  821)
   2.388 -optimizer, simulated annealing:                See 3.3.      (line  633)
   2.389 +                                                             (line 1290)
   2.390 +OpenEXR, data format:                          See 3.2.      (line  579)
   2.391 +OpenEXR, half precision float:                 See 3.2.      (line  583)
   2.392 +optimize seam:                                 See 3.3.      (line  799)
   2.393 +optimize strategy:                             See 3.3.      (line  812)
   2.394 +optimize, anneal parameters:                   See 3.3.      (line  642)
   2.395 +optimizer weights:                             See 3.3.      (line  830)
   2.396 +optimizer, simulated annealing:                See 3.3.      (line  642)
   2.397  option index:
   2.398 -          See ``Option Index''.                              (line 1907)
   2.399 -options, common:                               See 3.1.      (line  298)
   2.400 -options, extended:                             See 3.2.      (line  481)
   2.401 -options, mask generation:                      See 3.3.      (line  630)
   2.402 -output file compression:                       See 3.1.      (line  309)
   2.403 -output filename, default:                      See 3.1.      (line  380)
   2.404 -output image, set size of:                     See 3.2.      (line  584)
   2.405 +          See ``Option Index''.                              (line 1916)
   2.406 +options, common:                               See 3.1.      (line  307)
   2.407 +options, extended:                             See 3.2.      (line  490)
   2.408 +options, mask generation:                      See 3.3.      (line  639)
   2.409 +output file compression:                       See 3.1.      (line  318)
   2.410 +output filename, default:                      See 3.1.      (line  389)
   2.411 +output image, set size of:                     See 3.2.      (line  593)
   2.412  overview:                                      See 1.        (line   37)
   2.413 -packbits compression:                          See 3.1.      (line  334)
   2.414 +packbits compression:                          See 3.1.      (line  343)
   2.415  parallax error:                                See 2.        (line  149)
   2.416  photometric alignment:                         See 2.        (line  141)
   2.417  problem reports:                               See Appendix A.
   2.418 -                                                             (line 1284)
   2.419 -profile, ICC:                                  See 3.2.      (line  498)
   2.420 +                                                             (line 1293)
   2.421 +profile, ICC:                                  See 3.2.      (line  507)
   2.422  program index:
   2.423 -          See ``Program Index''.                             (line 1865)
   2.424 -programs, helpful additional:                  See 6.        (line 1197)
   2.425 -pyramid levels:                                See 3.1.      (line  348)
   2.426 -radius, DIJKSTRA:                              See 3.3.      (line  719)
   2.427 +          See ``Program Index''.                             (line 1874)
   2.428 +programs, helpful additional:                  See 6.        (line 1206)
   2.429 +pyramid levels:                                See 3.1.      (line  357)
   2.430 +radius, DIJKSTRA:                              See 3.3.      (line  728)
   2.431  raw conversion:                                See 2.        (line  126)
   2.432 +response file, force recognition:              See 3.        (line  281)
   2.433  response file, format:                         See 3.        (line  231)
   2.434  response file, grammar:                        See 3.        (line  245)
   2.435  response files:                                See 3.        (line  183)
   2.436 -save mask:                                     See 3.3.      (line  848)
   2.437 -seam line, loops:                              See 3.3.      (line  775)
   2.438 -seam optimization:                             See 3.3.      (line  790)
   2.439 -simulated annealing optimizer:                 See 3.3.      (line  633)
   2.440 -single precision float, IEEE754:               See 3.2.      (line  550)
   2.441 -smooth difference image:                       See 3.3.      (line  876)
   2.442 +save mask:                                     See 3.3.      (line  857)
   2.443 +seam line, loops:                              See 3.3.      (line  784)
   2.444 +seam optimization:                             See 3.3.      (line  799)
   2.445 +simulated annealing optimizer:                 See 3.3.      (line  642)
   2.446 +single precision float, IEEE754:               See 3.2.      (line  559)
   2.447 +smooth difference image:                       See 3.3.      (line  885)
   2.448  SourceForge <1>:                               See Appendix A.
   2.449 -                                                             (line 1287)
   2.450 +                                                             (line 1296)
   2.451  SourceForge:                                   See 1.        (line   76)
   2.452  SourceForge, tracker:                          See Appendix A.
   2.453 -                                                             (line 1287)
   2.454 -sRGB color space:                              See 3.2.      (line  498)
   2.455 +                                                             (line 1296)
   2.456 +sRGB color space:                              See 3.2.      (line  507)
   2.457  TIFF, multi-directory:                         See 1.        (line   70)
   2.458  tiffcopy:                                      See 1.        (line   70)
   2.459  tiffsplit:                                     See 1.        (line   70)
   2.460 -TMPDIR:                                        See 5.        (line 1138)
   2.461 +TMPDIR:                                        See 5.        (line 1147)
   2.462  tracker, SourceForge:                          See Appendix A.
   2.463 -                                                             (line 1287)
   2.464 +                                                             (line 1296)
   2.465  transformation, affine:                        See 2.        (line  139)
   2.466 -understanding masks:                           See 4.        (line 1034)
   2.467 -visualization image:                           See 3.3.      (line  912)
   2.468 -visualization image colors:                    See 3.3.      (line  947)
   2.469 -visualization of mask optimization:            See 3.3.      (line  894)
   2.470 -weight mask:                                   See 4.        (line 1034)
   2.471 -weights, optimizer:                            See 3.3.      (line  821)
   2.472 +understanding masks:                           See 4.        (line 1043)
   2.473 +visualization image:                           See 3.3.      (line  921)
   2.474 +visualization image colors:                    See 3.3.      (line  956)
   2.475 +visualization of mask optimization:            See 3.3.      (line  903)
   2.476 +weight mask:                                   See 4.        (line 1043)
   2.477 +weights, optimizer:                            See 3.3.      (line  830)
   2.478  workflow:                                      See 2.        (line   91)
   2.479  workflow with Enblend:                         See 2.        (line  102)
   2.480  workflow with Enfuse:                          See 2.        (line  102)
   2.481 -wrap around:                                   See 3.1.      (line  427)
   2.482 +wrap around:                                   See 3.1.      (line  436)
     3.1 --- a/doc/enfuse.info	Fri Nov 06 09:42:01 2009 +0100
     3.2 +++ b/doc/enfuse.info	Sat Nov 07 10:02:29 2009 +0100
     3.3 @@ -200,7 +200,7 @@
     3.4  *note Figure:photographic-workflow:: shows where Enblend and Enfuse sit
     3.5  in this tool chain.
     3.6  
     3.7 -Figure 2.1: Photographic workflow with Enblend and Enfuse.
     3.8 + Figure 2.1: Photographic workflow with Enblend and Enfuse.
     3.9  
    3.10  Take Images
    3.11       Take _multiple_ images to form a panorama, an exposure series, a
    3.12 @@ -361,7 +361,7 @@
    3.13       For convenience whitespace at the beginning and at the end of each
    3.14       line is ignored.  However, this implies that response files cannot
    3.15       represent filenames that start or end with whitespace, as there is
    3.16 -     no quoting syntax.  Filenames with embedded whatespace cause no
    3.17 +     no quoting syntax.  Filenames with embedded whitespace cause no
    3.18       problems, though.
    3.19  
    3.20  Only whole-line comments
    3.21 @@ -377,7 +377,16 @@
    3.22  
    3.23  Image filenames cannot start with `@'
    3.24       An at-sign always introduces a response file, even if the extension
    3.25 -     would hinto towards an image.
    3.26 +     would hint towards an image.
    3.27 +
    3.28 +   If Enblend or Enfuse do not recognize a response file, they will
    3.29 +issue a warning.  To force a file being recognized as a response file
    3.30 +add one of the following syntactic comments to the _first_ line of the
    3.31 +file.
    3.32 +
    3.33 +     # response-file: true
    3.34 +     # enblend-response-file: true
    3.35 +     # enfuse-response-file: true
    3.36  
    3.37  Here is an example of a valid response file.
    3.38       # 4\pi panorama!
    3.39 @@ -825,6 +834,42 @@
    3.40       image (for example 255 or 65535).  *note Figure:entropy-cutoff::
    3.41       shows an example.
    3.42  
    3.43 +     
    3.44 +           +-----------+------------+-----------+------------+-----------+
    3.45 +           +           +            +           +            +           +
    3.46 +           |           :            :           :            :           |
    3.47 +         1 ++......................................................####***
    3.48 +           |           :            :           :            :     #**** |
    3.49 +           |           :            :           :            :    ***    |
    3.50 +           |           :            :           :            :  ***      |
    3.51 +           |           :            :           :            ****        |
    3.52 +       0.8 ++..............................................***..........++
    3.53 +           |           :            :           :       **** :           |
    3.54 +           |           :            :           :     ***    :           |
    3.55 +           |           :            :           :   ***      :           |
    3.56 +           |           :            :           :****        :           |
    3.57 +       0.6 ++..................................***......................++
    3.58 +           |           :            :       ****:            :           |
    3.59 +           |           :            :     ***   :            :           |
    3.60 +           |           :            :   ***     :            :           |
    3.61 +           |           :            :****       :            :           |
    3.62 +       0.4 ++......................***..................................++
    3.63 +           |           :        ****:           :            :           |
    3.64 +           |           :      ***   :           :            :           |
    3.65 +           |           :    ***     :           :            :           |
    3.66 +           |           : ****       :           :            :           |
    3.67 +       0.2 ++..........***..............................................++
    3.68 +           |        ****            :           :            :           |
    3.69 +           |      ***  :            :           :            :           |
    3.70 +           |    ***    :            :           :            :           |
    3.71 +           | ****      :            :           :            :           |
    3.72 +         0 ***#.................................................Y.******++
    3.73 +           |           :           EntropyCutoff(Y, Lower, Upper) ###### |
    3.74 +           +           +            +           +            +           +
    3.75 +           +-----------+------------+-----------+------------+-----------+
    3.76 +           0          0.2          0.4         0.6          0.8          1
    3.77 +                                          Y
    3.78 +
    3.79       Figure 3.1: Linear lightness Y in comparison with an
    3.80       entropy-cutoff function for LOWER-CUTOFF = 5% and UPPER-CUTOFF =
    3.81       90% which are rather extreme values.
    3.82 @@ -1198,6 +1243,42 @@
    3.83  defaults to 0.5 and Sigma defaults to 0.2.  *note Figure:gaussian::
    3.84  shows a Gaussian.
    3.85  
    3.86 +
    3.87 +    1 ++----------+------------+---*****---+------------+----------++
    3.88 +      +           +            +  *     *  +     Gaussian(Y) ****** +
    3.89 +      |                         **       **                         |
    3.90 +      |                        **         **                        |
    3.91 +      |                       *             *                       |
    3.92 +      |                       *             *                       |
    3.93 +  0.8 ++                     *               *                     ++
    3.94 +      |                     *                 *                     |
    3.95 +      |                    *                   *                    |
    3.96 +      |                    *                   *                    |
    3.97 +      |                   *                     *                   |
    3.98 +      |                  *                       *                  |
    3.99 +  0.6 ++                 *                       *                 ++
   3.100 +      |                 *                         *                 |
   3.101 +      |                 *                         *                 |
   3.102 +      |                *                           *                |
   3.103 +      |               *                             *               |
   3.104 +      |              **                             **              |
   3.105 +      |             *                                 *             |
   3.106 +  0.4 ++            *                                 *            ++
   3.107 +      |            *                                   *            |
   3.108 +      |            *                                   *            |
   3.109 +      |          **                                     **          |
   3.110 +      |          *                                       *          |
   3.111 +      |        **                                         **        |
   3.112 +  0.2 ++      **                                           **      ++
   3.113 +      |      **                                             **      |
   3.114 +      |     *                                                 *     |
   3.115 +      |   **                                                   **   |
   3.116 +      |***                                                       ***|
   3.117 +      *           +            +           +            +           *
   3.118 +    0 ++----------+------------+-----------+------------+----------++
   3.119 +      0          0.2          0.4         0.6          0.8          1
   3.120 +                                     Y
   3.121 +
   3.122  Figure 4.1: Gaussian function with the parameters MU = 0.5 and SIGMA =
   3.123  0.2.
   3.124  
   3.125 @@ -1291,7 +1372,7 @@
   3.126  *note Figure:local-analysis-window:: shows two windows with different
   3.127  sizes.
   3.128  
   3.129 -Figure 4.2: Examples of local analysis windows for the sizes 3 and 5.
   3.130 + Figure 4.2: Examples of local analysis windows for the sizes 3 and 5.
   3.131  "C" marks the center where the pixel gets the weight.  "N" are
   3.132  neighboring pixels, which all contribute equally to the weight.
   3.133  
   3.134 @@ -1380,6 +1461,42 @@
   3.135  origin, which is why we can easily plot it in *note
   3.136  Figure:laplacian-of-gaussian::, setting R = sqrt(x^2 + y^2).
   3.137  
   3.138 +
   3.139 +  1 ++--------------+---------------+---------------+--------------++
   3.140 +    +               +             *****             +               +
   3.141 +    |               :          **** :  *******      :               |
   3.142 +    |               :        **     :        *******:               |
   3.143 +  0 ++.....................**.......................*****************
   3.144 +    |               :    **         :               :               |
   3.145 +    |               :    *          :               :               |
   3.146 +    |               :  **           :               :               |
   3.147 +    |               :  *            :               :               |
   3.148 + -1 ++...............**............................................++
   3.149 +    |               :*              :               :               |
   3.150 +    |               *               :               :               |
   3.151 +    |               *               :               :               |
   3.152 + -2 ++.............*...............................................++
   3.153 +    |             * :               :               :               |
   3.154 +    |            ** :               :               :               |
   3.155 +    |           *   :               :               :               |
   3.156 +    |           *   :               :               :               |
   3.157 + -3 ++.........*...................................................++
   3.158 +    |         *     :               :               :               |
   3.159 +    |         *     :               :               :               |
   3.160 +    |       **      :               :               :               |
   3.161 + -4 ++......*......................................................++
   3.162 +    |      *        :               :               :               |
   3.163 +    |     *         :               :               :               |
   3.164 +    |    *          :               :               :               |
   3.165 +    |  **           :               :               :               |
   3.166 + -5 ***............................................................++
   3.167 +    |               :               :               :               |
   3.168 +    |               :            LaplacianOfGaussian(R, 0.5) ****** |
   3.169 +    +               +               +               +               +
   3.170 + -6 ++--------------+---------------+---------------+--------------++
   3.171 +    0              0.5              1              1.5              2
   3.172 +                                    R
   3.173 +
   3.174  Figure 4.3: Laplacian-of-Gaussian function for sigma = 0.5.
   3.175  
   3.176  See also HIPR2: Laplacian of Gaussian
   3.177 @@ -1488,6 +1605,42 @@
   3.178       lim(p * log_a(1 / p), p -> 0) = 0.
   3.179     *note Figure:entropy:: shows an entropy function.
   3.180  
   3.181 +
   3.182 +    1 ++----------+------------+-*********-+------------+----------++
   3.183 +      +           +          ****         ****    Entropy(p) ****** +
   3.184 +      |                    ***               ***                    |
   3.185 +      |                  ***                   ***                  |
   3.186 +      |                 **                       **                 |
   3.187 +      |               **                           **               |
   3.188 +  0.8 ++             **                             **             ++
   3.189 +      |             *                                 *             |
   3.190 +      |            *                                   *            |
   3.191 +      |           *                                     *           |
   3.192 +      |          *                                       *          |
   3.193 +      |         *                                         *         |
   3.194 +  0.6 ++       *                                           *       ++
   3.195 +      |        *                                           *        |
   3.196 +      |       *                                             *       |
   3.197 +      |      *                                               *      |
   3.198 +      |     *                                                 *     |
   3.199 +      |     *                                                 *     |
   3.200 +      |    *                                                   *    |
   3.201 +  0.4 ++   *                                                    *  ++
   3.202 +      |   *                                                     *   |
   3.203 +      |   *                                                     *   |
   3.204 +      |  *                                                       *  |
   3.205 +      |  *                                                       *  |
   3.206 +      |  *                                                        * |
   3.207 +  0.2 ++*                                                         *++
   3.208 +      | *                                                          *|
   3.209 +      |*                                                           *|
   3.210 +      |*                                                           *|
   3.211 +      |                                                             |
   3.212 +      +           +            +           +            +           +
   3.213 +    0 ++----------+------------+-----------+------------+----------++
   3.214 +      0          0.2          0.4         0.6          0.8          1
   3.215 +                                     p
   3.216 +
   3.217  Figure 4.4: Entropy function H for an experiment with exactly two
   3.218  outcomes.
   3.219  
   3.220 @@ -2073,9 +2226,73 @@
   3.221     Images *note Figure:sharp-edge:: and *note Figure:smooth-edge:: show
   3.222  plots of the matrices `sharp_edge' and `smooth_edge'.
   3.223  
   3.224 +
   3.225 +
   3.226 +
   3.227 +
   3.228 +                                                   sharp_edge ******
   3.229 +                                                          250 $$$$$$
   3.230 +                                                          200 %%%%%%
   3.231 +                                                          150 @@@@@@
   3.232 +                           ###                            100 &&&&&&
   3.233 +                        ###   #                            50 ======
   3.234 +                        ###    #
   3.235 +                        # ##    #
   3.236 +     300  ++           ###  #    #
   3.237 +     250  |+          ##     #    #
   3.238 +          |         #####     #    #
   3.239 +     200  |+       # # # #     #    #####
   3.240 +          |       #   #   #     # ##     ########
   3.241 +     100  |+    ##    # ##*#     ###########     ############
   3.242 +          |          # #   -#*    # ##      ########     ## |
   3.243 +      50  |+  ##     ##  -%%@**   ######    ##      #####   |
   3.244 +          | ##     ## -@%%@@&&**##      ########    ##      |
   3.245 +       0  #####    -#=&&&======####.    ##      ####----    |
   3.246 +          |    ####+==&@@@@%%@@&** ########.    ##.+    ---- 4
   3.247 +          |   --- ==&@@ .%%$$%@@&* ##      #####....     --+
   3.248 +          | -- ++=&&@ .%% %%@@& ==*###..   ##..     ..+ 3
   3.249 +          +---    =&.@%%%%@@&===..    #####.....    ---
   3.250 +        0  +  -----=&&&& ======....     .|      .. 2
   3.251 +                1   ==&&@@@@&& =   ......|.    ---
   3.252 +                        2 --@-&-=  +..   | ..- 1
   3.253 +                                3-----   |+--
   3.254 +                                       4- 0
   3.255 +
   3.256  Figure 7.1: 3D plot augmented by contour plot of the matrix
   3.257  `sharp_edge'.
   3.258  
   3.259 +
   3.260 +
   3.261 +
   3.262 +
   3.263 +                                                  smooth_edge ******
   3.264 +                                                          250 $$$$$$
   3.265 +                                                          200 %%%%%%
   3.266 +                                                          150 @@@@@@
   3.267 +                                                          100 &&&&&&
   3.268 +                                                           50 ======
   3.269 +                                                     ########
   3.270 +                                             ########    ## |
   3.271 +     300  ++                         ########   #########   |
   3.272 +     250  |+                  #######   #########   ##      |
   3.273 +          |                 ##   ########   ########        |
   3.274 +     200  |+             ########   ########    ##          |
   3.275 +          |           ####  ########   #########            |
   3.276 +     100  |+      ##########################                |
   3.277 +          |     #########  #########     |                  |
   3.278 +      50  |+  ##   #########     -==-----|                  |
   3.279 +          |#########  ---+..    ==.+   &&--------           |
   3.280 +       0  ##       ---      .===.... &&  |.+@@@  ---%%---   |
   3.281 +          |      --++...   ==.    &&&....@@@     .%%     -$$ 4
   3.282 +          |   ---       ===....&&&   ..@@|  ...%%%..    $$-+
   3.283 +          | -- ++.. ====.    && .....@@. |   %%     ..$ 3
   3.284 +          +---    ==.......&&   .. @@   .|.%%...    $$-
   3.285 +        0  +  ---=--     &&......@@     .%%     .$ 2
   3.286 +                1   ---&&- +.. @@  ...%%%|.    $$-
   3.287 +                        2 ---@@-   +%%   | ..$ 1
   3.288 +                                3--%--   |+$$
   3.289 +                                       4- 0
   3.290 +
   3.291  Figure 7.2: 3D plot augmented by contour plot of the matrix
   3.292  `smooth_edge'.
   3.293  
   3.294 @@ -2196,7 +2413,7 @@
   3.295  Figure *note Figure:focus-stacking-decision-tree:: helps the user to
   3.296  arrive at a well-fused focus stack with as few steps as possible.
   3.297  
   3.298 -Figure 7.3: Focus stacking decision tree.
   3.299 + Figure 7.3: Focus stacking decision tree.
   3.300  
   3.301     Always start with the default, contrast weighting with a local
   3.302  contrast window.  Only if seams appear as described in *note Advanced
   3.303 @@ -2939,337 +3156,338 @@
   3.304  Program Index
   3.305  *************
   3.306  
   3.307 -ale:                                           See 8.        (line 2267)
   3.308 -align_image_stack (Hugin):                     See 8.        (line 2274)
   3.309 -cinepaint <1>:                                 See 8.        (line 2286)
   3.310 -cinepaint:                                     See 3.2.      (line  686)
   3.311 -convert (ImageMagick):                         See 8.        (line 2297)
   3.312 -dcraw <1>:                                     See 8.        (line 2257)
   3.313 +ale:                                           See 8.        (line 2484)
   3.314 +align_image_stack (Hugin):                     See 8.        (line 2491)
   3.315 +cinepaint <1>:                                 See 8.        (line 2503)
   3.316 +cinepaint:                                     See 3.2.      (line  695)
   3.317 +convert (ImageMagick):                         See 8.        (line 2514)
   3.318 +dcraw <1>:                                     See 8.        (line 2474)
   3.319  dcraw:                                         See 2.        (line  203)
   3.320 -display (ImageMagick):                         See 8.        (line 2297)
   3.321 -exiftool:                                      See 8.        (line 2325)
   3.322 -exrdisplay (OpenEXR):                          See 8.        (line 2303)
   3.323 -fulla (Hugin):                                 See 8.        (line 2274)
   3.324 -gimp <1>:                                      See 8.        (line 2293)
   3.325 -gimp <2>:                                      See 3.2.      (line  686)
   3.326 +display (ImageMagick):                         See 8.        (line 2514)
   3.327 +exiftool:                                      See 8.        (line 2542)
   3.328 +exrdisplay (OpenEXR):                          See 8.        (line 2520)
   3.329 +fulla (Hugin):                                 See 8.        (line 2491)
   3.330 +gimp <1>:                                      See 8.        (line 2510)
   3.331 +gimp <2>:                                      See 3.2.      (line  695)
   3.332  gimp:                                          See 2.        (line  203)
   3.333 -gm (GraphicsMagick):                           See 8.        (line 2297)
   3.334 -hugin <1>:                                     See 8.        (line 2271)
   3.335 -hugin <2>:                                     See 7.1.      (line 1711)
   3.336 -hugin <3>:                                     See 3.2.      (line  677)
   3.337 +gm (GraphicsMagick):                           See 8.        (line 2514)
   3.338 +hugin <1>:                                     See 8.        (line 2488)
   3.339 +hugin <2>:                                     See 7.1.      (line 1864)
   3.340 +hugin <3>:                                     See 3.2.      (line  686)
   3.341  hugin:                                         See 2.        (line  203)
   3.342 -identify (ImageMagick) <1>:                    See 8.        (line 2297)
   3.343 -identify (ImageMagick):                        See 5.1.      (line 1550)
   3.344 -montage (ImageMagick):                         See 8.        (line 2297)
   3.345 -nona (Hugin) <1>:                              See 8.        (line 2274)
   3.346 -nona (Hugin):                                  See 3.2.      (line  677)
   3.347 +identify (ImageMagick) <1>:                    See 8.        (line 2514)
   3.348 +identify (ImageMagick):                        See 5.1.      (line 1703)
   3.349 +montage (ImageMagick):                         See 8.        (line 2514)
   3.350 +nona (Hugin) <1>:                              See 8.        (line 2491)
   3.351 +nona (Hugin):                                  See 3.2.      (line  686)
   3.352  PanoTools:                                     See 2.        (line  203)
   3.353 -pfshdrcalibrate (PFScalibration):              See 8.        (line 2306)
   3.354 -pfsin (PFSTools):                              See 8.        (line 2306)
   3.355 -pfsout (PFSTools):                             See 8.        (line 2306)
   3.356 -pfstmo_* (PFStmo):                             See 8.        (line 2306)
   3.357 -pfsview (PFSTools):                            See 8.        (line 2306)
   3.358 -PTmender (PanoTools):                          See 8.        (line 2279)
   3.359 -PTOptimizer (PanoTools):                       See 8.        (line 2279)
   3.360 -tifficc (LittleCMS):                           See 8.        (line 2329)
   3.361 -tiffinfo (libtiff) <1>:                        See 8.        (line 2321)
   3.362 -tiffinfo (libtiff):                            See 5.1.      (line 1550)
   3.363 -ufraw <1>:                                     See 8.        (line 2260)
   3.364 +pfshdrcalibrate (PFScalibration):              See 8.        (line 2523)
   3.365 +pfsin (PFSTools):                              See 8.        (line 2523)
   3.366 +pfsout (PFSTools):                             See 8.        (line 2523)
   3.367 +pfstmo_* (PFStmo):                             See 8.        (line 2523)
   3.368 +pfsview (PFSTools):                            See 8.        (line 2523)
   3.369 +PTmender (PanoTools):                          See 8.        (line 2496)
   3.370 +PTOptimizer (PanoTools):                       See 8.        (line 2496)
   3.371 +tifficc (LittleCMS):                           See 8.        (line 2546)
   3.372 +tiffinfo (libtiff) <1>:                        See 8.        (line 2538)
   3.373 +tiffinfo (libtiff):                            See 5.1.      (line 1703)
   3.374 +ufraw <1>:                                     See 8.        (line 2477)
   3.375  ufraw:                                         See 2.        (line  203)
   3.376 -ufraw-batch:                                   See 8.        (line 2260)
   3.377 +ufraw-batch:                                   See 8.        (line 2477)
   3.378  Option Index
   3.379  ************
   3.380  
   3.381 ---compression:                                 See 3.1.      (line  402)
   3.382 ---contrast-edge-scale:                         See 3.4.      (line  791)
   3.383 ---contrast-min-curvature:                      See 3.4.      (line  928)
   3.384 ---contrast-weight:                             See 3.3.      (line  712)
   3.385 ---contrast-window-size:                        See 3.4.      (line  771)
   3.386 ---ContrastWindowSize (deprecated):             See 3.4.      (line  771)
   3.387 ---depth:                                       See 3.2.      (line  597)
   3.388 ---EdgeScale (deprecated):                      See 3.4.      (line  791)
   3.389 ---entropy-cutoff:                              See 3.4.      (line  812)
   3.390 ---entropy-weight:                              See 3.3.      (line  719)
   3.391 ---entropy-window-size:                         See 3.4.      (line  841)
   3.392 ---EntropyCutoff (deprecated):                  See 3.4.      (line  812)
   3.393 ---EntropyWindowSize (deprecated):              See 3.4.      (line  841)
   3.394 ---exposure-mu:                                 See 3.3.      (line  735)
   3.395 ---exposure-sigma:                              See 3.3.      (line  745)
   3.396 ---exposure-weight:                             See 3.3.      (line  727)
   3.397 ---gray-projector:                              See 3.4.      (line  857)
   3.398 ---GrayProjector (deprecated):                  See 3.4.      (line  857)
   3.399 ---hard-mask <1>:                               See 7.6.6.    (line 2235)
   3.400 ---hard-mask <2>:                               See 4.1.2.    (line 1155)
   3.401 ---hard-mask:                                   See 3.4.      (line  914)
   3.402 ---HardMask (deprecated):                       See 3.4.      (line  914)
   3.403 ---help:                                        See 3.1.      (line  439)
   3.404 ---MinCurvature (deprecated):                   See 3.4.      (line  928)
   3.405 ---output:                                      See 3.1.      (line  472)
   3.406 ---saturation-weight:                           See 3.3.      (line  756)
   3.407 ---save-masks:                                  See 3.4.      (line  946)
   3.408 ---SaveMasks (deprecated):                      See 3.4.      (line  946)
   3.409 ---soft-mask:                                   See 3.4.      (line  974)
   3.410 ---SoftMask (deprecated):                       See 3.4.      (line  974)
   3.411 ---verbose:                                     See 3.1.      (line  479)
   3.412 ---version:                                     See 3.1.      (line  514)
   3.413 ---wContrast (deprecated):                      See 3.3.      (line  712)
   3.414 ---wEntropy (deprecated):                       See 3.3.      (line  719)
   3.415 ---wExposureMu (deprecated):                    See 3.3.      (line  727)
   3.416 ---wExposureSigma (deprecated):                 See 3.3.      (line  745)
   3.417 ---wrap:                                        See 3.1.      (line  521)
   3.418 ---wSaturation (deprecated):                    See 3.3.      (line  756)
   3.419 --b <1>:                                        See 6.        (line 1624)
   3.420 --b:                                            See 3.2.      (line  575)
   3.421 --c:                                            See 3.2.      (line  586)
   3.422 --d:                                            See 3.2.      (line  597)
   3.423 --f:                                            See 3.2.      (line  674)
   3.424 --g:                                            See 3.2.      (line  682)
   3.425 --h:                                            See 3.1.      (line  439)
   3.426 --l:                                            See 3.1.      (line  442)
   3.427 --m <1>:                                        See 6.        (line 1624)
   3.428 --m:                                            See 3.2.      (line  694)
   3.429 --o:                                            See 3.1.      (line  472)
   3.430 --V:                                            See 3.1.      (line  514)
   3.431 --v:                                            See 3.1.      (line  479)
   3.432 --w:                                            See 3.1.      (line  521)
   3.433 +--compression:                                 See 3.1.      (line  411)
   3.434 +--contrast-edge-scale:                         See 3.4.      (line  800)
   3.435 +--contrast-min-curvature:                      See 3.4.      (line  973)
   3.436 +--contrast-weight:                             See 3.3.      (line  721)
   3.437 +--contrast-window-size:                        See 3.4.      (line  780)
   3.438 +--ContrastWindowSize (deprecated):             See 3.4.      (line  780)
   3.439 +--depth:                                       See 3.2.      (line  606)
   3.440 +--EdgeScale (deprecated):                      See 3.4.      (line  800)
   3.441 +--entropy-cutoff:                              See 3.4.      (line  821)
   3.442 +--entropy-weight:                              See 3.3.      (line  728)
   3.443 +--entropy-window-size:                         See 3.4.      (line  886)
   3.444 +--EntropyCutoff (deprecated):                  See 3.4.      (line  821)
   3.445 +--EntropyWindowSize (deprecated):              See 3.4.      (line  886)
   3.446 +--exposure-mu:                                 See 3.3.      (line  744)
   3.447 +--exposure-sigma:                              See 3.3.      (line  754)
   3.448 +--exposure-weight:                             See 3.3.      (line  736)
   3.449 +--gray-projector:                              See 3.4.      (line  902)
   3.450 +--GrayProjector (deprecated):                  See 3.4.      (line  902)
   3.451 +--hard-mask <1>:                               See 7.6.6.    (line 2452)
   3.452 +--hard-mask <2>:                               See 4.1.2.    (line 1200)
   3.453 +--hard-mask:                                   See 3.4.      (line  959)
   3.454 +--HardMask (deprecated):                       See 3.4.      (line  959)
   3.455 +--help:                                        See 3.1.      (line  448)
   3.456 +--MinCurvature (deprecated):                   See 3.4.      (line  973)
   3.457 +--output:                                      See 3.1.      (line  481)
   3.458 +--saturation-weight:                           See 3.3.      (line  765)
   3.459 +--save-masks:                                  See 3.4.      (line  991)
   3.460 +--SaveMasks (deprecated):                      See 3.4.      (line  991)
   3.461 +--soft-mask:                                   See 3.4.      (line 1019)
   3.462 +--SoftMask (deprecated):                       See 3.4.      (line 1019)
   3.463 +--verbose:                                     See 3.1.      (line  488)
   3.464 +--version:                                     See 3.1.      (line  523)
   3.465 +--wContrast (deprecated):                      See 3.3.      (line  721)
   3.466 +--wEntropy (deprecated):                       See 3.3.      (line  728)
   3.467 +--wExposureMu (deprecated):                    See 3.3.      (line  736)
   3.468 +--wExposureSigma (deprecated):                 See 3.3.      (line  754)
   3.469 +--wrap:                                        See 3.1.      (line  530)
   3.470 +--wSaturation (deprecated):                    See 3.3.      (line  765)
   3.471 +-b <1>:                                        See 6.        (line 1777)
   3.472 +-b:                                            See 3.2.      (line  584)
   3.473 +-c:                                            See 3.2.      (line  595)
   3.474 +-d:                                            See 3.2.      (line  606)
   3.475 +-f:                                            See 3.2.      (line  683)
   3.476 +-g:                                            See 3.2.      (line  691)
   3.477 +-h:                                            See 3.1.      (line  448)
   3.478 +-l:                                            See 3.1.      (line  451)
   3.479 +-m <1>:                                        See 6.        (line 1777)
   3.480 +-m:                                            See 3.2.      (line  703)
   3.481 +-o:                                            See 3.1.      (line  481)
   3.482 +-V:                                            See 3.1.      (line  523)
   3.483 +-v:                                            See 3.1.      (line  488)
   3.484 +-w:                                            See 3.1.      (line  530)
   3.485  General Index
   3.486  *************
   3.487  
   3.488 -360o panoramas:                                See 3.1.      (line  521)
   3.489 -a.tif:                                         See 3.1.      (line  474)
   3.490 -advanced focus stacking:                       See 7.6.5.    (line 2046)
   3.491 +360o panoramas:                                See 3.1.      (line  530)
   3.492 +a.tif:                                         See 3.1.      (line  483)
   3.493 +advanced focus stacking:                       See 7.6.5.    (line 2199)
   3.494  advanced focus stacking, recognizing faint edges:See 7.6.5.4.
   3.495 -                                                             (line 2140)
   3.496 -advanced focus stacking, suppressing noise:    See 7.6.5.4.  (line 2140)
   3.497 +                                                             (line 2357)
   3.498 +advanced focus stacking, suppressing noise:    See 7.6.5.4.  (line 2357)
   3.499  affine transformation:                         See 2.        (line  240)
   3.500  alpha channel <1>:                             See 2.        (line  261)
   3.501  alpha channel:                                 See 1.        (line  155)
   3.502 -alpha channel, associated:                     See 3.2.      (line  682)
   3.503 -aperture, sweet spot:                          See 7.6.1.    (line 1955)
   3.504 -applications of enfuse:                        See 7.        (line 1697)
   3.505 +alpha channel, associated:                     See 3.2.      (line  691)
   3.506 +aperture, sweet spot:                          See 7.6.1.    (line 2108)
   3.507 +applications of enfuse:                        See 7.        (line 1850)
   3.508  authors, list of:                              See Appendix B.
   3.509 -                                                             (line 2484)
   3.510 -average, disabling:                            See 4.1.2.    (line 1155)
   3.511 -average, weighted:                             See 4.1.1.    (line 1143)
   3.512 -basic focus stacking:                          See 7.6.4.    (line 2018)
   3.513 -binary mask:                                   See 5.        (line 1534)
   3.514 -bits per channel:                              See 3.2.      (line  597)
   3.515 -blending exposures:                            See 7.3.2.    (line 1873)
   3.516 +                                                             (line 2701)
   3.517 +average, disabling:                            See 4.1.2.    (line 1200)
   3.518 +average, weighted:                             See 4.1.1.    (line 1188)
   3.519 +basic focus stacking:                          See 7.6.4.    (line 2171)
   3.520 +binary mask:                                   See 5.        (line 1687)
   3.521 +bits per channel:                              See 3.2.      (line  606)
   3.522 +blending exposures:                            See 7.3.2.    (line 2026)
   3.523  bug reports:                                   See Appendix A.
   3.524 -                                                             (line 2337)
   3.525 +                                                             (line 2554)
   3.526  Burt-Adelson multiresolution spline:           See 1.        (line  112)
   3.527 -channel width:                                 See 3.2.      (line  597)
   3.528 +channel width:                                 See 3.2.      (line  606)
   3.529  channel, alpha:                                See 1.        (line  155)
   3.530 -CIECAM02:                                      See 3.2.      (line  586)
   3.531 -circle-of-confusion:                           See 7.6.1.    (line 1943)
   3.532 -color appearance model:                        See 3.2.      (line  586)
   3.533 -color space, sRGB:                             See 3.2.      (line  588)
   3.534 -compression:                                   See 3.1.      (line  402)
   3.535 -compression, deflate:                          See 3.1.      (line  417)
   3.536 -compression, JPEG:                             See 3.1.      (line  408)
   3.537 -compression, LZW:                              See 3.1.      (line  423)
   3.538 -compression, packbits:                         See 3.1.      (line  427)
   3.539 -contrast enhancement, local:                   See 7.6.5.3.  (line 2119)
   3.540 -contrast weighting using a blend of methods:   See 4.4.3.    (line 1419)
   3.541 -contrast weighting using laplacian-of-gaussian:See 4.4.2.    (line 1357)
   3.542 -contrast weighting using standard deviation:   See 4.4.1.    (line 1288)
   3.543 -conversion, L*a*b*:                            See 3.4.      (line  888)
   3.544 +CIECAM02:                                      See 3.2.      (line  595)
   3.545 +circle-of-confusion:                           See 7.6.1.    (line 2096)
   3.546 +color appearance model:                        See 3.2.      (line  595)
   3.547 +color space, sRGB:                             See 3.2.      (line  597)
   3.548 +compression:                                   See 3.1.      (line  411)
   3.549 +compression, deflate:                          See 3.1.      (line  426)
   3.550 +compression, JPEG:                             See 3.1.      (line  417)
   3.551 +compression, LZW:                              See 3.1.      (line  432)
   3.552 +compression, packbits:                         See 3.1.      (line  436)
   3.553 +contrast enhancement, local:                   See 7.6.5.3.  (line 2336)
   3.554 +contrast weighting using a blend of methods:   See 4.4.3.    (line 1536)
   3.555 +contrast weighting using laplacian-of-gaussian:See 4.4.2.    (line 1438)
   3.556 +contrast weighting using standard deviation:   See 4.4.1.    (line 1369)
   3.557 +conversion, L*a*b*:                            See 3.4.      (line  933)
   3.558  conversion, raw:                               See 2.        (line  227)
   3.559 -dark frame:                                    See 7.6.6.    (line 2231)
   3.560 -decision tree, focus stacking:                 See 7.6.5.5.  (line 2196)
   3.561 -default output filename:                       See 3.1.      (line  474)
   3.562 -deflate compression:                           See 3.1.      (line  417)
   3.563 -delimiters, option:                            See 3.5.      (line 1055)
   3.564 -depth-of-field:                                See 7.6.1.    (line 1946)
   3.565 -depth-of-focus increase:                       See 7.6.      (line 1927)
   3.566 -digital blending:                              See 7.3.2.    (line 1873)
   3.567 -disabling average:                             See 4.1.2.    (line 1155)
   3.568 -double precision float, IEEE754:               See 3.2.      (line  649)
   3.569 -dynamic range increase <1>:                    See 7.4.      (line 1911)
   3.570 -dynamic range increase:                        See 7.3.      (line 1808)
   3.571 -edge detection, laplacian:                     See 7.6.5.2.  (line 2099)
   3.572 -entropy:                                       See 4.5.      (line 1480)
   3.573 -entropy, definition:                           See 4.5.      (line 1477)
   3.574 -estimators:                                    See 4.4.1.2.  (line 1338)
   3.575 -expectation value:                             See 4.4.1.1.  (line 1322)
   3.576 -expert focus stacking tips:                    See 7.6.6.    (line 2219)
   3.577 -exposure series:                               See 7.3.      (line 1808)
   3.578 -exposure series, common misconceptions:        See 7.3.2.    (line 1870)
   3.579 -exposure series, tips for beginners:           See 7.3.1.    (line 1846)
   3.580 -filename template:                             See 3.4.      (line  951)
   3.581 +dark frame:                                    See 7.6.6.    (line 2448)
   3.582 +decision tree, focus stacking:                 See 7.6.5.5.  (line 2413)
   3.583 +default output filename:                       See 3.1.      (line  483)
   3.584 +deflate compression:                           See 3.1.      (line  426)
   3.585 +delimiters, option:                            See 3.5.      (line 1100)
   3.586 +depth-of-field:                                See 7.6.1.    (line 2099)
   3.587 +depth-of-focus increase:                       See 7.6.      (line 2080)
   3.588 +digital blending:                              See 7.3.2.    (line 2026)
   3.589 +disabling average:                             See 4.1.2.    (line 1200)
   3.590 +double precision float, IEEE754:               See 3.2.      (line  658)
   3.591 +dynamic range increase <1>:                    See 7.4.      (line 2064)
   3.592 +dynamic range increase:                        See 7.3.      (line 1961)
   3.593 +edge detection, laplacian:                     See 7.6.5.2.  (line 2316)
   3.594 +entropy:                                       See 4.5.      (line 1597)
   3.595 +entropy, definition:                           See 4.5.      (line 1594)
   3.596 +estimators:                                    See 4.4.1.2.  (line 1419)
   3.597 +expectation value:                             See 4.4.1.1.  (line 1403)
   3.598 +expert focus stacking tips:                    See 7.6.6.    (line 2436)
   3.599 +exposure series:                               See 7.3.      (line 1961)
   3.600 +exposure series, common misconceptions:        See 7.3.2.    (line 2023)
   3.601 +exposure series, tips for beginners:           See 7.3.1.    (line 1999)
   3.602 +filename template:                             See 3.4.      (line  996)
   3.603  filenames, literal:                            See 3.        (line  284)
   3.604 -flash exposure series:                         See 7.4.      (line 1911)
   3.605 -focus stacking decision tree:                  See 7.6.5.5.  (line 2196)
   3.606 -focus stacking, advanced:                      See 7.6.5.    (line 2046)
   3.607 -focus stacking, basic:                         See 7.6.4.    (line 2018)
   3.608 -focus stacks:                                  See 7.6.      (line 1927)
   3.609 -focus stacks, fusing:                          See 7.6.3.    (line 1980)
   3.610 -focus stacks, preparation:                     See 7.6.2.    (line 1966)
   3.611 -focus stacks, why create them:                 See 7.6.1.    (line 1937)
   3.612 +flash exposure series:                         See 7.4.      (line 2064)
   3.613 +focus stacking decision tree:                  See 7.6.5.5.  (line 2413)
   3.614 +focus stacking, advanced:                      See 7.6.5.    (line 2199)
   3.615 +focus stacking, basic:                         See 7.6.4.    (line 2171)
   3.616 +focus stacks:                                  See 7.6.      (line 2080)
   3.617 +focus stacks, fusing:                          See 7.6.3.    (line 2133)
   3.618 +focus stacks, preparation:                     See 7.6.2.    (line 2119)
   3.619 +focus stacks, why create them:                 See 7.6.1.    (line 2090)
   3.620  format of response files:                      See 3.        (line  332)
   3.621  free documentation license (FDL):              See Appendix C.
   3.622 -                                                             (line 2523)
   3.623 -fusing, local-contrast-based:                  See 7.6.3.    (line 1980)
   3.624 +                                                             (line 2740)
   3.625 +fusing, local-contrast-based:                  See 7.6.3.    (line 2133)
   3.626  general index:
   3.627 -          See ``General Index''.                             (line 3038)
   3.628 +          See ``General Index''.                             (line 3255)
   3.629  GNU free documentation license:                See Appendix C.
   3.630 -                                                             (line 2523)
   3.631 +                                                             (line 2740)
   3.632  grammar, response file:                        See 3.        (line  346)
   3.633 -gray projector:                                See 3.4.      (line  857)
   3.634 -gray projector, average:                       See 3.4.      (line  868)
   3.635 -gray projector, channel-mixer:                 See 3.4.      (line  874)
   3.636 -gray projector, l-star:                        See 3.4.      (line  888)
   3.637 -gray projector, lightness:                     See 3.4.      (line  898)
   3.638 -gray projector, luminance:                     See 3.4.      (line  903)
   3.639 -gray projector, value:                         See 3.4.      (line  909)
   3.640 -half precision float, OpenEXR:                 See 3.2.      (line  664)
   3.641 -helpful programs:                              See 8.        (line 2253)
   3.642 -hot pixels:                                    See 7.6.6.    (line 2231)
   3.643 -Hugin:                                         See A.2.      (line 2427)
   3.644 -ICC profile:                                   See 3.2.      (line  588)
   3.645 -IEEE754 double precision float:                See 3.2.      (line  649)
   3.646 -IEEE754 single precision float:                See 3.2.      (line  640)
   3.647 -image cache:                                   See 6.        (line 1627)
   3.648 -image cache, block size:                       See 3.2.      (line  575)
   3.649 -image cache, cache size:                       See 3.2.      (line  694)
   3.650 -image cache, location:                         See 6.        (line 1638)
   3.651 +gray projector:                                See 3.4.      (line  902)
   3.652 +gray projector, average:                       See 3.4.      (line  913)
   3.653 +gray projector, channel-mixer:                 See 3.4.      (line  919)
   3.654 +gray projector, l-star:                        See 3.4.      (line  933)
   3.655 +gray projector, lightness:                     See 3.4.      (line  943)
   3.656 +gray projector, luminance:                     See 3.4.      (line  948)
   3.657 +gray projector, value:                         See 3.4.      (line  954)
   3.658 +half precision float, OpenEXR:                 See 3.2.      (line  673)
   3.659 +helpful programs:                              See 8.        (line 2470)
   3.660 +hot pixels:                                    See 7.6.6.    (line 2448)
   3.661 +Hugin:                                         See A.2.      (line 2644)
   3.662 +ICC profile:                                   See 3.2.      (line  597)
   3.663 +IEEE754 double precision float:                See 3.2.      (line  658)
   3.664 +IEEE754 single precision float:                See 3.2.      (line  649)
   3.665 +image cache:                                   See 6.        (line 1780)
   3.666 +image cache, block size:                       See 3.2.      (line  584)
   3.667 +image cache, cache size:                       See 3.2.      (line  703)
   3.668 +image cache, location:                         See 6.        (line 1791)
   3.669  image, multi-layer:                            See 1.        (line  163)
   3.670 -images, fusable:                               See 7.1.      (line 1704)
   3.671 +images, fusable:                               See 7.1.      (line 1857)
   3.672  index, general:
   3.673 -          See ``General Index''.                             (line 3038)
   3.674 +          See ``General Index''.                             (line 3255)
   3.675  index, option:
   3.676 -          See ``Option Index''.                              (line 2983)
   3.677 +          See ``Option Index''.                              (line 3200)
   3.678  index, program:
   3.679 -          See ``Program Index''.                             (line 2942)
   3.680 -input mask:                                    See 5.1.      (line 1546)
   3.681 +          See ``Program Index''.                             (line 3159)
   3.682 +input mask:                                    See 5.1.      (line 1699)
   3.683  invocation:                                    See 3.        (line  280)
   3.684 -JPEG compression:                              See 3.1.      (line  408)
   3.685 -KImageFuser:                                   See A.2.      (line 2427)
   3.686 -L*a*b* conversion:                             See 3.4.      (line  888)
   3.687 -laplacian edge detection:                      See 7.6.5.2.  (line 2099)
   3.688 -Laplacian of Gaussian (LoG):                   See 4.4.2.    (line 1357)
   3.689 +JPEG compression:                              See 3.1.      (line  417)
   3.690 +KImageFuser:                                   See A.2.      (line 2644)
   3.691 +L*a*b* conversion:                             See 3.4.      (line  933)
   3.692 +laplacian edge detection:                      See 7.6.5.2.  (line 2316)
   3.693 +Laplacian of Gaussian (LoG):                   See 4.4.2.    (line 1438)
   3.694  lens distortion, correction of:                See 2.        (line  240)
   3.695 -levels, pyramid:                               See 3.1.      (line  442)
   3.696 -LibJPEG:                                       See 8.        (line 2310)
   3.697 -LibPNG:                                        See 8.        (line 2313)
   3.698 -LibTiff:                                       See 8.        (line 2317)
   3.699 -light probe:                                   See 7.3.2.    (line 1892)
   3.700 +levels, pyramid:                               See 3.1.      (line  451)
   3.701 +LibJPEG:                                       See 8.        (line 2527)
   3.702 +LibPNG:                                        See 8.        (line 2530)
   3.703 +LibTiff:                                       See 8.        (line 2534)
   3.704 +light probe:                                   See 7.3.2.    (line 2045)
   3.705  literal filenames:                             See 3.        (line  284)
   3.706 -local analysis window:                         See 4.4.1.    (line 1288)
   3.707 -local contrast enhancement:                    See 7.6.5.3.  (line 2119)
   3.708 -local contrast problem:                        See 7.6.5.1.  (line 2053)
   3.709 -local-contrast-based fusing:                   See 7.6.3.    (line 1980)
   3.710 -LZW compression:                               See 3.1.      (line  423)
   3.711 -mask template character, %:                    See 3.4.      (line  979)
   3.712 -mask template character, B:                    See 3.4.      (line 1028)
   3.713 -mask template character, b:                    See 3.4.      (line 1022)
   3.714 -mask template character, D:                    See 3.4.      (line 1019)
   3.715 -mask template character, d:                    See 3.4.      (line 1013)
   3.716 -mask template character, E:                    See 3.4.      (line 1047)
   3.717 -mask template character, e:                    See 3.4.      (line 1041)
   3.718 -mask template character, F:                    See 3.4.      (line 1037)
   3.719 -mask template character, f:                    See 3.4.      (line 1031)
   3.720 -mask template character, i:                    See 3.4.      (line  982)
   3.721 -mask template character, n:                    See 3.4.      (line  997)
   3.722 -mask template character, P:                    See 3.4.      (line 1010)
   3.723 -mask template character, p:                    See 3.4.      (line 1002)
   3.724 -mask template characters, table of:            See 3.4.      (line  978)
   3.725 -mask, binary:                                  See 5.        (line 1534)
   3.726 -mask, filename template:                       See 3.4.      (line  951)
   3.727 -mask, input files:                             See 5.1.      (line 1546)
   3.728 -mask, saving:                                  See 3.4.      (line  948)
   3.729 -mask, weight:                                  See 5.        (line 1534)
   3.730 -masks, understanding:                          See 5.        (line 1534)
   3.731 -memory, tuning usage of:                       See 6.        (line 1624)
   3.732 +local analysis window:                         See 4.4.1.    (line 1369)
   3.733 +local contrast enhancement:                    See 7.6.5.3.  (line 2336)
   3.734 +local contrast problem:                        See 7.6.5.1.  (line 2206)
   3.735 +local-contrast-based fusing:                   See 7.6.3.    (line 2133)
   3.736 +LZW compression:                               See 3.1.      (line  432)
   3.737 +mask template character, %:                    See 3.4.      (line 1024)
   3.738 +mask template character, B:                    See 3.4.      (line 1073)
   3.739 +mask template character, b:                    See 3.4.      (line 1067)
   3.740 +mask template character, D:                    See 3.4.      (line 1064)
   3.741 +mask template character, d:                    See 3.4.      (line 1058)
   3.742 +mask template character, E:                    See 3.4.      (line 1092)
   3.743 +mask template character, e:                    See 3.4.      (line 1086)
   3.744 +mask template character, F:                    See 3.4.      (line 1082)
   3.745 +mask template character, f:                    See 3.4.      (line 1076)
   3.746 +mask template character, i:                    See 3.4.      (line 1027)
   3.747 +mask template character, n:                    See 3.4.      (line 1042)
   3.748 +mask template character, P:                    See 3.4.      (line 1055)
   3.749 +mask template character, p:                    See 3.4.      (line 1047)
   3.750 +mask template characters, table of:            See 3.4.      (line 1023)
   3.751 +mask, binary:                                  See 5.        (line 1687)
   3.752 +mask, filename template:                       See 3.4.      (line  996)
   3.753 +mask, input files:                             See 5.1.      (line 1699)
   3.754 +mask, saving:                                  See 3.4.      (line  993)
   3.755 +mask, weight:                                  See 5.        (line 1687)
   3.756 +masks, understanding:                          See 5.        (line 1687)
   3.757 +memory, tuning usage of:                       See 6.        (line 1777)
   3.758  Mertens-Kautz-Van Reeth exposure fusion:       See 1.        (line   97)
   3.759 -mode of operation (SDev, LoG, ...):            See 4.4.4.    (line 1461)
   3.760 +mode of operation (SDev, LoG, ...):            See 4.4.4.    (line 1578)
   3.761  multi-directory TIFF:                          See 1.        (line  163)
   3.762  multi-layer image:                             See 1.        (line  163)
   3.763 -natural sharp-unsharp transition:              See 7.6.6.    (line 2246)
   3.764 -noise reduction:                               See 7.2.      (line 1786)
   3.765 +natural sharp-unsharp transition:              See 7.6.6.    (line 2463)
   3.766 +noise reduction:                               See 7.2.      (line 1939)
   3.767  Octave:                                        See Appendix A.
   3.768 -                                                             (line 2337)
   3.769 -OpenEXR, data format:                          See 3.2.      (line  660)
   3.770 -OpenEXR, half precision float:                 See 3.2.      (line  664)
   3.771 -option delimiters:                             See 3.5.      (line 1055)
   3.772 +                                                             (line 2554)
   3.773 +OpenEXR, data format:                          See 3.2.      (line  669)
   3.774 +OpenEXR, half precision float:                 See 3.2.      (line  673)
   3.775 +option delimiters:                             See 3.5.      (line 1100)
   3.776  option index:
   3.777 -          See ``Option Index''.                              (line 2983)
   3.778 -options, common:                               See 3.1.      (line  399)
   3.779 -options, expert:                               See 3.4.      (line  767)
   3.780 -options, extended:                             See 3.2.      (line  571)
   3.781 -options, fusion:                               See 3.3.      (line  708)
   3.782 -output file compression:                       See 3.1.      (line  402)
   3.783 -output filename, default:                      See 3.1.      (line  474)
   3.784 -output image, set size of:                     See 3.2.      (line  674)
   3.785 +          See ``Option Index''.                              (line 3200)
   3.786 +options, common:                               See 3.1.      (line  408)
   3.787 +options, expert:                               See 3.4.      (line  776)
   3.788 +options, extended:                             See 3.2.      (line  580)
   3.789 +options, fusion:                               See 3.3.      (line  717)
   3.790 +output file compression:                       See 3.1.      (line  411)
   3.791 +output filename, default:                      See 3.1.      (line  483)
   3.792 +output image, set size of:                     See 3.2.      (line  683)
   3.793  overview:                                      See 1.        (line   97)
   3.794 -packbits compression:                          See 3.1.      (line  427)
   3.795 +packbits compression:                          See 3.1.      (line  436)
   3.796  parallax error:                                See 2.        (line  250)
   3.797  photometric alignment:                         See 2.        (line  242)
   3.798 -pixels, hot:                                   See 7.6.6.    (line 2231)
   3.799 -polarization series:                           See 7.5.      (line 1918)
   3.800 -probability function:                          See 4.4.1.1.  (line 1319)
   3.801 +pixels, hot:                                   See 7.6.6.    (line 2448)
   3.802 +polarization series:                           See 7.5.      (line 2071)
   3.803 +probability function:                          See 4.4.1.1.  (line 1400)
   3.804  problem reports:                               See Appendix A.
   3.805 -                                                             (line 2340)
   3.806 -problem, local contrast:                       See 7.6.5.1.  (line 2053)
   3.807 -profile, ICC:                                  See 3.2.      (line  588)
   3.808 +                                                             (line 2557)
   3.809 +problem, local contrast:                       See 7.6.5.1.  (line 2206)
   3.810 +profile, ICC:                                  See 3.2.      (line  597)
   3.811  program index:
   3.812 -          See ``Program Index''.                             (line 2942)
   3.813 -programs, helpful additional:                  See 8.        (line 2253)
   3.814 -pyramid levels:                                See 3.1.      (line  442)
   3.815 +          See ``Program Index''.                             (line 3159)
   3.816 +programs, helpful additional:                  See 8.        (line 2470)
   3.817 +pyramid levels:                                See 3.1.      (line  451)
   3.818  raw conversion:                                See 2.        (line  227)
   3.819 +response file, force recognition:              See 3.        (line  382)
   3.820  response file, format:                         See 3.        (line  332)
   3.821  response file, grammar:                        See 3.        (line  346)
   3.822  response files:                                See 3.        (line  284)
   3.823 -saturation enhancement:                        See 7.5.      (line 1918)
   3.824 -scaling of parameters:                         See 4.4.4.    (line 1461)
   3.825 -sensor, use of clean:                          See 7.6.6.    (line 2222)
   3.826 -series, exposure:                              See 7.3.      (line 1808)
   3.827 -series, flash exposure:                        See 7.4.      (line 1911)
   3.828 -series, polarization:                          See 7.5.      (line 1918)
   3.829 -series, simple:                                See 7.2.      (line 1786)
   3.830 -simple series:                                 See 7.2.      (line 1786)
   3.831 -single precision float, IEEE754:               See 3.2.      (line  640)
   3.832 +saturation enhancement:                        See 7.5.      (line 2071)
   3.833 +scaling of parameters:                         See 4.4.4.    (line 1578)
   3.834 +sensor, use of clean:                          See 7.6.6.    (line 2439)
   3.835 +series, exposure:                              See 7.3.      (line 1961)
   3.836 +series, flash exposure:                        See 7.4.      (line 2064)
   3.837 +series, polarization:                          See 7.5.      (line 2071)
   3.838 +series, simple:                                See 7.2.      (line 1939)
   3.839 +simple series:                                 See 7.2.      (line 1939)
   3.840 +single precision float, IEEE754:               See 3.2.      (line  649)
   3.841  SourceForge <1>:                               See Appendix A.
   3.842 -                                                             (line 2343)
   3.843 +                                                             (line 2560)
   3.844  SourceForge:                                   See 1.        (line  169)
   3.845  SourceForge, tracker:                          See Appendix A.
   3.846 -                                                             (line 2343)
   3.847 -sRGB color space:                              See 3.2.      (line  588)
   3.848 -standard deviation:                            See 4.4.1.1.  (line 1328)
   3.849 -statistical moments:                           See 4.4.1.1.  (line 1319)
   3.850 -subtraction of dark frame:                     See 7.6.6.    (line 2231)
   3.851 -sweet spot aperture:                           See 7.6.1.    (line 1955)
   3.852 +                                                             (line 2560)
   3.853 +sRGB color space:                              See 3.2.      (line  597)
   3.854 +standard deviation:                            See 4.4.1.1.  (line 1409)
   3.855 +statistical moments:                           See 4.4.1.1.  (line 1400)
   3.856 +subtraction of dark frame:                     See 7.6.6.    (line 2448)
   3.857 +sweet spot aperture:                           See 7.6.1.    (line 2108)
   3.858  TIFF, multi-directory:                         See 1.        (line  163)
   3.859  tiffcopy:                                      See 1.        (line  163)
   3.860  tiffsplit:                                     See 1.        (line  163)
   3.861 -tips, focus stacking experts:                  See 7.6.6.    (line 2219)
   3.862 -TMPDIR:                                        See 6.        (line 1638)
   3.863 +tips, focus stacking experts:                  See 7.6.6.    (line 2436)
   3.864 +TMPDIR:                                        See 6.        (line 1791)
   3.865  tracker, SourceForge:                          See Appendix A.
   3.866 -                                                             (line 2343)
   3.867 +                                                             (line 2560)
   3.868  transformation, affine:                        See 2.        (line  240)
   3.869 -transition, natural sharp-unsharp:             See 7.6.6.    (line 2246)
   3.870 -understanding masks:                           See 5.        (line 1534)
   3.871 -variance:                                      See 4.4.1.1.  (line 1325)
   3.872 -weight mask:                                   See 5.        (line 1534)
   3.873 -weight, entropy:                               See 3.3.      (line  719)
   3.874 -weight, exposure:                              See 3.3.      (line  727)
   3.875 -weight, local contrast:                        See 3.3.      (line  712)
   3.876 -weighted average:                              See 4.1.1.    (line 1143)
   3.877 -weighting functions:                           See 4.        (line 1102)
   3.878 -weighting, contrast using a blend of methods:  See 4.4.3.    (line 1419)
   3.879 -weighting, contrast using laplacian-of-gaussian:See 4.4.2.   (line 1357)
   3.880 -weighting, contrast using standard deviation:  See 4.4.1.    (line 1288)
   3.881 -weighting, exposure <1>:                       See 4.2.      (line 1175)
   3.882 +transition, natural sharp-unsharp:             See 7.6.6.    (line 2463)
   3.883 +understanding masks:                           See 5.        (line 1687)
   3.884 +variance:                                      See 4.4.1.1.  (line 1406)
   3.885 +weight mask:                                   See 5.        (line 1687)
   3.886 +weight, entropy:                               See 3.3.      (line  728)
   3.887 +weight, exposure:                              See 3.3.      (line  736)
   3.888 +weight, local contrast:                        See 3.3.      (line  721)
   3.889 +weighted average:                              See 4.1.1.    (line 1188)
   3.890 +weighting functions:                           See 4.        (line 1147)
   3.891 +weighting, contrast using a blend of methods:  See 4.4.3.    (line 1536)
   3.892 +weighting, contrast using laplacian-of-gaussian:See 4.4.2.   (line 1438)
   3.893 +weighting, contrast using standard deviation:  See 4.4.1.    (line 1369)
   3.894 +weighting, exposure <1>:                       See 4.2.      (line 1220)
   3.895  weighting, exposure:                           See 1.        (line  121)
   3.896 -weighting, general concept of:                 See 4.1.      (line 1109)
   3.897 -weighting, local contrast <1>:                 See 4.4.      (line 1264)
   3.898 +weighting, general concept of:                 See 4.1.      (line 1154)
   3.899 +weighting, local contrast <1>:                 See 4.4.      (line 1345)
   3.900  weighting, local contrast:                     See 1.        (line  130)
   3.901 -weighting, local entropy <1>:                  See 4.5.      (line 1475)
   3.902 +weighting, local entropy <1>:                  See 4.5.      (line 1592)
   3.903  weighting, local entropy:                      See 1.        (line  135)
   3.904 -weighting, saturation <1>:                     See 4.3.      (line 1229)
   3.905 +weighting, saturation <1>:                     See 4.3.      (line 1310)
   3.906  weighting, saturation:                         See 1.        (line  126)
   3.907 -window, local-analysis:                        See 4.4.1.    (line 1288)
   3.908 +window, local-analysis:                        See 4.4.1.    (line 1369)
   3.909  workflow:                                      See 2.        (line  192)
   3.910  workflow with Enblend:                         See 2.        (line  203)
   3.911  workflow with Enfuse:                          See 2.        (line  203)
   3.912 -wrap around:                                   See 3.1.      (line  521)
   3.913 +wrap around:                                   See 3.1.      (line  530)
     4.1 --- a/doc/filespec.texi	Fri Nov 06 09:42:01 2009 +0100
     4.2 +++ b/doc/filespec.texi	Sat Nov 07 10:02:29 2009 +0100
     4.3 @@ -132,7 +132,7 @@
     4.4  For convenience whitespace at the beginning and at the end of each
     4.5  line is ignored.  However, this implies that response files cannot
     4.6  represent filenames that start or end with whitespace, as there is no
     4.7 -quoting syntax.  Filenames with embedded whatespace cause no problems,
     4.8 +quoting syntax.  Filenames with embedded whitespace cause no problems,
     4.9  though.
    4.10  
    4.11  @item Only whole-line comments
    4.12 @@ -150,9 +150,23 @@
    4.13  
    4.14  @item Image filenames cannot start with @samp{@@}
    4.15  An at-sign always introduces a response file, even if the extension
    4.16 -would hinto towards an image.
    4.17 +would hint towards an image.
    4.18  @end table
    4.19  
    4.20 +@cindex response file, force recognition
    4.21 +If Enblend or Enfuse do not recognize a response file, they will issue
    4.22 +a warning.  To force a file being recognized as a response file add
    4.23 +one of the following syntactic comments to the @emph{first} line of
    4.24 +the file.
    4.25 +
    4.26 +@example
    4.27 +@group
    4.28 +# response-file: true
    4.29 +# enblend-response-file: true
    4.30 +# enfuse-response-file: true
    4.31 +@end group
    4.32 +@end example
    4.33 +
    4.34  @noindent
    4.35  Here is an example of a valid response file.
    4.36  @example
     5.1 --- a/doc/versenblend.texi	Fri Nov 06 09:42:01 2009 +0100
     5.2 +++ b/doc/versenblend.texi	Sat Nov 07 10:02:29 2009 +0100
     5.3 @@ -1,4 +1,4 @@
     5.4 -@set UPDATED 5 November 2009
     5.5 +@set UPDATED 7 November 2009
     5.6  @set UPDATED-MONTH November 2009
     5.7  @set EDITION 4.0-dd32463fe9de
     5.8  @set VERSION 4.0-dd32463fe9de
     6.1 --- a/src/common.h	Fri Nov 06 09:42:01 2009 +0100
     6.2 +++ b/src/common.h	Sat Nov 07 10:02:29 2009 +0100
     6.3 @@ -24,9 +24,8 @@
     6.4  #include <config.h>
     6.5  #endif
     6.6  
     6.7 -#include <errno.h>
     6.8 -
     6.9  #include <algorithm>
    6.10 +#include <cerrno>
    6.11  #include <fstream>
    6.12  #include <iomanip>
    6.13  #include <limits>
     7.1 --- a/src/filespec.cc	Fri Nov 06 09:42:01 2009 +0100
     7.2 +++ b/src/filespec.cc	Sat Nov 07 10:02:29 2009 +0100
     7.3 @@ -21,6 +21,7 @@
     7.4  
     7.5  #include <cerrno>
     7.6  #include <fstream>
     7.7 +#include <iomanip>
     7.8  #include <iostream>
     7.9  #include <list>
    7.10  #include <map>
    7.11 @@ -113,6 +114,78 @@
    7.12  #endif
    7.13  
    7.14  
    7.15 +// ANTICIPATED CHANGE: We already have the same function in
    7.16 +// "common.h".
    7.17 +static bool
    7.18 +can_open_file(const std::string& aFilename)
    7.19 +{
    7.20 +    errno = 0;
    7.21 +    std::ifstream file(aFilename.c_str());
    7.22 +    if (!file)
    7.23 +    {
    7.24 +        std::cerr << command <<
    7.25 +            ": failed to open \"" << aFilename << "\": " <<
    7.26 +            errorMessage(errno) << "\n";
    7.27 +        return false;
    7.28 +    }
    7.29 +    else
    7.30 +    {
    7.31 +        errno = 0;
    7.32 +        file.close();
    7.33 +        if (file.fail())
    7.34 +        {
    7.35 +            std::cerr << command <<
    7.36 +                ": info: problems when closing \"" << aFilename << "\": " <<
    7.37 +                errorMessage(errno) << "\n";
    7.38 +        }
    7.39 +        return true;
    7.40 +    }
    7.41 +}
    7.42 +
    7.43 +
    7.44 +// ANTICIPATED CHANGE: We already have the same function in
    7.45 +// "common.h".  There it is called toLower().  However, we cannot
    7.46 +// include this file here.  The solution is to factor out string
    7.47 +// functions into their own module.
    7.48 +std::string
    7.49 +lower_case(const std::string& aString)
    7.50 +{
    7.51 +    std::string result(aString);
    7.52 +    std::transform(aString.begin(), aString.end(), result.begin(), tolower);
    7.53 +    return result;
    7.54 +}
    7.55 +
    7.56 +
    7.57 +/** Convert a_string in a string that is printable.  This is it only
    7.58 + *  contains printable characters. */
    7.59 +std::string
    7.60 +printable_string(const std::string& a_string)
    7.61 +{
    7.62 +    std::string result;
    7.63 +
    7.64 +    for (std::string::const_iterator c = a_string.begin();
    7.65 +         c != a_string.end();
    7.66 +         ++c)
    7.67 +    {
    7.68 +        if (isprint(*c))
    7.69 +        {
    7.70 +            result.push_back(*c);
    7.71 +        }
    7.72 +        else
    7.73 +        {
    7.74 +            std::ostringstream oss;
    7.75 +            oss <<
    7.76 +                "\\x" <<
    7.77 +                std::hex << std::setw(2) << std::setfill('0') <<
    7.78 +                (static_cast<int>(*c) & 0xff);
    7.79 +            result.append(oss.str());
    7.80 +        }
    7.81 +    }
    7.82 +
    7.83 +    return result;
    7.84 +}
    7.85 +
    7.86 +
    7.87  /** Answer line will leading and trailing whitespace removed.
    7.88   *  Normalize blank lines and lines starting with a comment character
    7.89   *  to an empty string.  Remove all whitespace between the
    7.90 @@ -472,8 +545,10 @@
    7.91      if (nesting_level > RESPONSE_FILE_MAX_NESTING_LEVEL)
    7.92      {
    7.93          std::cerr <<
    7.94 -            command << ": warning: excessive nesting of " << nesting_level << " levels of response files;\n" <<
    7.95 -            command << ": warning:     possible infinite recursion in \"" << filename << "\"\n";
    7.96 +            command << ": warning: excessive nesting of " << nesting_level <<
    7.97 +            " levels of response files;\n" <<
    7.98 +            command << ": warning:     possible infinite recursion in \"" <<
    7.99 +            printable_string(filename) << "\"\n";
   7.100          unroll_trace(trace);
   7.101          return;
   7.102      }
   7.103 @@ -503,7 +578,8 @@
   7.104              if (t->first == response_filepath)
   7.105              {
   7.106                  std::cerr << command <<
   7.107 -                    ": warning: response file \"" << response_filepath << "\" recursively\n";
   7.108 +                    ": warning: response file \"" << printable_string(response_filepath) <<
   7.109 +                    "\" recursively\n";
   7.110                  unroll_trace(trace);
   7.111                  return;
   7.112              }
   7.113 @@ -519,125 +595,131 @@
   7.114          if (Verbose >= VERBOSE_RESPONSE_FILES)
   7.115          {
   7.116              std::cerr << command <<
   7.117 -                ": info: consulting response file \"" << response_filepath << "\"\n";
   7.118 +                ": info: consulting response file \"" <<
   7.119 +                printable_string(response_filepath) << "\"\n";
   7.120 +        }
   7.121 +
   7.122 +        if (!can_open_file(response_filepath))
   7.123 +        {
   7.124 +            std::cerr << command <<
   7.125 +                ": failed to open response file \"" <<
   7.126 +                printable_string(response_filepath) << "\": " <<
   7.127 +                errorMessage(errno) << "\n";
   7.128 +            unroll_trace(trace);
   7.129 +            exit(1);
   7.130 +        }
   7.131 +
   7.132 +        if (!maybe_response_file(response_filepath))
   7.133 +        {
   7.134 +            std::cerr << command <<
   7.135 +                ": warning: malformed response file \"" <<
   7.136 +                printable_string(response_filepath) << "\"\n";
   7.137 +            unroll_trace(trace);
   7.138 +            return;
   7.139          }
   7.140  
   7.141          errno = 0;
   7.142          std::ifstream response_file(response_filepath.c_str());
   7.143 -        if (response_file)
   7.144 +        Globbing glob;
   7.145 +        unsigned line_number = 0U;
   7.146 +
   7.147 +        while (true)
   7.148          {
   7.149 -            Globbing glob;
   7.150 -            unsigned line_number = 0U;
   7.151 +            std::string buffer;
   7.152  
   7.153 -            while (true)
   7.154 +            errno = 0;
   7.155 +            getline(response_file, buffer);
   7.156 +            if (!response_file.good())
   7.157              {
   7.158 -                std::string buffer;
   7.159 +                if (!buffer.empty())
   7.160 +                {
   7.161 +                    std::cerr <<
   7.162 +                        command << ": warning: ignoring last line of response file \"" <<
   7.163 +                        printable_string(response_filepath) << "\" line " << line_number + 1U << ",\n" <<
   7.164 +                        command << ": warning:     because it does not end with a newline\n";
   7.165 +                    unroll_trace(trace);
   7.166 +                }
   7.167 +                break;
   7.168 +            }
   7.169 +            ++line_number;
   7.170  
   7.171 -                errno = 0;
   7.172 -                getline(response_file, buffer);
   7.173 -                if (!response_file.good())
   7.174 +            const key_value_pair comment = get_syntactic_comment(buffer);
   7.175 +            if ((comment.first == "glob" || comment.first == "globbing") &&
   7.176 +                !comment.second.empty())
   7.177 +                // We silently ignore all other keys or empty
   7.178 +                // values with the right key.
   7.179 +            {
   7.180 +                if (!glob.set_algorithm(lower_case(comment.second)))
   7.181                  {
   7.182 -                    if (!buffer.empty())
   7.183 +                    std::cerr <<
   7.184 +                        command <<
   7.185 +                        ": warning: requested unknown globbing algorithm \"" <<
   7.186 +                        comment.second <<
   7.187 +                        "\" in response file \"" << printable_string(response_filepath) <<
   7.188 +                        "\" line " << line_number << "\n" <<
   7.189 +                        command <<
   7.190 +                        ": warning:     will stick with algorithm \"" <<
   7.191 +                        glob.get_algorithm() << "\"\n";
   7.192 +                    unroll_trace(trace);
   7.193 +                }
   7.194 +            }
   7.195 +
   7.196 +            const std::string line(normalize_response_file_line(buffer));
   7.197 +            if (line.empty())
   7.198 +            {
   7.199 +                continue;
   7.200 +            }
   7.201 +
   7.202 +            const std::string response_directory = extractDirname(response_filepath);
   7.203 +#ifdef DEBUG_FILESPEC
   7.204 +            std::cout << "+ unfold_filename_iter: response_directory = " << response_directory << "\n";
   7.205 +#endif
   7.206 +            TraceableFileNameList partial_result;
   7.207 +            trace.push_front(std::make_pair(response_filepath, line_number));
   7.208 +            unfold_filename_iter(partial_result,
   7.209 +                                 nesting_level + 1U, response_directory, trace,
   7.210 +                                 line);
   7.211 +
   7.212 +            for (TraceableFileNameList::const_iterator p = partial_result.begin();
   7.213 +                 p != partial_result.end();
   7.214 +                 ++p)
   7.215 +            {
   7.216 +                const FileNameList expanded_partial_result = glob.expand(p->first, trace);
   7.217 +                for (FileNameList::const_iterator q = expanded_partial_result.begin();
   7.218 +                     q != expanded_partial_result.end();
   7.219 +                     ++q)
   7.220 +                {
   7.221 +                    if (enblend::isRelativePath(*q))
   7.222                      {
   7.223 -                        std::cerr <<
   7.224 -                            command << ": warning: ignoring last line of response file \"" <<
   7.225 -                            response_filepath << "\" line " << line_number + 1U << ",\n" <<
   7.226 -                            command << ": warning:     because it does not end with a newline\n";
   7.227 -                        unroll_trace(trace);
   7.228 +                        const std::string path =
   7.229 +                            enblend::canonicalizePath(concatPath(response_directory, *q), false);
   7.230 +#ifdef DEBUG_FILESPEC
   7.231 +                        std::cout <<
   7.232 +                            "+ unfold_filename_iter: relative path\n" <<
   7.233 +                            "+ unfold_filename_iter:     q = " << *q << "\n" <<
   7.234 +                            "+ unfold_filename_iter:     path = <" << path << ">\n";
   7.235 +#endif
   7.236 +                        result.insert(result.end(), std::make_pair(path, trace));
   7.237                      }
   7.238 -                    break;
   7.239 -                }
   7.240 -                ++line_number;
   7.241 -
   7.242 -                if (line_number == 1U)
   7.243 -                {
   7.244 -                    const key_value_pair comment = get_syntactic_comment(buffer);
   7.245 -                    if ((comment.first == "glob" || comment.first == "globbing") &&
   7.246 -                        !comment.second.empty())
   7.247 +                    else
   7.248                      {
   7.249 -                        if (!glob.set_algorithm(comment.second))
   7.250 -                        {
   7.251 -                            std::cerr <<
   7.252 -                                command <<
   7.253 -                                ": warning: requested unknown globbing algorithm \"" <<
   7.254 -                                comment.second <<
   7.255 -                                "\" in response file \"" << response_filepath << "\" line " <<
   7.256 -                                line_number << "\n" <<
   7.257 -                                command <<
   7.258 -                                ": warning:     will stick with algorithm \"" <<
   7.259 -                                glob.get_algorithm() << "\"\n";
   7.260 -                            unroll_trace(trace);
   7.261 -                        }
   7.262 -                    }
   7.263 -                    // We silently ignore all other keys or empty
   7.264 -                    // values with the right key.
   7.265 -                }
   7.266 -
   7.267 -                const std::string line(normalize_response_file_line(buffer));
   7.268 -                if (line.empty())
   7.269 -                {
   7.270 -                    continue;
   7.271 -                }
   7.272 -
   7.273 -                const std::string response_directory = extractDirname(response_filepath);
   7.274  #ifdef DEBUG_FILESPEC
   7.275 -                std::cout << "+ unfold_filename_iter: response_directory = " << response_directory << "\n";
   7.276 +                        std::cout << "+ unfold_filename_iter: absolute path\n";
   7.277  #endif
   7.278 -                TraceableFileNameList partial_result;
   7.279 -                trace.push_front(std::make_pair(response_filepath, line_number));
   7.280 -                unfold_filename_iter(partial_result,
   7.281 -                                     nesting_level + 1U, response_directory, trace,
   7.282 -                                     line);
   7.283 -
   7.284 -                for (TraceableFileNameList::const_iterator p = partial_result.begin();
   7.285 -                     p != partial_result.end();
   7.286 -                     ++p)
   7.287 -                {
   7.288 -                    const FileNameList expanded_partial_result = glob.expand(p->first, trace);
   7.289 -                    for (FileNameList::const_iterator q = expanded_partial_result.begin();
   7.290 -                         q != expanded_partial_result.end();
   7.291 -                         ++q)
   7.292 -                    {
   7.293 -                        if (enblend::isRelativePath(*q))
   7.294 -                        {
   7.295 -                            const std::string path =
   7.296 -                                enblend::canonicalizePath(concatPath(response_directory, *q), false);
   7.297 -#ifdef DEBUG_FILESPEC
   7.298 -                            std::cout <<
   7.299 -                                "+ unfold_filename_iter: relative path\n" <<
   7.300 -                                "+ unfold_filename_iter:     q = " << *q << "\n" <<
   7.301 -                                "+ unfold_filename_iter:     path = <" << path << ">\n";
   7.302 -#endif
   7.303 -                            result.insert(result.end(), std::make_pair(path, trace));
   7.304 -                        }
   7.305 -                        else
   7.306 -                        {
   7.307 -#ifdef DEBUG_FILESPEC
   7.308 -                            std::cout << "+ unfold_filename_iter: absolute path\n";
   7.309 -#endif
   7.310 -                            result.insert(result.end(), std::make_pair(*q, trace));
   7.311 -                        }
   7.312 +                        result.insert(result.end(), std::make_pair(*q, trace));
   7.313                      }
   7.314                  }
   7.315 +            }
   7.316  
   7.317 -                trace.pop_front();
   7.318 -            }
   7.319 -            if (!response_file.eof())
   7.320 -            {
   7.321 -                std::cerr << command <<
   7.322 -                    ": warning: filesystem signals problems in response file \"" <<
   7.323 -                    response_filepath << "\" line " << line_number << ": " <<
   7.324 -                    errorMessage(errno) << "\n";
   7.325 -                unroll_trace(trace);
   7.326 -            }
   7.327 +            trace.pop_front();
   7.328          }
   7.329 -        else
   7.330 +        if (!response_file.eof())
   7.331          {
   7.332              std::cerr << command <<
   7.333 -                ": failed to open response file \"" << response_filepath << "\": " <<
   7.334 +                ": warning: filesystem signals problems in response file \"" <<
   7.335 +                printable_string(response_filepath) << "\" line " << line_number << ": " <<
   7.336                  errorMessage(errno) << "\n";
   7.337              unroll_trace(trace);
   7.338 -            exit(1);
   7.339          }
   7.340      }
   7.341      else
   7.342 @@ -681,19 +763,6 @@
   7.343  }
   7.344  
   7.345  
   7.346 -// ANTICIPATED CHANGE: We already have the same function in
   7.347 -// "common.h".  There it is called toLower().  However, we cannot
   7.348 -// include this file here.  The solution is to factor out string
   7.349 -// functions into their own module.
   7.350 -std::string
   7.351 -lower_case(const std::string& aString)
   7.352 -{
   7.353 -    std::string result(aString);
   7.354 -    std::transform(aString.begin(), aString.end(), result.begin(), tolower);
   7.355 -    return result;
   7.356 -}
   7.357 -
   7.358 -
   7.359  bool
   7.360  is_known_extension_to_vigra(const std::string& filename)
   7.361  {
   7.362 @@ -725,20 +794,38 @@
   7.363              }
   7.364              ++line_number;
   7.365  
   7.366 +            if (line_number == 1U)
   7.367 +            {
   7.368 +                const key_value_pair comment = get_syntactic_comment(buffer);
   7.369 +                if ((comment.first == "response-file" ||
   7.370 +                     comment.first == "enblend-response-file" ||
   7.371 +                     comment.first == "enfuse-response-file") &&
   7.372 +                    lower_case(comment.second) == "true")
   7.373 +                {
   7.374 +                    return true;
   7.375 +                }
   7.376 +            }
   7.377 +
   7.378              const std::string line(normalize_response_file_line(buffer));
   7.379              if (line.empty())
   7.380              {
   7.381 +                ++score;
   7.382                  continue;
   7.383              }
   7.384  
   7.385              if (line[0] == RESPONSE_FILE_PREFIX_CHAR ||
   7.386                  is_known_extension_to_vigra(line))
   7.387              {
   7.388 -                ++score;
   7.389 +                score += 2U;
   7.390              }
   7.391          }
   7.392  
   7.393 -        return line_number >= 1U && score * 8U >= line_number * 7U;
   7.394 +#ifdef DEBUG_FILESPEC
   7.395 +        std::cout <<
   7.396 +            "+ maybe_response_file: score = " << score <<
   7.397 +            ", lines = " << line_number << "\n";
   7.398 +#endif
   7.399 +        return score >= line_number;
   7.400      }
   7.401      else
   7.402      {