[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