[ITK] [ITK-dev] [ITK-users] Fail to execute TransformReadWrite example

Matt McCormick matt.mccormick at kitware.com
Sun Jul 6 02:58:38 EDT 2014


Hi Wagner,

Here is a patch that addresses the example [1]. Please review [2].
However, test appears to have uncovered a gap in testing coverage,
because it fails to write the CompositeTransform.  We'll have to look
into the issue further.

Thanks,
Matt

[1] http://review.source.kitware.com/#/c/16048/

[2] http://insightsoftwareconsortium.github.io/ITKBarCamp-doc/CommunitySoftwareProcess/PerformAGerritReview/index.html

On Fri, Jul 4, 2014 at 6:43 PM, Wagner Sales <wsales at gmail.com> wrote:
> Hi,
> I've found the problem. The class HDF5TransformIOTemplate makes an extension
> check. After change the transform output file to Transforms.hdf, works fine.
> I think this needs to be changed on Example and on book, since explicity
> talks:
>
>   // Then we set the filename using the SetFileName() function. The file's
> extension
>   // does not matter for the transform reader/writer. Then we call the
> Update()
>   // function to write the transform(s) onto the disk.
>
> The changed code are above:
>
> template< typename TInternalComputationValueType >
>
> bool
>
> HDF5TransformIOTemplate< TInternalComputationValueType >
>
> ::CanWriteFile(const char *fileName)
>
> {
>
>   //
>
>   // all extensions mentioned in wikipedia + 'hd5'
>
>   // actually HDF doesn't care about extensions at
>
>   // all and this is just by convention.
>
>   const char *extensions[] =
>
>   {
>
>     ".hdf",".h4",".hdf4",".h5",".hdf5",".he4",".he5",".hd5",0,
>
>   };
>
>   std::string ext
>
>     (itksys::SystemTools::GetFilenameLastExtension(fileName));
>
>   for(unsigned i = 0; extensions[i] != 0; i++)
>
>     {
>
>     if(ext == extensions[i])
>
>       {
>
>       return true;
>
>       }
>
>     }
>
>   return false;
>
> }
>
> Regards,
>
> Wagner Sales
>
>
> 2014-07-04 18:41 GMT-03:00 Wagner Sales <wsales at gmail.com>:
>
>> Hi all,
>>
>> I'm trying to save transforms and catching an strange error. I tried to
>> execute the simple example on IO directory to validate this, and:
>>
>> --> checking permission
>> wsales at wsales-desktop:/tmp/trf$ touch ihavepermission
>> wsales at wsales-desktop:/tmp/trf$ ls -la
>> total 28464
>> drwxrwxr-x  2 wsales wsales     4096 Jul  4 17:52 .
>> drwxrwxrwt 31 root   root      12288 Jul  4 17:52 ..
>> -rw-rw-r--  1 wsales wsales        0 Jul  4 17:52 ihavepermission
>> -rwxrwxr-x  1 wsales wsales 29128152 Jul  4 17:52 TransformReadWrite
>>
>> wsales at wsales-desktop:/tmp/trf$ ./TransformReadWrite test
>> Error while saving the transforms
>>
>> itk::ExceptionObject (0x2af4c30)
>> Location: "void itk::TransformFileWriterTemplate<ScalarType>::Update()
>> [with ScalarType = double]"
>> File:
>> /home/wsales/Sources/InsightToolkit-4.5.2/Modules/IO/TransformBase/include/itkTransformFileWriter.hxx
>> Line: 200
>> Description: itk::ERROR: TransformFileWriterTemplate(0x2ae6300): Can't
>> Create IO object for file Transforms.meta
>>
>> Since I can create the file, problem with permissions is not the issue.
>> About my system ( latest Ubuntu, 'll update today ):
>> uname  -a
>> Linux wsales-desktop 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16
>> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>
>> Compiler:
>> clang --version
>> Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM
>> 3.4)
>> Target: x86_64-pc-linux-gnu
>> Thread model: posix
>>
>> Some idea about this?
>> This example was worked fine to me on ITK 3.20, before my version upgrade.
>>
>> Regards,
>>
>> Wagner Sales
>>
>>
>>
>
>
> _____________________________________
> 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
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/mailman/listinfo/community
>
_______________________________________________
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://public.kitware.com/mailman/listinfo/insight-developers



More information about the Community mailing list