[vtkusers] Joining two images
David Pont
david_pont at hotmail.com
Thu Sep 20 17:23:56 EDT 2001
It works !!!,
many thanks to David Gobbi for pointing me in the right direction. The
final trick was to replace the suggested:
>reslice->SetOutputExtent(reslice->GetInput()->GetWholeExtent());
with an extent calculated to encompass both my input images, after their
translation and rotation. I did this using: the input extent and
vtkTransform SetPoint and GetPoint to figure out where the corners of the
images would be after transformation. I now have two images aligned, blended
and saved in a TIFF. Thanks again.
Dave Pont
>From: David Gobbi <dgobbi at irus.rri.ca>
>To: <david.pont at forestresearch.co.nz>
>CC: <vtkusers at public.kitware.com>
>Subject: Re: [vtkusers] Joining two images
>Date: Wed, 19 Sep 2001 00:47:47 -0400 (EDT)
>
>Hi David,
>
>By default, vtkImageReslice will automatically adjust
>the Origin of the output so that the output image
>is centered. This is useful for when people want to
>do simple operations like image rotation, permuting
>axes, or flipping the image but it effectively nullifies
>any translation as far as the appearance of the output
>image is concerned (i.e. the data coordinates of the image
>have been translated, but the image looks the same).
>
>The best thing is to set the output Spacing, Origin, and Extent
>to the same as the input Spacing, Origin and Extent:
>
>reslice->GetInput()->UpdateInformation();
>reslice->SetOutputSpacing(reslice->GetInput()->GetSpacing());
>reslice->SetOutputOrigin(reslice->GetInput()->GetOrigin());
>reslice->SetOutputExtent(reslice->GetInput()->GetWholeExtent());
>
>In newer versions of vtkImageReslice, a short way of doing
>exactly the same thing is
>
>reslice->SetInformationInput(reslice->GetInput());
>
>The SetInformationInput() method is also very useful if
>you want the output sampling of vtkImageReslice to match
>that of of the image you are registering to, e.g.
>
>reslice->SetInformationInput(reader2->GetOutput());
>
>
>One of the confusions with the vtk imaging pipeline is
>that some filters operate in terms of voxels (i.e.
>structured coordinates) and some filters operate in
>terms of data coordinates. In the geometry pipeline,
>everything is done in data coordinates so there is
>no confusion. Personally, I wish that the imaging
>pipeline was the same way.
>
>I hope this helps.
>
> - David
>
>--
> David Gobbi, MSc dgobbi at irus.rri.ca
> Advanced Imaging Research Group
> Robarts Research Institute, University of Western Ontario
>
>On Wed, 19 Sep 2001, David Pont wrote:
>
> > I have changed my pipeline to use vtkImageBlend instead of
>vtkImageAppend
> > and now I get some output which is almost what I want. The pipeline is:
> >
> > vtkTIFFReader
> > vtkImageReslice
> > vtkTransform::New();
> > vtkTransform->RotateWXYZ( rotate_angle );
> > vtkTransform->Translate( translate_X, translate_Y, 0 );
> > vtkImageReslice->SetResliceTransform( above vtkTransform );
> > vtkImageReslice->Update();
> > vtkImageReslice->GetOutput()->GetWholeExtent();
> > to obtain the outer extent for the two images.
> > vtkImageConstantPad->SetOutputWholeExtent();
> > with the outer extent
> > vtkImageBlend
> > vtkTIFFWriter
> >
> > The output is almost perfect: two transformed images overlayed and saved
>in
> > a TIFF file; except that the Translate appears to do nothing. Any
>experts in
> > Reslice know what I might be doing wrong?. I am surprised I get the
>Rotate
> > but not the Translate. Do they need separate transforms, separate
>Reslices?
> >
> > regards
> > Dave Pont
> >
> > _________________________________________________________________
> > Get your FREE download of MSN Explorer at
>http://explorer.msn.com/intl.asp
> >
> > _______________________________________________
> > This is the private VTK discussion list.
> > Please keep messages on-topic. Check the FAQ at:
><http://public.kitware.com/cgi-bin/vtkfaq>
> > Follow this link to subscribe/unsubscribe:
> > http://public.kitware.com/mailman/listinfo/vtkusers
> >
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at:
><http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
More information about the vtkusers
mailing list