bootstrap: Remove code to prune documentation
[Ale.git] / doc / localhost / ALE / download / ale-0.6.0-tech / iterative / index.html
blob5ee4c1d659692f24a3f5bd7e2220c28e73d12f2d
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <title>Irani-Peleg Renderer</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 5393119533<br>
39 </table>
43 <p><b>[ <a href="../">Up</a> ]</b></p>
44 <h1>Irani-Peleg Renderer</h1>
46 <p>ALE implements an iterative image reconstruction algorithm based on Michal
47 Irani and Shmuel Peleg's paper "Improving Resolution by Image Registration",
48 published in <i>Graphical Models and Image Processing</i>, Vol. 53, No. 3, May,
49 pp. 231-239, 1991, or available at:
51 <p><a href="http://www.wisdom.weizmann.ac.il/~irani/abstracts/superResolution.html">http://www.wisdom.weizmann.ac.il/~irani/abstracts/superResolution.html</a>
53 <p>This algorithm iteratively performs two steps: first, an
54 approximation of <b>T</b> is projected, based on a filter approximating
55 <b>d<sub>j</sub></b>, and data collected during <a
56 href="../alignment/">alignment</a>, to create a set of simulated input frames;
57 second, the per-pixel error -- between these simulated input frames and the
58 actual input frames -- is calculated, backprojected, and subtracted from the
59 approximation of <b>T</b>, resulting in a new approximation of <b>T</b>.
61 <h2>Initial Image Approximation</h2>
63 <p>ALE uses the results of previous rendering steps as the initial image
64 approximation.</p>
66 <h2>Projection and Back-projection filters</h2>
68 ALE provides command-line options for selecting forward-projection filters,
69 including box filters (release 0.4.2 and later) and custom filters (release
70 0.4.7 and later). The back-projection filters are constructed from the
71 forward-projection filters in such a way that condition (9) from Theorem 4.1
72 in the source paper is satisfied.
74 <h2>Transformation details</h2>
76 <p>ALE's method of transforming pixel areas between coordinate systems
77 approximates transformed pixel boundaries with axis-aligned rectangular
78 regions. Since boundaries are transformed into the coordinate systems of the
79 input frames, this approximation can be improved by using larger scale factors
80 (and hence reducing the size of transformed pixels).</p>
82 <h2>Multi-level operation</h2>
84 <p>The following is an edited excerpt from the comment headers for the source
85 file <code>d2/render/ipc.h</code>. For more information about ALE's
86 implementation of multi-level operation, see the relevant source files.
88 <pre>
89 * The algorithm in the source paper looks something like this (PSF' is the
90 * backprojection kernel, and corresponds to what the authors of the paper call
91 * AUX):
93 * ===============================================================
94 * Forward Backward Binary Operators
95 * ---------------------------------------------------------------
97 * scene(n) ------> scene(n+1) <--- summation
99 * | ^
100 * | |
101 * PSF PSF'
102 * | |
103 * | ---------+ <--- difference
104 * V / |
106 * simulated(n) real
108 * ===============================================================
110 * This assumes a single colorspace representation. However, consumer cameras
111 * sometimes perform sharpening in non-linear colorspace, whereas lens and
112 * sensor blurring occurs in linear colorspace. Hence, there can be two
113 * colorspaces involved; ALE accounts for this with linear and non-linear
114 * colorspace PSFs. Hence, the algorithm we use looks something like:
116 * ===============================================================
117 * Forward Backward Binary Operators
118 * ---------------------------------------------------------------
120 * scene(n) -----> scene(n+1) <--- summation
122 * | ^
123 * | |
124 * LPSF LPSF'
125 * | |
126 * | ----------+ <--- difference,
127 * V / | exposure
128 * re-estimation
129 * lsimulated(n) lreal(n)
131 * | ^
132 * | |
133 * unlinearize linearize
134 * | |
135 * V |
137 * lsim_nl(n) -----> lreal_nl(n) <--- summation
139 * | ^
140 * | |
141 * NLPSF NLPSF'
142 * | |
143 * | ----------+ <--- difference
144 * V / |
146 * nlsimulated(n) real_nl
150 * unlinearize
154 * real
156 * ===============================================================
157 </pre>
160 <hr>
161 <i>Copyright 2003, 2004 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
162 <p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
165 </body>
166 </html>