<div class="gmail_quote">Hi Jesse,<br><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">The reader works 
beautifully - I can&#39;t thank you enough.<br></blockquote><div><br></div></div>Great that you found a working solution. Nonetheless, for completeness in the list archive, I wanted to follow up on what Alex said:<br><br>

On Mon, Feb 15, 2010 at 10:46 AM, Alexandre 
GOUAILLARD <span dir="ltr">&lt;<a href="mailto:agouaillard@gmail.com">agouaillard@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

As dan pointed out, the best reader, or the one including most<br>
functionaity and the most up to date, out there might be the one from<br>
OME, and curtis should have a wrapping between OME and ITK IO working<br>
(in cc).<br></blockquote><div><br>There is indeed a preliminary version of an ITK ImageIO plugin that uses Bio-Formats (<a href="http://loci.wisc.edu/software/bio-formats">http://loci.wisc.edu/software/bio-formats</a>), which includes support for LSM among many other life sciences formats.<br>

<br>Right now the documentation is limited, but you can find build instructions at:<br>  <a href="http://www.farsight-toolkit.org/wiki/FARSIGHT_Tutorials/Building_Software/Bio-Formats/Building_ITK_Plugin">http://www.farsight-toolkit.org/wiki/FARSIGHT_Tutorials/Building_Software/Bio-Formats/Building_ITK_Plugin</a><br>

<br>The license for the plugin is BSD, but the license for Bio-Formats itself (Java code) is GPL, so please keep that in mind if you are planning to distribute the JAR file with your application.<br><br>In the future, this page on our site will have more details on the plugin:<br>

  <a href="http://www.loci.wisc.edu/bio-formats/itk">http://www.loci.wisc.edu/bio-formats/itk</a><br></div></div><br>Feel free to contact the Bio-Formats team (<a href="http://loci.wisc.edu/software/mailing-lists">http://loci.wisc.edu/software/mailing-lists</a>) with any questions or problems!<br>

<br>-Curtis<br><br><div class="gmail_quote">On Tue, Feb 16, 2010 at 10:11 PM, Jesse Stokum <span dir="ltr">&lt;<a href="mailto:jessestokum@gmail.com">jessestokum@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

The reader works beautifully - I can&#39;t thank you enough.<br>
<font color="#888888"><br>
Jesse<br>
</font><div><div></div><div class="h5"><br>
On Mon, Feb 15, 2010 at 5:47 PM, Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt; wrote:<br>
&gt; Hi Alex,<br>
&gt;<br>
&gt; Thanks for the reminder.<br>
&gt;<br>
&gt;<br>
&gt; Jesse:<br>
&gt;<br>
&gt; You may want to look at bioimageXD<br>
&gt; if you don&#39;t mind using GPL code:<br>
&gt; <a href="http://www.bioimagexd.net/index.php?option=com_content&amp;task=view&amp;id=14&amp;Itemid=28" target="_blank">http://www.bioimagexd.net/index.php?option=com_content&amp;task=view&amp;id=14&amp;Itemid=28</a><br>


&gt;<br>
&gt;<br>
&gt; Otherwise,<br>
&gt; you probably could use the vtkLSMReader<br>
&gt; in gofigure2, that is under a BSD license,<br>
&gt; as Alex pointed out.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;    Regards,<br>
&gt;<br>
&gt;<br>
&gt;           Luis<br>
&gt;<br>
&gt;<br>
&gt; -------------------------------------------------------<br>
&gt; On Mon, Feb 15, 2010 at 11:46 AM, Alexandre GOUAILLARD<br>
&gt; &lt;<a href="mailto:agouaillard@gmail.com">agouaillard@gmail.com</a>&gt; wrote:<br>
&gt;&gt; hi luis, dan, all,<br>
&gt;&gt;<br>
&gt;&gt; luis, you might not remember that long thread we had about LSM reader,<br>
&gt;&gt; but the ITK one does not handle multi channels.<br>
&gt;&gt;<br>
&gt;&gt; Dan (and other from bioimageXD) made their vtkLSM reader available<br>
&gt;&gt; under BSD, and that s the one we eventually used for GoFigure. That<br>
&gt;&gt; the one gaethan is also using on a daily basis.<br>
&gt;&gt;<br>
&gt;&gt; As dan pointed out, the best reader, or the one including most<br>
&gt;&gt; functionaity and the most up to date, out there might be the one from<br>
&gt;&gt; OME, and curtis should have a wrapping between OME and ITK IO working<br>
&gt;&gt; (in cc).<br>
&gt;&gt;<br>
&gt;&gt; good luck.<br>
&gt;&gt;<br>
&gt;&gt; alex.<br>
&gt;&gt;<br>
&gt;&gt; On Sun, Feb 14, 2010 at 5:21 AM, Jesse Stokum &lt;<a href="mailto:jessestokum@gmail.com">jessestokum@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; Luis,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;ve surrounded my reader-&gt;update() line with a try, catch block that<br>
&gt;&gt;&gt; catches itk::ExceptionObject. It doesn&#39;t seem to be even getting to<br>
&gt;&gt;&gt; the catch block- simple std::cout statements inside the catch block<br>
&gt;&gt;&gt; are not showing. The following unhandled exception appears however<br>
&gt;&gt;&gt; when I run my program on the vs debugger:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The thread &#39;Win32 Thread&#39; (0x1a7c) has exited with code 0 (0x0).<br>
&gt;&gt;&gt; Unhandled exception at 0x00b0a890 in CellSegment.exe: 0xC0000005:<br>
&gt;&gt;&gt; Access violation writing location 0x08fc0040.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The breakpoint that is detected by vs is in line 1116 of the class<br>
&gt;&gt;&gt; itkTIFFImageIO.cxx.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Jesse<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Sat, Feb 13, 2010 at 3:38 PM, Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; Hi Jesse,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks for the clarification.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; You are right, if the 3D image is in a single file, then<br>
&gt;&gt;&gt;&gt; using the ImageFileReader is the correct way to<br>
&gt;&gt;&gt;&gt; proceed.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Could you please post to the list the exact text<br>
&gt;&gt;&gt;&gt; that you get from the Exceptions ?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; If you need examples on how to catch exceptions<br>
&gt;&gt;&gt;&gt; and print their error messages, you will find many<br>
&gt;&gt;&gt;&gt; of them in the directories under<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                     Insight/Examples<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;     Thanks<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;             Luis<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -----------------------------------------------------------------<br>
&gt;&gt;&gt;&gt; On Sat, Feb 13, 2010 at 12:33 PM, Jesse Stokum &lt;<a href="mailto:jessestokum@gmail.com">jessestokum@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt; Luis,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Thanks for the quick reply, I really appreciate it. The lsm image<br>
&gt;&gt;&gt;&gt;&gt; stack that I&#39;m working with are actually all in a single file - which<br>
&gt;&gt;&gt;&gt;&gt; is why I hesitated to use the ImageSeriesReader for this one. I<br>
&gt;&gt;&gt;&gt;&gt; suppose I could always split the stack into a series of slices imagej<br>
&gt;&gt;&gt;&gt;&gt; or something else, but it would be more time efficient to just read in<br>
&gt;&gt;&gt;&gt;&gt; the entire file. Also, intuitively I think that I would get better<br>
&gt;&gt;&gt;&gt;&gt; filtering results if I handled it as a 3d image, though I could be<br>
&gt;&gt;&gt;&gt;&gt; wrong about that. Thanks!<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Jesse<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Fri, Feb 12, 2010 at 5:07 PM, Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi Jesse,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; If you have the images in independent files (one file per slice),<br>
&gt;&gt;&gt;&gt;&gt;&gt; you should use the itk::ImageSeriesReader (instead of the<br>
&gt;&gt;&gt;&gt;&gt;&gt; itk::ImageFileReader).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The LSM reader in ITK should be able to manage three channels<br>
&gt;&gt;&gt;&gt;&gt;&gt; (three components per pixel).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; You will find examples on how to use the ImageSeriesReader<br>
&gt;&gt;&gt;&gt;&gt;&gt; in the ITK Software Guide<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;                   <a href="http://www.itk.org/ItkSoftwareGuide.pdf" target="_blank">http://www.itk.org/ItkSoftwareGuide.pdf</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; in the chapter &quot;Reading and Writing Images&quot;,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; and you will find source code examples in the directory:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;                           Insight/Examples/IO<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; in particular, you may find interesting the example:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;            RGBImageSeriesReadWrite.cxx<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; you probably only need to replace there the PNGImageIO<br>
&gt;&gt;&gt;&gt;&gt;&gt; class with a LSMImageIO class.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Please give it a try and let us know if you find any problems.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; BTW: I you get any Exceptions, please post to the list<br>
&gt;&gt;&gt;&gt;&gt;&gt; the *exact* error message that you get from the exception.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;     Thanks<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;           Luis<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; -------------------------------------------------------------------------------------<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Fri, Feb 12, 2010 at 12:34 PM, Jesse Stokum &lt;<a href="mailto:jessestokum@gmail.com">jessestokum@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;m trying to use ITK&#39;s ImageFileReader to read in LSM format images<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; and my code is abruptly throwing exceptions. The images are three<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; channel, and are ~30 slices. Should I consider them 3d images? Here&#39;s<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the code in my main() I&#39;ve been trying:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        typedef itk::RGBPixel&lt;unsigned char&gt; PixelType;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        typedef itk::Image&lt;PixelType, 3&gt; ImageType;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        typedef itk::ImageFileReader&lt;ImageType&gt; ReaderType;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        typedef itk::LSMImageIO ImageIOType;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        typedef itk::ImageFileWriter&lt;ImageType&gt; WriterType;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        ReaderType::Pointer reader = ReaderType::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        ImageIOType::Pointer lsmImageIO = ImageIOType::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        reader-&gt;SetImageIO(lsmImageIO);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        reader-&gt;SetFileName(&quot;Tests.lsm&quot;);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Are lsm pixels vector pixels? I guess I&#39;m just unsure how to handle<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; this situation. Thanks in advance!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; _____________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; _____________________________________<br>
&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt;&gt; <a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</div></div></blockquote></div><br>