Difference between revisions of "Events:CTK-Workshop-Chicago-2009"

From NAMIC Wiki
Jump to: navigation, search
 
(24 intermediate revisions by 6 users not shown)
Line 11: Line 11:
 
** continuously extend to new tasks within the scope of the toolkit (medical imaging) without burdening existing tasks  
 
** continuously extend to new tasks within the scope of the toolkit (medical imaging) without burdening existing tasks  
 
Past meetings: [[Events:CTK-Workshop-June-2009|initial meeting in Heidelberg in June]] and a [[Events:CTK-Workshop-September-2009|second meeting]] in Oxford, UK in September.
 
Past meetings: [[Events:CTK-Workshop-June-2009|initial meeting in Heidelberg in June]] and a [[Events:CTK-Workshop-September-2009|second meeting]] in Oxford, UK in September.
CTK is a pro-tempore group of like minded technically oriented softare tool builders. We expect to release a first version of CTK within a year. If you are interested to learn more, please contact Hans Peter Meinzer or Ron Kikinis.
+
CTK is a pro-tempore group of like minded technically oriented software tool builders. We expect to release a first version of CTK within a year. If you are interested to learn more, please contact Hans Peter Meinzer or Ron Kikinis.
 
|[[image:Chicago2009.jpg|thumb|250px|<big>Chicago</big>
 
|[[image:Chicago2009.jpg|thumb|250px|<big>Chicago</big>
<br> [http://www.mdphysics.com/wp-content/uploads/2009/05/istock_000006426440xsmall.jpg source]]]
+
<br> [http://www.mdphysics.com/wp-content/uploads/2009/05/istock_000006426440xsmall.jpg Source of this image]]]
 
|}
 
|}
  
Line 29: Line 29:
 
*Select a logo
 
*Select a logo
 
** http://www.commontk.org/cgi-bin/trac.cgi
 
** http://www.commontk.org/cgi-bin/trac.cgi
 +
** Comments:
 +
*** too busy for such a plain background
 +
*** theme 2 preferred
 +
*** logo 1+3 too similar to NSF logo
 +
*** theme 2 should have a little gap between the C and the K
 +
 
* Morning: Modules / Applications
 
* Morning: Modules / Applications
** The CTK Layer Structure (Ivo)
+
** The CTK Layer Structure ([[media:CTKLayerStructure-2009-11-29.ppt|Slides]]) (Ivo)
 
** [http://www.mitk.org/wiki/OpenCherry BlueBerry] (Sascha)
 
** [http://www.mitk.org/wiki/OpenCherry BlueBerry] (Sascha)
** Slicer Modules and Extensions [[media:2009 NA-MIC Project Week Slicer3.4.ppt|Slides for reference]]  (Steve)
+
** Slicer Modules and Extensions [[media:3DSlicer-Modules+Extensions-2009-11-27.ppt|Slides]]  (Ron)
 
** WG23 DICOM Application Hosting / XIP (Lawrence, Gianluca)
 
** WG23 DICOM Application Hosting / XIP (Lawrence, Gianluca)
** MedINRIA framework (Olivier)
+
** Towards a European project submission (Olivier)
  
 
* Afternoon: Qt Progress
 
* Afternoon: Qt Progress
 
** 1:00 - 3:00 Nokia will present:
 
** 1:00 - 3:00 Nokia will present:
*** Evolving features of Qt  
+
*** [http://qt.nokia.com/developer/qt-roadmap Roadmap: Evolving features of Qt]
 
*** Community involvement processes  
 
*** Community involvement processes  
 
*** Q&A, e.g.:
 
*** Q&A, e.g.:
Line 45: Line 51:
 
**** separation of the Qt-non-GUI classes from the GUI part
 
**** separation of the Qt-non-GUI classes from the GUI part
 
**** are there plans for inter-process communication (IPC) support in Qt?
 
**** are there plans for inter-process communication (IPC) support in Qt?
** 3:00 - 3:15 Update on qCTKWidgets being developed in Slicer's Qt Port
+
** 3:00 - 3:15 Update on qCTKWidgets ([[media:3DSlicer-Qt-qCTKWidgets-2009-11-27.ppt|Slides]]) being developed in [[Projects:ARRA:SlicerUI|Slicer's Qt Port]] (Ron)
 +
*** Movies [http://wiki.slicer.org/slicerWiki/index.php/File:QCTKContainerWidgets.ogg] [http://wiki.slicer.org/slicerWiki/index.php/File:QCTKWidgets.ogg] [http://wiki.slicer.org/slicerWiki/index.php/File:QSlicerTransformsModule.ogg]
 
** TBD: other Qt progress updates
 
** TBD: other Qt progress updates
 
** role of Qt in the CTK core
 
** role of Qt in the CTK core
Line 55: Line 62:
 
=Minutes=
 
=Minutes=
  
==Introduction==
+
=== Layer architecture ===
 +
The CTK Layer Structure ([[media:CTKLayerStructure-2009-11-29.ppt|Slides]]) (Ivo)
 +
* describes dependencies of toolkits, not meant as inheritance
 +
* discussion about dependencies between ITK, VTK, CTK. Unification or creating dependencies seem unrealistic. The topic is deferred since Steve is not present and he also raised the topic in email discussions.
 +
* TY: visualization community is not represented
 +
* TY: ITK and VTK have a lot of users, excutive decisions about unification of coordinate systems necessary
 +
* summary: ITK, VTK and CTK will most probably coexist on the same level.
 +
* OC: CTK is the glue, not provide processing
 +
* TODO: question to steve and gianluca about unification.
 +
* LT: gianluca has some concept of xml wrapped processing independent of underlying toolkits. not as inefficient as one thinks. some kind of conversion will always be necessary.
 +
* goal of the presentation: get some concept where to put things if an idea comes up
 +
* open questions: unification of core classes, interfacing between toolkits: XML, CTK core mechanisms
 +
 
 +
=== Package system ===
 +
* OC: no vcs mechanism exists yet to manage complex subproject / module structures efficiently
 +
* TY: packages can be mutually exclusive if they use special software or hardware
 +
* summary: this remains a very important and complex task
 +
 
 +
=== general summary ===
 +
* we agree on a layer structure, but not too deep
 +
* LT recalls that we agreed on Qt Core for CTK core in Heidelberg
 +
* mailing list discussion: it was proposed to use everything from ITK if it is in there.
 +
* summary: qt license issues: LGPL fullfills most needs of CTK, some issues need to be adressed:
 +
** Qt should always be built seperately
 +
** static linking, template classes, distribution (see also questions page of [[media:CTKLayerStructure-2009-11-29.ppt|Ivo's slides]])
 +
* OC: nobody wants to inherit from another toolkit forever
 +
* SZ: advantages of Qt: scripting, meta-object / reflection system.
 +
* OC: CTK should provide means for converting / adapting to Kitware mechanisms / classes
 +
* IW: CTK core should provide some common basic features; glueing mechanisms should rather be part of an optional module
 +
* summary: one CTK module, but not part of the core, provides mechanisms for common data exchange / conversion.
 +
 
 +
=== hacker meeting ===
 +
 
 +
* HPM: Steve Pieper should organize it, week beginning of 22nd February or 1st of March. 10 people for a week, 1-2 persons per team. goal: produce some lines of code (see [[media:CTKLayerStructure-2009-11-29.ppt|Ivo's slides]])
 +
* OC raises the question of intellectual property of the written code and visibility of CTK contributors
 +
** RK: there needs to be an institution or foundation
 +
** summary: the topic is deferred, next step: KC will ask SA about advice, HPM and OC will care for European visibility
 +
 
 +
* HPM: suggests Heidelberg as location
 +
* TODO: HPM writes an invitational email
 +
* TODO: RK writes an email about the IP issue.
 +
* OC proposes that everyone taking part writes and publishes some classes in advance as a basis for discussion
 +
* RK sent a doodle link to the ctk mailing list as a proposal, if not enough people can attend a new date has to be chosen
 +
* next general (short) meeting will be at SPIE
 +
 
 +
== Blueberry Presentation ==
 +
[http://www.mitk.org/wiki/OpenCherry BlueBerry] (Sascha)
 +
* PL: unloading of plugins and services would be useful
 +
* versioning of plugins is a strength but the CTK core should have stable interfaces
 +
* slicer also has some versioning of plugins
 +
* running application parts in different processes can solve a lot of problems
 +
** WG 23 application hosting uses similar concepts
 +
* OC: loose coupling is essential for CTK
 +
* TY: support for scripting and different languages is very important
 +
 
 +
== Lunch break ==
 +
 
 +
== Slicer==
 +
Slicer Modules and Extensions [[media:3DSlicer-Modules+Extensions-2009-11-27.ppt|Slides]]  (Ron)
 +
* Plugin version compatibility is checked by recompiling and using dashboards, matching plugins are provided with an extension manager in the slicer application
 +
* total number of modules is unknown, not everything is contributed back
 +
* decision what to put in the core: a lot of experience necessary
 +
 
 +
== Qt / Nokia ==
 +
* roadmap is online
 +
* difficulties with qt:
 +
** keeping everything in complex rendering environments
 +
** keep local and remote versions of applications in sync
 +
** difficult debugging in complex signal/slot applications
 +
* Qt wants to offer infrastructure for development, get more contributions
 +
 
 +
== Towards a European project submission (Olivier)==
 +
* some participants of the proposal were not participants of CTK meetings
 +
** agreements like everything is c++ could get broken
 +
* consortium is very mixed
 +
* TY: there is a strong dependency on WP2, this makes the project management very difficult
 +
* discussion: medical imaging vs. biomedical community, include more partners?
 +
 
 +
== Slicer Qt port ==
 +
* coexistence with KWWidgets
 +
* demonstration movies
 +
* HPM: uniting development efforts is important, hacker meeting has to happen soon
  
==Architecture brainstorm==
+
== SCR update: Patric Ljung ==
 +
(Slides)
 +
* TY: 1999 asked about hardware future, situation was pretty clear. Today the situation is more unclear.
 +
* LT: upcoming things should be taken into account for design
 +
* IW: GPU and things like that should become modules
  
==Data Structures and Scene Graphs==
+
==General==
 +
* LT: application hosting is not frozen anymore
 +
* TY: for the next ITK version a lot of converging ideas like in CTK have been discussed.
 +
* HPM: modularization / plugin mechanisms have to be decided
 +
* KC: starting with a common core, funding adds restrictions for the groups
 +
* discussion about common data format
 +
** common data type shouldn'n be compulsory
 +
** create a new type on the same level like the others that could be used
 +
** create common denominators
 +
** OC: CTK should not only complement ITK and VTK, it should be designed flexible from the start
  
==Widgets==
+
== Next meeting ==
*[http://en.wikipedia.org/wiki/Qt_%28toolkit%29 We have agreed on Qt for widgets]
+
* SPIE 2010, LT will set up a doodle for it.
  
 
=Participants=
 
=Participants=
Line 68: Line 169:
 
*Ron Kikinis, Harvard Medical School, Boston, MA
 
*Ron Kikinis, Harvard Medical School, Boston, MA
 
*Lawrence Tarbox, Mallinckrodt Institute of Radiology, St.Louis
 
*Lawrence Tarbox, Mallinckrodt Institute of Radiology, St.Louis
*Gianluca Paladini, Siemens Corporate Research, Princeton
+
*Patric Ljung, Siemens Corporate Research, Princeton
*Steve Pieper, Isomics, Cambridge, MA
 
 
*Kevin Cleary, Georgetown Medical Center, Washington, DC
 
*Kevin Cleary, Georgetown Medical Center, Washington, DC
 
*Olivier Clatz, INRIA Sophia Antipolis, France
 
*Olivier Clatz, INRIA Sophia Antipolis, France
 
*Ivo Wolf, German Cancer Research Center, Heidelberg
 
*Ivo Wolf, German Cancer Research Center, Heidelberg
 
*Marco Nolden, German Cancer Research Center, Heidelberg
 
*Marco Nolden, German Cancer Research Center, Heidelberg
*Sascha Zelter, German Cancer Research Center, Heidelberg
+
*Sascha Zelzer, German Cancer Research Center, Heidelberg
 +
*Clay Thongnopneua, Qt team, Nokia
  
 
=Slides=
 
=Slides=
November 29 2009
+
In attendance on November 29 2009
  
 
<gallery widths="150px" heights="150px" perrow="3">
 
<gallery widths="150px" heights="150px" perrow="3">
image:KitwareLogo2.jpg|[[media:CTK-KitwareOverview-Aylward.ppt|ITK, VTK, IGSTK, InfoVis, FARSIGHT, Maverick]] (Stephen Aylward)
+
image:3DSlicerLogo-H-Color-424x236.png|[[media:3D-Slicer-presentation-June-29-2009.ppt|Slicer3]] (Ron Kikinis)
image:3DSlicerLogo-H-Color-424x236.png|[[media:3D-Slicer-presentation-June-29-2009.ppt|Slicer3]] (Ron Kikinis, Steve Pieper)
+
image:INRIAlogo.png|[[media:MedINRIA-presentation-June-29-2009.ppt|MedINRIA]] (Olivier Clatz)
image:INRIAlogo.png|[[media:MedINRIA-presentation-June-29-2009.ppt|MedINRIA]] (Olivier Clatz, Julien Wintz, Pierre Fillard)
+
image:Siemens-logo.jpg|[[media:SCR_CTK_XIP.pdf|OpenXIP Extensible Imaging Platform]] (Patric Ljung)
image:Siemens-logo.jpg|[[media:SCR_CTK_XIP.pdf|OpenXIP Extensible Imaging Platform]] (Gianluca Paladini)
+
image:Mitk-logo.png|[[media:MITK-CTK-Workshop-June2009.ppt‎|MITK]] (Hans Peter Meinzer, Ivo Wolf, Marco Nolden)
image:B3C.png|[[media:Pres_maf3_Heidelberg2009.pdf‎|MAF3]] (Paolo Quadrani)
 
image:Mitk-logo.png|[[media:MITK-CTK-Workshop-June2009.ppt‎|MITK]] (Ivo Wolf, Marco Nolden)
 
 
image:WashU logo.jpg|[[media:DicomApplicationHosting.ppt|Working Group 23]] (Lawrence Tarbox)
 
image:WashU logo.jpg|[[media:DicomApplicationHosting.ppt|Working Group 23]] (Lawrence Tarbox)
 
image:Igstk.jpg|[[media:IGSTK Overview - Cleary.ppt|IGSTK]] (Kevin Cleary)
 
image:Igstk.jpg|[[media:IGSTK Overview - Cleary.ppt|IGSTK]] (Kevin Cleary)
image:Offis logo.gif|[[media:ToBeProvidedbyMichael|DCMTK (OFFIS)]] (Michael Onken)
 
 
</gallery>
 
</gallery>

Latest revision as of 22:12, 29 November 2009

Home < Events:CTK-Workshop-Chicago-2009

The Common Toolkit Workshop at RSNA, Chicago, IL

Nov 29 2009

  • The goals of the CommonTK are to:
    • provide a unified set of basic features for use in medical imaging using BSD style licenses
    • facilitate the exchange and combination of code and data
    • document, integrate, and adapt successful solutions
    • avoid duplication of code and data
    • continuously extend to new tasks within the scope of the toolkit (medical imaging) without burdening existing tasks

Past meetings: initial meeting in Heidelberg in June and a second meeting in Oxford, UK in September. CTK is a pro-tempore group of like minded technically oriented software tool builders. We expect to release a first version of CTK within a year. If you are interested to learn more, please contact Hans Peter Meinzer or Ron Kikinis.

Links

Schedule

Sunday, Nov 29

  • Time: 9:00 AM – 6:00 PM
  • Venue: McCormick Place, Lakeside Building
  • Date: Sunday, November 29, 2009
  • Room: E262

Detailed Agenda

  • Select a logo
  • Morning: Modules / Applications
    • The CTK Layer Structure (Slides) (Ivo)
    • BlueBerry (Sascha)
    • Slicer Modules and Extensions Slides (Ron)
    • WG23 DICOM Application Hosting / XIP (Lawrence, Gianluca)
    • Towards a European project submission (Olivier)
  • Afternoon: Qt Progress
    • 1:00 - 3:00 Nokia will present:
      • Roadmap: Evolving features of Qt
      • Community involvement processes
      • Q&A, e.g.:
        • Qt-Scripting support: current features and future plans?
        • Qt-Plugin concepts: current features and future plans?
        • separation of the Qt-non-GUI classes from the GUI part
        • are there plans for inter-process communication (IPC) support in Qt?
    • 3:00 - 3:15 Update on qCTKWidgets (Slides) being developed in Slicer's Qt Port (Ron)
    • TBD: other Qt progress updates
    • role of Qt in the CTK core
  • Other topics if time permits
    • Data types
    • Models for interaction

Minutes

Layer architecture

The CTK Layer Structure (Slides) (Ivo)

  • describes dependencies of toolkits, not meant as inheritance
  • discussion about dependencies between ITK, VTK, CTK. Unification or creating dependencies seem unrealistic. The topic is deferred since Steve is not present and he also raised the topic in email discussions.
  • TY: visualization community is not represented
  • TY: ITK and VTK have a lot of users, excutive decisions about unification of coordinate systems necessary
  • summary: ITK, VTK and CTK will most probably coexist on the same level.
  • OC: CTK is the glue, not provide processing
  • TODO: question to steve and gianluca about unification.
  • LT: gianluca has some concept of xml wrapped processing independent of underlying toolkits. not as inefficient as one thinks. some kind of conversion will always be necessary.
  • goal of the presentation: get some concept where to put things if an idea comes up
  • open questions: unification of core classes, interfacing between toolkits: XML, CTK core mechanisms

Package system

  • OC: no vcs mechanism exists yet to manage complex subproject / module structures efficiently
  • TY: packages can be mutually exclusive if they use special software or hardware
  • summary: this remains a very important and complex task

general summary

  • we agree on a layer structure, but not too deep
  • LT recalls that we agreed on Qt Core for CTK core in Heidelberg
  • mailing list discussion: it was proposed to use everything from ITK if it is in there.
  • summary: qt license issues: LGPL fullfills most needs of CTK, some issues need to be adressed:
    • Qt should always be built seperately
    • static linking, template classes, distribution (see also questions page of Ivo's slides)
  • OC: nobody wants to inherit from another toolkit forever
  • SZ: advantages of Qt: scripting, meta-object / reflection system.
  • OC: CTK should provide means for converting / adapting to Kitware mechanisms / classes
  • IW: CTK core should provide some common basic features; glueing mechanisms should rather be part of an optional module
  • summary: one CTK module, but not part of the core, provides mechanisms for common data exchange / conversion.

hacker meeting

  • HPM: Steve Pieper should organize it, week beginning of 22nd February or 1st of March. 10 people for a week, 1-2 persons per team. goal: produce some lines of code (see Ivo's slides)
  • OC raises the question of intellectual property of the written code and visibility of CTK contributors
    • RK: there needs to be an institution or foundation
    • summary: the topic is deferred, next step: KC will ask SA about advice, HPM and OC will care for European visibility
  • HPM: suggests Heidelberg as location
  • TODO: HPM writes an invitational email
  • TODO: RK writes an email about the IP issue.
  • OC proposes that everyone taking part writes and publishes some classes in advance as a basis for discussion
  • RK sent a doodle link to the ctk mailing list as a proposal, if not enough people can attend a new date has to be chosen
  • next general (short) meeting will be at SPIE

Blueberry Presentation

BlueBerry (Sascha)

  • PL: unloading of plugins and services would be useful
  • versioning of plugins is a strength but the CTK core should have stable interfaces
  • slicer also has some versioning of plugins
  • running application parts in different processes can solve a lot of problems
    • WG 23 application hosting uses similar concepts
  • OC: loose coupling is essential for CTK
  • TY: support for scripting and different languages is very important

Lunch break

Slicer

Slicer Modules and Extensions Slides (Ron)

  • Plugin version compatibility is checked by recompiling and using dashboards, matching plugins are provided with an extension manager in the slicer application
  • total number of modules is unknown, not everything is contributed back
  • decision what to put in the core: a lot of experience necessary

Qt / Nokia

  • roadmap is online
  • difficulties with qt:
    • keeping everything in complex rendering environments
    • keep local and remote versions of applications in sync
    • difficult debugging in complex signal/slot applications
  • Qt wants to offer infrastructure for development, get more contributions

Towards a European project submission (Olivier)

  • some participants of the proposal were not participants of CTK meetings
    • agreements like everything is c++ could get broken
  • consortium is very mixed
  • TY: there is a strong dependency on WP2, this makes the project management very difficult
  • discussion: medical imaging vs. biomedical community, include more partners?

Slicer Qt port

  • coexistence with KWWidgets
  • demonstration movies
  • HPM: uniting development efforts is important, hacker meeting has to happen soon

SCR update: Patric Ljung

(Slides)

  • TY: 1999 asked about hardware future, situation was pretty clear. Today the situation is more unclear.
  • LT: upcoming things should be taken into account for design
  • IW: GPU and things like that should become modules

General

  • LT: application hosting is not frozen anymore
  • TY: for the next ITK version a lot of converging ideas like in CTK have been discussed.
  • HPM: modularization / plugin mechanisms have to be decided
  • KC: starting with a common core, funding adds restrictions for the groups
  • discussion about common data format
    • common data type shouldn'n be compulsory
    • create a new type on the same level like the others that could be used
    • create common denominators
    • OC: CTK should not only complement ITK and VTK, it should be designed flexible from the start

Next meeting

  • SPIE 2010, LT will set up a doodle for it.

Participants

  • Hans-Peter Meinzer, German Cancer Research Center, Heidelberg
  • Ron Kikinis, Harvard Medical School, Boston, MA
  • Lawrence Tarbox, Mallinckrodt Institute of Radiology, St.Louis
  • Patric Ljung, Siemens Corporate Research, Princeton
  • Kevin Cleary, Georgetown Medical Center, Washington, DC
  • Olivier Clatz, INRIA Sophia Antipolis, France
  • Ivo Wolf, German Cancer Research Center, Heidelberg
  • Marco Nolden, German Cancer Research Center, Heidelberg
  • Sascha Zelzer, German Cancer Research Center, Heidelberg
  • Clay Thongnopneua, Qt team, Nokia

Slides

In attendance on November 29 2009