CTK-Hackfest-September-2010: Difference between revisions

From Commontk
Jump to navigationJump to search
Line 41: Line 41:
== Topics and Projects ==
== Topics and Projects ==


Pick up threads of discussion and activity from [http://www.na-mic.org/Wiki/index.php/Events:CTK-Hackfest-2010 Pre-Hackfest]
Pick up threads of discussion and activity from [http://www.na-mic.org/Wiki/index.php/Events:CTK-Hackfest-2010 Pre-Hackfest] and [[/CTK-Hackfest-May-2010|May 2010 Hackfest]]


General set of topics (attendees, please flesh this out with your own ideas!)
General set of topics (attendees, please flesh this out with your own ideas!)


=== DICOM ===
=== DICOM ===
* Marco
* Cache/Database issues
* Application Hosting
* Unified CMake for DCMTK (Michael, JJ, Dan, Jc)


*Wednesday:
** MITK superbuild, with CTK widgets
** DCMTK CMakeFiles
** Stalled on findscu - integrating dcmtk, fetchdicom, sumatra ideas into CTK implementation
*Friday:
** Progress on ctkDICOM app (still much to do)
** MITK now uses superbuild and ctkDICOMIndexer (to be committed in the next few weeks)
** New demos of Service Class User (SCU) classes for DCMTK in CTK repository
** Need more testing data and "dummy" server that can be run during tests
** mingw build ctk for MAF to incorporate DCMTK in MAF (nightly build on mingw coming).


=== Integration ===
=== Integration ===
* Marco and Ivo
* Integrating CTK into MITK and Slicer, gimias, MAF
* Slicer's Execution Model into MITK


* Wednesday
=== Widgets ===
** Started the CTK App Launcher: http://github.com/jcfr/CTK-AppLauncher
** Discussion of generalizing execution model independent of MRML, but may wait until next hackfest
* Friday
** More progress on app launcher (almost finished)  Need to think about the GPL for statically linked binary.
** discussions of unstructured grids for command line module i/o


=== Widgets ===
* Julien F.
* Review of CTKWidgets and [[Documentation/WidgetPlans|wishlist]]
* PythonQt
* Wednesday
** progress on [[Documentation/ctkTransferFunctionWidget|transfer function]] editor
* Friday
** New functionality in transfer function editor
** Some new widgets from DICOM
** New Qt-based command line argument parser
** Log4Qt is now in CTK


=== Events and Communications ===
=== Events and Communications ===
* Patrick
 
* [[Documentation/Events|Inter- and Intra-process events]]
* Sascha
* EventBus as a Service
* Wednesday
** patches for ZMQ and git repository
* Friday
** CMake'ifying the latest ZMQ - into github fork of ZMQ 
***http://github.com/PatrickCheng/zeromq2
** Included in CTK (builds on multiple platforms)
** requires cmake 2.8.1
** Initial tests, more applications to come
** Sascha, Daniele and Patrick to discuss
** MAF event bus integrated with ctk Plugin event bus (to be integrated with MAF after some more discussion and testing)


=== Plugins, Modules ===
=== Plugins, Modules ===
* Sascha
 
* Plugin system: [http://wiki.github.com/pieper/CTK/ctk-plugin-framework Design Document]
** Xavier: Writing a plugin for a vtk bulls eye plot as a service
** Xavier: Writing an LDAP expression filter for use in the service framework
** Sascha: Finishing the service registry for the plugin framework
** Daniele: Integrating the MAF Event Bus as a plugin -> maybe discussion with Patrick needed
* Friday
** Plugin branch is merged with master in CTK/Libs/PluginFramework


=== Interoperability ===
=== Interoperability ===
* Oliver
 
* [[Documentation/Interfacing_Via_OpenGL|Interfacing systems at the OpenGL level (i.e. VTK and OpenInventor)]]
* Wednesday
** VTK/Inventor integration - basic demo working, but many integration issues being investigated
* Friday
** Now working to load scene graphs into VTK render windows (tested volume rendering, transparent rendering...)
** Events, resize, etc being mapped from VTK to XIP
** need to have generic input setting (need to be able to export image data into XIP volumes)


=== Organization and Workflow ===
=== Organization and Workflow ===
* Steve and Jean-Christophe
* Conventions for using git.  Ideas: [https://cirl.berkeley.edu/mb312/gitwash/index.html gitwash example], [http://www.dinnermint.org/tutorial/dead-simple-git-workflow-for-agile-teams/ dead simple example], [http://www.vtk.org/Wiki/VTK/Git vtk plans].
* Coding styles and conventions
* Dashboard issues (setting up nightly and continuous build machines)
** Dash21 now has a nightly (documentation + coverage) and continuous dashboard
* Superbuild (Jc)
** Solve problem related to MITK/CTK
** Fix bug in FindDCMTK
* Wednesday
** Work on git documentation
** doxygen coming soon to doc.commontk.org
** superbuild/CTK support for multiple applications MITK, MAF, gimias
** Now 3 machines submitting to dashboard - JJ will do mac submission, SA and SP to do windows machines.
* Friday
** Doxygen documentation is online (being built at 7:00 am Eastern time) - perhaps it can be grouped automatically based on directory structure?
** Code coverage is reported in nightly build
** More nightly test machines to be set up (builds should enable all options for better testing)
** topic forks preferred in general over topic branches (good for experiments that you may delete).
** people should be careful not to push things to the main repository that might break other people's work (in the future we may move to pull requests and have fewer people with write access to the main repos)
** "Georgetown Breadsoda Snapshot" of CTK - 0.01 pre-alpha.
** KWStyle will be set up (Jc) - use Qt style for most classes unless explicitly derived from VTK or other package
** git workflow:
*** write a wiki page on commontk.org (or link to git hub wiki) and announce to mailing list to solicit other help.
*** fork ctk on github for topic specific work, then create and publish a branch to name your project topic - give write access to your collaborators for the topic.
*** keep rebasing your fork from CTK git (when needing features) into fork while adding new functionality
*** run tests with make Experimental - or create topic-specific mycdash dashboard and point your build submissions to that dashboard
*** when finished with new functionality:
**** do final rebase and test
**** announce to mailinglist with pointer to your forked project (URL of diffs on github)
**** push to master
**** Watch continuous and nightly builds and fix any issues that arise
* Next hackfest Sept 13 - 17 in Barcelona?  Bologna?  Sophia-Antipolis?
* Also need a 'talkers' meeting


== Travel & Hotel ==
== Travel & Hotel ==

Revision as of 10:13, 14 July 2010

Home < CTK-Hackfest-September-2010

Event pictures

This is a working meeting - the goal is to start writing code! The event will look something like these pictures from the May 2010 meeting in Washington.
CTK team hacking...
CTK team hacking...


Introduction

Date: September 13-17

Location: TBD

Goal: A follow on to the wildly successful March 2010 pre-hackfest and May 2010 hackfest .

Requirements: attendees must be enthusiastic about CTK and willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)

Group size: maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from TheTeam.

Organizers: Ivo Wolf, Steve Pieper, Stephen Aylward

Site Hosts: TBD

Attendees: (due to limited space, please contact the organizers to attend)

  1. Steve Pieper, Isomics, Inc., USA
  2. Ivo Wolf, Hochschule Mannheim and DKFZ, Germany
  3. Marco Nolden, DKFZ, Germany
  4. Sascha Zelzer, DKFZ, Germany
  5. others...

Future Events: The organizing committee invited a group of developers to get the CTK project started and we've believe we've reached capacity for this event. Future hackfests will be announced in advance and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project.

Preparation

Developers should bring a laptop with the current CTK source code downloaded and built.

Use the CTK developers mailing list to discuss build issues and topics for ongoing work.

Topics and Projects

Pick up threads of discussion and activity from Pre-Hackfest and May 2010 Hackfest

General set of topics (attendees, please flesh this out with your own ideas!)

DICOM

Integration

Widgets

Events and Communications

Plugins, Modules

Interoperability

Organization and Workflow

Travel & Hotel

Travel: TBD

Hotel TBD

Connectivity

  1. We will provide both wired and wireless connection