<div dir="ltr">I'm afraid this is one thing we haven't yet fixed up in the R bindings. There aren't useful generators of std::map class bindings in SWIG/R at present, so you just end up with the class pointers and no methods to construct or manipulate them. It's on my list. My original plan was to use named vectors for the common case changing labels, but there are certainly going to be messy issues in converting keys to strings. However this approach is probably most like the dictionary method used by python.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 18, 2018 at 2:28 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">I am struggling to find the correct way to specify a ChangeMap to supply to the ChangeLabel filter in the R wrapping of SimpleITK.<br>
<br>
I can create the filter object but supplying a R list of (vector) pairs of from/to labels causes R to crash.  Looking through the SimpleITK docs the ChangeMap is specified as a std::map<double, double> structure and in the R SWIG file there is a DoubleDoubleMap() function specified which seems to be a mechanism to create the map in R.  However, despite trying various ways of using the DoubleDoubleMap I cannot get it to work.  I can create a DoubleDoubleMap object but then can't supplying the pairs of labels that define the map.  One Python example I came across uses the DoubleDoubleMap like this:<br>
<br>
import SimpleITK as silk<br>
<br>
changeLabel = sitk.ChangeLabelImageFilter()<br>
changeMap  = sitk.DoubleDoubleMap()<br>
<br>
changeMap[0] = 1<br>
changeMap[1] = 2<br>
<br>
etc..<br>
<br>
Doing the equivalent indexing in R produces the error:<br>
<br>
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?<br>
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?<br>
<br>
Does anyone know how to correctly interact with the DoubleDoubleMap object and/or otherwise specify a change map in R?<br>
<br>
Many thanks<br>
<br>
<br>The ITK community is transitioning from this mailing list to <a href="http://discourse.itk.org" rel="noreferrer" target="_blank">discourse.itk.org</a>. Please join us there!<br>
______________________________<wbr>__<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/<wbr>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/<wbr>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_<wbr>FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://itk.org/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">https://itk.org/mailman/<wbr>listinfo/insight-users</a><br>
<br></blockquote></div><br></div>