[ITK] CanReadFile checks extension

Bradley Lowekamp blowekamp at mail.nih.gov
Wed Feb 18 14:20:41 EST 2015


Hi,

The CanRead method is used by the ImageIO Factory system to determine the correct ImageIO to use. Currently if you have a corrupt JPEG, the JPEGImageIO will be selected, then I presume it will give an error message saying that JPEGImageIO is unable to read the file.

If the ImageIO returns false when the header is missing then an error message saying something like[1]:


Description:  Could not create IO object for file..
  Tried to create one of the following:
    JPEGImageIO
    GDCMImageIO
    BMPImageIO
    LSMImageIO
    PNGImageIO
    TIFFImageIO
    VTKImageIO
    StimulateImageIO
    BioRadImageIO
    MetaImageIO
    NiftiImageIO
    NrrdImageIO
    GiplImageIO
    HDF5ImageIO
    PNGImageIO
    JPEGImageIO
  You probably failed to set a file suffix, or
    set the suffix to an unsupported type.
I think having an ImageIO specific message is better than the above generic message.

Additionally, each ImageIO is asked if it CanRead the file. It would be rather cumbersome for each ImageIO to open and read the file.

Specifically what is the situation cause a problem and you want to improve?

Brad


[1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/ImageBase/include/itkImageFileReader.hxx#L132-L141

On Feb 18, 2015, at 1:58 PM, Matt McCormick <matt.mccormick at kitware.com> wrote:

> Hi Marian,
> 
> Yes, most of the ImageIO's currently just use file extensions to check
> if they can read a file.  However, contributions that improve this by
> examining the header would be welcome.
> 
> Thanks,
> Matt
> 
> On Wed, Feb 18, 2015 at 1:27 PM, Мар'ян Климов <nekto1989 at gmail.com> wrote:
>> Hi all,
>> 
>> I haven't looked at all IO, but JPEGImageIO and BMPImageIO are checking file
>> extensions in CanReadFile and return false without looking into header if
>> extension is wrong (or no extension is present). Is this expected behavior?
>> 
>> Best regards,
>> Marian
>> 
>> _______________________________________________
>> Community mailing list
>> Community at itk.org
>> http://public.kitware.com/mailman/listinfo/community
>> 
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/mailman/listinfo/community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20150218/62dc6c19/attachment.html>


More information about the Community mailing list