[Insight-developers] Policy about filter behavior

Luis Ibanez ibanez at cs.unc.edu
Tue Aug 29 12:11:34 EDT 2000


Hi,

We are reworking the recursive gaussian filters
trying to make them reach the requirements for style.


On the way, we are finding some unclear aspects
about filter's behavior.  (Image to Image filtering).

The imageToImage filter has a pointer to an input image
and to an output image.

1) The first basic question is related with image size.

The filter is able to estimate the required size for the output
image, once the input image is given.

If the filter finds that the output image size is not appropriated,
do we want the filter to fail raising an exception or do we want it
to resize the image as needed.



2) The second question is related with the required initialization
of the images and with the requirements for streaming

Currently the images have to be initialized with a sequence of
commands that looks like:

typedef    itk::Image<double,3>   myImageType;
typedef    myImageType::Index    myIndexType;

myImageType::Pointer   myImage = myImageType::New();
const unsigned long size[] = {200,200,200};

myImage->SetImageSize( size );
myImage->SetBufferSize( size );
myImage->Allocate();

const unsigned long startPosition[] = { 0, 0, 0 };
myIndexType   start;
start.SetIndex( startPosition );

inputImage->SetImageStartIndex( start );
inputImage->SetBufferStartIndex( start );

Where (in this case) we specify that the buffer
completly contains the image.  All this is done
before connecting the image to the filter.


Is the filter supposed to work over the Buffer,
over the entire Image, or over a Region ?

How is this communicated to the filter  ?

Currently we are just running the filter over the buffer content,
but this is not probably what we want for managing streaming.

Is there an ImageToImage filter currently implemented that we
can follow as model  ?


Thanks


Luis




More information about the Insight-developers mailing list