[Insight-users] Visual studio error ... cannot convert parameter 1 from 'itk::SmartPointer<TObjectType>' to 'itk::PDEDeformableRegistrationFilter
Luis Ibanez
luis.ibanez at kitware.com
Sat Mar 6 20:05:01 EST 2010
Hi Neil,
Thanks for posting the additional code.
Please try replacing the line:
multires_2to1->SetRegistrationFilter( filter_2to1 );
with
multires_2to1->SetRegistrationFilter( filter_2to1.GetPointer() );
and let us know what you find.
Thanks,
Luis
--------------------------------------------------------------
On Tue, Mar 2, 2010 at 6:39 PM, <Neil.Burdett at csiro.au> wrote:
> Hi Luis,
> Sorry for the delay in responding, it seems that my previous message was too big as I attached copies of my files.
>
> B) From itkRegistrationBasedInterpolatorFilter.h RegistrationBasedInterpolatorFilter inherits from the itk ImageToImageFilter class (see below). Is this not correct?
>
> #include <itkImageToImageFilter.h>
> #include "itkDiffeomorphicDemonsRegistrationFilter.h"
> #include "itkMultiResolutionPDEDeformableRegistration2.h"
>
> namespace itk{
>
> template <class TInputImage, class TOutputImage>
> class __declspec(dllexport) RegistrationBasedInterpolatorFilter:
> public ImageToImageFilter<TInputImage, TOutputImage>{
>
> public:
> /** standard class typedefs */
> typedef RegistrationBasedInterpolatorFilter Self;
> typedef ImageToImageFilter<TInputImage,TOutputImage> Superclass;
> typedef SmartPointer<Self> Pointer;
> typedef SmartPointer<const Self> ConstPointer;
>
> /** Method for creation through the object factory. */
> itkNewMacro(Self);
>
> /** Run-time type information (and related methods). */
> itkTypeMacro(RegistrationBasedInterpolatorFilter, ImageToImageFilter);
>
> typedef TInputImage InputImageType;
> typedef TOutputImage OutputImageType;
>
> ...
>
>
> c) The class has itkNewMacro(self) in itkRegistrationBasedInterpolatorFilter.h (see above)
>
> This seems to build and run fine under Linux but not under visual studio.
>
> Thanks for taking the time to investigate this it's much appreciated
>
> Neil
>
> -----Original Message-----
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Sent: Wednesday, 10 February 2010 4:40 AM
> To: Burdett, Neil (ICT Centre, Herston - RBWH)
> Cc: mike.jackson at bluequartz.net; insight-users at itk.org
> Subject: Re: [Insight-users] Visual studio error ... cannot convert parameter 1 from 'itk::SmartPointer<TObjectType>' to 'itk::PDEDeformableRegistrationFilter
>
> Hi Neil,
>
> Thanks for posting the additional code.
>
> Three observations:
>
>
> A) You seem to be mixing 2D images with 3D images.
>
>
> B) Does the class RegistrationBasedInterpolatorFilter
> derives from:
>
> typedef typename itk::PDEDeformableRegistrationFilter <
> SliceInputImageType, SliceInputImageType, DemonsDeformationFieldType>
> BaseRegistrationFilterType;
>
> ??
>
> It should, if you want to do:
>
> typename BaseRegistrationFilterType::Pointer filter_2to1;
>
> and then
>
> multires_2to1->SetRegistrationFilter( filter_2to1 );
>
>
>
> C) Does the class
>
> RegistrationBasedInterpolatorFilter
>
> has an itkNewMacro() in its header file ?
>
>
>
>
> Luis
>
>
>
>
>
More information about the Insight-users
mailing list