[ITK-users] strange filter behavior in Progressevent callback in itkwrap

Soren Christensen sorench at gmail.com
Sat May 5 18:07:25 EDT 2018


Hi,
 I am trying to monitor the progress of a levelset filter using
a Progressevent callback.
I am thresholding the level set output with a thresholding filter and this
works as expected in terms of the end results.
However,  I am trying to monitor the progress of a levelset filter using
a Progressevent callback and it is not working inside the progressevent
callback.

Here's the code:
....
Set up level and threshold filter
...
#define call back function

def myCommand():

global k

if k % 10==0:

thresholder.Update()

print(levelsetfilter.GetMTime()) #print mtime for levelset filter and then
thresholdfilter

print(thresholder.GetMTime())

print("----")

save_rgb(levelsetfilter.GetOutput(),'mont' + str(k)+ '.png')

k=k+1


k=0

levelsetfilter.AddObserver(itk.ProgressEvent(), myCommand )

levelsetfilter.Update()



The output from the print statements are:

18702 *18145* ---- 18738 *18145* ---- 18765 *18145* ---- 18792 *18145* ----
18819 *18145* ...

...

...


So the mtime for the threshold filter never gets modified when inside the
call back.


What is the reason for this? Is there something particular about the
execution pipeline when inside a callback like this?


Thanks!

Soren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://itk.org/pipermail/insight-users/attachments/20180505/a7fc3b4a/attachment.html>


More information about the Insight-users mailing list