<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br></div><div>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.</div><div><br></div><div>If the ImageIO returns false when the header is missing then an error message saying something like[1]:</div><div><br></div><div><pre style="background-color: rgb(255, 255, 255); position: static; z-index: auto;">
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.</pre><div>I think having an ImageIO specific message is better than the above generic message.</div></div><div><br></div><div>Additionally, each ImageIO is asked if it CanRead the file. It would be rather cumbersome for each ImageIO to open and read the file.</div><div><br></div><div>Specifically what is the situation cause a problem and you want to improve?</div><div><br></div><div>Brad</div><div><br></div><div><br></div><div>[1] <a href="https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/ImageBase/include/itkImageFileReader.hxx#L132-L141">https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/ImageBase/include/itkImageFileReader.hxx#L132-L141</a></div><div><br></div><div><div><div>On Feb 18, 2015, at 1:58 PM, Matt McCormick <<a href="mailto:matt.mccormick@kitware.com">matt.mccormick@kitware.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Marian,<br><br>Yes, most of the ImageIO's currently just use file extensions to check<br>if they can read a file.  However, contributions that improve this by<br>examining the header would be welcome.<br><br>Thanks,<br>Matt<br><br>On Wed, Feb 18, 2015 at 1:27 PM, Мар'ян Климов <<a href="mailto:nekto1989@gmail.com">nekto1989@gmail.com</a>> wrote:<br><blockquote type="cite">Hi all,<br><br>I haven't looked at all IO, but JPEGImageIO and BMPImageIO are checking file<br>extensions in CanReadFile and return false without looking into header if<br>extension is wrong (or no extension is present). Is this expected behavior?<br><br>Best regards,<br>Marian<br><br>_______________________________________________<br>Community mailing list<br><a href="mailto:Community@itk.org">Community@itk.org</a><br>http://public.kitware.com/mailman/listinfo/community<br><br></blockquote>_______________________________________________<br>Community mailing list<br><a href="mailto:Community@itk.org">Community@itk.org</a><br>http://public.kitware.com/mailman/listinfo/community<br></blockquote></div><br></div></body></html>