+ All Categories
Home > Documents > The CTK Layer Structure – a Proposal for Discussion

The CTK Layer Structure – a Proposal for Discussion

Date post: 05-Feb-2016
Category:
Upload: weldon
View: 27 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
Popular Tags:
11
THE CTK LAYER STRUCTURE – A PROPOSAL FOR DISCUSSION Ivo Wolf
Transcript
Page 1: The CTK Layer Structure –  a Proposal for Discussion

THE CTK LAYER STRUCTURE – A PROPOSAL FOR DISCUSSION

Ivo Wolf

Page 2: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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)

Page 3: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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”)

CTK core

Optional CTK Module I

Optional CTK Module II …

Optional CTK Module using Module I+II (+core)

Page 4: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

The CTK Layer Structure

More concretely:(but just as an example!)

qCTKWidgets Module

CTK core

CTK-XDOM ModuleCTK-DICOM Module

qDICOM Module

Page 5: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

qDICOM Module

The CTK Layer Structure

What is part of the core? Is it Qt-dependent?

qCTK core

CTK-DICOM Module

CTK core

Some other

TK

Some TK

Again anothe

r TK

CTK-XDOM Module

qCTKWidgets Module

Yet anothe

r TK

Page 6: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

The CTK Layer Structure

Another example: Do we want to have a separate, common data / processing layer? And if so, where?

CTK Data/Processing

CTK core

qCTK core

CTK core

CTK Data/Processing

qCTK core

CTK core

CTK Data/Processing

qCTK core

Page 7: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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

Page 8: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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

qCTK core

CTK-DICOM Module

Some other

TK

Again anothe

r TK

CTK-XDOM Module

qCTKWidgets Module

CTK core

Some TK

CTK core

Some TK

Page 9: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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

qCTK core

CTK-DICOM Module

Some other

TK

Again anothe

r TK

CTK-XDOM Module

qCTKWidgets Module

CTK core

Some TK

Page 10: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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)

Page 11: The CTK Layer Structure –  a Proposal for Discussion

CTK Workshop Chicago, November 29, 2009

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:


Recommended