[ITK-users] (R wrapping/SimpleITK) AddCommand to ImageRegistrationMethod bug

Mathew Guilfoyle mrguilfoyle at gmail.com
Sat Apr 9 21:10:30 EDT 2016


There seems to be a problem with using the $AddCommand function to ImageRegistrationMethod objects in the R wrapping to SimpleITK.

Using R 3.2.4 on OS X 10.11

Example:

f <- function(x){print(x$GetMetricValue())}

registration = ImageRegistrationMethod()

registration$AddCommand(‘sitkIterationEvent’, f(registration))

This last line causes R to abort/hard crash (no error message).  This behaviour is irrespective of which event type I use or the function passed as the second argument (e.g. even something simple like print(‘Hello’))

The AddCommand method is inherited from the SimpleITK ProcessObject type.  Digging around in the SimpleITK.R file I can see that the ProcessObject$AddCommand method expects a second argument of type ‘_p_itk__simple__Command’.

There is a ‘Command’ method that generates a new object of type ‘_p_itk__simple__Command’.  If I pass this resulting object as the second argument to registration$AddCommand then I do not get an error.  However, there doesn’t seem to be any way to point the ‘_p_itk__simple__Command’ object to my function or otherwise convert my function to a ‘_p_itk__simple__Command’ type.

The $AddCommand method is used in a couple of example scripts on the SimpleITK site (using it for monitoring a registration and a filter e.g. https://github.com/SimpleITK/SimpleITK/blob/master/Examples/FilterProgressReporting.R) so I don’t know if it was working previously and a bug has been introduced more recently? (the example scripts cause the same error when I run them now)





More information about the Insight-users mailing list