"Digital ICE" without Digital ICE

  • Thread starter Thread starter Lorenzo J. Lucchini
  • Start date Start date
On 29 Oct 2004 05:40:02 -0700, (e-mail address removed) (Lorenzo J.
Lucchini) wrote:

[snip]
Now, it's true that there *will* be some alignment problems between
any two scans, since the motor stepping can't be 100% accurate.
However, if it's good enough for VueScan to offer a multi-scan option,
it can't be too bad for my purposes.

Ah... VueScan... Hmmm... I'm not a fan, to say the least... ;o) Far
too buggy for my taste.

As I like to say, VueScan's multi-pass multi-scan option is a very
time consuming and complicated way to blur an image... ;o)

Maybe. Of course it will depend on how precise the stepping motor of
every individual scanner is.

Anyway, although this is drifting from the original topic... I was
wondering, can this now not-very-useful feature of VueScan be made
better?
Assume the misalignment between any two scans is not sub-pixel. In
this case, it would be easy, although time consuming, to manually
align the scans.

But can you manually align two images that have sub-pixel
misalignment? My intuition says you can, although most image editing
software probably doesn't allow it. Should be a matter of somehow
"moving" a fraction of every pixel value to one neighboring pixel.

Even if this can be done, it remains to be seen if this alignment
process can be automated; otherwise, it would definitely be too
complicated to be practical.

Now, I know there exist programs that can automatically align two
partially or fully overlapping images. I don't think these programs
can do sub-pixel alignment, though.

But I understand that there are ways of measuring the 'sharpness' of
an image: for example, the pamsharpness tool inclued in the latest
version of NetPBM seems to accomplish such a goal.

So, unless something of what I said can't be done, the following
procedure should work to improve the sharpness of a multi-scan:
1) Measure the sharpness of the image formed by combining the two
scans
2) If it is considered satisfactory, then terminate
3) Choose an (x,y), where x and y are fractions of a pixel
4) Shift one of the two scanned images of an (x,y) sub-pixel amount
5) Go back to step 1

This procedure doesn't find the best possible alignment between the
two images, but it at least assures it will make the alignment better
for a sufficient number of iterations.
What's a sufficient number of iterations and what's "satisfactory", of
course, remain to be defined, but you could just say "when sharpness
has improved more than n% from the sharpness measured from the two
unaligned images, then terminate".

by LjL
(e-mail address removed)
 
Maybe. Of course it will depend on how precise the stepping motor of
every individual scanner is.

Unfortunately, no stepper motor is precise enough to achieve this
amount of accuracy. At this level of precision a lot is going on when
the assembly moves back and forth.

As I mentioned before this can be confirmed by running a little test.
Even at the lowest resolution (in my case 50 dpi) there is movement
between two subsequent scans. So if a stepper motor is incapable of
perfect registration at 50 dpi you can image the inaccuracy at 1200
dpi!
Anyway, although this is drifting from the original topic... I was
wondering, can this now not-very-useful feature of VueScan be made
better?

Yes, but it takes clever programming so don't expect to see it in
VueScan any time soon... ;o)

But seriously, although some intelligence is needed to determine the
offset (misalignment) the actual process is just very time consuming
(see below for more).
Assume the misalignment between any two scans is not sub-pixel. In
this case, it would be easy, although time consuming, to manually
align the scans.

Absolutely. The trouble is this happens very rarely and the odds of it
are very small. I've been playing with this for about a year now and
only *once* did I have two subsequent scans happen to be off on
exactly a full pixel boundary!
But can you manually align two images that have sub-pixel
misalignment? My intuition says you can, although most image editing
software probably doesn't allow it. Should be a matter of somehow
"moving" a fraction of every pixel value to one neighboring pixel.

Yes, you can definitely sub-pixel align. I don't know how automatic
software does it, although I suspect they run various mathematical
functions and models along the lines you mentioned.

I simply figured out a way to do it manually in Photoshop without
resorting to any fancy math. (Actually, it can be done with any image
editing software.)
Even if this can be done, it remains to be seen if this alignment
process can be automated; otherwise, it would definitely be too
complicated to be practical.

There is software out there to do everything automatically but I
myself prefer to sub-pixel align manually. It's not really that
complicated, just time consuming. There are two steps: Determine the
offset (that's the part I prefer to do manually rather than rely on
software) and then perform the actual shift (that's the part which is
time-consuming so I usually do something else while Photoshop
"thinks"). You could use Photoshop Actions for the second step but I
just don't bother.

Don.
 
Back
Top