[Insight-users] Need help resizing/resampling PET image

Luis Ibanez luis.ibanez at kitware.com
Wed Jan 20 14:30:43 EST 2010


Hi Abhik,


1) You don't need to resample the PET
     image in order to perform registration.

     In ITK you can simply pass two images
     of different resolutions as input to the
     registration framework.

     Resampling the image doesn't give you
     any advantage, when it come to performing
     image registration.


2) It is likely that you are reading that PET
    image with an incorrect pixel type.

    Could you post an screenshot showing
    one central slice of that PET scan ?



    Regards,


          Luis



-------------------------------------------------
On Wed, Jan 20, 2010 at 12:55 AM, Abhik Datta <findabhik at gmail.com> wrote:
> Hi All,
> I am new to ITK and I am working on PET-CT registration. I have a PET image
> dataset which has a very low resolution, whereas my CT image dataset is of
> very high resolution. Before I run my registration algorithm, I want to
> resample/resize my PET images to match the resolution of the CT images.
> However, any resizing of the PET image is bringing in excessive noise in the
> image, even with BSpline interpolation. Also, I notice that if I don't
> resize the image at all, the output image still has significant noise.
> Therefore I think I must be missing something in my code. I have tried
> the Similarity2DTransform, the AffineTransform. My code goes somewhat like
> this:
>                 typedef itk::ResampleImageFilter <InputImageType,
> OutputImageType> FilterType;
> FilterType::Pointer filter = FilterType::New();
> typedef itk::AffineTransform <double, Dimension>  TransformType;
> TransformType::Pointer transform = TransformType::New();
> filter->SetTransform(transform);
> typedef itk::BSplineInterpolateImageFunction <InputImageType, double>
> InterpolatorType;
> InterpolatorType::Pointer interpolator = InterpolatorType::New();
> filter->SetInterpolator ( interpolator );
> double spacing[Dimension];
> spacing[0] = 1.0; // pixel spacing in millimeters along X
> spacing[1] = 1.0; // pixel spacing in millimeters along Y
> filter->SetOutputSpacing ( spacing );
> double origin[Dimension];
> origin[0] = -500; // X space coordinate of origin
> origin[1] = -500; // Y space coordinate of origin
> filter->SetOutputOrigin ( origin );
> InputImageType::DirectionType direction;
> direction.SetIdentity();
> direction = inputImage->GetDirection();
> InputImageType::SizeType size;
> size[0] = 1000;  // number of pixels along X
> size[1] = 1000;  // number of pixels along Y
> filter->SetSize(size);
> What I am looking to do is get the PET image to look like when we zoom into
> the image using a image viewer like IrfanView.
> Any suggestions will be of great help.
> Thanks,
> Abhik Datta.
> _____________________________________
> 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://www.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-users
>
>


More information about the Insight-users mailing list