[Insight-developers] Exception in itkImageToImageFilter.txx for itkPhilipsRECImageIOOrientationTest

Bill Lorensen bill.lorensen at gmail.com
Fri Jul 22 13:22:10 EDT 2011


I'll take a look further.

On Fri, Jul 22, 2011 at 12:45 PM, Don C Bigler <d.bigler1 at gmail.com> wrote:

> A bug might exist.  However prior to adding VerifyImageInformation the
> code I created in the test produced the desired result.  Additionally,
> I've been using the same code routinely to do image fusion of images
> acquired during a single scan session.  It works not just for the
> itkPhilipsRECImageIO class but for DICOM images as well.
>
> I should point out that I discovered that I needed to use the identity
> matrix by accident because when I first created the test I tried to
> create the transform manually.  It failed until I used the identity
> matrix.  Note that I call UseReferenceImageOn() in the resample
> filter.  I might be missing something here, but when I looked at the
> resample code it appeared to me that ITK does transforms in real world
> coordinates, not image coordinates.  So my test appears to be a
> special case that only works when the target and reference images are
> acquired during a single scan session.
>
> On Thu, Jul 21, 2011 at 4:24 PM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
> > So itr is probably a bug somewhere. The physical spaces should verlap.
> >
> > The VerifyImageInformation is a recent addition.
> >
> > On Thu, Jul 21, 2011 at 5:12 PM, Don C Bigler <d.bigler1 at gmail.com>
> wrote:
> >>
> >> All,
> >>  I am getting the following exception in
> >> itkPhilipsRECImageIOOrientationTest after updating to the latest
> >> Master branch:
> >>
> >> 627/1769 Testing: itkPhilipsRECImageIOOrientationTest2
> >> 627/1769 Test: itkPhilipsRECImageIOOrientationTest2
> >> Command:
> >> "/Users/dbigler/Development/ITKV4Build/bin/ITK-IO-PhilipsRECTestDriver"
> >> "--compare"
> >>
> "/Users/dbigler/Development/ITKV4Build/ExternalData/Modules/IO/PhilipsREC/test/Baseline/itkPhilipsRECImageIOOrientationTest2.mha"
> >>
> >>
> "/Users/dbigler/Development/ITKV4Build/Testing/Temporary/itkPhilipsRECImageIOOrientationTest2.mha"
> >> "itkPhilipsRECImageIOOrientationTest"
> >>
> >>
> "/Users/dbigler/Development/ITKV4Build/ExternalData/Modules/IO/PhilipsREC/test/Input/Test_Orientation_2_5.PAR"
> >>
> >>
> "/Users/dbigler/Development/ITKV4Build/ExternalData/Modules/IO/PhilipsREC/test/Input/Test_Orientation_2_1.REC.gz"
> >>
> >>
> "/Users/dbigler/Development/ITKV4Build/Testing/Temporary/itkPhilipsRECImageIOOrientationTest2.mha"
> >> Directory:
> >> /Users/dbigler/Development/ITKV4Build/Modules/IO/PhilipsREC/test
> >> "itkPhilipsRECImageIOOrientationTest2" start time: Jul 20 23:18 CDT
> >> Output:
> >> ----------------------------------------------------------
> >>
> >> itk::ExceptionObject (0x1012cafc0)
> >> Location: "void itk::ImageToImageFilter<TInputImage,
> >> TOutputImage>::VerifyInputInformation() [with TInputImage =
> >> itk::Image<short int, 3u>, TOutputImage = itk::Image<short int, 3u>]"
> >> File:
> >>
> /Users/dbigler/Development/ITK/Modules/Core/Common/include/itkImageToImageFilter.txx
> >> Line: 253
> >> Description: itk::ERROR: ResampleImageFilter(0x1012b72b0): Inputs do
> >> not occupy the same physical space!
> >> InputImage Origin: [-107.993, -73.195, 114.799], InputImage1 Origin:
> >> [-132.601, -135.137, -62.593]
> >> InputImage Spacing: [0.807, 0.807, 1], InputImage1 Spacing: [1, 1, 1]
> >> InputImage Direction: 1 0 0
> >> 0 0 1
> >> 0 -1 0
> >> , InputImage1 Direction: 1 0 0
> >> 0 1 0
> >> 0 0 1
> >>
> >>
> >>
> >>
> >> <DartMeasurement name="ImageError"
> >> type="numeric/double">0</DartMeasurement>
> >> <DartMeasurement name="BaselineImageName"
> >>
> >>
> type="text/string">itkPhilipsRECImageIOOrientationTest2.mha</DartMeasurement>
> >> <end of output>
> >> Test time =   1.31 sec
> >>
> >> It looks like a check is made to verify that the origin and direction
> >> cosines are the same.  Probably not a bad check for most situations,
> >> but it appears to break this test that I created to test the
> >> orientation of the Philips PAR/REC images.  Here's what I'm doing in
> >> the test:
> >>
> >> 1.  I have two images acquired during the same scan session, one in an
> >> axial orientation and the other is the same image in the sagittal
> >> orientation created using multi-planar reconstruction.
> >> 2.  Read both images.
> >> 3.  Transform the sagittal image to the axial image using the identity
> >> affine matrix.  The identity transform is used because the images
> >> differ in orientation only.
> >> 4.  Subtract the transformed sagittal image from the axial image.
> >> Visual inspection using an image viewer shows that they are correctly
> >> coregistered.
> >>
> >> The reason they are correctly coregistered is because ITK handles the
> >> conversion from image coordinates to real world coordinates
> >> "automatically" using the origin and direction cosines.
> >>
> >> Having explained all this (hopefully with adequate clarity and
> >> correctness), it seems to me that this exception that is generated is
> >> a bug.  I would appreciate it if someone else will verify the
> >> exception that I'm getting and provide an explanation as to why this
> >> check was added in ITK4.
> >>
> >> Don
> >> _______________________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Kitware offers ITK Training Courses, for more information visit:
> >> http://kitware.com/products/protraining.html
> >>
> >> Please keep messages on-topic and check the ITK FAQ at:
> >> http://www.itk.org/Wiki/ITK_FAQ
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.itk.org/mailman/listinfo/insight-developers
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110722/d54ca118/attachment.htm>


More information about the Insight-developers mailing list