[comp.sys.amiga] Handling Very Large Images

limonce@pilot.njin.net (Tom Limoncelli) (11/27/90)

In article <1640@madnix.UUCP> perry@madnix.UUCP (Perry Kivolowitz) writes:
> But, you know, being able to manipulate massive images is a mixed blessing.
> Sure, it is nice to be able to do it. But consider that each of the possibly
> hundreds of millions of pixels needs at least a little attention from the 
> CPU during processing. Doing anything hundreds of millions of times takes
> time.

Would this work to reduce the number of "millions of pixels that need
a little attention during processing"?

Do everything in RAM as HAM (in virtual memory if the HAM image is
even too large).  As the user manipulates the HAM image, build a list
of transformations (clip here, reduce there, quantize x y z, add text
here, etc).  Then, when the user is satisfied, reduce all the
individual transformations into one big transformation (from t1 -> t2
-> t3 -> ... -> tN into t1 -> tN) and then do that last big (singular)
transformation on the disk image (using virtual memory)?  (Yes, I
understand that things like dithering would prevent you from reducing
it to a *singular* transformation, but you get the picture).

This would speed up the user interaction considerably.

(later thoughts on this)

I can't mathematically (in my head) prove that such a list couldn't be
reduced into one transformation.  That is, each pixel would store a
list of what needs to be done (ok, it's not really *1*
transformation).  For example: all the clips and moves with no
intermediate operations can be reduced to one transformation.  So,
each pixel could contain a list like "this location in the final image
should contain the pixel from original_image[45][3] after being
reduced to a 9-bit pixel using dither-method-y".

Maybe it can (at least) be proved for all lists where the dithering is
moved to the end of list.  Isn't this the optimal order anyway?  Do
all the cuts, crops, and pastes first, then do any color
reduction/size reduction/dithering as the one last combined step?

Or, maybe the problem is that certain operations can't be approximated
from the HAM image and would require the 24-bit image being accessed.

Ugh.  This sounds too much like computer theory.  I'll let someone
else type for a while. :-)

-Tom
-- 
tlimonce@drew.edu     Tom Limoncelli      "Flash!  Flash!  I love you!
tlimonce@drew.bitnet  +1 201 408 5389        ...but we only have fourteen
tlimonce@drew.uucp    limonce@pilot.njin.net       hours to save the earth!"