Re: [ITK-users] MultiThreading, ImageRegionIterator crash

Nicolas Courtial <nicolas.courtial-Ii7EaK/[email protected]>
Newsgroups gmane.comp.lib.itk.user
Message-ID <[email protected]>
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-Ii7EaK/[email protected] 
> <mailto:nicolas.courtial-Ii7EaK/[email protected]>> 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>

_____________________________________
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.