[ITK] [ITK-users] Suggestions about Python wrapping of cpp project

vincent ngai vincent.ngai at gmail.com
Fri Jul 25 03:39:10 EDT 2014


My project was designed as a C++ framework with functionality exposed to
scripts, so it acts like an executable that runs a script that determines
the program behaviour rather than a pure python program. It might be an
important factor whether its a pure python app or an app that runs python.

Honestly I can't tell if relegating some application logic to scripts is
more productive, it works for sure, how productive it is ultimately depends
on how many of our next projects rely on using the existing framework. :)

Sorry I don't have a clear cut answer its a bit early to tell for my
project.


On Fri, Jul 25, 2014 at 12:22 PM, Satyananda Kashyap <ksatyananda at gmail.com>
wrote:

> Thanks for your perspective Vincent.
>
> One of my initial questions were about the productivity boost which you
> get when using scripting languages. I am reasonably comfortable coding in
> C++ toolchain. From your experience do you really see a spike in
> productivity when you shift over. Is it worth the effort ?
>
> I think I will do some of the core development in C++ and expose them to
> Python. I wanted to use the scripting side more for prototyping and testing
> purposes.
>
> Regards,
> Kashyap
>
>
> On Thu, Jul 24, 2014 at 10:18 PM, vincent ngai <vincent.ngai at gmail.com>
> wrote:
>
>> I'm no expert, but previously when I worked on projects where we exposed
>> almost all core functionalities via scripts, it seemed like a good
>> initially, but what really happened is a shifting of complexities. Rather
>> than have the complexity on the C++/Compiled codebase side shifted over to
>> the scripts, in situation where you need to be able to change functionality
>> without recompiling the source, or even have access to the source, scripts
>> are the way to go. But shifting complexities to the runtime/script side has
>> its own issues, I'm happy with the C/C++ toolchain maturity, Visual C++,
>> GCC, GDB etc, you have very comprehensive debugging and editor facilities
>> available for C++, but on the script side you have far less tools, and
>> debugging may be a hassle.
>>
>> Also for scripts that are scoped by whitespace/tabs and are not strictly
>> typed, we found that scripts exceeding 1/2 pages in length tend to be less
>> maintainable, and the chances of nuking a whitespace or overwriting a
>> variable gets higher.
>>
>> Just my 2 cents
>>
>> On Wed, Jul 23, 2014 at 11:11 PM, Satyananda Kashyap <
>> ksatyananda at gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I am looking for your expert opinions here. I have a relatively large
>>> C++ project I am working on which uses ITK mainly (hence the question here)
>>> and to some extent VTK and OpenCV. I do think that my code is fairly well
>>> written. I was thinking of wrapping my code to python using either SWIG or
>>> boost.python. Here are my questions :
>>>
>>>
>>> 1. I am led to believe that prototyping and code development is much
>>> faster in Python. Given that I have such a big cpp base code is it really
>>> worth the effort to wrap into python and then continue there.
>>>
>>> 2. From what I have read ITK uses SWIG wrappings for wrapping into
>>> Python while VTK uses the boost.python route. My initial attempts with both
>>> have been relatively unsuccessful. Any opinion on which one is more user
>>> friendly/better when I have to wrap my own custom classes which use a
>>> combination of both ITK and VTK in them.
>>>
>>> 3. Any suggestion on a road map as to how to proceed. I am not sure at
>>> what base class level I should wrap them and rewrite the dependencies in
>>> python.
>>>
>>> Thanks,
>>> Regards,
>>> Kashyap
>>>
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.php
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/insight-users
>>>
>>>
>>
>>
>> --
>> Regards,
>> Vincent
>>
>
>


-- 
Regards,
Vincent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140725/d58a2f8c/attachment-0002.html>
-------------- next part --------------
_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-users


More information about the Community mailing list