Code Monkey home page Code Monkey logo

pyctk's Introduction

PyCTK

Python bindings for the Qt widgets provided by CTK: The Common Toolkit, a set of common support code for medical imaging, surgical navigation, and related purposes.

Building

To build these bindings you will need to have a working copy of Qt (with qmake), SIP and PyQt5 installed and preferably on your path.

MacOSX

This build has been tested on OSX 10.10.4 (Yosemite) with Python 3.4.3, Qt 5.4, SIP 4.16.8 and PyQt5.4.2 using the clang_64 (clang-602.0.53) compiler.

To build run:

$ python configure.py
$ make

Windows

This build has been tested on Windows 7 Professional SP1 (64bit) with Python 3.4.2 (32bit), Qt 5.4, SIP 4.16.8 and PyQt5.4.2 using the Microsoft Visual Studio 2010 (x86) compiler.

To build run the following from the Visual Studio Command Prompt (2010):

> python configure.py
> nmake

Documentation

Please refer to the CTK C++ documentation available here: http://www.commontk.org/docs/html/classes.html

Examples/Tests

Testing currently consists of running the example code in the tests directory.

Known Issues/Comments

  1. ctkBackTrace: ~ctkBackTrace() should throw().
  2. ctkBinaryFileDescriptor: commented out until I work out how to install binutils (<bfd.h>).
  3. ctkCallback: effectively useless until I work out how to SIPify function pointers.
  4. ctkCorePythonQtDecorators: omitted as is seems somewhat cyclical to allow Python -> C++ -> Python!
  5. ctkDependencyGraph: need to work out how to pass std::list as function argument.
  6. ctkException: is there any point in exposing this to Python?
  7. ctkHighPrecisionTimer: not wrapped as not exported.
  8. ctkLogger: wrapped but deprecated.
  9. ctkSingleton: not wrapped as not exported.
  10. ctkAbstract*.tpp: not wrapped as not exported.
  11. ctkAbstractQObjectFactory: not included due to missing namespace error 'QAlgorithmsPrivate'
  12. ctk*EventPlayer & ctk*EventTranslator: not included due to dependency on QtTesting (currently out of scope).
  13. ctkCheckableComboBox: checkableModelHelper() seems to have no implementation, thus is not wrapped.
  14. ctkCheckableModelHelper: headerCheckState() and checkState() overloads can't be resolved.
  15. ctkProxyStyle: not wrapped as QProxyStyle (on which depends) is not wrapped by PyQt5(?).
  16. ctkDoubleSpinBox: coordinates() returns unsupported type (double const*).
  17. ctkDoubleSpinBox: coordinatesChanged(double*) takes unsupported type as argument.
  18. ctkTransferFunction: need to write recipe for qreal[].
  19. ctkIconEnginePlugin: cannot wrap as QIconEnginePlugin is not wrapped by PyQt5(?).
  20. ctkRangeWidget: range() ommited until I work out how to wrap double arrays.
  21. ctkSignalMapper: unresolved symbol issue.
  22. ctkTransferFunctionItem: unresolved symbol issue with protected color() methods.
  23. ctkTransferFunctionNativeItem: removed until GL dependency resolved.

pyctk's People

Contributors

jazzycamel avatar

Stargazers

Krzysztof Dziadowiec avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.