- vtkImageData* image=this->GetInput();
- overExtent[0] = (( image->GetOrigin()[0] + x1*image->GetSpacing()[0] ) - mOverlay->GetOrigin()[0]) /
- mOverlay->GetSpacing()[0];
- overExtent[1] = (( image->GetOrigin()[0] + x2*image->GetSpacing()[0] ) - mOverlay->GetOrigin()[0]) /
- mOverlay->GetSpacing()[0];
- overExtent[2] = (( image->GetOrigin()[1] + y1*image->GetSpacing()[1] ) - mOverlay->GetOrigin()[1]) /
- mOverlay->GetSpacing()[1];
- overExtent[3] = (( image->GetOrigin()[1] + y2*image->GetSpacing()[1] ) - mOverlay->GetOrigin()[1]) /
- mOverlay->GetSpacing()[1];
- overExtent[4] = (( image->GetOrigin()[2] + z1*image->GetSpacing()[2] ) - mOverlay->GetOrigin()[2]) /
- mOverlay->GetSpacing()[2];
- overExtent[5] = (( image->GetOrigin()[2] + z2*image->GetSpacing()[2] ) - mOverlay->GetOrigin()[2]) /
- mOverlay->GetSpacing()[2];
+ double dOverExtent[6];
+ vtkImageData* image = this->GetInput();
+ dOverExtent[0] = image->GetOrigin()[0] + x1*image->GetSpacing()[0];
+ dOverExtent[1] = image->GetOrigin()[0] + x2*image->GetSpacing()[0];
+ dOverExtent[2] = image->GetOrigin()[1] + y1*image->GetSpacing()[1];
+ dOverExtent[3] = image->GetOrigin()[1] + y2*image->GetSpacing()[1];
+ dOverExtent[4] = image->GetOrigin()[2] + z1*image->GetSpacing()[2];
+ dOverExtent[5] = image->GetOrigin()[2] + z2*image->GetSpacing()[2];
+
+ vtkImageData* overlay = mOverlay->GetTransformedVTKImages()[0];
+ overlay->UpdateInformation();
+ for(unsigned int i=0; i<6; i++)
+ overExtent[i] = itk::Math::Round((dOverExtent[i]- overlay->GetOrigin()[i/2]) / overlay->GetSpacing()[i/2]);
+