From: Enblend <enb...@li...> - 2012-12-08 15:57:37
|
branch: details: http://enblend.hg.sourceforge.net/hgweb/enblend/enblend-web/hgroot/enblend/enblend-web/rev/acd74ecd43c6 changeset: 24:acd74ecd43c6 user: Chris <cs...@us...> date: Sat Dec 08 10:20:08 2012 +0100 description: Announce release ov version 4.1. diffstat: enblend.doc/enblend_4.1.xhtml/Authors.xhtml | 24 + enblend.doc/enblend_4.1.xhtml/Bug-Reports.xhtml | 76 + enblend.doc/enblend_4.1.xhtml/Color-Profiles.xhtml | 28 + enblend.doc/enblend_4.1.xhtml/Common-Options.xhtml | 134 +++ enblend.doc/enblend_4.1.xhtml/Extended-Options.xhtml | 109 ++ enblend.doc/enblend_4.1.xhtml/External-Mask-Manipulation.xhtml | 27 + enblend.doc/enblend_4.1.xhtml/FDL.xhtml | 76 + enblend.doc/enblend_4.1.xhtml/General-Index.xhtml | 251 +++++ enblend.doc/enblend_4.1.xhtml/Helpful-Programs.xhtml | 51 + enblend.doc/enblend_4.1.xhtml/Image-Requirements.xhtml | 25 + enblend.doc/enblend_4.1.xhtml/Invocation.xhtml | 14 + enblend.doc/enblend_4.1.xhtml/Mask-Generation-Options.xhtml | 233 +++++ enblend.doc/enblend_4.1.xhtml/Option-Index.xhtml | 55 + enblend.doc/enblend_4.1.xhtml/Overview.xhtml | 18 + enblend.doc/enblend_4.1.xhtml/Primary-Seam-Generators.xhtml | 29 + enblend.doc/enblend_4.1.xhtml/Program-Index.xhtml | 49 + enblend.doc/enblend_4.1.xhtml/Response-Files.xhtml | 156 +++ enblend.doc/enblend_4.1.xhtml/Standard-Workflow.xhtml | 43 + enblend.doc/enblend_4.1.xhtml/Syntactic_002dComment-Index.xhtml | 17 + enblend.doc/enblend_4.1.xhtml/Tuning-Memory-Usage.xhtml | 35 + enblend.doc/enblend_4.1.xhtml/Understanding-Masks.xhtml | 50 + enblend.doc/enblend_4.1.xhtml/Workflow.xhtml | 9 + enblend.doc/enblend_4.1.xhtml/external-mask-workflow.svg | 174 +++ enblend.doc/enblend_4.1.xhtml/index.xhtml | 42 + enblend.doc/enblend_4.1.xhtml/photographic-workflow.svg | 301 ++++++ enblend.doc/enblend_4.1.xhtml/raster/external-mask-workflow.png | 0 enblend.doc/enblend_4.1.xhtml/raster/photographic-workflow.png | 0 enblend.doc/enblend_4.1.xhtml/seam-line-visualization.png | 0 enblend.doc/enblend_4.1rc1.xhtml/Authors.xhtml | 24 - enblend.doc/enblend_4.1rc1.xhtml/Bug-Reports.xhtml | 76 - enblend.doc/enblend_4.1rc1.xhtml/Color-Profiles.xhtml | 28 - enblend.doc/enblend_4.1rc1.xhtml/Common-Options.xhtml | 134 --- enblend.doc/enblend_4.1rc1.xhtml/Extended-Options.xhtml | 109 -- enblend.doc/enblend_4.1rc1.xhtml/External-Mask-Manipulation.xhtml | 27 - enblend.doc/enblend_4.1rc1.xhtml/FDL.xhtml | 76 - enblend.doc/enblend_4.1rc1.xhtml/General-Index.xhtml | 251 ----- enblend.doc/enblend_4.1rc1.xhtml/Helpful-Programs.xhtml | 51 - enblend.doc/enblend_4.1rc1.xhtml/Image-Requirements.xhtml | 25 - enblend.doc/enblend_4.1rc1.xhtml/Invocation.xhtml | 14 - enblend.doc/enblend_4.1rc1.xhtml/Mask-Generation-Options.xhtml | 233 ----- enblend.doc/enblend_4.1rc1.xhtml/Option-Index.xhtml | 55 - enblend.doc/enblend_4.1rc1.xhtml/Overview.xhtml | 18 - enblend.doc/enblend_4.1rc1.xhtml/Primary-Seam-Generators.xhtml | 29 - enblend.doc/enblend_4.1rc1.xhtml/Program-Index.xhtml | 49 - enblend.doc/enblend_4.1rc1.xhtml/Response-Files.xhtml | 156 --- enblend.doc/enblend_4.1rc1.xhtml/Standard-Workflow.xhtml | 43 - enblend.doc/enblend_4.1rc1.xhtml/Syntactic_002dComment-Index.xhtml | 17 - enblend.doc/enblend_4.1rc1.xhtml/Tuning-Memory-Usage.xhtml | 35 - enblend.doc/enblend_4.1rc1.xhtml/Understanding-Masks.xhtml | 50 - enblend.doc/enblend_4.1rc1.xhtml/Workflow.xhtml | 9 - enblend.doc/enblend_4.1rc1.xhtml/external-mask-workflow.svg | 174 --- enblend.doc/enblend_4.1rc1.xhtml/index.xhtml | 42 - enblend.doc/enblend_4.1rc1.xhtml/photographic-workflow.svg | 301 ------ enblend.doc/enblend_4.1rc1.xhtml/raster/external-mask-workflow.png | 0 enblend.doc/enblend_4.1rc1.xhtml/raster/photographic-workflow.png | 0 enblend.doc/enblend_4.1rc1.xhtml/seam-line-visualization.png | 0 enfuse.doc/enfuse_4.1.xhtml/Advanced-Focus-Stacking.xhtml | 12 + enfuse.doc/enfuse_4.1.xhtml/Applications.xhtml | 13 + enfuse.doc/enfuse_4.1.xhtml/Authors.xhtml | 24 + enfuse.doc/enfuse_4.1.xhtml/Basic-Focus-Stacking.xhtml | 12 + enfuse.doc/enfuse_4.1.xhtml/Blend-SDev-and-LoG.xhtml | 64 + enfuse.doc/enfuse_4.1.xhtml/Bug-Reports.xhtml | 76 + enfuse.doc/enfuse_4.1.xhtml/Color-Profiles.xhtml | 28 + enfuse.doc/enfuse_4.1.xhtml/Common-Options.xhtml | 125 ++ enfuse.doc/enfuse_4.1.xhtml/Disabling-Averaging.xhtml | 68 + enfuse.doc/enfuse_4.1.xhtml/Expert-Options.xhtml | 242 +++++ enfuse.doc/enfuse_4.1.xhtml/Expert-Stacking.xhtml | 17 + enfuse.doc/enfuse_4.1.xhtml/Exposure-Series-Misconceptions.xhtml | 28 + enfuse.doc/enfuse_4.1.xhtml/Exposure-Series-Tips.xhtml | 21 + enfuse.doc/enfuse_4.1.xhtml/Exposure-Series.xhtml | 14 + enfuse.doc/enfuse_4.1.xhtml/Exposure-Weighting.xhtml | 103 ++ enfuse.doc/enfuse_4.1.xhtml/Extended-Options.xhtml | 102 ++ enfuse.doc/enfuse_4.1.xhtml/External-Mask-Manipulation.xhtml | 27 + enfuse.doc/enfuse_4.1.xhtml/FDL.xhtml | 79 + enfuse.doc/enfuse_4.1.xhtml/Flash-Exposure-Series.xhtml | 6 + enfuse.doc/enfuse_4.1.xhtml/Focus-Stacking-Decision-Tree.xhtml | 14 + enfuse.doc/enfuse_4.1.xhtml/Focus-Stacks.xhtml | 14 + enfuse.doc/enfuse_4.1.xhtml/Fusion-Options.xhtml | 61 + enfuse.doc/enfuse_4.1.xhtml/General-Index.xhtml | 310 +++++++ enfuse.doc/enfuse_4.1.xhtml/Helpful-Programs.xhtml | 51 + enfuse.doc/enfuse_4.1.xhtml/Image-Requirements.xhtml | 20 + enfuse.doc/enfuse_4.1.xhtml/Invocation.xhtml | 16 + enfuse.doc/enfuse_4.1.xhtml/Laplacian-Edge-Detection.xhtml | 6 + enfuse.doc/enfuse_4.1.xhtml/Laplacian-of-Gaussian.xhtml | 238 +++++ enfuse.doc/enfuse_4.1.xhtml/List-of-Figures.xhtml | 39 + enfuse.doc/enfuse_4.1.xhtml/List-of-Tables.xhtml | 27 + enfuse.doc/enfuse_4.1.xhtml/Local-Contrast-Based-Fusing.xhtml | 43 + enfuse.doc/enfuse_4.1.xhtml/Local-Contrast-Enhancement.xhtml | 13 + enfuse.doc/enfuse_4.1.xhtml/Local-Contrast-Problem.xhtml | 35 + enfuse.doc/enfuse_4.1.xhtml/Local-Contrast-Weighting.xhtml | 18 + enfuse.doc/enfuse_4.1.xhtml/Local-Entropy-Weighting.xhtml | 188 ++++ enfuse.doc/enfuse_4.1.xhtml/Option-Delimiters.xhtml | 35 + enfuse.doc/enfuse_4.1.xhtml/Option-Index.xhtml | 56 + enfuse.doc/enfuse_4.1.xhtml/Overview.xhtml | 28 + enfuse.doc/enfuse_4.1.xhtml/Polarization-Series.xhtml | 6 + enfuse.doc/enfuse_4.1.xhtml/Preparing-Focus-Stacks.xhtml | 6 + enfuse.doc/enfuse_4.1.xhtml/Program-Index.xhtml | 48 + enfuse.doc/enfuse_4.1.xhtml/Repetition.xhtml | 8 + enfuse.doc/enfuse_4.1.xhtml/Response-Files.xhtml | 156 +++ enfuse.doc/enfuse_4.1.xhtml/Saturation-Weighting.xhtml | 37 + enfuse.doc/enfuse_4.1.xhtml/Scaling-and-Choice-of-Mode.xhtml | 5 + enfuse.doc/enfuse_4.1.xhtml/Single-Criterion-Fusing.xhtml | 20 + enfuse.doc/enfuse_4.1.xhtml/Standard-Deviation.xhtml | 258 +++++ enfuse.doc/enfuse_4.1.xhtml/Standard-Workflow.xhtml | 43 + enfuse.doc/enfuse_4.1.xhtml/Suppressing-Noise-or-Recognizing-Faint-Edges.xhtml | 38 + enfuse.doc/enfuse_4.1.xhtml/Syntactic_002dComment-Index.xhtml | 17 + enfuse.doc/enfuse_4.1.xhtml/Tuning-Memory-Usage.xhtml | 35 + enfuse.doc/enfuse_4.1.xhtml/Understanding-Masks.xhtml | 50 + enfuse.doc/enfuse_4.1.xhtml/Weighted-Average.xhtml | 6 + enfuse.doc/enfuse_4.1.xhtml/Weighting-Functions.xhtml | 12 + enfuse.doc/enfuse_4.1.xhtml/Weighting-Pixels.xhtml | 220 +++++ enfuse.doc/enfuse_4.1.xhtml/What-Images.xhtml | 21 + enfuse.doc/enfuse_4.1.xhtml/Why-Focus-Stacks.xhtml | 12 + enfuse.doc/enfuse_4.1.xhtml/Workflow.xhtml | 9 + enfuse.doc/enfuse_4.1.xhtml/entropy-cutoff.svg | 437 ++++++++++ enfuse.doc/enfuse_4.1.xhtml/entropy.svg | 242 +++++ enfuse.doc/enfuse_4.1.xhtml/exposure-cutoff.svg | 297 ++++++ enfuse.doc/enfuse_4.1.xhtml/external-mask-workflow.svg | 174 +++ enfuse.doc/enfuse_4.1.xhtml/focus-stack-decision-tree.svg | 332 +++++++ enfuse.doc/enfuse_4.1.xhtml/gaussian.svg | 237 +++++ enfuse.doc/enfuse_4.1.xhtml/index.xhtml | 133 +++ enfuse.doc/enfuse_4.1.xhtml/laplacian-of-gaussian.svg | 311 +++++++ enfuse.doc/enfuse_4.1.xhtml/local-analysis-window.svg | 202 ++++ enfuse.doc/enfuse_4.1.xhtml/photographic-workflow.svg | 301 ++++++ enfuse.doc/enfuse_4.1.xhtml/raster/entropy-cutoff.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/entropy.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/exposure-cutoff.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/external-mask-workflow.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/gaussian.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/laplacian-of-gaussian.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/local-analysis-window.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/photographic-workflow.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/sharp-edge.png | 0 enfuse.doc/enfuse_4.1.xhtml/raster/smooth-edge.png | 0 enfuse.doc/enfuse_4.1.xhtml/sharp-edge.svg | 269 ++++++ enfuse.doc/enfuse_4.1.xhtml/smooth-edge.svg | 256 +++++ enfuse.doc/enfuse_4.1rc1.xhtml/Advanced-Focus-Stacking.xhtml | 12 - enfuse.doc/enfuse_4.1rc1.xhtml/Applications.xhtml | 13 - enfuse.doc/enfuse_4.1rc1.xhtml/Authors.xhtml | 24 - enfuse.doc/enfuse_4.1rc1.xhtml/Basic-Focus-Stacking.xhtml | 12 - enfuse.doc/enfuse_4.1rc1.xhtml/Blend-SDev-and-LoG.xhtml | 64 - enfuse.doc/enfuse_4.1rc1.xhtml/Bug-Reports.xhtml | 76 - enfuse.doc/enfuse_4.1rc1.xhtml/Color-Profiles.xhtml | 28 - enfuse.doc/enfuse_4.1rc1.xhtml/Common-Options.xhtml | 125 -- enfuse.doc/enfuse_4.1rc1.xhtml/Disabling-Averaging.xhtml | 68 - enfuse.doc/enfuse_4.1rc1.xhtml/Expert-Options.xhtml | 242 ----- enfuse.doc/enfuse_4.1rc1.xhtml/Expert-Stacking.xhtml | 17 - enfuse.doc/enfuse_4.1rc1.xhtml/Exposure-Series-Misconceptions.xhtml | 28 - enfuse.doc/enfuse_4.1rc1.xhtml/Exposure-Series-Tips.xhtml | 21 - enfuse.doc/enfuse_4.1rc1.xhtml/Exposure-Series.xhtml | 14 - enfuse.doc/enfuse_4.1rc1.xhtml/Exposure-Weighting.xhtml | 103 -- enfuse.doc/enfuse_4.1rc1.xhtml/Extended-Options.xhtml | 102 -- enfuse.doc/enfuse_4.1rc1.xhtml/External-Mask-Manipulation.xhtml | 27 - enfuse.doc/enfuse_4.1rc1.xhtml/FDL.xhtml | 79 - enfuse.doc/enfuse_4.1rc1.xhtml/Flash-Exposure-Series.xhtml | 6 - enfuse.doc/enfuse_4.1rc1.xhtml/Focus-Stacking-Decision-Tree.xhtml | 14 - enfuse.doc/enfuse_4.1rc1.xhtml/Focus-Stacks.xhtml | 14 - enfuse.doc/enfuse_4.1rc1.xhtml/Fusion-Options.xhtml | 61 - enfuse.doc/enfuse_4.1rc1.xhtml/General-Index.xhtml | 310 ------- enfuse.doc/enfuse_4.1rc1.xhtml/Helpful-Programs.xhtml | 51 - enfuse.doc/enfuse_4.1rc1.xhtml/Image-Requirements.xhtml | 20 - enfuse.doc/enfuse_4.1rc1.xhtml/Invocation.xhtml | 16 - enfuse.doc/enfuse_4.1rc1.xhtml/Laplacian-Edge-Detection.xhtml | 6 - enfuse.doc/enfuse_4.1rc1.xhtml/Laplacian-of-Gaussian.xhtml | 238 ----- enfuse.doc/enfuse_4.1rc1.xhtml/List-of-Figures.xhtml | 39 - enfuse.doc/enfuse_4.1rc1.xhtml/List-of-Tables.xhtml | 27 - enfuse.doc/enfuse_4.1rc1.xhtml/Local-Contrast-Based-Fusing.xhtml | 43 - enfuse.doc/enfuse_4.1rc1.xhtml/Local-Contrast-Enhancement.xhtml | 13 - enfuse.doc/enfuse_4.1rc1.xhtml/Local-Contrast-Problem.xhtml | 35 - enfuse.doc/enfuse_4.1rc1.xhtml/Local-Contrast-Weighting.xhtml | 18 - enfuse.doc/enfuse_4.1rc1.xhtml/Local-Entropy-Weighting.xhtml | 188 ---- enfuse.doc/enfuse_4.1rc1.xhtml/Option-Delimiters.xhtml | 35 - enfuse.doc/enfuse_4.1rc1.xhtml/Option-Index.xhtml | 56 - enfuse.doc/enfuse_4.1rc1.xhtml/Overview.xhtml | 28 - enfuse.doc/enfuse_4.1rc1.xhtml/Polarization-Series.xhtml | 6 - enfuse.doc/enfuse_4.1rc1.xhtml/Preparing-Focus-Stacks.xhtml | 6 - enfuse.doc/enfuse_4.1rc1.xhtml/Program-Index.xhtml | 48 - enfuse.doc/enfuse_4.1rc1.xhtml/Repetition.xhtml | 8 - enfuse.doc/enfuse_4.1rc1.xhtml/Response-Files.xhtml | 156 --- enfuse.doc/enfuse_4.1rc1.xhtml/Saturation-Weighting.xhtml | 37 - enfuse.doc/enfuse_4.1rc1.xhtml/Scaling-and-Choice-of-Mode.xhtml | 5 - enfuse.doc/enfuse_4.1rc1.xhtml/Single-Criterion-Fusing.xhtml | 20 - enfuse.doc/enfuse_4.1rc1.xhtml/Standard-Deviation.xhtml | 258 ----- enfuse.doc/enfuse_4.1rc1.xhtml/Standard-Workflow.xhtml | 43 - enfuse.doc/enfuse_4.1rc1.xhtml/Suppressing-Noise-or-Recognizing-Faint-Edges.xhtml | 38 - enfuse.doc/enfuse_4.1rc1.xhtml/Syntactic_002dComment-Index.xhtml | 17 - enfuse.doc/enfuse_4.1rc1.xhtml/Tuning-Memory-Usage.xhtml | 35 - enfuse.doc/enfuse_4.1rc1.xhtml/Understanding-Masks.xhtml | 50 - enfuse.doc/enfuse_4.1rc1.xhtml/Weighted-Average.xhtml | 6 - enfuse.doc/enfuse_4.1rc1.xhtml/Weighting-Functions.xhtml | 12 - enfuse.doc/enfuse_4.1rc1.xhtml/Weighting-Pixels.xhtml | 220 ----- enfuse.doc/enfuse_4.1rc1.xhtml/What-Images.xhtml | 21 - enfuse.doc/enfuse_4.1rc1.xhtml/Why-Focus-Stacks.xhtml | 12 - enfuse.doc/enfuse_4.1rc1.xhtml/Workflow.xhtml | 9 - enfuse.doc/enfuse_4.1rc1.xhtml/entropy-cutoff.svg | 437 ---------- enfuse.doc/enfuse_4.1rc1.xhtml/entropy.svg | 242 ----- enfuse.doc/enfuse_4.1rc1.xhtml/exposure-cutoff.svg | 297 ------ enfuse.doc/enfuse_4.1rc1.xhtml/external-mask-workflow.svg | 174 --- enfuse.doc/enfuse_4.1rc1.xhtml/focus-stack-decision-tree.svg | 332 ------- enfuse.doc/enfuse_4.1rc1.xhtml/gaussian.svg | 237 ----- enfuse.doc/enfuse_4.1rc1.xhtml/index.xhtml | 133 --- enfuse.doc/enfuse_4.1rc1.xhtml/laplacian-of-gaussian.svg | 311 ------- enfuse.doc/enfuse_4.1rc1.xhtml/local-analysis-window.svg | 202 ---- enfuse.doc/enfuse_4.1rc1.xhtml/photographic-workflow.svg | 301 ------ enfuse.doc/enfuse_4.1rc1.xhtml/raster/entropy-cutoff.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/entropy.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/exposure-cutoff.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/external-mask-workflow.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/gaussian.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/laplacian-of-gaussian.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/local-analysis-window.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/photographic-workflow.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/sharp-edge.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/raster/smooth-edge.png | 0 enfuse.doc/enfuse_4.1rc1.xhtml/sharp-edge.svg | 269 ------ enfuse.doc/enfuse_4.1rc1.xhtml/smooth-edge.svg | 256 ----- index.htm | 19 +- older_news.htm | 16 +- 218 files changed, 8520 insertions(+), 8509 deletions(-) diffs (truncated from 17860 to 500 lines): diff -r 57fbd244dec3 -r acd74ecd43c6 enblend.doc/enblend_4.1.xhtml/Authors.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enblend.doc/enblend_4.1.xhtml/Authors.xhtml Sat Dec 08 10:20:08 2012 +0100 @@ -0,0 +1,24 @@ + <div class="node"><a id="Authors"/> +<p>Next: <a accesskey="n" href="FDL.xhtml#FDL" rel="next">FDL</a>, Previous: <a accesskey="p" href="Bug-Reports.xhtml#Bug-Reports" rel="previous">Bug Reports</a>, Up: <a accesskey="u" href="index.xhtml#Top" rel="up">Top</a></p> +<hr/></div> + <h2 class="appendix">Appendix B Authors</h2> + <p> + <a id="index-authors_002c-list-of-345"/> + </p> + <p><span class="sc">Andrew Mihal</span> (<a href="mailto:ac...@us...">ac...@us...</a>) has written Enblend and Enfuse.</p> + <p class="noindent"> + <strong>Contributors</strong> + </p> + <ul> + <li><span class="sc">Pablo d'Angelo</span> (<a href="mailto:da...@us...">da...@us...</a>) added the contrast criteria.</li> + <li><span class="sc">Joe Beda</span>: Win32 porting up to version 3.2.</li> + <li><span class="sc">Kornel Benko</span>, <a href="mailto:kor...@us...">kor...@us...</a>: CMake support for version 4.0.</li> + <li><span class="sc">Roger Goodman</span>: Proofreading of the manuals.</li> + <li><span class="sc">Max Lyons</span>.</li> + <li><span class="sc">Mark</span> aka mjz: Win32 porting up to version 3.2.</li> + <li><span class="sc">Thomas Modes</span>, <a href="mailto:tm...@us...">tm...@us...</a>: Win32 porting of version 4.0.</li> + <li><span class="sc">Ryan Sleevi</span>, <a href="mailto:rya...@us...">rya...@us...</a>: Win32 porting of version 4.0.</li> + <li><span class="sc">Christoph Spiel</span> (<a href="mailto:cs...@us...">cs...@us...</a>) added the gray projectors, the <acronym>LoG</acronym>-based edge detection, an O(n)-algorithm for the calculation of local contrast, entropy weighting, and various other features.</li> + <li><span class="sc">Brent Townshend</span>, <a href="mailto:bto...@us...">bto...@us...</a>: <acronym>HDR</acronym> support.</li> + </ul> + <p class="noindent">Thanks to <span class="sc">Simon Andriot</span> and <span class="sc">Pablo Joubert</span> for suggesting the <span class="sc">Mertens</span>-<span class="sc">Kautz</span>-<span class="sc">Van Reeth</span> technique and the name “Enfuse”.</p> diff -r 57fbd244dec3 -r acd74ecd43c6 enblend.doc/enblend_4.1.xhtml/Bug-Reports.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enblend.doc/enblend_4.1.xhtml/Bug-Reports.xhtml Sat Dec 08 10:20:08 2012 +0100 @@ -0,0 +1,76 @@ + <div class="node"><a id="Bug-Reports"/> +<p>Next: <a accesskey="n" href="Authors.xhtml#Authors" rel="next">Authors</a>, Previous: <a accesskey="p" href="Helpful-Programs.xhtml#Helpful-Programs" rel="previous">Helpful Programs</a>, Up: <a accesskey="u" href="index.xhtml#Top" rel="up">Top</a></p> +<hr/></div> + <h2 class="appendix">Appendix A Bug Reports</h2> + <p> + <a id="index-bug-reports-336"/> + </p> + <p> + <a id="index-Octave-337"/> + </p> + <pre class="smalldisplay"> + Most of this appendix was taken from the + <a href="http://www.gnu.org/software/octave/">Octave</a> documentation. +</pre> + <p><a id="index-bug-reports-338"/><a id="index-problem-reports-339"/>Bug reports play an important role in making Enblend and Enfuse reliable and enjoyable.</p> + <p><a id="index-SourceForge-340"/><a id="index-tracker_002c-SourceForge-341"/><a id="index-SourceForge_002c-tracker-342"/>When you encounter a problem, the first thing to do is to see if it is already known. On the package's SourceForge <a href="https://bugs.launchpad.net/enblend">homepage</a> click “Develop” and on the development page click “Tracker”. Search the trackers for your particular problem. If it is not known, then you should report the problem.</p> + <p>In order for a bug report to serve its purpose, you must include the information that makes it possible to fix the bug.</p> + <h3 class="section">A.1 Have You Really Found a Bug?</h3> + <p>If you are not sure whether you have found a bug, here are some guidelines:</p> + <ul> + <li>If Enblend or Enfuse get a fatal signal, for any options or input images, that is a bug.</li> + <li>If Enblend or Enfuse produce incorrect results, for any input whatever, that is a bug.</li> + <li>If Enblend or Enfuse produce an error message for valid input, that is a bug.</li> + <li>If Enblend or Enfuse do not produce an error message for invalid input, that is a bug.</li> + </ul> + <h3 class="section">A.2 How to Report Bugs</h3> + <p>The fundamental principle of reporting bugs usefully is this: report all the facts. If you are not sure whether to state a fact or leave it out, state it. Often people omit facts because they think they know what causes the problem and they conclude that some details do not matter. Play it safe and give a specific, complete example.</p> + <p>Keep in mind that the purpose of a bug report is to enable someone to fix the bug if it is not known. Always write your bug reports on the assumption that the bug is not known.</p> + <p>Try to make your bug report self-contained. If we have to ask you for more information, it is best if you include all the previous information in your response, as well as the information that was missing.</p> + <p class="noindent">To enable someone to investigate the bug, you should include all these things:</p> + <ul> + <li>The exact version and configuration of Enblend or Enfuse. You can get this by running it with the options <samp><span class="option">--version</span></samp> and <samp><span class="option">--verbose</span></samp>.</li> + <li>A complete set of input images that will reproduce the bug. Strive for a minimal set of <em>small</em><a href="#fn-1" id="fnd-1" rel="footnote"><sup>1</sup></a> images.</li> + <li>The type of machine you are using, and the operating system name and its version number.</li> + <li>A complete list of any modifications you have made to the source. Be precise about these changes. Show a <samp><span class="command">diff</span></samp> for them.</li> + <li>Details of any other deviations from the standard procedure for installing Enblend and Enfuse.</li> + <li>The <em>exact command line</em> you use to call Enblend or Enfuse, which then triggers the bug. +<p class="noindent">Examples:</p> +<pre class="example"> + ~/local/bin/enblend -v \ + --fine-mask \ + --optimizer-weights=3:2 --mask-vectorize=12.5% \ + image-1.png image-2.png +</pre> +<p class="noindent">or:</p> +<pre class="example"> + /local/bin/enfuse \ + --verbose \ + --exposure-weight=0 --saturation-weight=0 --entropy-weight=1 \ + --gray-projector=l-star \ + --entropy-cutoff=1.667% \ + layer-01.ppm layer-02.ppm layer-03.ppm +</pre> +<p><a id="index-Hugin-343"/><a id="index-KImageFuser-344"/>If you call Enblend or Enfuse from within a <acronym>GUI</acronym> like, for example, <a href="http://hugin.sourceforge.net/">Hugin</a> or <a href="http://panorama.dyndns.org/index.php?lang=en&subject=KImageFuser&texttag=KImagefuser">KImageFuser</a> by <span class="sc">Harry van der Wolf</span>, copy&paste or write down the command line that launches Enblend or Enfuse.</p> +</li> + <li>A description of what behavior you observe that you believe is incorrect. For example, “The application gets a fatal signal,” or, “The output image contains black holes.” +<p>Of course, if the bug is that the application gets a fatal signal, then one cannot miss it. But if the bug is incorrect output, we might not notice unless it is glaringly wrong.</p> +</li> + </ul> + <h3 class="section">A.3 Sending Patches for Enblend or Enfuse</h3> + <p>If you would like to write bug fixes or improvements for Enblend or Enfuse, that is very helpful. When you send your changes, please follow these guidelines to avoid causing extra work for us in studying the patches. If you do not follow these guidelines, your information might still be useful, but using it will take extra work.</p> + <ul> + <li>Send an explanation with your changes of what problem they fix or what improvement they bring about. For a bug fix, just include a copy of the bug report, and explain why the change fixes the bug.</li> + <li>Always include a proper bug report for the problem you think you have fixed. We need to convince ourselves that the change is right before installing it. Even if it is right, we might have trouble judging it if we do not have a way to reproduce the problem.</li> + <li>Include all the comments that are appropriate to help people reading the source in the future understand why this change was needed.</li> + <li>Do not mix together changes made for different reasons. Send them individually. +<p>If you make two changes for separate reasons, then we might not want to install them both. We might want to install just one.</p> +</li> + <li>Use the version control system to make your diffs. Prefer the <a href="http://en.wikipedia.org/wiki/Diff#Unified_format">unified diff</a> format: <code>hg diff --unified 4</code>.</li> + <li>You can increase the probability that your patch gets applied by basing it on a recent revision of the sources.</li> + </ul> + <div class="footnote"> +<hr/> +<h4>Footnotes</h4> +<p class="footnote"><small>[<a href="#fnd-1" id="fn-1">1</a>]</small> Images of a size less than 1500×1000 pixels qualify as small.</p> +<hr/></div> diff -r 57fbd244dec3 -r acd74ecd43c6 enblend.doc/enblend_4.1.xhtml/Color-Profiles.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enblend.doc/enblend_4.1.xhtml/Color-Profiles.xhtml Sat Dec 08 10:20:08 2012 +0100 @@ -0,0 +1,28 @@ + <div class="node"><a id="Color-Profiles"/> +<p>Next: <a accesskey="n" href="Understanding-Masks.xhtml#Understanding-Masks" rel="next">Understanding Masks</a>, Previous: <a accesskey="p" href="Primary-Seam-Generators.xhtml#Primary-Seam-Generators" rel="previous">Primary Seam Generators</a>, Up: <a accesskey="u" href="index.xhtml#Top" rel="up">Top</a></p> +<hr/></div> + <h2 class="chapter">5 Color Profiles</h2> + <p> + <a id="index-profile_002c-_0040acronym_007bICC_007d-269"/> + <a id="index-g_t_0040acronym_007bICC_007d-profile-270"/> + <a id="index-color-profile-271"/> + </p> + <p>Enblend and Enfuse expect that either</p> + <ol> + <li>no input image has a color profile or</li> + <li><a id="index-color-profile-272"/><a id="index-g_t_0040acronym_007bICC_007d-profile-273"/><a id="index-profile_002c-_0040acronym_007bICC_007d-274"/>all come with the <em>same</em> <a href="http://en.wikipedia.org/wiki/ICC_profile"><acronym>ICC</acronym></a> profile.</li> + </ol> + <p><a id="index-color-appearance-model-275"/><a id="index-g_t_0040acronym_007bCIECAM02_007d-276"/><a id="index-g_t_0040acronym_007bRGB_007d-color-cube-277"/><a id="index-color-cube_002c-_0040acronym_007bRGB_007d-278"/>In case 1 the applications blend or fuse in the <acronym>RGB</acronym>-cube, whereas in case 2 the images first are transformed to <a href="http://en.wikipedia.org/wiki/CIECAM02"><acronym>CIECAM02</acronym></a> color space – respecting the input color profile – then they are blended or fused, and finally the data transformed back to <acronym>RGB</acronym> color space. Moreover, in case 2, Enblend and Enfuse assign the input color profile to the output image.</p> + <p>Mixing different <acronym>ICC</acronym> profiles or alternating between images with profiles and without them generates warnings as it generally leads to unpredictable results.</p> + <p><a id="index-g_t_0040acronym_007bsRGB_007d-color-space-279"/><a id="index-color-space_002c-_0040acronym_007bsRGB_007d-280"/>The options <samp><span class="option">--ciecam</span></samp> (see <a href="Extended-Options.xhtml#Extended-Options">Extended Options</a>) and its opposite <samp><span class="option">--no-ciecam</span></samp> (see <a href="Extended-Options.xhtml#Extended-Options">Extended Options</a>) overrule the default profile selection procedure described above. Use option <samp><span class="option">--ciecam</span></samp> on a set of input images <em>without</em> color profiles to assign a profile to them and perform the blending or fusing process in <acronym>CIECAM02</acronym> color space.</p> + <p>The default profile is <a href="http://en.wikipedia.org/wiki/SRGB"><acronym>sRGB</acronym></a>. Override this setting with option <samp><span class="option">--fallback-profile</span></samp> (see <a href="Extended-Options.xhtml#Extended-Options">Extended Options</a>).</p> + <p>On the other hand, suppress the utilization of <acronym>CIECAM02</acronym> blending or fusing of a set of input images <em>with</em> color profiles with option <samp><span class="option">--no-ciecam</span></samp>. The only reason for the latter is to shorten the blending- or fusing-time, because transforming to and back from the <acronym>CIECAM02</acronym> color space are computationally expensive operations.</p> + <p>Option <samp><span class="option">--ciecam</span></samp> as well as <samp><span class="option">--fallback-profile</span></samp> have no effect on images with attached color profiles, just as option <samp><span class="option">--no-ciecam</span></samp> has no effect on images without profiles.</p> + <p>The impact of blending in <acronym>CIECAM02</acronym> color space as opposed to the <acronym>RGB</acronym> cube vary with the contents of the input images. Generally colors lying close together in <acronym>RGB</acronym> space experience less change when switching the blending spaces. However, colors close the border of any color space can see marked changes.</p> + <p>For color geeks: The transformations to <acronym>CIECAM02</acronym> color space and back use</p> + <ul> + <li><a id="index-rendering-intent_002c-perceptual-281"/><a id="index-perceptual-rendering-intent-282"/>perceptual rendering intent,</li> + <li><a id="index-g_t_0040acronym_007bD50_007d-white-point-283"/><a id="index-white-point_002c-_0040acronym_007bD50_007d-284"/>the <acronym>D50</acronym> white point,</li> + <li>500 lumen surrounding light (“average” in <acronym>CIECAM02</acronym> parlance), and</li> + <li>assume complete adaption.</li> + </ul> diff -r 57fbd244dec3 -r acd74ecd43c6 enblend.doc/enblend_4.1.xhtml/Common-Options.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enblend.doc/enblend_4.1.xhtml/Common-Options.xhtml Sat Dec 08 10:20:08 2012 +0100 @@ -0,0 +1,134 @@ + <div class="node"><a/> +<p>Next: <a accesskey="n" href="Extended-Options.xhtml#Extended-Options" rel="next">Extended Options</a>, Previous: <a accesskey="p" href="Response-Files.xhtml#Response-Files" rel="previous">Response Files</a>, Up: <a accesskey="u" href="Invocation.xhtml#Invocation" rel="up">Invocation</a></p> +<hr/></div> + <h3 class="section">3.3 Common Options</h3> + <p><a/> Common options control some overall features of Enblend.</p> + <p>Enblend accepts arguments to any option in uppercase as well as in lowercase letters. For example, ‘<samp><span class="samp">deflate</span></samp>’, ‘<samp><span class="samp">Deflate</span></samp>’ and ‘<samp><span class="samp">DEFLATE</span></samp>’ as arguments to the <code>--compression</code> option described below, all instruct Enblend to use the <span class="sc">Deflate</span> compression scheme. This manual denotes all arguments in lowercase for consistency.</p> + <dl> + <dt> + <code>-a</code> + </dt> + <dd><a/>Pre-assemble non-overlapping images before each blending iteration. +<p>This overrides the default behavior which is to blend the images sequentially in the order given on the command line. Enblend will use fewer blending iterations, but it will do more work in each iteration.<br/></p> +</dd> + <dt> + <code>--compression=</code> + <var>COMPRESSION</var> + </dt> + <dd><a/><a/><a/>Write a compressed output file. +<p>Depending on the output file format, Enblend accepts different values for <var>COMPRESSION</var>.</p> +<dl><dt><acronym>JPEG</acronym> format.</dt><dd><a/><a/> The compression either is a literal integer or a keyword-option combination. +<dl><dt><var>LEVEL</var></dt><dd>Set <acronym>JPEG</acronym> quality <var>LEVEL</var>, where <var>LEVEL</var> is an integer that ranges from 0–100.<br/></dd><dt><code>jpeg[:</code><var>LEVEL</var><code>]</code></dt><dd>Same as above; without the optional argument just switch on (standard) <acronym>JPEG</acronym> compression.<br/></dd><dt><code>jpeg-arith[:</code><var>LEVEL</var><code>]</code></dt><dd><a/><a/>Switch on arithmetic <acronym>JPEG</acronym> compression. With optional argument set the arithmetic compression <var>LEVEL</var>, where <var>LEVEL</var> is an integer that ranges from 0–100.</dd></dl> +<br/></dd><dt><acronym>TIF</acronym> format.</dt><dd>Here, <var>COMPRESSION</var> is one of the keywords: +<dl><dt><code>none</code></dt><dd>Do not compress. This is the default.<br/></dd><dt><code>deflate</code></dt><dd><a/><a/>Use the <span class="sc">Deflate</span> compression scheme also called <acronym>ZIP</acronym>-in-<acronym>TIFF</acronym>. <span class="sc">Deflate</span> is a lossless data compression algorithm that uses a combination of the <acronym>LZ77</acronym> algorithm and <span class="sc">Huffman</span> coding.<br/></dd><dt><code>jpeg[:</code><var>LEVEL</var><code>]</code></dt><dd><a/>Use <acronym>JPEG</acronym> compression. With optional argument set the compression <var>LEVEL</var>, where <var>LEVEL</var> is an integer that ranges from 0–100.<br/></dd><dt><code>lzw</code></dt><dd><a/><a/>Use <span class="sc">Lempel</span>-<span class="sc">Ziv</span>-<span class="sc">Welch</span> (<acronym>LZW</acronym>) adaptive compression scheme. <acronym>LZW</acronym> compression is lossless.<br/></dd><dt><code>packbits</code></dt><dd><a/><a/>Use <span class="sc">PackBits</span> compression scheme. <span class="sc">PackBits</span> is a particular variant of run-length compression; it is lossless.</dd></dl> +<br/></dd><dt>Any other format.</dt><dd>Other formats do not accept a <var>COMPRESSION</var> setting. +<p>However, <a href="http://hci.iwr.uni-heidelberg.de/vigra/"><acronym>VIGRA</acronym></a> automatically compresses <samp><span class="file">png</span></samp>-files with the <span class="sc">Deflate</span> method.</p> +</dd></dl> +<br/></dd> + <dt> + <code>--layer-selector=</code> + <var>ALGORITHM</var> + </dt> + <dd><a/><a/><a/>Override the standard layer selector algorithm, which is ‘<samp><span class="samp">all-layers</span></samp>’. +<p>This version of Enblend offers the following algorithms:</p> +<dl><dt><code>all-layers</code></dt><dd><a/>Select all layers in all images.<br/></dd><dt><code>first-layer</code></dt><dd><a/>Select only first layer in each multi-layer image. For single-layer images this is the same as ‘<samp><span class="samp">all-layers</span></samp>’.<br/></dd><dt><code>largest-layer</code></dt><dd><a/>Select largest layer in each multi-layer image, where the “largeness”, this is the size is defined by the product of the layer width and its height. The channel width of the layer is ignored. For single-layer images this is the same as ‘<samp><span class="samp">all-layers</span></samp>’.<br/></dd><dt><code>no-layer</code></dt><dd><a/>Do not select any layer in any image. +<p>This algorithm is useful to temporarily exclude some images in response files.</p> +</dd></dl> +<br/></dd> + <dt> + <code>-h</code> + </dt> + <dt> + <code>--help</code> + </dt> + <dd><a/><a/>Print information on the available options and exit.<br/></dd> + <dt><code>-l</code> <var>LEVELS</var></dt> + <dt> + <code>--levels=</code> + <var>LEVELS</var> + </dt> + <dd><a/><a/><a/><a/>Use at most this many <var>LEVELS</var> for pyramid <a href="#fn-1" rel="footnote"><sup>1</sup></a> blending if <var>LEVELS</var> is positive, or reduce the maximum number of levels used by −<var>LEVELS</var> if <var>LEVELS</var> is negative; ‘<samp><span class="samp">auto</span></samp>’ or ‘<samp><span class="samp">automatic</span></samp>’ restore the default, which is to use the maximum possible number of levels for each overlapping region. +<p>The number of levels used in a pyramid controls the balance between local and global image features (contrast, saturation, <small class="dots">...</small>) in the blended region. Fewer levels emphasize local features and suppress global ones. The more levels a pyramid has, the more global features will be taken into account.</p> +<p>As a guideline, remember that each new level works on a linear scale twice as large as the previous one. So, the zeroth layer, the original image, obviously defines the image at single-pixel scale, the first level works at two-pixel scale, and generally, the n-th level contains image data at 2<sup>n</sup>-pixel scale. This is the reason why an image of width×height pixels cannot be deconstructed into a pyramid of more than <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mrow><mo>⌊</mo><mrow><msub><mo>log</mo><mn>2</mn></msub><mo>⁡</mo><mo>(</mo><mrow><mo>min</mo><mo>⁡</mo><mfenced><mi mathvariant="italic">width</mi><mi mathvariant="italic">height</mi></mfenced></mrow><mo>)</mo></mrow><mo>⌋</mo></mrow></math> levels.</p> +<p>If too few levels are used, “halos” around regions of strong local feature variation can show up. On the other hand, if too many levels are used, the image might contain too much global features. Usually, the latter is not a problem, but is highly desired. This is the reason, why the default is to use as many levels as is possible given the size of the overlap regions. Enblend may still use a smaller number of levels if the geometry of the overlap region demands.</p> +<p>Positive values of <var>LEVELS</var> limit the maximum number of pyramid levels. Depending on the size and geometry of the overlap regions this may or may not influence any pyramid. Negative values of <var>LEVELS</var> reduce the number of pyramid levels below the maximum no matter what the actual maximum is and thus always influence all pyramids. Use ‘<samp><span class="samp">auto</span></samp>’ or ‘<samp><span class="samp">automatic</span></samp>’ as <var>LEVELS</var> to restore the automatic calculation of the maximum number of levels.</p> +<p>The valid range of the absolute value of <var>LEVELS</var> is 1 to 29.<br/></p> +</dd> + <dt> + <code>-o</code> + </dt> + <dt> + <code>--output=</code> + <var>FILE</var> + </dt> + <dd><a/><a/>Place output in <var>FILE</var>. +<p><a/><a/><a/>If <samp><span class="option">--output</span></samp> is not specified, the default is to put the resulting image in <samp><span class="file">a.tif</span></samp>.<br/></p> +</dd> + <dt> + <code>--parameter=</code> + <var>KEY</var> + <code>[=</code> + <var>VALUE</var> + <code>]:...</code> + </dt> + <dd><a/>Set a <var>KEY</var>-<var>VALUE</var> pair, where <var>VALUE</var> is optional. This option is cumulative. Separate multiple pairs with the usual numeric delimiters. +<p>This option has the negated form <samp><span class="option">--no-parameter</span></samp>, <a/>which takes one or more <var>KEY</var>s and removes them from the list of defined parameters. The special key ‘<samp><span class="samp">*</span></samp>’ deletes all parameters at once.</p> +<p>Parameters allow the developers to change the internal workings of Enblend without the need to recompile.<br/></p> +</dd> + <dt> + <code>-v</code> + </dt> + <dt> + <code>--verbose[=</code> + <var>LEVEL</var> + <code>]</code> + </dt> + <dd><a/><a/>Without an argument, increase the verbosity of progress reporting. Giving more <samp><span class="option">--verbose</span></samp> options will make Enblend more verbose. Directly set a verbosity level with a non-negative integral <var>LEVEL</var>. +<p>Each level includes all messages of the lower levels.</p> +<dl><dt>Level</dt><dd>Messages<br/></dd><dt>0</dt><dd>only warnings and errors<br/></dd><dt>1</dt><dd>reading and writing of images<br/></dd><dt>2</dt><dd>mask generation, pyramid, and blending<br/></dd><dt>3</dt><dd>reading of response files, color conversions<br/></dd><dt>4</dt><dd>image sizes, bounding boxes and intersection sizes<br/></dd><dt>5</dt><dd>detailed information on the optimizer runs (Enblend only)<br/></dd><dt>6</dt><dd>estimations of required memory in selected processing steps</dd></dl> +<p>The default verbosity level of Enblend is 1.<br/></p> +</dd> + <dt> + <code>-V</code> + </dt> + <dt> + <code>--version</code> + </dt> + <dd><a/><a/>Output information on the Enblend version. +<p>Team this option with <samp><span class="option">--verbose</span></samp> to show configuration details, like the extra features that have been compiled in.<br/></p> +</dd> + <dt> + <code>-w</code> + </dt> + <dt> + <code>--wrap=</code> + <var>MODE</var> + </dt> + <dd><a/><a/><a/><a/>Blend around the boundaries of the panorama. +<p>As this option significantly increases memory usage and computation time only use it, if the panorama will be</p> +<ul><li>consulted for any kind measurement, this is, all boundaries must match as accurately as possible, or</li><li>printed out and the boundaries glued together, or</li><li><a/>fed into a virtual reality (<abbr>VR</abbr>) generator, which creates a seamless environment.</li></ul> +<p>Otherwise, always avoid this option!</p> +<p>With this option Enblend treats the panorama of width w and height h as an infinite data structure, where each pixel P(x, y) of the input images represents the set of pixels <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mrow><msub><mi>S</mi><mi>P</mi></msub><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow></math> <a href="#fn-2" rel="footnote"><sup>2</sup></a>.</p> +<p><var>MODE</var> takes the following values:</p> +<dl><dt>‘<samp><span class="samp">none</span></samp>’</dt><dt>‘<samp><span class="samp">open</span></samp>’</dt><dd>This is a “no-op”; it has the same effect as not giving <samp><span class="option">--wrap</span></samp> at all. The set of input images is considered open at its boundaries.<br/></dd><dt>‘<samp><span class="samp">horizontal</span></samp>’</dt><dd>Wrap around horizontally: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="separate"><mrow><msub><mi>S</mi><mi>P</mi></msub><mfenced><mi>x</mi><mi>y</mi></mfenced><mo>=</mo><mrow><mo>{</mo><mrow><mi>P</mi><mfenced><mrow><mi>x</mi><mo>+</mo><mi>m</mi><mo>⁢</mo><mi>w</mi></mrow><mi>y</mi></mfenced></mrow><mo>:</mo><mrow><mi>m</mi><mtext>   in   </mtext><mi>Z</mi></mrow><mo>}</mo></mrow><mtext>.</mtext></mrow></math> +<p>This is useful for 360° horizontal panoramas as it eliminates the left and right borders.<br/></p> +</dd><dt>‘<samp><span class="samp">vertical</span></samp>’</dt><dd>Wrap around vertically: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="separate"><mrow><msub><mi>S</mi><mi>P</mi></msub><mfenced><mi>x</mi><mi>y</mi></mfenced><mo>=</mo><mrow><mo>{</mo><mrow><mi>P</mi><mfenced><mi>x</mi><mrow><mi>y</mi><mo>+</mo><mi>n</mi><mo>⁢</mo><mi>h</mi></mrow></mfenced></mrow><mo>:</mo><mrow><mi>n</mi><mtext>   in   </mtext><mi>Z</mi></mrow><mo>}</mo></mrow><mtext>.</mtext></mrow></math> +This is useful for 360° vertical panoramas as it eliminates the top and bottom borders.<br/></dd><dt>‘<samp><span class="samp">both</span></samp>’</dt><dt>‘<samp><span class="samp">horizontal+vertical</span></samp>’</dt><dt>‘<samp><span class="samp">vertical+horizontal</span></samp>’</dt><dd>Wrap around both horizontally and vertically: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="separate"><mrow><msub><mi>S</mi><mi>P</mi></msub><mfenced><mi>x</mi><mi>y</mi></mfenced><mo>=</mo><mrow><mo>{</mo><mrow><mi>P</mi><mfenced><mrow><mi>x</mi><mo>+</mo><mi>m</mi><mo>⁢</mo><mi>w</mi></mrow><mrow><mi>y</mi><mo>+</mo><mi>n</mi><mo>⁢</mo><mi>h</mi></mrow></mfenced></mrow><mo>:</mo><mrow><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow><mtext>   in   </mtext><mi>Z</mi></mrow><mo>}</mo></mrow><mtext>.</mtext></mrow></math> +<p>In this mode, both left and right borders, as well as top and bottom borders, are eliminated.</p> +</dd></dl> +<p>Specifying <samp><span class="option">--wrap</span></samp> without <var>MODE</var> selects horizontal wrapping.<br/></p> +</dd> + <dt> + <code>-x</code> + </dt> + <dd><a/><a/><a/>Checkpoint partial results to the output file after each blending step.</dd> + </dl> + <div class="footnote"> +<hr/> +<h4>Footnotes</h4> +<p class="footnote"><small>[<a href="#fnd-1">1</a>]</small> As Dr. Daniel Jackson correctly <a href="http://stargate.wikia.com/wiki/The_Tomb">noted</a>, actually, it is not a pyramid: “Ziggaurat, it's a <a href="http://en.wikipedia.org/wiki/Ziggaurat">Ziggaurat</a>.”</p> +<p class="footnote"><small>[<a href="#fnd-2">2</a>]</small> Solid-state physicists will be reminded of the <a href="http://en.wikipedia.org/wiki/Born-von_Karman_boundary_condition"><span class="sc">Born</span>-<span class="sc">von Kármán</span> boundary condition</a>.</p> +<hr/></div> diff -r 57fbd244dec3 -r acd74ecd43c6 enblend.doc/enblend_4.1.xhtml/Extended-Options.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enblend.doc/enblend_4.1.xhtml/Extended-Options.xhtml Sat Dec 08 10:20:08 2012 +0100 @@ -0,0 +1,109 @@ + <div class="node"><a/> +<p>Next: <a accesskey="n" href="Mask-Generation-Options.xhtml#Mask-Generation-Options" rel="next">Mask Generation Options</a>, Previous: <a accesskey="p" href="Common-Options.xhtml#Common-Options" rel="previous">Common Options</a>, Up: <a accesskey="u" href="Invocation.xhtml#Invocation" rel="up">Invocation</a></p> +<hr/></div> + <h3 class="section">3.4 Extended Options</h3> + <p><a/> Extended options control the image cache, the color model, and the cropping of the output image.</p> + <dl> + <dt><code>-b</code> <var>BLOCKSIZE</var></dt> + <dd><a/><a/>Set the <var>BLOCKSIZE</var> in kilobytes (<acronym>KB</acronym>) of Enblend's image cache. +<p>This is the amount of data that Enblend will move to and from the disk at one time. The default is 2048 KB, which should be ok for most systems. See <a href="Tuning-Memory-Usage.xhtml#Tuning-Memory-Usage">Tuning Memory Usage</a> for details.</p> +<p>Note that Enblend must have been compiled with the image-cache feature for this option to be effective. Find out about extra features with <code>enblend --version --verbose</code>.<br/></p> +</dd> + <dt> + <code>-c</code> + </dt> + <dt> + <code>--ciecam</code> + </dt> + <dd><a/><a/><a/><a/>Force the use of the <acronym>CIECAM02</acronym> color appearance model for blending colors instead of blending inside the <acronym>RGB</acronym> color cube. +<p><a/><a/><a/><a/><a/>All input files should have identical <acronym>ICC</acronym> profiles when this option is specified. If no <acronym>ICC</acronym> profile is present, Enblend assumes that all images use the <acronym>sRGB</acronym> color space. See <a href="Color-Profiles.xhtml#Color-Profiles">Color Profiles</a>.</p> +<p>Please keep in mind that using <acronym>CIECAM02</acronym> blending may not only change the colors in the output image, but Enblend may choose different seam line routes as some seam-line optimizers are guided by image differences.</p> +<p>This option can be negated; see option <samp><span class="option">--no-ciecam</span></samp> below.<br/></p> +</dd> + <dt> + <code>-d</code> + </dt> + <dt> + <code>--depth=</code> + <var>DEPTH</var> + </dt> + <dd><a/><a/><a/><a/>Force the number of bits per channel and the numeric format of the output image. +<p>Enblend always uses a smart way to change the channel depth to assure highest image quality (at the expense of memory), whether requantization is implicit because of the output format or explicit with option <samp><span class="option">--depth</span></samp>.</p> +<ul><li>If the output-channel width is larger than the input-channel width of the input images, the input images' channels are widened to the output channel width immediately after loading, that is, as soon as possible. Enblend then performs all blending operations at the output-channel width, thereby preserving minute color details which can appear in the blending areas.</li><li>If the output-channel width is smaller than the input-channel width of the input images, the output image's channels are narrowed only right before it is written to disk, that is, as late as possible. Thus the data benefits from the wider input channels for the longest time.</li></ul> +<p>All <var>DEPTH</var> specifications are valid in lowercase as well as uppercase letters. For integer format, use</p> +<dl><dt><code>8</code>, <code>uint8</code></dt><dd>Unsigned 8 bit; range: 0..255<br/></dd><dt><code>int16</code></dt><dd>Signed 16 bit; range: −32768..32767<br/></dd><dt><code>16</code>, <code>uint16</code></dt><dd>Unsigned 16 bit; range: 0..65535<br/></dd><dt><code>int32</code></dt><dd>Signed 32 bit; range: −2147483648..2147483647<br/></dd><dt><code>32</code>, <code>uint32</code></dt><dd>Unsigned 32 bit; range: 0..4294967295</dd></dl> +<p>For floating-point format, use <!-- Minimum positive normalized value: 2^(2 - 2^k) --> + <!-- Epsilon: 2^(1 - n) --> + <!-- Maximum finite value: (1 - 2^(-n)) * 2^(2^k) --></p> +<dl><!-- IEEE single: 32 bits, n = 24, k = 32 - n - 1 = 7 --><dt><code>r32</code>, <code>real32</code>, <code>float</code></dt><dd><a/><a/><acronym>IEEE754</acronym> single precision floating-point, 32 bit wide, 24 bit significant +<ul><li>Minimum normalized value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>1.2</mn><mo>×</mo><msup><mn>10</mn><mn>-38</mn></msup></math> +</li><li>Epsilon: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>1.2</mn><mo>×</mo><msup><mn>10</mn><mn>-7</mn></msup></math> +</li><li>Maximum finite value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>3.4</mn><mo>×</mo><msup><mn>10</mn><mn>38</mn></msup></math> +</li></ul> +<!-- IEEE double: 64 bits, n = 53, k = 64 - n - 1 = 10 --> +<br/></dd><dt><code>r64</code>, <code>real64</code>, <code>double</code></dt><dd><a/><a/><acronym>IEEE754</acronym> double precision floating-point, 64 bit wide, 53 bit significant +<ul><li>Minimum normalized value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>2.2</mn><mo>×</mo><msup><mn>10</mn><mn>-308</mn></msup></math> +</li><li>Epsilon: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>2.2</mn><mo>×</mo><msup><mn>10</mn><mn>-16</mn></msup></math> +</li><li>Maximum finite value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>1.8</mn><mo>×</mo><msup><mn>10</mn><mn>308</mn></msup></math> +</li></ul> +</dd></dl> +<p>If the requested <var>DEPTH</var> is not supported by the output file format, Enblend warns and chooses the <var>DEPTH</var> that matches best.</p> +<p><a/>The <acronym>OpenEXR</acronym> data format is treated as <acronym>IEEE754</acronym> float internally. Externally, on disk, <acronym>OpenEXR</acronym> data is represented by “half” precision floating-point numbers. <!-- ILM half: 16 bits, n = 10, k = 16 - n - 1 = 5 --></p> +<p><a/><a/><a href="http://www.openexr.com/about.html#features"><acronym>OpenEXR</acronym></a> half precision floating-point, 16 bit wide, 10 bit significant</p> +<ul><li>Minimum normalized value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>9.3</mn><mo>×</mo><msup><mn>10</mn><mn>-10</mn></msup></math> +</li><li>Epsilon: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>2.0</mn><mo>×</mo><msup><mn>10</mn><mn>-3</mn></msup></math> +</li><li>Maximum finite value: +<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mn>4.3</mn><mo>×</mo><msup><mn>10</mn><mn>9</mn></msup></math> +</li></ul> +<br/></dd> + <dt><code>-f</code> <var>WIDTH</var><code>x</code><var>HEIGHT</var></dt> + <dt><code>-f</code> <var>WIDTH</var><code>x</code><var>HEIGHT</var><code>+x</code><var>XOFFSET</var><code>+y</code><var>YOFFSET</var></dt> + <dd><a/><a/><a/><a/>Ensure that the minimum “canvas” size of the output image is at least <var>WIDTH</var>×<var>HEIGHT</var>. Optionally specify the <var>XOFFSET</var> and <var>YOFFSET</var>, too. +<p><a/><a/>This option only is useful when the input images are cropped <acronym>TIFF</acronym> files, such as those produced by <samp><span class="command">nona</span></samp><a href="#fn-1" rel="footnote"><sup>1</sup></a>.</p> +<p>Note that option <samp><span class="option">-f</span></samp> neither rescales the output image, nor shrinks the canvas size below the minimum size occupied by the union of all input images.<br/></p> +</dd> + <dt> + <code>--fallback-profile=</code> + <var>PROFILE-FILENAME</var> + </dt> + <dd><a/><a/><a/><a/>Use the <acronym>ICC</acronym> profile in <var>PROFILE-FILENAME</var> instead of the default <acronym>sRGB</acronym>. See option <samp><span class="option">--ciecam</span></samp> and <a href="Color-Profiles.xhtml#Color-Profiles">Color Profiles</a>. +<p>This option only is effective if the input images come without color profiles and blending is performed in <acronym>CIECAM02</acronym> color appearance model.<br/></p> +</dd> + <dt> + <code>-g</code> + </dt> + <dd><a/><a/>Save alpha channel as “associated”. See the <a href="http://www.awaresystems.be/imaging/tiff/tifftags/extrasamples.html"><acronym>TIFF</acronym> documentation</a> for an explanation. +<p><a/><a/>Gimp (before version 2.0) and CinePaint (see <a href="Helpful-Programs.xhtml#Helpful-Programs">Helpful Programs</a>) exhibit unusual behavior when loading images with unassociated alpha channels. Use option <samp><span class="option">-g</span></samp> to work around this problem. With this flag Enblend will create the output image with the associated alpha tag set, even though the image is really unassociated alpha.<br/></p> +</dd> + <dt> + <code>--gpu</code> + </dt> + <dd><a/><a/><a/>Use the graphics card – in fact the graphics processing unit (<acronym>GPU</acronym>) – to accelerate some computations. +<p><a/><a/>This is an experimental feature that may not work on all systems. In this version of Enblend, 4.1, only mask optimization by Simulated Annealing benefits from this option.</p> +<p>Note that <acronym>GPU</acronym>-support must have been compiled into Enblend for this option to be available. Find out about this feature with <code>enblend --version --verbose</code>.<br/></p> +</dd> + <dt><code>-m</code>... [truncated message content] |