1 / 11

The CTK Layer Structure – a Proposal for Discussion

The CTK Layer Structure – a Proposal for Discussion. Ivo Wolf. Goals of CTK. Some of the Goals of CTK (taken from the website): provide a unified set of basic features for use in medical imaging

idola-carr
Download Presentation

The CTK Layer Structure – a Proposal for Discussion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The CTK Layer Structure – a Proposal for Discussion Ivo Wolf

  2. Goals of CTK Some of the Goals of CTK (taken from the website): • provide a unified set of basic features for use in medical imaging • continuously extend to new tasks within the scope of the toolkit (medical imaging) without burdening existing tasks  modular design with loose coupling: • Small core • Collected from existing toolkits • Extended with new features • Optional modules around the core • Available separately (like in a package system of a linux distribution)

  3. The CTK Layer Structure • Common core • Optional modules • When a layer is on top of another, this is meant as “is using” (NOT necessarily “is inheriting”) Optional CTK Module using Module I+II (+core) Optional CTK Module I Optional CTK Module II … CTK core

  4. The CTK Layer Structure • More concretely:(but just as an example!) qDICOM Module qCTKWidgets Module CTK-DICOM Module CTK-XDOM Module CTK core

  5. The CTK Layer Structure • What is part of the core? • Is it Qt-dependent? qDICOM Module qCTKWidgets Module CTK-DICOM Module CTK-XDOM Module Again another TK Yet another TK qCTK core Some TK Some other TK CTK core

  6. The CTK Layer Structure Another example: • Do we want to have a separate, common data / processing layer? • And if so, where? CTK Data/Processing qCTK core qCTK core CTK Data/Processing qCTK core CTK Data/Processing CTK core CTK core CTK core

  7. The CTK Layer Structure Suggestion: • When we discuss a specific idea for CTK, we should note, where we would prefer to put it: • into the core • into some other basic layer • into an optional module

  8. My Dream: A Package System • Dreaming … a package system • … from which you can take what you need (and ignore, what you do not want) qDICOM Module qCTKWidgets Module CTK-DICOM Module CTK-XDOM Module Again another TK qCTK core Some TK Some other TK Some TK CTK core CTK core

  9. My Dream: A Package System • Dreaming … a package system • … from which you can take what you need (and ignore, what you do not want) qDICOM Module qCTKWidgets Module CTK-DICOM Module CTK-XDOM Module Again another TK qCTKWidgets Module CTK-XDOM Module qCTK core Some TK Some other TK qCTK core CTK core CTK core

  10. Questions • Do we agree on a layer structure for CTK? • Yes. • Do we agree that CTK can grow over time by adding additional, optional layers? • Yes, but there should be only a few of them. • Do we agree already • whether we want to have the core: • Qt-GUI-free (I guess, we do agree …) • or completely Qt-free (and a qCTK layer on top of it) • or a Qt-dependent core with (or w/o) inheritance from QObject (and w/o otherwise exposing the dependency of Qt)? • Advantages: signal/slots, QtScripting, QThreads, reflections, … • LGPL license issues will have to be addressed properly (e.g.: for building Qt the Qt build system will be used)

  11. CTK – getting started with coding … Suggestion: Hacker Meeting (~ 1 week, Feb 22nd or Mar 1st, 1-2 per group) • … hacking a small, initial prototype of a core • assemble a proposal for a list of features of the core • collect pros and cons regarding Qt as base of CTK • in advance: prepare some classes as basis for discussion • (try to use it as base for ITK and VTK) • … and at least one optional module • … preferably doing it this way:

More Related