bootstrap: Remove code to prune documentation
[Ale.git] / doc / localhost / ALE / download / ale-0.5.1-user / rendering / index.html
blob8de118db2c5fa4dd8db4463fa411b4ce8bce807e
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <title>ALE User Manual: Rendering</title>
6 <style type="text/css">
7 TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
8 TABLE.inline { padding-right: 300; clear: left}
9 TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
10 H2 {clear: left}
11 P {max-width: none; padding-right: 300; clear: left}
12 BLOCKQUOTE {padding-right: 400 }
13 LI {max-width: 640; clear: left}
14 P.footer {max-width: none; width: auto; padding-left: 0}
15 P.header {max-width: none; width: auto; padding-left: 0}
16 HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
17 HR.footer {clear: both}
18 </style>
19 </head><body>
23 <table align=right valign=top width=160>
24 <td valign=top height=600 width=160>
25 <a href="http://auricle.dyndns.org/ALE/">
26 <big>ALE</big>
27 <br>
28 Image Processing Software
29 <br>
30 <br>
31 <small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
32 <br><br>
33 <big>
34 Local Operation
35 </big>
36 <hr>
37 localhost<br>
38 2684415918<br>
39 </table>
43 <p><b>[ <a href="../">Up</a> ]</b></p>
44 <h1>ALE Rendering</h1>
46 Rendering determines how an output image is constructed from a series of
47 aligned input frames. The incremental renderers, merging and drizzling, update
48 the output image after reading each new frame from the series, whereas the
49 non-incremental renderers wait until the last frame has been loaded to produce
50 output. More than one renderer can be involved in producing the final output image.
51 Available rendering options are outlined below.
53 <h2>Merging</h2>
55 Merging, the default incremental renderer, works most effectively on images
56 that have no large changes in scale (e.g. camera zooming). Since it uses
57 bilinear interpolation, output images are approximately convolved with the
58 triangle, or Bartlett, filter, and may appear to have reduced contrast and
59 resolution in comparison with other renderers.
61 <h2>Drizzling</h2>
63 The drizzling renderer is an incremental renderer that can usually produce
64 better images than merging, but it works most effectively with devices having
65 very little blur and optical distortion. Devices sampling very small angles of
66 the scene at each pixel are ideal; hence, if very fine staircase aliasing is
67 visible in the input frames, drizzling should work very well. (For creation of
68 higher resolution images with drizzling, use also the --scale option described
69 below.)
71 <pre>
72 --drizzle-diam=x Drizzle with input pixel diameter x (where 0 &lt; x &lt;= 1).
73 --drizzle-only If drizzling, output black for pixels with no drizzle data.
74 </pre>
76 <p>For more information about drizzling, see the paper by Richard Hook and
77 Andrew Fruchter, "Variable-Pixel Linear Combination", or the following URL:
79 <p><a href="http://www.cv.nrao.edu/adass/adassVI/hookr.html">http://www.cv.nrao.edu/adass/adassVI/hookr.html</a>
81 <h2>High-frequency enhancement</h2>
83 <p>This renderer uses an unsharp mask to enhance the contrast of high
84 frequencies. It can be used to compensate for systematic blurriness introduced
85 by merging, drizzling, or the image capture device. However, better results
86 will generally be achievable by using a separate postprocessing tool, such as
87 <a href="http://www.gimp.org">the GIMP</a> or <a
88 href="http://cinepaint.sourceforge.net/">CinePaint</a> (formerly called Film
89 GIMP). In addition to the built-in unsharp mask, the GIMP can make use of
90 Ernest Lippe's <a href="http://refocus.sourceforge.net/">refocus</a> plugin.
92 <pre>
93 --hf-enhance=x Enhance high frequency details by factor x. (0.0 is default)
94 </pre>
96 <h2>Irani-Peleg iterative image reconstruction</h2>
98 This renderer is by far the most general, and can be used to compensate for
99 blurring introduced by the image capture device. In order to use it most
100 effectively, an approximation of the projection function for the capture device
101 should be known. Two general classes of projection functions are supported: box
102 filters and custom filters.
104 <p>If rendering with the box filter option, manual experimentation can be used
105 to find a diameter that works well. Alternatively, ALE includes a script that
106 calibrates custom filters for devices, based on images captured from known
107 scenes.
109 <p>Two custom filter options are included: one for the IBM PC Camera Pro
110 (XVP610) in 320x240 mode, and one for interactive filter specification.
112 <p>Note that this option can take a long time to produce output, especially on
113 large images. If incremental output is enabled (see below), output is written after
114 each iteration is complete. Using more iterations will generally improve
115 output, up to the point of convergence, when additional iterations have no
116 effect. A dot is displayed to indicate the completion of each iteration.
118 <pre>
119 --ip &lt;d> &lt;i> Solve for a box filter with diameter &lt;d> over &lt;i> iterations.
120 --ipc &lt;c> &lt;i> Solve for device config &lt;c> over &lt;i> iterations.
121 </pre>
123 The available device configurations are as follows:
125 <pre>
126 xvp610_320x240
127 stdin
128 </pre>
130 <p>For more information on the backprojection technique of Michal Irani and Shmuel
131 Peleg, see their paper, "Improving Resolution by Image Registration", at
133 <p><a href="ftp://ftp.wisdom.weizmann.ac.il/pub/irani/PAPERS/SR_CVGIP91.pdf">ftp://ftp.wisdom.weizmann.ac.il/pub/irani/PAPERS/SR_CVGIP91.pdf</a>
135 <h2>Scale factor</h2>
137 Rendering with a larger scale factor causes internal data structures to store
138 more information, resulting in image output of the specified larger scale.
139 Larger scales can improve alignment precision and output image quality, but can
140 also increase alignment and rendering times.
142 <pre>
143 --scale=x Scale images by the factor x (where x is at least 1.0)
144 </pre>
146 <h2>Image extents</h2>
148 The --extend option records pixel data that falls outside of the region of the
149 first frame in the sequence. This can be useful for providing additional
150 alignment constraints or creating panoramic image mosaics. (See also the
151 description of the --follow option in the <a href="../alignment">alignment</a>
152 section.)
154 <pre>
155 --extend Increase image extents to accommodate all pixel data.
156 --no-extend Don't increase extents; crop to original frame. [default]
157 </pre>
159 <h2>Incremental output</h2>
161 By default, the output file is written every time a renderer completes an
162 update cycle. In order to suppress output until the final image is rendered,
163 specify the --no-inc option.
165 <pre>
166 --inc Produce incremental output. [default]
167 --no-inc Don't produce incremental output.
168 </pre>
170 <h2>Pixel replacement</h2>
172 <p>When using the merging renderer, --replace indicates that each new frame
173 should replace the corresponding region of the rendering, instead of being
174 merged with data from previous frames. This option was originally suggested by
175 Jeff Treece for use in stabilization of video streams. His approach to
176 stabilization is outlined below.
178 <h3>Video Stabilization</h3>
180 <p>If the files
182 <pre>0.ppm, 1.ppm, ..., 9.ppm</pre>
184 represent frames from an unstabilized video stream, then the following sequence
185 of commands may result in a stabilized sequence:
187 <pre>
188 ale --replace 0.ppm 1.ppm 1.stable.ppm
189 ale --replace 1.stable.ppm 2.ppm 2.stable.ppm
190 ale --replace 2.stable.ppm 3.ppm 3.stable.ppm
194 ale --replace 8.stable.ppm 9.ppm 9.stable.ppm
195 </pre>
197 <p>The resulting stabilized sequence would be:
199 <pre>0.ppm, 1.stable.ppm, 2.stable.ppm, ..., 9.stable.ppm</pre>
201 <h3>Option Syntax</h3>
203 <pre>
204 --replace Replace overlapping areas rather than merging.
205 --no-replace Do not replace. [default]
206 </pre>
209 <br>
210 <hr>
211 <i>Copyright 2003 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
212 <p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
215 </body>
216 </html>