[Insight-developers] Recent changes to Transforms break ITK's API

Matt McCormick matt.mccormick at kitware.com
Mon Jul 15 13:53:18 EDT 2013


Hi Bill,

I have added your code in this patch:

  http://review.source.kitware.com/#/c/11961/

It reproduces the compilation error.


To overcome this limitation, I propose we:

  1) SetInput( TransformType * ) -> SetInput( LightObject * )
  2) Create a new TransformPrecisionFilter that can convert between
transform precisions
  3) Internally convert between precisions if required in
TransformFileWriter::Update()

Thanks,
Matt


On Sun, Jul 14, 2013 at 3:50 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> BTW, if I change the type to double it compiles.
>
>
>
> On Sun, Jul 14, 2013 at 11:50 AM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
>>
>> I think it works with 4.5.0(~ May 31). Probably fails because of this
>> commit:
>> http://review.source.kitware.com/#/c/11396/
>>
>>
>>
>>
>>
>> On Sun, Jul 14, 2013 at 11:40 AM, Matt McCormick
>> <matt.mccormick at kitware.com> wrote:
>>>
>>> Hi Bill,
>>>
>>> Did this code with 4.4.0?
>>>
>>> Thanks,
>>> Matt
>>>
>>> On Sun, Jul 14, 2013 at 11:31 AM, Bill Lorensen <bill.lorensen at gmail.com>
>>> wrote:
>>> > Folks,
>>> >
>>> > When I compile the following code I get this compilation error:
>>> >
>>> >
>>> > /home/lorensen/ProjectsGIT/ITKGerrit/Modules/Remote/WikiExamples/IO/TransformFileWriter.cxx:
>>> > In function ‘int main(int, char**)’:
>>> >
>>> > /home/lorensen/ProjectsGIT/ITKGerrit/Modules/Remote/WikiExamples/IO/TransformFileWriter.cxx:20:
>>> > error: no matching function for call to
>>> >
>>> > ‘itk::TransformFileWriterTemplate<double>::SetInput(itk::SmartPointer<itk::Rigid2DTransform<float>
>>> >>&)’
>>> >
>>> > /home/lorensen/ProjectsGIT/ITKGerrit/Modules/IO/TransformBase/include/itkTransformFileWriter.hxx:78:
>>> > note: candidates are: void
>>> > itk::TransformFileWriterTemplate<ScalarType>::SetInput(const
>>> > itk::TransformBaseTemplate<TScalarType>*) [with ScalarType = double]
>>> >
>>> >
>>> > ---------------------------------------------------------------------------------------------------
>>> > #include "itkRigid2DTransform.h"
>>> > #include "itkTransformFileWriter.h"
>>> >
>>> > int main(int argc, char *argv[])
>>> > {
>>> >   std::string fileName;
>>> >   if(argc == 1) // No arguments were provided
>>> >   {
>>> >     fileName = "test.tfm";
>>> >   }
>>> >   else
>>> >   {
>>> >     fileName = argv[1];
>>> >   }
>>> >
>>> >   typedef itk::Rigid2DTransform< float > TransformType;
>>> >   TransformType::Pointer transform = TransformType::New();
>>> >
>>> >   itk::TransformFileWriter::Pointer writer =
>>> > itk::TransformFileWriter::New();
>>> >   writer->SetInput(transform);
>>> >   writer->SetFileName(fileName);
>>> >   writer->Update();
>>> >
>>> >   return EXIT_SUCCESS;
>>> > }
>>> >
>>> >
>>> > _______________________________________________
>>> > 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.php
>>> >
>>> > 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
>>> >
>>
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>
>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com


More information about the Insight-developers mailing list