[ANN]: Imagedata Toolkit (beta) released
Wilhelm Sanke
sanke at hrz.uni-kassel.de
Sat Sep 9 09:31:56 CDT 2006
(Remark for Metacard list members only:
For optimal performance use the Metacard IDE. When run in the Revolution
IDE some filters need up to 45% more processing time than in MC. This
also holds when you create a standalone.)
I am out of home and office from today until Sept. 20th, which means I
cannot respond to feedback or answer questions in the meantime.
The stack should run on any platform and with engine versions 2.5 or
later; on platforms other than Windows other "apply" buttons can be used
instead of the supplied Windows DLL "external.dll" (from Chipp Walters)
- and even on Windows using button "apply scripted version" avoids the
borders that are produced by repeated use of the DLL. The other "apply"
scripts take about 7 seconds on a 2 GHz Windows machine.
I did not yet test the display of fonts which usually look somewhat
different on MacOS.
If you get a warning when opening the stack in the Revolution IDE
assuming "duplicate answer stacks" or the like, simply disregard this. I
use a customized "answer dialog" from the Metacard IDE that allows for
precise placing of the dialog anywhere in the stack area other than in
the usual center.
As a start:
- go to btn "bidirectional gradients" (bottomleft of the card), choose
"multidirectional gradient"
- choose "grainy emboss" from "emboss filters" and choose one "apply" button
- go to "duplicate colors" and choose "duplicate colors 3"; apply about
3 times
You will get a multicolored shiny metallic surface. Using "duplicate
colors 1" also works and applying this button 8 times will bring back
the image you started from.
You can download the stack from pages "Image Filter Gallery" or "Sample
Stacks" of <http://www.sanke.org/MetaMedia> or directly from
<http://www.sanke.org/Software/ImagedataToolkit.zip> (8 MB).
Overview:
1. Restrictions
A help file will be available not before October.
The filters only apply to images with a size of 640X480; imported
images will be resized to that format. A version for variable image
sizes is under development and already working, but will probably not be
offered as freeware.
The Windows DLL cannot be applied when "bias" (or "offset") values are
used. A warning dialog will appear then.
Alphadata, maskdata, and the integration of "painted" graphics (like the
one example in my "Image Filter Demo" stack) are not yet supported.
There is no "undo" function so far. This can partially be overcome by
- using one of the 7 sample images to test filter effects
- using the 4 slots on the left to store and retrieve images
- putting the image into the "back image" before processing and then
retrieve it again (There are two images on top of each other as the
basic arrangement: You can "toggle" the images or put the front into the
back image or the other way round).
This two-image arrangement also is the prerequisite for the various
options to "combine" the two images.
2. Matrix-3X3 Filters
- 6 kinds of filters (from the matrix settings ) are available:
"Sharpen" (4 filters including an "unsharp mask), "Emboss Filters" (14
filters), "contours and edges" (4), "Soften" (4), "Lithography" (6),
"Relief Filters" (5).
55 more are presently accessible under "user-defined 3x3 filters" among
which a number of filters from web sites can be found.
There are two extra options to apply these filters:
"Apply Hybrid Filters" extends 3X3 matrices up to 11X11 matrix settings.
This produces especially interesting effects when "contours" and
"lithography" filters are selected.
"With R,G,B Choice" provides the option to apply the matrix filters with
any combination of or with single R,G,B colors.
You can experiment with "user-defined filters", by either editing the
cells of the matrix or by using a "random function". When using the
"random" function the "division factor" is calculated at the same time
to ensure a *brightness* that is more or less equivalent to the
brightness of the original image. After changing cell values directly it
is also useful to apply button "recalculate division factor". Changing
the "division factor" results in brighter or darker images, which may of
course be also interesting.
You can store and delete your "user-defined filters.
3. Matrix-5X5 Filters
The 5x5-matrix window is provided for experimentation. Applying the
matrices is rather slow, about 20 seconds on my main computer. There is
one very good filter, an "unsharp mask" filter I found in the web and
which I recalculated also as a 3X3-matrix filter without any seeming
loss of sharpness (see above).
4. Immediate Filters.
The majority of these filters (182 in all - with additional variations
for most of them) are one-step filters (as opposed to the two steps
"select" and "apply" of the matrix filters) and are usually very much
faster - less than 2 and even less than 1 second for many of them. A few
are slower, the slowest being the "Kuwahara full" filter with 27 seconds.
Many of these filters are adaptations from my "Colorpattern Toolkit"
which used chars in fields instead of imagedata, others are newly
developed, and some are reprogrammed-in-Revolution versions of findings
from the net.
In the last category belong filters like "jitter" (button "add noise"),
"b-contrast" (the variation "spread low tones" is especially useful to
brighten dark parts of an image), "thresholds", and the area-filters
"despeckle" and "Kuwahara". The codes for these filters were written in
languages like Java and "Gluas"; there is an interesting "Gluas
Gallery". I have added the original scripts of Gluas solutions in some
of the button scripts. Gluas is used to write filters for "Gimp" and is
a derivation of the programming language "Lua".
Especially the Kuwahara filter, which produces painting-like images, is
an example for the possibilities and the limitations of the Revolution
language at the same time because the execution of the script for some
million of imagedata chars takes its time. I have provided an option
"Kuwahara light", which is much faster, but which needs to be applied
togeher with the "despeckle" filter to achieve good results.
Maybe the Gluas language could be used to develop externals for
Revolution, too?
One type of filters, the 15 "stretch", "multiply segments", and
"mirrored segment" filters, uses a transparent graphic that can be
dragged within the rect of the image to select a part of the image for
processing. I especially like the "mirrored segments" filter that
produces interesting and unpredictable "seamless within" pictures from
any image.
Some of the remaining filters: "gray values", several "sepia" filters,
adding "gradient overlays" of selected colors, "saturation",
"pastellizing", "brighten/darken",
"reduce colors" to 4096, 512, 125, 64, 27, and 8 colors, various kinds
of "swap colors" (negative, rotating, substituting etc.), "max-med-min"
experiments, a number of horizontal, vertical, and diagonal mirrors,
"flip and turn" flipping and turning the image horizontally, vertically,
and 90 degrees, "skew", "shift", and "shrink" for other spatial
deformations, "refractions" to produce a series of decreasing images
inside the image, "glassy reflections" with various density options,
"gradients", "plain transition", and "random" transitions as producing
various kinds of transitions - with variable gradient segments
appearing in the picture at the same time when "random" is used here.
Also a number of buttons to create "primary color patterns" for further
manipulation by the described "secondary filters, and "finetuning"
colors by influencing the color values of an image either separately for
the RGB portions or combined.
And last but not least, there is an option to produce "picture borders"
of variable sizes where the frame colors are selected from within the
picture with a draggable graphic.-
Seven sample images are provided that are of different color and
structure and which react differently especially when matrix filters are
applied.
Enjoy!
--Wilhelm Sanke
<http://www.sanke.org/MetaMedia>
More information about the metacard
mailing list