[Insight-developers] New ImageScanlineIterator
M.Staring at lumc.nl
M.Staring at lumc.nl
Mon Apr 29 09:57:04 EDT 2013
Hi Brad,
Great work!
I'm not sure but the B-spline TransformPoint() and GetJacobian() functions loop with an image iterator over the coefficient images. Only over the support region, which is small, but in image registration this function is called an awful lot of times ...
Another option may be the resample filter: although the nonlinear route may not benefit that much, the linear route may (perhaps).
I will try to think of other places.
Thanks for this new iterator!
Marius
-----Original Message-----
From: insight-developers-bounces at itk.org [mailto:insight-developers-bounces at itk.org] On Behalf Of Bradley Lowekamp
Sent: maandag 29 april 2013 15:31
To: insight-developers at itk.org Developers
Subject: [Insight-developers] New ImageScanlineIterator
Hello,
I am seeking suggestions for additional places where this new iterator could be beneficial.
I have just merged an new image iterator, which has given up to 3.5x ( VS8 in 256x256 image ) performance improvement in basic binary functor image filters such as the AddImageFilter.
https://github.com/Kitware/ITK/commit/ab29cc59095d7448a1dbf1e09f96947036d2b118
The way to use the new iterator is basically like this:
while ( !inputIt1.IsAtEnd() )
{
while ( !inputIt1.IsAtEndOfLine() )
{
outputIt.Set( m_Functor( inputIt1.Get(), inputIt2.Get() ) );
++inputIt2;
++inputIt1;
++outputIt;
}
inputIt1.NextLine();
inputIt2.NextLine();
outputIt.NextLine();
progress.CompletedPixel();
}
The performance gain is from the removal of any conditionals in the inner loop which enable additional compiler optimizations and only updating the progress on a per line basis.
If anyone knows of the filters with tight looks which could benefit from this new iterator please let me know!
Thanks,
Brad
_______________________________________________
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