[Insight-developers] Image-based Testing in Tcl

Brad King brad . king at kitware . com
Wed, 4 Sep 2002 11:39:31 -0400 (EDT)


Bill,

> I've been thinking about this for a bit. I would like the "regression
> iamge" to store the n-d image. The difference filter might report how
> different each 2D slice is. Then somehow we would report the 2d
> difference image.

The DifferenceImageFilter supports fully N-d difference images.  It uses a
standard iterator in the test image and a neighborhood iterator in the
valid image to allow the test to tolerate n-pixel shifts (n can be set by
the test).  We will need to choose a few things:

How big should the standard 2-D test image be?  (256x256?)
How big should the standard 3-D test image be?  (64x64x64?)
How big should the standard N-D test image be?  (32^N ?)
What file format should be used for 2-D images?  (png?)
What file format should be used for 3-D images?  (png per slice?)
What file format should be used for N-D images?  (png per slice?)
How do we present difference images for 3-D and N-D failed tests?
  (choose slices with largest difference?)

I'm sure there are many more questions, but this is a start.

Also, where should we store the input and valid images?  Currently we're
using Insight/Testing/Data.  Should we use VTK's approach of a separte
testing data tree?  The valid image for the curvature flow test is about
20KB (256x256 8-bit greyscale compressed).  If most regression images are
this size, it would be fine (IMO) to put them in the source tree.
However, N-d images can get pretty big...

-Brad