Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host "internal-db.s29493.gridserver.com" (64.13.243.40) and accepting TCP/IP connections on port 5432? in /nfs/c02/h05/mnt/29493/domains/danbretl.com/html/dbCC_count.php on line 3

Warning: pg_query() [function.pg-query]: No PostgreSQL link opened yet in /nfs/c02/h05/mnt/29493/domains/danbretl.com/html/site_counts.php on line 8

Warning: pg_close() [function.pg-close]: No PostgreSQL link opened yet in /nfs/c02/h05/mnt/29493/domains/danbretl.com/html/dbCC_count.php on line 4
Pixel Breakdown

Alpha Functions

Here are descriptions and example images (all made using the same source sequence images) of all current alpha functions (as of 2006/12/13). They are grouped by their parent abstract classes, which were conceived based roughly on differences in the spread or contraction of 'information' from a single sequence image. What this means exactly will become more clear I think as you read through the descriptions of these groupings and their alpha function subclasses.

This is only an introductory library, and probably always will be since there are countless possibilities. If you have an idea for an alpha function yourself, please email me at danbretl -AT- slc.edu. I would be extremely excited to get other people's ideas on interesting methods of long-exposure compositing.

A gallery of additional images that have been produced by Dan thusfar with Pixel Breakdown can be found in the images section.

"One to One Map" Alpha Functions Group
The idea of this group is that each sequence image necessarily contributes to one and only one pixel-block.

One to One Map by Row
This is the first alpha function I ever came up with, and was actually the inspiration for this entire project. It is described in detail in the formalization section. The basic idea is that pixel-blocks with an index equal to their sequence image number get an alpha of 1.0, while everything else gets an alpha of 0.0.

Example long-exposure image made using
'One to One Map by Row' alpha function.

"Motion Pattern" Alpha Functions Group
The idea of this group was originally that there was a 'contraction of information' from the collection of sequence images to the final composite. What I meant by this was that in early versions of my program, the pixel-block size would be fixed, so if you had say 100 sequence images at your disposal that were all being used at a certain pixel-block size when you used the One to One Map By Row alpha function, that if you ran the program again with the same sequence images and the same block-size but with a Motion Pattern alpha function, you wouldn't use all your sequence images; some (probably most) would just get completely ignored. This became a much less meaningful group distinction though when I had the program start calculating minimum pixel-block sizes at every run to maximize the amount of detail in the final image (and thus complimentarily, minimize the possible loss of information noted before). As a result, I would say that this group moreso now is characterized by its ability to create a strong sense of moving time in the image, and hand-in-hand with this, isolate and illustrate types of object-motion in the scene.

"Motion Pattern Horizontal" Alpha Functions SubGroup
These motion pattern alpha functions create a sense of time which moves horizontally across the composite long-exposure image.

Motion Pattern Right
This alpha function creates a sense of time which moves horizontally to the right. It does so by returning an alpha value of 1.0 if the column of the pixel-block (starting from the left-most) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Right' alpha function.

Motion Pattern Left
This alpha function creates a sense of time which moves horizontally to the left. It does so by returning an alpha value of 1.0 if the column of the pixel-block (starting from the right-most column) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Left' alpha function.

"Motion Pattern Vertical" Alpha Functions SubGroup
These motion pattern alpha functions create a sense of time which moves vertically across the composite long-exposure image.

Motion Pattern Down
This alpha function creates a sense of time which moves vertically downwards. It does so by returning an alpha value of 1.0 if the row of the pixel-block (starting from the top-most row) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Down' alpha function.

Motion Pattern Up
This alpha function creates a sense of time which moves vertically upwards. It does so by returning an alpha value of 1.0 if the row of the pixel-block (starting from the bottom-most row) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Up' alpha function.

"Motion Pattern Diagonal" Alpha Functions SubGroup
These motion pattern alpha functions create a sense of time which moves diagonally across the composite long-exposure image.

Motion Pattern Down Right
This alpha function creates a sense of time which moves diagonally downwards-rightwards. It does so by returning an alpha value of 1.0 if the diagonal of the pixel-block (starting from the top-left-most pixel-block) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Down Right' alpha function.

Motion Pattern Up Right
This alpha function creates a sense of time which moves diagonally upwards-rightwards. It does so by returning an alpha value of 1.0 if the diagonal of the pixel-block (starting from the bottom-left-most pixel-block) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Up Right' alpha function.

Motion Pattern Down Left
This alpha function creates a sense of time which moves diagonally downwards-leftwards. It does so by returning an alpha value of 1.0 if the diagonal of the pixel-block (starting from the top-right-most pixel-block) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Down Left' alpha function.

Motion Pattern Up Left
This alpha function creates a sense of time which moves diagonally upwards-leftwards. It does so by returning an alpha value of 1.0 if the diagonal of the pixel-block (starting from the bottom-right-most pixel-block) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Up Left' alpha function.

"Motion Pattern Diamonds" Alpha Functions SubGroup
These motion pattern alpha functions create a sense of time which moves in concentric diamonds through the composite long-exposure image.

Motion Pattern Diamonds Out
This alpha function creates a sense of time which moves outwards from the center of the image in concentric diamonds. It does so by returning an alpha value of 1.0 if the 'diamond' of the pixel-block (starting from the center) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Diamonds Out' alpha function.

Motion Pattern Diamonds In
This alpha function creates a sense of time which moves inwards toward the center of the image in concentric diamonds. It does so by returning an alpha value of 1.0 if the 'diamond' of the pixel-block (starting from the pixel-block farthest from the center) equals the sequence image number, and 0.0 otherwise.

Example long-exposure image made using
'Motion Pattern Diamonds In' alpha function.

"Value Spread" Alpha Functions Group
The idea of this group is that each sequence image necessarily contributes to a potentially very large number of pixel-blocks, and along the same lines necessarily has the ability to use a pixel-block size of 1, regardless of the number of sequence images provided.

Value Spread Simple Average
This alpha function is also described in detail in the formalization section. It simply returns a constant alpha value of 1/n, where n is the total number of sequence images.

Example long-exposure image made using
'Value Spread Simple Average' alpha function.

Random Flat Sequence Images to Blocks
This alpha function seems a bit different and more complicated (at least in terms of length of code) than all the others, but all it does really is take every pixel-block fully from a pseudo-randomly chosen one of the sequence images.

Example long-exposure image made using
'Random Flat Sequence Images to Blocks' alpha function.