<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello Zhongliu,<div><br></div><div>SimpleITK does provide buffer access and per-pixel set get methods. It is designed to expose the algorithms in ITK with an easy to use interface. It's purpose is really designed to expose the building blocks available in ITK that make ITK a robust environment for development new algorithms.</div><div><br></div><div>For cases such as you are looking for, going through the layers of Manage and Unmanaged C# code, and the SimpleITK extraction is just too expensive to be done on a per pixel basis.</div><div><br></div><div>If your goal to to make available your algorithm in CSharp and you already have it in C++, why not consider wrapping it in SimpleITK?</div><div><br></div><div>Its frequently possible to implement algorithms as composites of other filters. With SimpleITK's operator overloading, consider how your algorithm could be implemented by operating on whole images and not at the pixel level.</div><div><br></div><div>Please consider your options carefully,</div><div>Brad</div><div><br><div><div>On Jan 2, 2014, at 11:33 AM, Zhongliu Xie &lt;<a href="mailto:zhongliu.xie10@imperial.ac.uk">zhongliu.xie10@imperial.ac.uk</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Dear Brad,<br>
      <br>
      Thanks for your note. I think I need some example code of using
      SimpleITK on C#, in particular about how to walk an image region,
      and for each voxel in the region find a series of offset voxels in
      its neighbourhood for further processing. Could you give a clue on
      how to find such example code, and perhaps also examples for other
      functions? Thanks.<br>
      <br>
      Regards,<br>
      Zhongliu<br>
      <br>
      On 02/01/2014 14:44, Bradley Lowekamp wrote:<br>
    </div>
    <blockquote cite="mid:685EB15E-008D-4CF1-AA98-9A3FCE96201C@mail.nih.gov" type="cite">
      
      What information are you looking for in a tutorial? Please be
      specific to guide the writing of a new wiki page.&nbsp;There has been a
      lot of interest in using SimpleITK with C# recently so, I think a
      guided wiki page needs to be written.
      <div>
        <div><br>
        </div>
        <div>Here is some generic getting started info:</div>
        <div><a moz-do-not-send="true" href="http://www.itk.org/Wiki/SimpleITK/GettingStarted">http://www.itk.org/Wiki/SimpleITK/GettingStarted</a></div>
        <div><br>
        </div>
        <div>Here is some pretty detailed information with how to load
          the CSharp binaries into Visual Studio:</div>
        <div><a moz-do-not-send="true" href="http://public.kitware.com/pipermail/community/2013-December/000814.html">http://public.kitware.com/pipermail/community/2013-December/000814.html</a></div>
        <div><br>
        </div>
        <div>Here is a basic example:</div>
        <div><a moz-do-not-send="true" href="http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8cs-example.html">http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8cs-example.html</a></div>
        <div><br>
        </div>
        <div>Then there are some crude C# tests:</div>
        <div><a moz-do-not-send="true" href="https://github.com/SimpleITK/SimpleITK/blob/master/Testing/Unit/CSharpImageTest.cs">https://github.com/SimpleITK/SimpleITK/blob/master/Testing/Unit/CSharpImageTest.cs</a></div>
        <div><br>
        </div>
        <div>The C# interface follows closely with the C++ interface.
          Here is the SimpleITK doxygen:</div>
        <div><a moz-do-not-send="true" href="http://www.itk.org/SimpleITKDoxygen/html/classes.html">http://www.itk.org/SimpleITKDoxygen/html/classes.html</a></div>
        <div><br>
        </div>
        <div>Hope that's enough to get you started!</div>
        <div>Brad</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>
          <div>
            <div>On Jan 2, 2014, at 9:24 AM, Zhongliu Xie &lt;<a moz-do-not-send="true" href="mailto:zhongliu.xie10@imperial.ac.uk">zhongliu.xie10@imperial.ac.uk</a>&gt;
              wrote:</div>
            <br class="Apple-interchange-newline">
            <blockquote type="cite">
              <div text="#000000" bgcolor="#FFFFFF">
                <div class="moz-cite-prefix">Thanks very much for your
                  note, Dan.<br>
                  <br>
                  I actually was using ITK on C++ previously and now
                  switching to C#, so my code contains operation with
                  iterators for processing of regions. I guess I would
                  take the advice to use SimpleITK.<br>
                  <br>
                  Then for SimpleITK, is there a tutorial for using it
                  on C#? The ITK Software Guide does not include
                  SimpleITK, and as far as I know most SimpleITK
                  tutorials are python based. Thanks.<br>
                  <br>
                  Regards,<br>
                  Zhongliu<br>
                  <br>
                  On 30/12/2013 12:36, Dan Mueller wrote:<br>
                </div>
                <blockquote cite="mid:CAPNvZ5YV_NkwEDedtbmrvdRqCj9auk=HTViqLVJs3pUhsT6=Sw@mail.gmail.com" type="cite"><p dir="ltr">Hi Nicholas,</p><p dir="ltr">WrapITK does not currently support C#,
                    and I know of no current plans to do so.</p><p dir="ltr">Even if WrapITK did support C#, iterators
                    would be of little practical use because the cost of
                    transferring from the native language to the wrapped
                    language would incur too great a performance penalty
                    (i.e. it would be too slow).</p><p dir="ltr">I would recommend using SimpleITK. What
                    operation do you need to use iterators? Can you
                    create a custom filter utilising the iterator and
                    wrap that? Or create the desired operation by
                    chaining together existing filters?</p><p dir="ltr">Good luck.</p><p dir="ltr">Cheers, Dan</p>
                  <div class="gmail_quote">On 30 Dec 2013 06:48,
                    "Zhongliu Xie" &lt;<a moz-do-not-send="true" href="mailto:zhongliu.xie10@imperial.ac.uk">zhongliu.xie10@imperial.ac.uk</a>&gt;

                    wrote:<br type="attribution">
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <br>
                      Dear fellow ITK users,<br>
                      <br>
                      I have been trying to use ITK on C#, but have
                      encountered difficulties.<br>
                      For the moment, I have tried Simple ITK which has
                      been a success,<br>
                      however as far as I know Simple ITK does not
                      support Iterators.<br>
                      Therefore I have been thinking of wrapping ITK for
                      C# environment. I<br>
                      have also checked the ManagedITK page at<br>
                      <a moz-do-not-send="true" href="http://code.google.com/p/manageditk/" target="_blank">http://code.google.com/p/manageditk/</a>,
                      but it says the project is no<br>
                      longer under active development, and the "ITK
                      version 4 may include<br>
                      internal support for C# wrapping, making
                      ManagedITK unnecessary".<br>
                      Therefore I would like to ask what is the latest
                      way to wrap ITK? Does<br>
                      anybody have a clue?<br>
                      <br>
                      Many thanks,<br>
                      Nicholas<br>
                      <br>
                      <br>
                      <br>
                      _____________________________________<br>
                      Powered by <a moz-do-not-send="true" href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
                      <br>
                      Visit other Kitware open-source projects at<br>
                      <a moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" 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 moz-do-not-send="true" href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
                      _______________________________________________<br>
                      Community mailing list<br>
                      <a moz-do-not-send="true" href="mailto:Community@itk.org" target="_blank">Community@itk.org</a><br>
                      <a moz-do-not-send="true" href="http://public.kitware.com/cgi-bin/mailman/listinfo/community" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/community</a><br>
                    </blockquote>
                  </div>
                </blockquote>
                <br>
              </div>
              _____________________________________<br>
              Powered by <a moz-do-not-send="true" href="http://www.kitware.com/">www.kitware.com</a><br>
              <br>
              Visit other Kitware open-source projects at<br>
              <a moz-do-not-send="true" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br>
              <br>
              Kitware offers ITK Training Courses, for more information
              visit:<br>
              <a class="moz-txt-link-freetext" href="http://www.kitware.com/products/protraining.php">http://www.kitware.com/products/protraining.php</a><br>
              <br>
              Please keep messages on-topic and check the ITK FAQ at:<br>
              <a class="moz-txt-link-freetext" href="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</a><br>
              <br>
              Follow this link to subscribe/unsubscribe:<br>
              <a class="moz-txt-link-freetext" href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a><br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div><br></div></body></html>