267 lines
8.9 KiB
Plaintext
267 lines
8.9 KiB
Plaintext
ALE 0.9.0.3 To-do list
|
|
|
|
David Hilvert
|
|
|
|
Copyright (c) 2006, 2007 David Hilvert
|
|
|
|
This article is free documentation; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation; either version 3 of the License, or (at your
|
|
option) any later version.
|
|
|
|
This article is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this article; if not, write to the Free Software Foundation, Inc., 51
|
|
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
Abstract
|
|
|
|
This article contains a tentative list of future versions and features.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
1. 0.9.0
|
|
|
|
1.1. Argument scope
|
|
|
|
1.2. Multiple-pass registration
|
|
|
|
1.3. 3D scenes and depth recovery
|
|
|
|
1.4. PSF windowing and infinite-support PSFs for Irani-Peleg
|
|
rendering
|
|
|
|
1.5. Variable lighting
|
|
|
|
1.6. Interchange formats
|
|
|
|
1.7. Raw file handling
|
|
|
|
1.8. Abstract and partial transformations
|
|
|
|
1.9. File scoping
|
|
|
|
1.10. Irani-Peleg for 3D models
|
|
|
|
1.11. Focus bracketing for depth-of-field expansion
|
|
|
|
1.12. Output image characteristics
|
|
|
|
1.13. Output devices
|
|
|
|
1.14. Weight and certainty upper bounds
|
|
|
|
1.15. Time locality
|
|
|
|
2. 1.0.0 (Stable)
|
|
|
|
2.1. Performance
|
|
|
|
2.2. Synchronized frame set syntax
|
|
|
|
2.3. Internationalization
|
|
|
|
2.4. Technical Manual Updates
|
|
|
|
3. Unsorted
|
|
|
|
3.1. Documentation
|
|
|
|
3.2. Integer-value routines
|
|
|
|
3.3. Library
|
|
|
|
3.4. Language Bindings
|
|
|
|
3.5. Packaging
|
|
|
|
1. 0.9.0
|
|
|
|
1.1. Argument scope
|
|
|
|
o Fix bugs in argument scope handling.
|
|
|
|
1.2. Multiple-pass registration
|
|
|
|
o Revise alignment algorithm to allow multiple passes for less
|
|
sensitivity to noise and better estimation of tonal certainty.
|
|
|
|
1.3. 3D scenes and depth recovery
|
|
|
|
o Revise 3D scene reconstruction algorithm to perform acceptably on a
|
|
wider variety of scenes.
|
|
|
|
1.4. PSF windowing and infinite-support PSFs for Irani-Peleg rendering
|
|
|
|
o Add syntax for PSF windowing and new PSF types with infinite support,
|
|
including the gaussian kernel, suggested by HJ Hornbeck.
|
|
|
|
1.5. Variable lighting
|
|
|
|
o Add a facility for handling variation in lighting between input
|
|
frames.
|
|
|
|
1.6. Interchange formats
|
|
|
|
o Add support for a commonly-used interchange format, such as autopano
|
|
pto, suggested by Peter Miller.
|
|
|
|
1.7. Raw file handling
|
|
|
|
o Use Dave Coffin's dcraw program to extract information from raw files,
|
|
including pixel data, as well as black level and other meta-data, as
|
|
suggested by Gregory Maxwell.
|
|
|
|
1.8. Abstract and partial transformations
|
|
|
|
o Add a generic 2D transformation class, supporting partial
|
|
transformations.
|
|
o 'partial transformation', as used here, means that it is expected
|
|
that some points will fail to map.
|
|
o Add a partial 2D transformation class with constructor taking as
|
|
arguments a pair of 3D projective transformations and a 3D model.
|
|
|
|
1.9. File scoping
|
|
|
|
o Add new file-scoped options
|
|
o Irani-Peleg
|
|
o black level
|
|
o alignment type
|
|
o focus details
|
|
|
|
1.10. Irani-Peleg for 3D models
|
|
|
|
o Modify existing Irani-Peleg code to use generic (partial) 2D
|
|
transformations.
|
|
o in combination with the above, this should allow the algorithm to
|
|
operate on 3D models.
|
|
|
|
1.11. Focus bracketing for depth-of-field expansion
|
|
|
|
o Add facilities for handling depth-of-field and focus bracketing in
|
|
input image sets, as suggested by Viktors Rotanovs and Gregory
|
|
Maxwell. This change will likely involve:
|
|
o using the 3D model for depth data, as suggested by Gregory
|
|
Maxwell
|
|
o using user-provided (file-scoped) focus details to determine
|
|
depth of field
|
|
o using variable PSF in the Irani-Peleg algorithm, as suggested by
|
|
Gregory Maxwell
|
|
o developing an approach to handle the incremental
|
|
(non-Irani-Peleg) case.
|
|
|
|
1.12. Output image characteristics
|
|
|
|
o Allow specification of output image characteristics, including
|
|
exposure (e.g., gamma) and channel offsets within a pixel.
|
|
|
|
1.13. Output devices
|
|
|
|
o Add support for specifying output devices, such as LCD monitors, to
|
|
allow shorthand customization of exposure (e.g., gamma) and other
|
|
characteristics, such as channel offset in the case of LCD screens for
|
|
sub-pixel anti-aliasing.
|
|
|
|
1.14. Weight and certainty upper bounds
|
|
|
|
o Add support for specifying weight and certainty upper bounds for
|
|
rendering, either as an absolute constraint or relative to average
|
|
weights, so that the overall contributions to an output pixel (or
|
|
channel) are constrained by weight.
|
|
|
|
1.15. Time locality
|
|
|
|
o In combination with weight and certainty upper bounds, time locality
|
|
could be used to determine which frames are used to generate an output
|
|
pixel. As a special case of this, video stream processing could favor
|
|
frames having the smallest time difference from the target frame.
|
|
|
|
2. 1.0.0 (Stable)
|
|
|
|
2.1. Performance
|
|
|
|
o Refine rendering and alignment code for better performance.
|
|
|
|
2.2. Synchronized frame set syntax
|
|
|
|
o Add syntax to identify synchronized frame sets.
|
|
|
|
2.3. Internationalization
|
|
|
|
o Enhance the command-line interface in preparation for i18n. (?)
|
|
o e.g., syntax for identifying synchronized frame sets
|
|
o Internationalize the command-line interface and help text to
|
|
accommodate translations.
|
|
|
|
2.4. Technical Manual Updates
|
|
|
|
o Update the Technical Manual for information regarding 3D operation.
|
|
|
|
3. Unsorted
|
|
|
|
3.1. Documentation
|
|
|
|
o Generate correctly indented book-level tables of contents when
|
|
rendering the complete set of manuals.
|
|
o Add a tutorial, and credit Metin Toyran for suggesting a step-by-step
|
|
guide.
|
|
o Remedy meaningless page numbers for book title pages in the set ToC.
|
|
o Complete migration of existing documentation from the localhost
|
|
sub-directory, removing superfluous license terms in the footers.
|
|
o Centralize licensing and authorship information (e.g., there should be
|
|
only one COPYING file and only one AUTHORS file).
|
|
o Include license and copyright terms for the doc tree Makefile as
|
|
copyright notices in the AUTHORS and/or COPYING files (or equivalent).
|
|
o Complete the documentation.
|
|
o Revise the user manual for new features and syntax.
|
|
o Document new scoping operators {}, [], and [<>].
|
|
o Document other changes in UI, including regularization of syntax.
|
|
+ in particular, commas can no longer appear in
|
|
single-argument options when using assignment-delimited
|
|
syntax; use space-delimited syntax instead. This behavior is
|
|
inconsistent with 0.8.4.
|
|
|
|
3.2. Integer-value routines
|
|
|
|
o Add facilities for manipulating images storing color as integer-valued
|
|
data, possibly as library routines.
|
|
|
|
3.3. Library
|
|
|
|
o Move image-processing routines into a library that can be used by
|
|
other programs.
|
|
|
|
3.4. Language Bindings
|
|
|
|
o Add bindings for other programming languages.
|
|
|
|
3.5. Packaging
|
|
|
|
3.5.1. Complete Package
|
|
|
|
o Investigate options for distributing a 'complete' package including
|
|
full revision history, pre-built documentation (if the ordinary
|
|
distribution does not include this), and, possibly, example image
|
|
sets. Direct download, bittorrent and CD are the most prominent
|
|
candidates for distribution.
|
|
o In the case of CD distribution, information should probably be
|
|
added to the manuals regarding how to update CD-provided program
|
|
source.
|
|
|
|
3.5.2. Windows Package
|
|
|
|
o Investigate options for creating and distributing a combined source
|
|
and binary Windows package containing sufficient software to ensure
|
|
support for common image types (e.g., by statically linking with
|
|
libraries for opening JPEG and PNG files). BitTorrent and CD are the
|
|
most obvious candidates for distribution.
|
|
o This package could build on the package described above, as a
|
|
'for Windows' variant or some such.
|
|
o This package could make use of an application such as
|
|
InstallJammer or Nullsoft Scriptable Install System for
|
|
installation.
|