From Commontk
Jump to navigationJump to search
Home < CTK-Hackfest-Dec-2012

Event pictures

Images from the hackfest


Date: December 10-14, 2012

Location: | Hotel i Portici in Via Indipendenza , Bologna, Italy, Sala Montagnola (Room)

Goal: A follow on to the wildly successful previous hackfests!

Requirements: Attendees must be willing to spend their time during the event writing ctk code that contributes to the main ctk roadmap. This means spending the week immersed in C++, Qt, DCMTK, CMake, and related technologies. People who do not feel qualified for this task 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.

Site Hosts: Alessandro Chiarini, Daniele Giunchi

Organizing Committee: Ivo Wolf, Stephen Aylward, Steve Pieper

Future Events: 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. We welcome participation via the CTK email lists, the source code repository, and this website.


  • So far we have received confirmation for the following people (in no particular order).


Please fill in your intentions in terms of common accommodation.

Name Organization
Alessandro Chiarini SCS, Bologna IT
Daniele Giunchi SCS, Bologna IT
Alberto Losi SCS, Bologna IT
Steve Pieper Isomics, Inc., Cambridge, MA, USA
Ivo Wolf Mannheim University of Applied Sciences & DKFZ Heidelberg
Jean-Chistophe Fillion-Robin Kitware
Julien Finet Kitware
Andreas Fetzer DKFZ Heidelberg
Michael Bauer DKFZ Heidelberg
Marco Nolden DKFZ Heidelberg
Sascha Zelzer DKFZ Heidelberg
Florian Vichot INRIA
Yves Martelli UPF
Claire Mouton CREATIS
Miklos Espak University College London (UCL)
Luca Antiga Orobix

Note Note: There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.


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.

Phone conferences have been scheduled in the weeks leading to the event:

  • To be announced

Topics and Projects

DICOM Application Hosting

DICOM Database and Networking


Quality Assurance Toolkit -> how to integrate in CTK


Tests Framework

Try QtTesting with CTK applications

Build Systems & Software process

  • Update to latest DCMTK
    • includes dcmrt
    • need to pick a commit to standardize on
    • investigate shared/static library building. (Static instances of classes getting destructed in wrong order)
    • incorporate version checking
      • build ctk against head or snapshot version
  • Prepare Debian packaging (Marco)
    • Resolve outstanding issues
    • Make CTK also build with latest stable DCMTK release (3.6.0)
  • Evaluate Qt5 (Sascha)

    • Release a version of CTK (Work on policy this week and maybe release this week).

Command Line Modules

  • Extract CLI interface
    • Unify VPH and Slicer refactoring
  • Qt SEM XML widget
  • Follow on interoperability tests done in CLI_In_Context
  • Refine CLI XML standard
    • Text format for description/help/acknowledgement/resources: plain text ? html ? structured text ? github markup ?
    • Multiple categories per module ?
    • CLI XML versioning.



10:30am Welcome

10:45 - 12:00 Round table: everyone presents 10-15 minutes how CTK is used in their project. And what's new in CTK (what has been added since previous hackfest)

CTK in use:
What's new since last hackfest?
  • CLI in CTK (SZ, YM) (15m)
  • DICOM Tag caching (SP) (5m)
  • Widgets improvements in CTK(JF, JCFR) (5m)
    • New: ctkExpandableWidget/ctkSizeGrip, ctkPathListWidget
    • Tweaks: ctkCoordinatesWidget (normalized), ctkPathLineEdit (sizeHint), ctkPanelSettings (user/revision settings),

1:00pm Lunch

Discuss plans/priorities for hacking

3:30pm Coffee Break

hack, hack, hack...

5:00pm Close


9:30am Welcome

  • Review of Topics and demos

11:00am Coffee Break

  • Discussion of goals for the week and breakout into working groups
  • Command Line Module Working Group Topics
    • Using ctk CLI infrastructure in Slicer (Jc, Sascha, Julien)
    • CLI Incremental Communication (Luca, Steve)
    • MAF CLI Integration (Daniele, Alberto)
    • PythonQt wrapping of ctkCLI
    • DAH and CLI (Ivo)
    • CLI Compatibility Testing (Yves)
    • CLI In MedINRIA (Florian)
  • CTK Qt Testing and Quality Assurance Toolkit (Claire, Andreas, Julien, Jc)
  • Transfer function interaction (Julien, Florian)
    • Publish previous CTK hackfest work into VTK
    • Minor interaction tweaks

1:00pm Lunch

hack, hack, hack...

5:00pm Close

hack, hack, hack...


9:30am Welcome

hack, hack, hack...

11:00am Coffee Break

hack, hack, hack...

1:00pm Lunch

hack, hack, hack...

5:00pm Close


9:30am Welcome

hack, hack, hack...

11:00am Coffee Break

hack, hack, hack...

1:00pm Lunch

hack, hack, hack...

5:00pm Close


9:30am Welcome

hack, hack, hack...

11:00am Coffee Break

Wrap up discussion and presentations:

  • Alberto, Allesandro (for Daniele)
    • MAF2,3 migration
      • Use CTK command line module explorer as MAF3 Plugin
      • Wrap MAF2 modules as CLIs
      • Solution to the WXWidgets (MAF2) to Qt (MAF3) migration with uniform solution
    • QAT running on CTK source code, working to make it more widely available
    • Migrating MAF plugins to CTK plugins
  • Claire
  • Miklos
    • XNAT Plugin replacing curl with Qt network and ssl
    • Working with Jc on REST API implementation generalized across MIDAS and XNAT
    • With Sascha and Jc: updates to the build system to support plugins - new superrepository that has git submodules for optional plugins
  • Sascha
    • Superrepository and build system (see issue #266 and its corresponding branch)
    • Looked into Qt5 (see issue #277 and the qt5 branch)
      • some ifdefs required for deprecated functions
  • Andreas
    • Putting Qt Testing into MITK
    • Some issues being sorted out
  • Marco
    • Debian packaging
      • dcmtk 3.6.0 build compatibility (with remote help from Michael Onken)
      • Some debian specific patches in a separate branch
      • vtk 5.8 compatibility
      • aim for named version release CTK within 6 months (for debian/ubuntu release)
  • Michael
    • Fixed selection of query results for retrieval
    • Refactoring Query and Retrieve
      • New ctkDICOMOperation (superclass)
      • May rename some widgets for consistency
  • Florian
    • CLI modules now work in MedINRIA!
      • Interface is generated
      • command line executable can be run
      • Looking at specializations of GUI to support MedINRIA concepts
    • Fixes to some Qt style / css compatibility issues
    • Issue is reported to Qt, and now will be included in Qt 5.1
  • Ivo
    • DICOM Application Hosting
      • Updated dah branch to the latest master
      • Embedded dah into MITK
      • MITK as hosted application
      • ...and MITK as a host!
  • Yves
    • New tests for CLIs
      • CLI finishes with error
      • CLI checks that defaults are as expected
      • CLI checks that image data passed from host is the same as when read from disk
    • Code could go into Slicer Execution Model repository, for now it is there: https://github.com/ivmartel/semit
  • Julien
    • Lookup table editor
      • layers of lookup tables
      • Combine and edit layers independently
      • Integrates Florian's work from Boston hackfest
    • Issues of ordering of XML for XML Schema comptibility
  • Jc
    • Build system work
    • Shared library backend for CLI framework
    • Updated XSD / XSL to handle additional element
    • Integrated CTK CLI module framework to Slicer
      • Still uses Slicer custom logic for execution
      • Delegates to custom widgets for specific data types (extra XSL definitions)
  • Steve
  • Luca

1:00pm Lunch

hack, hack, hack...

  • Reminder: Update project status on wiki
    • Links to branches, repositories, bug reports
    • Screen captures of progress to the Gallery below
    • Action photos of hacking in progress...

Gallery of Results

Travel & Hotel

Local contact If you have any troubles during your visit, call Alessandro: +39 342 1401554 or Daniele: +39 348 7260365


Transportation on Site

Airport Shuttle from airport to Railway Station (near to meeting location) 6 euro, link: http://www.atc.bo.it/orari/aerobus-airport-railway-station-link

Taxi from airport to Railway Station 15-20 euro


There are a lot of hotel options in Bologna.

Millennium Hotel[1]: close to the centre and to the central railways station.

Star Hotel [2]: close to the centre and in front of the central railways station.

Mercure Hotel [3] (Italian link, you need to find the page on your language from the Accor portal) In front of the central railways station.

Albergo Atlantic [4] In the city centre, 10' walking time from the central railways station.

I Portici Hotel [5]10' walking time from the central railways station.

Meeting Location TBA We are finding a meeting venue that could be in the city centre or in the central station area.


It will be provided by the meeting venue.


  • Probably not sunny, colder than Italian average :-), even it is quite variable, temperatures can range from 0°C to 10°C (min) and from 5°C to 20°C.