<div dir="ltr">Hi Matt,<div><br></div><div>Thanks for the ideas! We'll keep you posted on our progress.</div><div><br></div><div style>Regards,</div><div style>Curtis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, Jul 2, 2013 at 4:03 PM, Matt McCormick <span dir="ltr"><<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Curtis and Mark,<br>
<br>
Thanks for the information. It seems like the best path forward would<br>
add a new method to SCIFIOImageIO that specifies the index of the<br>
image to extract from the huge file (behaving just like the SCIFIO and<br>
Bio-format libraries). If someone wants to process a particular<br>
image, they can call this method on an SCIFIOImageIO instance, then<br>
call SetImageIO on an ImageFileReader.<br>
<br>
If they want to process a series of the images from the file, then a<br>
SCIFIOVideoIO class could be created that inherits from VideoIOBase<br>
[1]. This class would internally use a SCIFIOImageIO instance,<br>
setting the image index as appropriate. Then, the series of images<br>
could be processed easily with VideoFileReader [2] and<br>
ImageFilterToVideoFilterWrapper [3].<br>
<br>
Thanks,<br>
Matt<br>
<br>
[1] <a href="http://www.itk.org/Doxygen/html/classitk_1_1VideoIOBase.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1VideoIOBase.html</a><br>
[2] <a href="http://www.itk.org/Doxygen/html/classitk_1_1VideoFileReader.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1VideoFileReader.html</a><br>
[3] <a href="http://www.itk.org/Doxygen/html/classitk_1_1ImageFilterToVideoFilterWrapper.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1ImageFilterToVideoFilterWrapper.html</a><br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, Jul 2, 2013 at 8:22 PM, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu">ctrueden@wisc.edu</a>> wrote:<br>
> Hi Matt,<br>
><br>
> Thanks for your suggestions. To be clear, in microscopy these days, it is<br>
> quite common to have an experiment stored as a single file (in e.g. Leica<br>
> LIF format), which contains many loosely related N-dimensional images from<br>
> the same experiment, but dimensionally different. So you might have, e.g.:<br>
><br>
> 512 x 512 (single image plane)<br>
> 768 x 512 x 12 T x 5 Z<br>
> 1024 x 1024 x 3 C x 100 T<br>
> ... etc., with very few rules or limitations on the number of images, or<br>
> their structure.<br>
><br>
> It would be great if in ITK there were a way to represent this in a general<br>
> way. SCIFIO & Bio-Formats handle it by allowing you to specify the image<br>
> index you want to retrieve. (From the information so far, it sounds like the<br>
> VideoIO may not be powerful enough, and/or may not match the intended use<br>
> case here?) What would be the best way forward to pursue such an<br>
> enhancement?<br>
><br>
> Thanks,<br>
> Curtis<br>
><br>
><br>
> On Tue, Jul 2, 2013 at 3:13 PM, Mark Hiner <<a href="mailto:hiner@wisc.edu">hiner@wisc.edu</a>> wrote:<br>
>><br>
>><br>
>> On Tue, Jul 2, 2013 at 2:55 PM, Matt McCormick<br>
>> <<a href="mailto:matt.mccormick@kitware.com">matt.mccormick@kitware.com</a>> wrote:<br>
>>><br>
>>> TemporalDataObject?<br>
>><br>
>><br>
>> So is this incompatible with the ImageReaders, because it's a sibling of<br>
>> ImageBase? Is there a separate VideoReader/VideoWriter class? (didn't see<br>
>> one in the video module...)<br>
>><br>
>> I don't love the idea of creating another ImageIO... but can't I just<br>
>> make, essentially, a TemporalDataObject that extends ImageBase, and<br>
>> specifically holds a list of image series?<br>
>><br>
>> It doesn't even have to be a circular list.. it can just hold offsets into<br>
>> the data..<br>
><br>
><br>
</div></div></blockquote></div><br></div>