<div dir="ltr"><div><div><div><div><br></div>Hi Cyrille,<br><br></div>Your contributions are welcome and appreciated.<br><br></div>Yes, ImageFileReader::SetImageIO() is the way to go.  A new BMPImageIO could be created with BMPImageIO::New().<br>
<br></div>Thanks,<br>Matt<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 19, 2013 at 10:29 AM, Cyrille Faucheux <span dir="ltr">&lt;<a href="mailto:cyrille.faucheux@etu.univ-tours.fr" target="_blank">cyrille.faucheux@etu.univ-tours.fr</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Matt,<br>
<br>
I&#39;ve read a bit more about the BMP file format, to find out that bitmap files cannot store grayscale images: a color palette is always required for bit depth &lt;= 8, and treating the index value as a grayscale intensity is some kind of hack, hence de Allow8BitBMP flag.<br>

<br>
I will be happy to try to write a patch, but something is bothering me:<br>
Exposing the flag out of the BMPImageIO class seems quite straightforward, but how this flag is supposed to be set when using a factory like ImageFileReader?<br>
I see there is a ImageFileReader::SetImageIO() method. Should I obtain the ImageIO with ImageIOFactory::CreateImageIO(filename, ...), change the newly exposed flag when it is a BMPImageIO, and set the ImageIO of the reader before effectively loading the image, or is there a simplest way?<br>

<br>
Cyrille<br>
<br>
----- Mail original -----<br>
De: &quot;Matt McCormick&quot; &lt;<a href="mailto:matt.mccormick@kitware.com">matt.mccormick@kitware.com</a>&gt;<br>
À: &quot;Cyrille Faucheux&quot; &lt;<a href="mailto:cyrille.faucheux@etu.univ-tours.fr">cyrille.faucheux@etu.univ-tours.fr</a>&gt;<br>
Cc: <a href="mailto:insight-users@itk.org">insight-users@itk.org</a><br>
Envoyé: Samedi 17 Août 2013 21:33:58<br>
Objet: Re: [Insight-users] Trouble reading 8bit BMP images as a VectorImage<br>
<div class="HOEnZb"><div class="h5"><br>
Hi Cyrille,<br>
<br>
Examining the log file for the itkBMPImageIO.h,<br>
<br>
  git log -- Modules/IO/BMP/include/itkBMPImageIO.h<br>
<br>
the behavior for 8 bit BMP&#39;s was changes with this patch [1], which<br>
corresponds with this issue [2].<br>
<br>
If you would like to expose this flag, patches are welcome.<br>
Instructions can be found here [3].<br>
<br>
Thanks,<br>
Matt<br>
<br>
<br>
[1] <a href="http://itk.org/gitweb?p=ITK.git;a=commit;h=aaff761c6bbf5b0dfca42c0a9d84eab900631199" target="_blank">http://itk.org/gitweb?p=ITK.git;a=commit;h=aaff761c6bbf5b0dfca42c0a9d84eab900631199</a><br>
[2] <a href="http://www.itk.org/Bug/bug_relationship_graph.php?bug_id=7773&amp;graph=dependency" target="_blank">http://www.itk.org/Bug/bug_relationship_graph.php?bug_id=7773&amp;graph=dependency</a><br>
[3] <a href="http://insightsoftwareconsortium.github.io/ITKBarCamp-doc/CommunitySoftwareProcess/SubmitAPatchToGerrit/index.html" target="_blank">http://insightsoftwareconsortium.github.io/ITKBarCamp-doc/CommunitySoftwareProcess/SubmitAPatchToGerrit/index.html</a><br>

<br>
<br>
On Sat, Aug 17, 2013 at 11:28 AM, Cyrille Faucheux<br>
&lt;<a href="mailto:cyrille.faucheux@etu.univ-tours.fr">cyrille.faucheux@etu.univ-tours.fr</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I need to read grayscale and RGB bitmap images as itk::VectorImage&lt;double, 3&gt;.<br>
&gt; ITK always tells me that the grayscale ones have 3 components per pixels.<br>
&gt; I&#39;ve checked with multiple tools, those images are really 8bits (no color table)<br>
&gt;<br>
&gt; I&#39;ve dug a little, and found in itkBMPImageIO.cxx a flag named Allow8BitBMP, which is set to false, that forces 8bit BMP files to be recognized as 24bit ones (3 components per pixel).<br>
&gt;<br>
&gt; What is bothering me is that there is no way to change this flag. So, what is its purpose?<br>
&gt;<br>
&gt; Thanks in advance.<br>
&gt; Cyrille<br>
&gt; _____________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt; <a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br>
</div></div></blockquote></div><br></div>