[ITK] CanReadFile checks extension

Мар'ян Климов nekto1989 at gmail.com
Wed Feb 18 14:48:48 EST 2015


Hi,

I want ImageFileReader to read file without extension (and I don't know
would it be TIFF, BMP or JPEG inside). TIFF isn't checking for extension
and just checks header. BMP and JPEG are checking extension and only if
extension is proper they check for proper header in CanReadFile. I don't
think checking for extension is needed at all.

Marian

2015-02-18 21:20 GMT+02:00 Bradley Lowekamp <blowekamp at mail.nih.gov>:

> 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/5ba32827/attachment.html>


More information about the Community mailing list