bugs: Advantages for incremental library separation by analogy with incremental
[Ale.git] / doc / package / todo / index.xml
bloba97d761ca4ca86f1aded22335b239d49ba3ff924
1 <?xml version="1.0"?>
3 <!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
4         "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
6 <article>
9 <articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
10   <title>To-do list</title>
11   <abstract>This article contains a tentative list of future versions and features.</abstract>
12 </articleinfo>
14 <section>
15 <title>
16         0.9.0
17 </title>
18 <edit by="David Hilvert" in-month="2006-Sep"/>
19 <edit by="David Hilvert" in-month="2006-Nov"/>
20 <edit by="David Hilvert" in-month="2007-Jan"/>
22 <s>
23 <t>Argument scope</t>
24 <ul><li>Fix bugs in argument scope handling.</li>
25 </ul>
26 </s>
28 <s>
29 <t>Multiple-pass registration</t>
30 <ul>
31 <li>Revise alignment algorithm to allow multiple passes for less sensitivity to noise and better estimation of tonal certainty.</li>
32 </ul>
33 </s>
34 <s>
35 <t>3D scenes and depth recovery</t>
36 <ul>
37 <li>Revise 3D scene reconstruction algorithm to perform acceptably on a wider variety of scenes.</li>
38 </ul>
39 </s>
40 <s>
41 <t>PSF windowing and infinite-support PSFs for Irani-Peleg rendering</t>
42 <ul>
43 <li>Add syntax for PSF windowing and new PSF types with infinite support, including the gaussian kernel, suggested by HJ Hornbeck.
44 </li>
45 </ul>
46 </s>
47 <s>
48 <t>Variable lighting</t>
49 <ul>
50 <li>Add a facility for handling variation in lighting between input frames.</li>
51 </ul>
52 </s>
53 <s>
54 <t>Interchange formats</t>
55 <ul>
56 <li>Add support for a commonly-used interchange format, such as autopano pto,
57 suggested by Peter Miller.</li>
58 </ul>
59 </s>
61 <s>
62 <t>Raw file handling</t>
63 <ul>
64 <li>Use Dave Coffin's dcraw program to extract information from raw files,
65 including pixel data, as well as black level and other meta-data, as suggested
66 by Gregory Maxwell.</li>
67 </ul>
68 </s>
69 <section>
70 <title>
71         Abstract and partial transformations
72 </title>
73 <ul>
74 <li>Add a generic 2D transformation class, supporting partial transformations.
75   <ul><li> 'partial transformation', as used here, means that it is expected that some
76     points will fail to map.
77   </li></ul>
78 </li><li> Add a partial 2D transformation class with constructor taking as arguments
79   a pair of 3D projective transformations and a 3D model.
80 </li></ul>
81 </section>
83 <section>
84 <title>
85         File scoping
86 </title>
87 <ul><li> Add new file-scoped options
88   <ul><li> Irani-Peleg
89   </li><li> black level
90   </li><li> alignment type
91   </li><li> focus details
92   </li></ul>
93 </li></ul>
94 </section>
95 <section>
96 <title>
97         Irani-Peleg for 3D models
98 </title>
99 <ul><li> Modify existing Irani-Peleg code to use generic (partial) 2D transformations.
100   <ul><li> in combination with the above, this should allow the algorithm to operate
101     on 3D models.
102   </li></ul>
103   </li></ul>
104 </section>
105 <section>
106 <title>
107         Focus bracketing for depth-of-field expansion
108 </title>
109 <ul><li> Add facilities for handling depth-of-field and focus bracketing in input
110   image sets, as suggested by Viktors Rotanovs and Gregory Maxwell.  This
111   change will likely involve:
112   <ul><li> using the 3D model for depth data, as suggested by Gregory Maxwell
113   </li><li> using user-provided (file-scoped) focus details to determine depth of field
114   </li><li> using variable PSF in the Irani-Peleg algorithm, as suggested by Gregory
115     Maxwell
116   </li><li> developing an approach to handle the incremental (non-Irani-Peleg) case.
117   </li></ul>
118   </li></ul>
119 </section>
120 <section>
121 <title>
122 Output image characteristics
123 </title>
124 <ul><li>Allow specification of output image characteristics, including exposure
125 (e.g., gamma) and channel offsets within a pixel.
126   </li></ul>
127 </section>
128 <section>
129 <title>
130 Output devices
131 </title>
132 <ul><li>Add support for specifying output devices, such as LCD monitors, to
133 allow shorthand customization of exposure (e.g., gamma) and other
134 characteristics, such as channel offset in the case of LCD screens for sub-pixel
135 anti-aliasing.
136   </li></ul>
137 </section>
138 <section>
139 <title>
140 Weight and certainty upper bounds
141 </title>
142 <ul><li>Add support for specifying weight and certainty upper bounds for
143 rendering, either as an absolute constraint or relative to average
144 weights, so that the overall contributions to an output pixel (or channel) are
145 constrained by weight.  
147   </li></ul>
148 </section>
150 <section>
151 <title>
152 Time locality
153 </title>
154 <ul><li>In combination with weight and certainty upper bounds, time locality could be
155 used to determine which frames are used to generate an output pixel.  As a
156 special case of this, video stream processing could favor frames
157 having the smallest time difference from the target frame.
158   </li></ul>
159 </section>
160 </section>
164 <section>
165 <title>
166         1.0.0 (Stable)
167 </title>
168 <edit by="David Hilvert" in-month="2006-Sep"/>
169 <edit by="David Hilvert" in-month="2006-Jan"/>
170 <section>
171 <title>
172         Performance
173 </title>
174 <ul><li> Refine rendering and alignment code for better performance.
175   </li></ul>
176 </section>
177 <section>
178 <t>Synchronized frame set syntax</t>
179 <ul><li>Add syntax to identify synchronized frame sets.</li></ul>
180 </section>
181 <section>
182 <title>
183         Internationalization
184 </title>
185 <ul><li> Enhance the command-line interface in preparation for i18n.  (?)
186   <ul><li> e.g., syntax for identifying synchronized frame sets
187   </li></ul>
188 </li><li> Internationalize the command-line interface and help text to accommodate
189   translations.
190   </li></ul>
191 </section>
192 <section>
193 <title>
194         Technical Manual Updates
195 </title>
196 <ul><li> Update the Technical Manual for information regarding 3D operation.
197 </li></ul>
198 </section>
199 </section>
203 <section>
204 <title>
205         Unsorted
206 </title>
207 <edit by="David Hilvert" in-month="2006-Sep"/>
208 <edit by="David Hilvert" in-month="2006-Oct"/>
209 <edit by="David Hilvert" in-month="2007-Jan"/>
210 <section>
211 <title>
212         Documentation
213 </title>
214 <ul><li> Generate correctly indented book-level tables of contents when rendering
215 the complete set of manuals.
216   </li><li>Add a tutorial, and credit Metin Toyran for suggesting a step-by-step
217     guide.
218   </li><li> Remedy meaningless page numbers for book title pages in the set
219   ToC.
220   </li><li>Complete migration of existing documentation from the localhost sub-directory,
221     removing superfluous license terms in the footers.
222   </li><li>Centralize licensing and authorship information (e.g., there should be only
223     one COPYING file and only one AUTHORS file).
224   </li><li>Include license and copyright terms for the doc tree Makefile
225     as copyright notices in the AUTHORS and/or COPYING files (or equivalent).
226   </li><li>Complete the documentation.
227   </li><li>Revise the user manual for new features and syntax.
228     <ul>
229     <li>Document new scoping operators {}, [], and [&lt;>].
230     </li><li>Document other changes in UI, including regularization of syntax.
231       <ul>
232       <li>in particular, commas can no longer appear in single-argument options
233         when using assignment-delimited syntax; use space-delimited syntax
234         instead.  This behavior is inconsistent with 0.8.4.
235       </li>
236       </ul>
237     </li>
238     </ul>
239 </li></ul>
240 </section>
241 <section>
242 <title>
243         Integer-value routines
244 </title>
245 <ul><li> Add facilities for manipulating images storing color as integer-valued data,
246   possibly as library routines.
247 </li></ul>
248 </section>
249 <section>
250 <title>
251         Library
252 </title>
253 <ul><li> Move image-processing routines into a library that can be used by other 
254   programs.
255 </li></ul>
256 </section>
257 <section>
258 <title>
259         Language Bindings
260 </title>
261 <ul><li> Add bindings for other programming languages.
262 </li></ul>
263 </section>
264 <section>
265 <title>
266   Packaging
267 </title>
268   <section>
269   <title>
270     Complete Package
271   </title>
272 <ul><li> Investigate options for distributing a 'complete' package including full
273   revision history, pre-built documentation (if the ordinary distribution does
274   not include this), and, possibly, example image sets.  Direct download,
275   bittorrent and CD are the most prominent candidates for distribution.
276   <ul>
277   <li> In the case of CD distribution, information should probably be added to the
278     manuals regarding how to update CD-provided program source.
279   </li>
280   </ul>
281   </li>
282   </ul>
284   </section><section>
285   <title>
286     Windows Package
287   </title>
288 <ul>
289 <li> Investigate options for creating and distributing a combined source and
290   binary Windows package containing sufficient software to ensure support for
291   common image types (e.g., by statically linking with libraries for opening
292   JPEG and PNG files).  BitTorrent and CD are the most obvious candidates for
293   distribution.
294   <ul>
295   <li> This package could build on the package described above, as a 'for Windows'
296     variant or some such.
297   </li><li> This package could make use of an application such as InstallJammer
298     or Nullsoft Scriptable Install System for installation.
299   </li>
300   </ul>
301   </li>
302 </ul>
303 </section>
304 </section>
305 </section>
309 </article>