[ITK] [ITK-dev] Missing IO factories when building without cmake
Jim Miller
millerjv at gmail.com
Tue Apr 1 14:04:57 EDT 2014
Is there a way at build time whether we could whether an executable does not have any imageio factories linked in?
Jim
> On Apr 1, 2014, at 1:52 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>
> I was just trying to reduce the number of times this question comes up
> on the users list.
>
> I'll abandon the patch.
>
> On Tue, Apr 1, 2014 at 5:55 AM, Miller, James V (GE Global Research)
> <millerjv at ge.com> wrote:
>> I think Brad has the right theme here.
>>
>> The issue is not a "user error". It is not a runtime error caused by user not doing something correctly. For instance, it is not like the user forgot to give a filename an extension and therefore we couldn't figure out what format to use to write a file.
>>
>> Rather, the issue is a "build error". The developer created an executable that has no means to use the ITK IO factories.
>>
>> So it would be good to catch this at compile time rather than runtime.
>>
>> Jim
>>
>>
>>
>> -----Original Message-----
>> From: Insight-developers [mailto:insight-developers-bounces at itk.org] On Behalf Of Bradley Lowekamp
>> Sent: Tuesday, April 01, 2014 8:39 AM
>> To: Bill Lorensen
>> Cc: Insight Developers
>> Subject: Re: [ITK-dev] Missing IO factories when building without cmake
>>
>> Bill,
>>
>> I think including code in an exception message is a mistake. This information is clearly geared to some one developing an ITK program.
>>
>> I think it would be better to have a wiki page or a FAQ entry with what needs to be done to fix when there are no ImageIO factories registered. Then is exception message can just refer to that.
>>
>> Also there is the case when a developer using CMake did not correctly include the ITK_USE_FILE, we were getting a of those issues with ITK v4.0 first came out.
>>
>> Additionally, the user would have to register all the ImageIO, and TransformIO files. I have previously recommend copying the itkImageIOFactoryRegisterManager.h and the itkTransformIOFactoryRegisterManager.h files form the ITK build directory into the project to perform the factory registration.
>>
>> So my question, I thought some of the information was already in the WIKI some place? Anyone know where? Also the FAQ[1] looks unmaintained. Is this not a useful resource the community should help keep up to date? Is there a better location for this type of information?
>>
>> Brad
>>
>> [1] http://www.itk.org/Wiki/ITK/FAQ
>>
>>> On Mar 31, 2014, at 7:32 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>>
>>> Folks,
>>>
>>> We have recently seen a couple of users who build their ITK apps
>>> without cmake. When they try to read or write images they get a
>>> message like this:
>>> Description: Could not create IO object for file foo.png Tried to
>>> create one of the following:
>>> You probably failed to set a file suffix, or
>>> set the suffix to an unsupported type.
>>>
>>> I submitted a gerrit patch:
>>> http://review.source.kitware.com/#/c/14909/
>>>
>>> to provide a better description of the exception:
>>>
>>> Description: Could not create IO object for writing file foo.img
>>> Tried to create one of the following:
>>> There are no registered IO factories. You probably built your project
>>> without using cmake You can register the IO factories you need with:
>>> #include "itkXXXImageIOFactory.h"
>>> itk::XXXImageIOFactory::RegisterOneFactory();
>>> where XXX is e.g. Nifti, PNG, Meta...
>>> #include "itkNiftImageIOFactory.h"
>>> itk::NiftiImageIOFactory::RegisterOneFactory();
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> 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
> _______________________________________________
> 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
_______________________________________________
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
More information about the Community
mailing list