[Insight-developers] Repeated ImageIO::Read calls, without ReadImageInformation?

Matt McCormick matt.mccormick at kitware.com
Thu Jul 11 17:17:23 EDT 2013


Awesome, thanks, Mark!

On Thu, Jul 11, 2013 at 6:40 PM, Mark Hiner <hiner at wisc.edu> wrote:
> Thanks Matt!
>
>
>> itk::ImageFileReader is not aware of modifications that occur to the
>> ImageIO class, so Modified() must be called on the ImageFilterReader
>> after SetSeriesIndex is called on the ImageIO.
>
>
> the Modified() method was exactly what I was looking for.. I didn't look far
> enough through the inherited methods; my bad.
>
>> There should be no modification to itk::ImageIOBase itself, only the
>> addition of a SCIFIOImageIO::SetSeriesIndex method.
>
>
>  I haven't modified the ImageIOBase at all. Sorry, I could have worded that
> better.. :-p
>
>
>> To process a series of
>> images, then the Video framework should be used per our previous
>> discussion.
>
>
>  Locally I've been able to convert a multi-series dataset with the
> SCIFIOImageIO, using the SetSeriesIndex method + Modified(). I know it won't
> work properly with mixed sized images, but I still think it's an improvement
> to the SCIFIOImageIO, so I submitted a patch (which also fixes
> itkSCIFIOImageIO::Write, RGB reading, and other things..)
>
>  I admit I'm not entirely sure how much work it would be to create a SCIFIO
> IO for the video framework. So I created an issue for it in our github repo
> for now.
>
> - Mark
>
>
> On Tue, Jul 9, 2013 at 12:19 PM, Matt McCormick <matt.mccormick at kitware.com>
> wrote:
>>
>> Hi Mark,
>>
>> There should be no modification to itk::ImageIOBase itself, only the
>> addition of a SCIFIOImageIO::SetSeriesIndex method.
>>
>> itk::ImageFileReader is not aware of modifications that occur to the
>> ImageIO class, so Modified() must be called on the ImageFilterReader
>> after SetSeriesIndex is called on the ImageIO.  To process a series of
>> images, then the Video framework should be used per our previous
>> discussion.
>>
>> Thanks,
>> Matt
>>
>> On Tue, Jul 9, 2013 at 2:22 PM, Mark Hiner <hiner at wisc.edu> wrote:
>> > Hello all,
>> >
>> >  I'm trying to modify the SCIFIO-ITK ImageIO to accommodate multi-series
>> > datasets. I added API to the ImageIO itself allowing for series
>> > specification, but am not sure how to get repeated ImageIO::Read calls
>> > without also triggering ReadImageInformation (which I want to avoid, as
>> > it
>> > is an expensive operation and only needs to execute once).
>> >
>> > I have the following pipeline:
>> >
>> >  itk::ImageFileReader -> itk::StreamingImagefilter ->
>> > itk::ImageFileWriter
>> >
>> > and in a loop over the image series, I call my SCIFIOImageIO::SetSeries
>> > method, and then ImageFileWriter::Update() to write the current series.
>> >
>> >  But it seems like after being called once, Update() stops triggering
>> > future
>> > ImageIO::Read calls as long as the same ImageIO is attached to the
>> > ImageFileReader...
>> >
>> >  So what's the intended ITK way of updating the ImageFileReader's
>> > output,
>> > without re-parsing? I looked through the API docs, but nothing I've
>> > tried
>> > has worked... (ImageFileReader::GenerateOutputInformation calls
>> > ImageIO::ReadImageInformation. I'm assuming
>> > ImageFileReader::GenerateData
>> > would do what I want, but it's protected so I suspect there's a
>> > different
>> > way..)
>> >
>> > Thanks!
>> > Mark
>> >
>> > _______________________________________________
>> > Powered by www.kitware.com
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Kitware offers ITK Training Courses, for more information visit:
>> > http://kitware.com/products/protraining.php
>> >
>> > Please keep messages on-topic and check the ITK FAQ at:
>> > http://www.itk.org/Wiki/ITK_FAQ
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.itk.org/mailman/listinfo/insight-developers
>> >
>
>


More information about the Insight-developers mailing list