initial commit

This commit is contained in:
Mauro Torrez
2022-07-30 14:46:04 -03:00
commit 47650131de
312 changed files with 212465 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ALE User Manual: EPPM Files</title>
<style type="text/css">
TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
TABLE.inline { padding-right: 300; clear: left}
TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
H2 {clear: left}
P {max-width: none; padding-right: 300; clear: left}
BLOCKQUOTE {padding-right: 400 }
LI {max-width: 640; clear: left}
P.footer {max-width: none; width: auto; padding-left: 0}
P.header {max-width: none; width: auto; padding-left: 0}
HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
HR.footer {clear: both}
</style>
</head>
<body>
<table align=right valign=top width=160>
<td valign=top height=600 width=160>
<a href="http://auricle.dyndns.org/ALE/">
<big>ALE</big>
<br>
Image Processing Software
<br>
<br>
<small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
<br><br>
<big>
Local Operation
</big>
<hr>
localhost<br>
2684415918<br>
</table>
<p><b>[ <a href="../">Up</a> ]</b></p>
<h1>EPPM Files</h1>
<p>EPPM is an extension to the PPM file format that allows specification of
metadata. The header of an EPPM file conforms to the following template:
<pre>
P6#E
# Tag1: Value
# Tag2: Value
# Tag3: Value
# .
# .
# .
Width Height Maxval
Data
</pre>
<p>Tags recognized by ALE are outlined below.
<h2>Black level</h2>
<P>The black level tag specifies a value that should be subtracted from
all pixels in order to achieve linearity. A modified version of dcraw (<a
href="/darcs/dcraw">darcs repository</a>) can be used to generate files
containing this tag.
<pre>
# Black-level: &lt;value&gt;
</pre>
<h2>Exposure tags</h2>
<p>Exposure tags can be used for determining tonal registration through
specification of shutter speed, aperture, and ISO sensitivity (or gain).
<pre>
# Shutter: &lt;value&gt;
# Shutter: 1/&lt;value&gt;
# Aperture: &lt;f-number&gt;
# ISO: &lt;value&gt;
# Gain: &lt;value&gt;
</pre>
<br>
<hr>
<i>Copyright 2003, 2004 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
<p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</body>
</html>

View File

@@ -0,0 +1,177 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ALE User Manual: Rendering Chains</title>
<style type="text/css">
TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
TABLE.inline { padding-right: 300; clear: left}
TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
H2 {clear: left}
P {max-width: none; padding-right: 300; clear: left}
BLOCKQUOTE {padding-right: 400 }
LI {max-width: 640; clear: left}
P.footer {max-width: none; width: auto; padding-left: 0}
P.header {max-width: none; width: auto; padding-left: 0}
HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
HR.footer {clear: both}
</style>
</head><body>
<table align=right valign=top width=160>
<td valign=top height=600 width=160>
<a href="http://auricle.dyndns.org/ALE/">
<big>ALE</big>
<br>
Image Processing Software
<br>
<br>
<small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
<br><br>
<big>
Local Operation
</big>
<hr>
localhost<br>
2684415918<br>
</table>
<p><b>[ <a href="../">Up</a> ]</b></p>
<h1>ALE Rendering Chains</h1>
<p>The ALE incremental renderer is configured using rendering chains. Rendering chains are
constructed hierarchically from: invariants, SSFEs (scaled sampling filters
with exclusion), SSFs (scaled sampling filters), and sampling filters. Each of
these components is described in a section below. Defaults are outlined in the
final section.
<h2>Chains</h2>
<p>The chain is the top level of the rendering chain hierarchy, and is composed of a
sequence of invariants. Syntactically, a chain is specified as a number of
invariants separated by commas:
<blockquote>
<code>invariant<sub>1</sub>,invariant<sub>2</sub>,invariant<sub>3</sub>,...,invariant<sub>n</sub></code>
</blockquote>
<p>Each rendered pixel is assigned a value at the first invariant whose weight
exceeds the weight threshold, or otherwise at the last invariant in the sequence.
<h3>Chain Options</h3>
<pre>
--wt &lt;w&gt; Set weight threshold for defined pixels [default is 0.8 in v0.8.0; 0.1 in v0.8.1 and later]
--dchain &lt;g&gt; Use chain &lt;g&gt; to render the default output.
--ochain &lt;g&gt; &lt;o&gt; Use chain &lt;g&gt; to render output file &lt;o&gt;.
--achain &lt;g&gt; Use chain &lt;g&gt; to render the alignment reference image.
--3d-chain &lt;g> Use chain <g> by default to render 3d output. [0.8.4 and later]
</pre>
<h3>Chain Examples</h3>
<pre>
triangle:2 ALE 0.6.0 merging (roughly)
fine:box:1 Drizzling (roughly)
fine:sinc*lanc:8 High-frequency preservation
last:nex:sinc*lanc:8 Useful for video stabilization
fine:box:1,triangle:2 Multi-resolution rendering
fine:sinc*lanc:8,sinc*lanc:8 Multi-resolution rendering
</pre>
<h2>Invariants</h2>
<p>Invariants determine whether the rendered pixel value should be taken from a
single frame, or from an average of all frames. If from a single frame, it can
be the first, last, minimal, or maximal pixel value. Averages include mean
and, in versions 0.8.1 and later, the median. By default, the mean is used.
(Note that using the median value may require allocation of a quantity of
memory linear in the number of frames.) The syntax is as follows:
<blockquote>
<table>
<tr><th align=left>Syntax</th><th><pre> </pre></th><th align=left>Description</th></tr>
<tr><td>avg:&lt;SSFE&gt;<td><td>Mean value
<tr><td>median:&lt;SSFE&gt;<td><td>Median value [0.8.1 and later]
<tr><td>max:&lt;SSFE&gt;<td><td>Maximum value
<tr><td>min:&lt;SSFE&gt;<td><td>Minimum value
<tr><td>first:&lt;SSFE&gt;<td><td>First value
<tr><td>last:&lt;SSFE&gt;<td><td>Last value
<tr><td>&lt;SSFE&gt;<td><td>Same as avg:&lt;SSFE&gt;
</table>
</blockquote>
<h2>Scaled Sampling Filter with Exclusion (SSFE)</h2>
<p>SSFEs qualify SSFs, indicating whether exclusion regions should be honored.
<blockquote>
<table>
<tr><th align=left>Syntax</th><th><pre> </pre></th><th align=left>Description</th></tr>
<tr><td>ex:&lt;SSF&gt;<td><td>Honor exclusion regions
<tr><td>nex:&lt;SSF&gt;<td><td>Don't honor exclusion regions
<tr><td>&lt;SSF&gt;<td><td>Same as ex:&lt;SSF&gt;
</table>
</blockquote>
<h2>Scaled Sampling Filter (SSF)</h2>
<p>SSFs indicate whether filtering should occur at the resolution of the output
image, or at the minimum of input and output image resolutions. The former prevents loss
of details; the latter prevents aliasing.
<blockquote>
<table>
<tr><th align=left>Syntax</th><th><pre> </pre></th><th align=left>Description</th></tr>
<tr><td>fine:&lt;SF&gt;<td><td>Filter at full output image resolution
<tr><td>coarse:&lt;SF&gt;<td><td>Filter at minimum resolution
<tr><td>&lt;SF&gt;<td><td>Same as coarse:&lt;SF&gt;
</table>
</blockquote>
<h3>SSF Options</h3>
<pre>
--afilter &lt;s&gt; Use SSF &lt;s&gt; to interpolate points in alignment.
</pre>
<h2>Sampling Filter (SF)</h2>
<p>SFs are used to limit bandwidth. Primitive functions and pointwise multiplication of these
functions (windowing) are available.
<blockquote>
<table>
<tr><th align=left>Syntax</th><th><pre> </pre></th><th align=left>Description</th></tr>
<tr><td>sinc<td><td>Sinc filter: (sin &pi;x) / (&pi;x)</td>
<tr><td>lanc:&lt;x&gt;<td><td>Lanczos, diameter x.
<tr><td>triangle:&lt;x&gt;<td><td>Triangle, diameter x.
<tr><td>box:&lt;x&gt;<td><td>Box, diameter x.
<tr><td>zero<td><td>Zero function
<tr><td>&lt;f&gt;*&lt;f&gt;<td><td>Pointwise multiplication (windowing)
</table>
</blockquote>
<h2>Defaults</h2>
<p>ALE defaults are as follows:</p>
<pre>
dchain Varies by <a href="../../defaults/">default setting</a>
achain Varies by <a href="../../defaults/">default setting</a>
afilter internal (approximates triangle:2)
</pre>
<br>
<hr>
<i>Copyright 2003, 2004 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
<p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</body>
</html>

View File

@@ -0,0 +1,216 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ALE User Manual: Rendering</title>
<style type="text/css">
TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
TABLE.inline { padding-right: 300; clear: left}
TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
H2 {clear: left}
P {max-width: none; padding-right: 300; clear: left}
BLOCKQUOTE {padding-right: 400 }
LI {max-width: 640; clear: left}
P.footer {max-width: none; width: auto; padding-left: 0}
P.header {max-width: none; width: auto; padding-left: 0}
HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
HR.footer {clear: both}
</style>
</head>
<body>
<table align=right valign=top width=160>
<td valign=top height=600 width=160>
<a href="http://auricle.dyndns.org/ALE/">
<big>ALE</big>
<br>
Image Processing Software
<br>
<br>
<small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
<br><br>
<big>
Local Operation
</big>
<hr>
localhost<br>
2684415918<br>
</table>
<p><b>[ <a href="../">Up</a> ]</b></p>
<h1>ALE Rendering</h1>
<p>Rendering determines how an output image is constructed from a series of
aligned input frames, and occurs in two stages: incremental rendering and
Irani-Peleg rendering. Additional rendering options include exposure
registration, certainty-weighted rendering, spatial extension, range extension,
scaling, and bayer pattern specification. Experimental options for video
stream processing are also available.
<h2>Incremental Rendering</h2>
<p>The incremental renderer uses configurable <a href="chains/">rendering
chains</a> to determine the output image. It can increase resolution and
reduce aliasing, but it cannot reduce blur.
<h2>Irani-Peleg Rendering</h2>
<p>The Irani-Peleg renderer uses configurable <a href="psf/">point-spread
functions</a> to model blur, which is then reduced by an iterative
backprojection technique. (For iteration defaults, see the <a
href="../defaults/"> default settings</a> page.) In versions 0.8.1 and
later, using the median correction value can be specified. By default,
the mean correction value is used.
<pre>
--ips &lt;i&gt; Run &lt;i&gt; iterations.
--ip-mean Use the mean correction [default] [0.8.1 and later]
--ip-median Use the median correction [0.8.1 and later]
</pre>
<h2>Exposure Registration</h2>
<p>By default, ALE adjusts an exposure model to minimize differences in tone
between frames. The option <code>--exp-noregister</code> indicates that
exposure should be assumed uniform across all frames. In this case, no
adjustment is performed. The option <code>--exp-meta-only</code> indicates
that only exposure information included in the image files should be used for
registration. Currently, <a href="EPPM/">EPPM</a> is the only type of exposure
metadata supported by this option.</p>
<pre>
--exp-register Register exposure between frames. [default]
--exp-noregister Assume uniform exposure across all frames.
--exp-meta-only Use only image metadata for registering exposure.
</pre>
<h2>Color Adjustment [0.8.1 and later]</h2>
<p>To adjust the color of the output image (e.g., for white balance) in
versions 0.8.1 and later, the --exp-mult= option can be used.</p>
<pre>
--exp-mult=c,r,b Adjust all channels by &lt;c&gt;, red by &lt;r&gt;, and blue by &lt;b&gt;. [0.8.1 and later]
</pre>
<h2>Certainty-weighted Rendering</h2>
<p>The exposure model in ALE includes an associated certainty function, which
quantifies the reliability of sensor measurements. By default, this function
is raised to the zeroth power, to obtain uniform certainty for all measurements.
To specify a different certainty exponent, the option <code>--cx</code> can be
used. This option is best used in combination with <code>--exp-extend</code>
(see below) and <code>--ips</code>. For defaults, see the <a href="../defaults/">
default settings</a> page.
<pre>
--cx &lt;x> Render with certainty exponent &lt;x>
--no-cx Render with uniform certainty.
</pre>
<h2>Scale factor</h2>
<p>Rendering with a larger scale factor results in image output of the specified
larger scale. Larger scales can improve alignment precision and output image
quality, but can also increase alignment and rendering times.
<pre>
--scale=x Scale images by the factor x, where x > 0. (1 is default)
</pre>
<h2>Image extents</h2>
<p>The --extend option records pixel data that falls outside of the region of the
first frame in the sequence. This can be useful for providing additional
alignment constraints or creating panoramic image mosaics. (For mosaics, see
also the description of the --follow option in the <a
href="../alignment">alignment</a> section.)
<pre>
--extend Increase image extents to accommodate all pixel data.
--no-extend Don't increase extents; crop to original frame. [default]
</pre>
<h2>Exposure extents</h2>
<p>By default, ALE restricts the output range to that of the original frame.
To adjust the output range to accommodate the ranges of all input frames,
specify <code>--exp-extend</code>. For defaults, see the <a href="../defaults/">
default settings</a> page.
<pre>
--exp-extend Extend range to include all calculated values.
--exp-noextend Restrict to the original frame's range.
</pre>
<h2>Bayer pattern specification</h2>
<p>Many cameras sample only one color channel per output pixel. To ignore the
other channels, a bayer pattern can be specified.
<pre>
--bayer &lt;b&gt; Set the bayer pattern to &lt;b&gt;, one of:
(clockwise from top left pixel)
rgbg Red-green-blue-green
gbgr Green-blue-green-red
grgb Green-red-green-blue
bgrg Blue-green-red-green
none RGB-RGB-RGB-RGB
Default is none or device-specific.
</pre>
<h2>Video stream processing (Experimental)</h2>
<p>If a sequence of frames represents a video stream, then, in addition to
producing a single output image, ALE can also produce one or more sequences of
processed frames, corresponding to one or more occurrences of the
<code>--visp</code> option. This option has its own associated scaling option,
as well as an option to show excluded regions as dimmed wherever possible.</p>
<pre>
--visp &lt;args&gt; Process a video sequence.
&lt;args&gt; are:
&lt;chain&gt; &lt;stabilization-type&gt; &lt;prefix&gt; &lt;suffix&gt;
&lt;chain&gt; is an incremental rendering chain.
&lt;stabilization-type&gt; is one of:
ma:&lt;x&gt; Moving average over 2*&lt;x&gt; + 1 frames
sf:&lt;x&gt; Stabilize to single frame number &lt;x&gt;
identity Same as ma:0
&lt;prefix&gt; is an output file prefix
&lt;suffix&gt; is an output file suffix
--visp-scale=&lt;x&gt; Use scale &lt;x&gt; for VISP output. (default is 1.0)
--exshow For single-invariant chains, show --ex regions dimmed.
</pre>
<h3>Video stream processing example</h3>
<p>To mimic the behavior of repeated applications of the 0.6.0
<code>--replace</code> option over a sequence of frames, the following
<code>--visp</code> option could be used.
<pre>
--visp last:nex:triangle:2 sf:0 frame .jpg
</pre>
<p>For better filtering, the following option could be used instead:
<pre>
--visp last:nex:sinc*lanc:6 sf:0 frame .jpg
</pre>
<br>
<hr>
<i>Copyright 2003, 2004 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
<p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</body>
</html>

View File

@@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ALE User Manual: Point Spread Functions</title>
<style type="text/css">
TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
TABLE.inline { padding-right: 300; clear: left}
TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
H2 {clear: left}
P {max-width: none; padding-right: 300; clear: left}
BLOCKQUOTE {padding-right: 400 }
LI {max-width: 640; clear: left}
P.footer {max-width: none; width: auto; padding-left: 0}
P.header {max-width: none; width: auto; padding-left: 0}
HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
HR.footer {clear: both}
</style>
</head><body>
<table align=right valign=top width=160>
<td valign=top height=600 width=160>
<a href="http://auricle.dyndns.org/ALE/">
<big>ALE</big>
<br>
Image Processing Software
<br>
<br>
<small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
<br><br>
<big>
Local Operation
</big>
<hr>
localhost<br>
2684415918<br>
</table>
<p><b>[ <a href="../">Up</a> ]</b></p>
<h1>ALE Point Spread Functions</h1>
<p>The ALE Irani-Peleg renderer uses a point-spread function to model the optical
and electronic properties of the capture device used. The PSF can be specified
in terms of one linear and one non-linear component.
<h3>PSF specification</h3>
<p>The PSF can be explicitly specified by using one or both of the psf options.
<pre>
--lpsf &lt;p> Set linear colorspace point-spread function to &lt;p>
--nlpsf &lt;p> Set non-linear colorspace point-spread function to &lt;p>
</pre>
Available explicit point-spread functions are as follows:
<pre>
box=&lt;d> Set the PSF to a box filter with diameter &lt;d>.
circle=&lt;d> Set the PSF to a circular filter with diameter &lt;d>.
stdin Specify a custom filter at runtime.
stdin_vg stdin with vertically-oriented gaps after every 8th pixel.
&lt;p>+&lt;p> Summation of two functions
&lt;p>^&lt;p> Convolution of two functions.
&lt;n>*&lt;p> Multiplication by a scalar &lt;n>.
</pre>
If a device is known to ALE, then its PSF can be implicitly set with the
<code>--device</code> option. (See the <a href="../../device/">device</a> page
for more information.) If a device is not specified, then the default linear
PSF component is <code>box=1</code>. The non-linear PSF component is disabled
by default.
<h3>Determining the PSF</h3>
<p>The PSF can be approximated based on images of known scenes. The ALE source
distribution includes an experimental script that numerically approximates the
PSF in this way (<code>d2/render/psf/ale-psf-calibrate</code>). Other, more
efficient methods for approximating the PSF are likely possible, however.
<br>
<hr>
<i>Copyright 2003, 2004 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
<p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</body>
</html>