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">
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>
14 <section><title>0.8.5</title>
16 <edit by="David Hilvert" in-month="2006-Sep"/>
17 <edit by="David Hilvert" in-month="2006-Oct"/>
19 <note>This release may be combined with 0.9.0.</note>
25 <li> Remedy meaningless page numbers for book title pages in the set
27 <li> Convert from HTML to a more flexible format, such as texinfo or docbook.
28 </li><li>Add license information (GPL; see doc/COPYING) sections to the manuals.
29 </li><li>Add additional permission for distribution of hardcopy documentation
30 with source downloadable from a public network server in the case of orders
32 </li><li>Modify page footers to better reflect the updated license terms.
33 </li><li>Consolidate the manuals into a single work (e.g., docbook set, texinfo
34 top-node) for more straightforward searching and indexing.
35 </li><li>Add a new 'package manual' including the text of source package
36 documentation files README, TODO, etc., so that these are searchable
37 using utilities such as GNU info.
38 </li><li>Modify bootstrap script to generate plain-text package documentation
39 (README, TODO, etc.) from markup. (?)
40 </li><li>Centralize licensing and authorship information (e.g., there should be only
41 one COPYING file and only one AUTHORS file).
42 </li><li>Incorporate an automatic method for building the target documentation
43 types. The example Makefile supplied with docbook-xsl would be sufficient
44 for this, but note that their license and copyright terms should be included
45 as copyright notices in the AUTHORS and/or COPYING files (or equivalent).
46 </li><li>Revise the user manual for new features and syntax.
48 <li>Document new scoping operators {}, [], and [<>].
49 </li><li>Document other changes in UI, including regularization of syntax.
51 <li>in particular, commas can no longer appear in single-argument options
52 when using assignment-delimited syntax; use space-delimited syntax
53 instead. This behavior is inconsistent with 0.8.4.
58 </li><li>Add a section to the README indicating how to obtain and update source via
60 </li><li>Update bootstrap and/or Makefile.am to properly build and install
61 documentation. (Since the required tools might not be be available
62 everywhere, building the documentation from the bootstrap file would
63 probably be preferable.)
64 </li><li>Add a tutorial, and credit Metin Toyran for suggesting a step-by-step
66 </li><li>Move generated doc files to subdirectories expressive of their format,
67 in cases where more than one file is used to contain the documentation.
77 <li> Ensure consistency between the website hierarchy and the README.</li>
88 <ul><li> Investigate options for distributing a 'complete' package including full
89 revision history, pre-built documentation (if the ordinary distribution does
90 not include this), and, possibly, example image sets. Direct download,
91 bittorrent and CD are the most prominent candidates for distribution.
93 <li> In the case of CD distribution, information should probably be added to the
94 manuals regarding how to update CD-provided program source.
105 <li> Investigate options for creating and distributing a combined source and
106 binary Windows package containing sufficient software to ensure support for
107 common image types (e.g., by statically linking with libraries for opening
108 JPEG and PNG files). BitTorrent and CD are the most obvious candidates for
111 <li> This package could build on the package described above, as a 'for Windows'
112 variant or some such.
113 </li><li> This package could make use of an application such as InstallJammer for
127 <edit by="David Hilvert" in-month="2006-Sep"/>
130 Abstract and partial transformations
133 <li>Add a generic 2D transformation class, supporting partial transformations.
134 <ul><li> 'partial transformation', as used here, means that it is expected that some
135 points will fail to map.
137 </li><li> Add a partial 2D transformation class with constructor taking as arguments
138 a pair of 3D projective transformations and a 3D model.
146 <ul><li> Add new file-scoped options
148 </li><li> black level
149 </li><li> alignment type
150 </li><li> focus details
156 Irani-Peleg for 3D models
158 <ul><li> Modify existing Irani-Peleg code to use generic (partial) 2D transformations.
159 <ul><li> in combination with the above, this should allow the algorithm to operate
166 Focus bracketing for depth-of-field expansion
168 <ul><li> Add facilities for handling depth-of-field and focus bracketing in input
169 image sets, as suggested by Viktors Rotanovs and Gregory Maxwell. This
170 change will likely involve:
171 <ul><li> using the 3D model for depth data, as suggested by Gregory Maxwell
172 </li><li> using user-provided (file-scoped) focus details to determine depth of field
173 </li><li> using variable PSF in the Irani-Peleg algorithm, as suggested by Gregory
175 </li><li> developing an approach to handle the incremental (non-Irani-Peleg) case.
181 Output image characteristics
183 <ul><li>Allow specification of output image characteristics, including exposure
184 (e.g., gamma) and channel offsets within a pixel.
191 <ul><li>Add support for specifying output devices, such as LCD monitors, to
192 allow shorthand customization of exposure (e.g., gamma) and other
193 characteristics, such as channel offset in the case of LCD screens for sub-pixel
199 Weight and certainty upper bounds
201 <ul><li>Add support for specifying weight and certainty upper bounds for
202 rendering, either as an absolute constraint or relative to average
203 weights, so that the overall contributions to an output pixel (or channel) are
204 constrained by weight.
213 <ul><li>In combination with weight and certainty upper bounds, time locality could be
214 used to determine which frames are used to generate an output pixel. As a
215 special case of this, video stream processing could favor frames
216 having the smallest time difference from the target frame.
224 <ul><li> Add multi-threading options (e.g., for rendering code), so that a single
225 invocation of the program can run on multiple processors simultaneously.
236 <edit by="David Hilvert" in-month="2006-Sep"/>
241 <ul><li> Refine rendering and alignment code for better performance.
248 <ul><li> Enhance the command-line interface in preparation for i18n. (?)
249 <ul><li> e.g., syntax for identifying synchronized frame sets
251 </li><li> Internationalize the command-line interface and help text to accommodate
257 Technical Manual Updates
259 <ul><li> Update the Technical Manual for information regarding 3D operation.
270 <edit by="David Hilvert" in-month="2006-Sep"/>
271 <edit by="David Hilvert" in-month="2006-Oct"/>
276 <ul><li> Generate correctly indented book-level tables of contents when rendering
277 the complete set of manuals.
282 Integer-value routines
284 <ul><li> Add facilities for manipulating images storing color as integer-valued data,
285 possibly as library routines.
292 <ul><li> Move image-processing routines into a library that can be used by other
300 <ul><li> Add bindings for other programming languages.