[ITK] [ITK-users] MultiThreading, ImageRegionIterator crash

Nicolas Courtial nicolas.courtial at univ-rennes1.fr
Tue Jul 18 10:22:15 EDT 2017


Hi everyone,

I'm  really sorry I haven't given any news since your answer. I had to 
change my plans to rush other problems I had to deal with.
Anyway, yesterday I've had the occasion to think about everything once 
from the start, and.... Well, it has driven to the classical "Oh dear, 
how could I miss that".

Anyway, the solution was within the question:
remindiner: "e/verything is correct, but the index, for which it's 
completly crazy ([156245468,0,156245468] or something approching)."/

During my algorithm, I needed to create an image to store energy levels. 
I had for that created a dedicated module.
That one was incomplete, and wasn't correclty setting the start index of 
the image's region.

Sorry again about that, and thanks for your advices!


Le 07/06/2017 à 15:34, Dženan Zukić a écrit :
> Hi Nicolas,
>
> ThreadedComputation should be called ThreadedGenerateData, otherwise 
> the code looks OK. If you overrode AllocateOutputs(), then you might 
> not have allocated the output (assuming index is wrong for imgIt). Can 
> you provide a runnable example <http://sscce.org/>?
>
> Regards,
> Dženan Zukić, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.)
>
> On Wed, Jun 7, 2017 at 5:46 AM, Nicolas Courtial 
> <nicolas.courtial at univ-rennes1.fr 
> <mailto:nicolas.courtial at univ-rennes1.fr>> wrote:
>
>     Hello everyone,
>
>     I'm quite new in ITK world, and I'm currently doing few
>     experiences in order to learn its logic.
>
>     After few easy exercices, I'm now at a step I want to multithread
>     a method.
>     As I did in the past, I've been reading the ITK classes to get
>     "inspiration", and e- mails from here in case of troubles.
>
>     I'm facing an issue at the moment, and I can't figure why, and how
>     to solve it.
>
>     My filter works with
>
>       * One 3D InputImage (of any pixel type)
>       * Two "tool" 3D images, respectively of float and unsigned char
>         pixel types
>
>     From what I read, I've understood there are two main ways of
>     multithreading:
>
>       * The old fashioned one using
>         BeforeThreadedGenerateData/ThreadedGenerateData/AfterThreadedGenerateData
>       * the one using itk::DomainThreader member.
>
>     As I'm a bit old school, I used the first option.
>
>     My problem remains here: (I changed my variables' name to make it
>     clearer)
>
>     ThreadedComputation(const OutputImageRegionType
>     &outputRegionForThread, ThreadIdType threadId) {
>             itk::ProgressReporter progress(this, threadId,
>     outputRegionForThread.GetNumberOfPixels());
>             typename TOutputImage::Pointer image = this->GetOutput(0);
>
>             itk::ImageRegionIterator< TOutputImage > imgIt(image,
>     outputRegionForThread);
>             itk::ImageRegionIterator< FloatImageType> floatIt
>     (m_MyFloatImage, outputRegionForThread);
>         ....
>
>     When creating the floatIt iterator, I have a crash. Using a try
>     catch block, the issue is due to out of bound region.
>     Everything is correct, but the index, for which it's completly
>     crazy ([156245468,0,156245468] or something approching).
>
>     I've tried different options to solve this, but rather than doing
>     witchcraft and at some point getting something working, I'd prefer
>     to improve my understanding thanks to your expertise.
>
>     Thanks all,
>
>     Nicolas Courtial
>
>
>
>
>
>     _____________________________________
>     Powered by www.kitware.com <http://www.kitware.com>
>
>     Visit other Kitware open-source projects at
>     http://www.kitware.com/opensource/opensource.html
>     <http://www.kitware.com/opensource/opensource.html>
>
>     Kitware offers ITK Training Courses, for more information visit:
>     http://www.kitware.com/products/protraining.php
>     <http://www.kitware.com/products/protraining.php>
>
>     Please keep messages on-topic and check the ITK FAQ at:
>     http://www.itk.org/Wiki/ITK_FAQ <http://www.itk.org/Wiki/ITK_FAQ>
>
>     Follow this link to subscribe/unsubscribe:
>     http://public.kitware.com/mailman/listinfo/insight-users
>     <http://public.kitware.com/mailman/listinfo/insight-users>
>
>
>
>
> ------------------------------------------------------------------------
> Logo AVG <http://www.avg.com/internet-security> 	
>
> Cet email a fait l'objet d'une analyse antivirus par le logiciel 
> antivirus AVG.
> www.avg.com <http://www.avg.com/internet-security>
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20170718/82538d9a/attachment.html>
-------------- next part --------------
_____________________________________
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://www.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://public.kitware.com/mailman/listinfo/insight-users


More information about the Community mailing list