[Rtk-users] how to assign itk::image object as projections

Cyril Mory cyril.mory at uclouvain.be
Mon Mar 21 09:40:37 CET 2016


Hi Naved,

The ConstantImageSource filter generates an image with all pixels set to 
the same value (default value is 0), out of nothing. It does noes need 
an input. In fact, it cannot take an input.
I do not know MITK, but mitk::CastToItkImage seems like a method that 
should return something. Something like a pointer to the image, cast as 
ITK image. You probably need to get this pointer and set it as input 1 
of the FDK filter.

Something like this, assuming there is something called ImageType in mitk :

mitk::ImageType::Pointer castImagePointer = mitk::CastToItkImage(image, 
Img3DFloat);
f->SetInput( 1, castImagePointer );


Note that circumventing the rtk::ProjectionsReader filter in such a way 
is usually a bad idea: before they can be back projected, projections 
usually need a lot of pre-processing, which is performed in the 
projections reader (like log-transform, LUT, parker weighting for short 
scans, offset-detector weighting, scatter correction, etc...).

Hope it helps,
Cyril

On 03/18/2016 06:55 PM, naved chaudhri wrote:
> Hi,
>
> I'm integrating RTK in an application that reads the raw projections 
> from a dicom file. After reading dicom I have the data as itk::image 
> object.  At this point, I am facing difficulty in finding a way to 
> assign the itk::image to rtk::ConstantImageSource or 
> rtk::ProjectionsReader or not getting the way to 
> rtk::FDKConeBeamReconstructionFilter for the reconstruction.
>
> All the application examples I went through were projections as stack 
> based.
>
> Following are few lines I have written.
> //
> typedef itk::Image<float, 3> InImageType;
> InImageType::Pointer Img3DFloat = InImageType::New();
>
> mitk::CastToItkImage(image, Img3DFloat); //Works (I use MITK for 
> reading and visualization)
>
> typename ConstantImageSourceType::Pointer iFilter = 
> ConstantImageSourceType::New();
> //iFilter->SetInformationFromImage( Img3DFloat ); // No compilation 
> error but Empty Reconstruction
> iFilter->SetInput(Img3DFloat ); //Compilation Error
>
> CbctGenerator.cpp:1338: error: no matching function for call to 
> 'rtk::ConstantImageSource<itk::Image<float, 3u> 
> >::SetInput(itk::Image<float, 3u>::Pointer&)'
>      iFilter->SetInput(Img3DFloat ); // produces compilation error
>                                   ^
> //
>
> Thanks in advance for any hint.
>
> Bests,
>
> Naved
>
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> http://public.kitware.com/mailman/listinfo/rtk-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20160321/fca3977d/attachment.htm>


More information about the Rtk-users mailing list