[ITK] [ITK-users] cannot save transform to file: Can't Create IO object

Sebastian Ordas sebastian.ordas at gmail.com
Wed May 25 18:38:03 EDT 2016


Yes, this is within a plugin in a very complex framework (MITK)

I will try to use that ITK branch but will take some time. Before that, 
I will try to do the save/load functionality from a MITK module.

Anyway, I will share your hint with the MITK team and come back to the 
ITK list

thank you,

sebastian


On 25/05/2016 12:38 a.m., Matt McCormick wrote:
> Hi Sebastian,
>
> Is this in a plugin? There are significant issues when dealing with
> dynamic_cast's of the templates in plugins.
>
> Does building against ITK with this branch checked out help?:
>
>    http://review.source.kitware.com/#/c/21102
>
> Thanks,
> Matt
>
> On Mon, May 23, 2016 at 8:42 PM, Sebastian Ordas
> <sebastian.ordas at gmail.com> wrote:
>> Thanks Matt,
>>
>> The retrieved transformIO is null
>>
>> I looked into my ITK 4.9 build and I am trying something like this:
>>
>> itk::TransformFileWriterTemplate<double>::Pointer writer =
>>      itk::TransformFileWriterTemplate<double>::New();
>>
>> // are .tfm and .txt the right file extensions?
>>
>> itk::TransformIOFactoryTemplate<double>::TransformIOBasePointer tranformIO =
>> itk::TransformIOFactoryTemplate<double>::CreateTransformIO(
>> "fiducials_transform.tfm", itk::TransformIOFactoryFileModeType::WriteMode );
>>
>>    if (tranformIO.IsNull())
>>    {
>>      MITK_ERROR << "transform IO is null";
>>      return;
>>    }
>>
>> writer->SetTransformIO(tranformIO);
>>
>> writer->SetFileName("fiducials_transform.tfm");
>>
>> writer->SetInput(transform);
>>
>> try
>>    {
>>      writer->Update();
>>    }
>>    catch (itk::ExceptionObject& e)
>>    {
>>      MITK_ERROR << "Caught exception: " << e.GetDescription();
>>      QMessageBox::information( this, "Save transform", "Could not save
>> transform. See error log for details." );
>>    }
>>
>> thank you
>> sebastian
>>
>>
>> On 23/05/2016 05:35 p.m., Matt McCormick wrote:
>>> Hello Sebastian,
>>>
>>> By running against ITK with this patch checked out:
>>>
>>>     http://review.source.kitware.com/#/c/21115/
>>>
>>> the error message will state what transform IO classes are registered.
>>>
>>> HTH,
>>> Matt
>>>
>>> On Mon, May 23, 2016 at 4:29 PM, Sebastian Ordas
>>> <sebastian.ordas at gmail.com> wrote:
>>>> Hello, I am trying to run the code bellow from my application (using ITK
>>>> 4.9)  but I get the following error :
>>>>
>>>> ERROR: Caught exception: itk::ERROR:
>>>> TransformFileWriterTemplate(000000000CD770E0): Can't Create IO object
>>>> for file test.tfm
>>>>
>>>> I am sure that if I test it from a simple test application this should
>>>> work,
>>>> but I am trying to understand what I am missing from within my project
>>>> (maybe some factory not yet registered or even some registration-related
>>>> module not yet enabled in cmake?)
>>>>
>>>> typedef itk::VersorRigid3DTransform< double > TransformType;
>>>> TransformType::Pointer trf = TransformType::New();
>>>> trf->SetIdentity();
>>>>
>>>> itk::TransformFileWriterTemplate<double>::Pointer writer =
>>>>       itk::TransformFileWriterTemplate<double>::New();
>>>>
>>>>     writer->SetFileName("test.tfm");
>>>>     writer->SetInput(trf);
>>>>
>>>>     try
>>>>     {
>>>>       writer->Update();
>>>>     }
>>>>     catch (itk::ExceptionObject& e)
>>>>     {
>>>>       std::cerr << "Caught exception: " << e.GetDescription() <<
>>>> std::endl;
>>>>     }
>>>>
>>>>
>>>> _____________________________________
>>>> 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.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://public.kitware.com/mailman/listinfo/insight-users
>>>>
>> _____________________________________
>> 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.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://public.kitware.com/mailman/listinfo/insight-users

_____________________________________
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.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://public.kitware.com/mailman/listinfo/insight-users


More information about the Community mailing list