<div dir="ltr">Thanks Richard.<div>Followed your advice and found my way. The example script works like a charm :-)</div><div>Are all the itk filters now callable from R, or just a subset ? how can I know this ?<br></div><div>Thanks for all the great effort.</div><div><br></div><div>--</div><div>Fethallah</div><div class="gmail_extra"><div><div class="gmail_signature"><div><br></div></div></div>
<br><div class="gmail_quote">On Thu, Apr 14, 2016 at 11:26 PM, Richard Beare <span dir="ltr"><<a href="mailto:richard.beare@gmail.com" target="_blank">richard.beare@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">You ought to be OK with bison - can you get that?<div><br></div><div>The latest version of simpleitk on the github site have support for building swig from github,so you can avoid the manual build. On all the systems I've tested it is bison that appears to be used in the early stages of swig building.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 15, 2016 at 6:57 AM, Fethallah Benmansour <span dir="ltr"><<a href="mailto:fethallah@gmail.com" target="_blank">fethallah@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi there, <div><br></div><div>Any chance to get it to work on a Redhat 6.3 ?</div><div>The current blocker is yacc, which I couldn't install with yum (EPEL enabled).</div><div><br></div><div>Thanks,</div><div><br></div><div>--</div><div>Fethallah</div><div><div><div class="gmail_extra">
<br><div class="gmail_quote">On Mon, Apr 11, 2016 at 5:14 PM, Bradley Lowekamp <span dir="ltr"><<a href="mailto:brad@lowekamp.net" target="_blank">brad@lowekamp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello,<div><br></div><div>We have R tested with SimpleITK on a number of systems each night. And this morning we have run the tests on several systems, and it is running and passing OK, this was with what every old R version was on the systems</div><div><br></div><div>We should focus on getting the tests to pass on your system first. It’s a good sign that you can run the AddCommand with the sitk::Command class. Does the rest of the R tests pass when you run ctest?</div><div><br></div><div>I am still suspicious you are not running the latest development version. What is the git hash you are using?</div><div><br></div><div>As you were digging into the SimpleITK R code you were on the right track with the ProccessObject::AddCommand and the sitk::Command class. The other two parts you are missing is the RCommand C++ class [1], and the overridden ProcessObject::AddCommand method [2]. These were recently added to SimpleITK since the 0.9 release. You can see that the added procedure wraps the passed callable, into the RCommand class.</div><div><br></div><div>HTH,</div><div>Brad</div><div><br></div><div><br></div><div>[1] <a href="https://github.com/SimpleITK/SimpleITK/blob/master/Wrapping/R/sitkRCommand.h" target="_blank">https://github.com/SimpleITK/SimpleITK/blob/master/Wrapping/R/sitkRCommand.h</a></div><div>[2] <a href="https://github.com/SimpleITK/SimpleITK/blob/2ffffba589b24465a09eed1303bbffd6fe3fe18e/Wrapping/R/R.i#L565-L589" target="_blank">https://github.com/SimpleITK/SimpleITK/blob/2ffffba589b24465a09eed1303bbffd6fe3fe18e/Wrapping/R/R.i#L565-L589</a></div><div><div><div><br><div><blockquote type="cite"><div>On Apr 11, 2016, at 3:59 AM, Mathew Guilfoyle <<a href="mailto:mrguilfoyle@gmail.com" target="_blank">mrguilfoyle@gmail.com</a>> wrote:</div><br><div>
<div style="word-wrap:break-word">I tried running the code below as suggested - both in RStudio and the terminal - and get the same abort/segfault error.<div><br></div><div>Which version of R are you running? - I can install an older version to see if it works.</div><div><br><div><blockquote type="cite"><div>On 11 Apr 2016, at 01:02, Richard Beare <<a href="mailto:richard.beare@gmail.com" target="_blank">richard.beare@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div><div><div>This is a long shot, but lets try testing whether it is the R garbage collection causing issues. Modify the test so that every method call result is assigned to a different variable:<br><br></div>e.g.<br><br></div>a1 <- gaussian$SetVariance(2)<br><div style="margin:0px;font-size:10px;font-family:Monaco">a2 <- gaussian$AddCommand( 'sitkStartEvent',  f1 )</div><div><div style="margin:0px;font-size:10px;font-family:Monaco">a3 <- gaussian$AddCommand( 'sitkEndEvent', f2 )</div></div><br></div>I was running in a terminal on my mac, with an older version of R.<br><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 11, 2016 at 9:56 AM, Mathew Guilfoyle <span dir="ltr"><<a href="mailto:mrguilfoyle@gmail.com" target="_blank">mrguilfoyle@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Richard<div><br></div><div>It seems it must be something specific to my setup.  I ran your example and get the same hard abort in Rstudio.  Running the example in R.app I get the same error but a  somewhat more graceful crash with the following error message:</div><div><br></div><div><span><div><font face="Menlo">gaussian$AddCommand( 'sitkStartEvent',  f1 )</font></div><div><font face="Menlo"><br></font></div></span><div><font color="#ff2600" face="Menlo"> *** caught segfault ***</font></div><div><font color="#ff2600" face="Menlo">address 0x7ff511000080, cause 'memory not mapped'</font></div><div><font color="#ff2600" face="Menlo"><br></font></div><div><font color="#ff2600" face="Menlo">Traceback:</font></div><div><font color="#ff2600" face="Menlo"> 1: .Call("R_swig_ProcessObject_AddCommand", self, event, cmd, as.logical(.copy),     PACKAGE = "SimpleITK")</font></div><div><font color="#ff2600" face="Menlo"> 2: f(x, ...)</font></div><div><font color="#ff2600" face="Menlo"> 3: gaussian$AddCommand("sitkStartEvent", f1)</font></div><div><font color="#ff2600" face="Menlo"><br></font></div><div><font color="#ff2600" face="Menlo">Possible actions:</font></div><div><font color="#ff2600" face="Menlo">1: abort (with core dump, if enabled)</font></div><div><font color="#ff2600" face="Menlo">2: normal R exit</font></div><div><font color="#ff2600" face="Menlo">3: exit R without saving workspace</font></div><div><font color="#ff2600" face="Menlo">4: exit R saving workspace</font></div><div><br></div><div>I have tried the version of SimpleITK built without the version of SWIG you patched to correct the character argument error, again I get the same behaviour. </div><div><br></div><div>Bradley - I’m using the latest SimpleITK 0.9 source compiled using the super build on OS X 10.11.  I’ve done the build with the supplied SWIG and with a version patched by Richard and available here: <a href="https://github.com/richardbeare/swig.git" target="_blank">https://github.com/richardbeare/swig.git</a>.  I’m funning R 3.2.4 in Rstudio IDE.</div><div><div><div><br></div><div><br></div><div><br></div><div><blockquote type="cite"><div>On 10 Apr 2016, at 23:17, Bradley Lowekamp <<a href="mailto:brad@lowekamp.net" target="_blank">brad@lowekamp.net</a>> wrote:</div><br><div><div>Hello,<br><br>I would like to know your environment. <br><br>What version of SimpleITK?  R? OS? Compiler? Did you use simpleITK's super build? If not what version of SWIG?<br><br>Thanks<br><br><blockquote type="cite">On Apr 10, 2016, at 9:46 AM, Mathew Guilfoyle <<a href="mailto:mrguilfoyle@gmail.com" target="_blank">mrguilfoyle@gmail.com</a>> wrote:<br><br>Richard<br><br>Thanks for the reply.  I hadn't appreciated that function being passed in the registration example was a closure.  However, in the FiterProgressReporting example it is not a closure.  <br><br>I have modified my code to be a closure but still get a crash/abort; I have also run the code in the examples themselves verbatim and get the same problem.<br><br>Any further ideas on how to get this working?<br><br>Cheers <br><br><br><blockquote type="cite">On 10 Apr 2016, at 02:10, Mathew Guilfoyle <<a href="mailto:mrguilfoyle@gmail.com" target="_blank">mrguilfoyle@gmail.com</a>> wrote:<br><br>There seems to be a problem with using the $AddCommand function to ImageRegistrationMethod objects in the R wrapping to SimpleITK.<br><br>Using R 3.2.4 on OS X 10.11<br><br>Example:<br><br>f <- function(x){print(x$GetMetricValue())}<br><br>registration = ImageRegistrationMethod()<br><br>registration$AddCommand(‘sitkIterationEvent’, f(registration))<br><br>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’))<br><br>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’.<br><br>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.<br><br>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. <a href="https://github.com/SimpleITK/SimpleITK/blob/master/Examples/FilterProgressReporting.R" target="_blank">https://github.com/SimpleITK/SimpleITK/blob/master/Examples/FilterProgressReporting.R</a>) 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)<br></blockquote><br>_____________________________________<br>Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br><a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://public.kitware.com/mailman/listinfo/insight-users" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br></blockquote></div></div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div>_____________________________________<br>Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br><a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://public.kitware.com/mailman/listinfo/insight-users" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br></div></blockquote></div><br></div></div></div></div><br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>