Date: November 3-7, 2014
German Cancer Research Center, Heidelberg, Germany
More details to follow.
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: Marco Nolden, Sascha Zelzer, Ivo Wolf
Organizing Committee: Steve Pieper, Ivo Wolf, Stephen Aylward
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.
|Marco Nolden||German Cancer Research Center, Heidelberg, Germany|
|Sascha Zelzer||German Cancer Research Center, Heidelberg, Germany|
|Andreas Fetzer||German Cancer Research Center, Heidelberg, Germany|
|Stefan Kislinkiy||German Cancer Research Center, Heidelberg, Germany|
|Ralf Floca||German Cancer Research Center, Heidelberg, Germany|
|Ivo Wolf||Mannheim University of Applied Sciences, Germany|
|Steve Pieper||Isomics, Inc., USA|
|Michael Onken||Open Connections GmbH / OFFIS|
|Jean-Christophe Fillion-Robin||Kitware, Inc., USA|
|Miklos Espak||University College London, UK|
|Nicolas Toussaint||University College London, UK|
|Gergely Zombori||University College London, UK|
|Christian Askeland||SINTEF Medical Technology, Trondheim, Norway|
|Stefan Baumann||Basel, Switzerland|
|Hans Meine||Fraunhofer MEVIS, Germany|
|Name||Organization||Availablity (Central European Time)|
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.
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:
Topics and Projects
Consider reading Contributing_to_CTK#Integrate_your_new_feature
Reminder: when integrating branches, remember to use --log --no-ff when merging.
We plan to have concrete hacking topics as well as dedicated discussions in smaller groups. People are encouraged to show their interest in a particular subject by adding their name to the list below.
- Qt5 migration (Christian)
- compile and run on Mac
- Packaging / install support (Marco, Jc)
- Fix issue related to Artichoke and improve documentation (Jc)
- General Situation: Continuous/Nightly clients, coverage
- Configurations: Qt4, Qt5, etc.
- Travis CI (Sascha, Steve)
- Incomplete doxygen on the website (Christian)
- Component / target oriented build system (Jc, Sascha)
- Review commontk/* repositories (delete/update/etc.)
- Check support for MacOS 10.10
- dcmtk Features
- Support building with emscripten, pinnacle
- Multi-frame support (Steve, Christian, Michael)
- SEG support
- Investigate compatibility of DCMTK seg functionality with BrainLab segmentations; sample dataset (QIICR community, Steve has access) - RLE compressed
- Investigate DCMTK RLE compression tools applied to segmentations; trying to apply it to sample objects generates "F: No conversion to transfer syntax RLE Lossless possible!" error; SPL segmentation dataset example, PET segmentation example
- Making CLIs read and write valid DICOM (Steve, Michael)
- Anonymization (Andreas Fetzer, Marco, Steve, Stefan, Ralf)
- Client-side options: gdcmanon, dcmtk (?), dcmjs, DicomCleaner, CTP...
- Testing can use File:PieperMRI.tar.gz
- Goal is to de-identify with various tools and compare results with supplement 142 of the DICOM standard.
- There is a separate page, which provides an overview of existing de-identification tools: DICOM de-identification tool overview
- ctkDICOM improvments (Ralf); discussed ideas:
- Introduce "compact and detailed view mode" to ctkDICOMTableView and ctkDICOMTableManager. Basic idea is that you can give the widgets a list of "high priority" tags -> in compact mode all columns of non priority tags will be filter. You can define the active mode via property / slot (to e.g. easily connect it with a control widget signal).
- Refactoring of one unified "search definition widget" and separated generators for "dicom q/r" and sql statement that use the search definition. This would give the possibility for instance to use the same search widget in different places (e.g. in the ctkDICOMQueryRetrieveWidget or ctkDICOMTableManager)
- Improve and extend the XNAT API (Sascha Zelzer, Miklos Espak, Ralf)
- Python Wrapping (Sascha, Nicolas)
- Data editing (post-poned)
- Uploading (Andreas, Ivo)
- Caching (Miklos, (Ralf))
- C++ VS XNAT data model (Nicolas, Andreas)
- Filtered data query based on data type and/or properties (Miklos)
- Launch pipelines (remote) and follow progress (Miklos)
- Make it customisable what options to generate to the final command (Gergely Zombori)
- Finalize integration of CTK CLI frontend into Slicer and investigate how to integrate the backend (Jc)
- Improved entry point / documentation for CLI users & developers
Documentation & Presentation
- Nice landing page?
- Improve wiki? Something different?
Start: The meeting room will be open starting at 9am. Official start and kick-off will be early afternoon after everybody arrived.
- Review topics and projects
- Plans for the week
- Review open issues on github.
- Welcome by Prof. Hans-Peter Meinzer
- Presentation about The Common Toolkit Jubilee
- Steve QIICR
- Michael Onken presentation about upcoming dcmtk modules
- XNAT discussion
- 13:30 Lab Tour
- 16:00 Famous Old City tour guided by Hans-Peter Meinzer
- 20:00 Beer Topics
During the day: hack, hack, hack...
- IGT & OpenIGTLink discussion
During the day: hack, hack, hack…
- Fixed Qt5 DICOM & Plugin Framework issues
- Doxygen fixes
- Started integrating CTK DICOM Widget improvements
- dcmjs: Update to use latest version of emscripten
- dcmjs: create dcmjs.org github project and add deploy mechanism
- dcmjs: Improve user experience of http://dcmjs.org website
- Re-started Slicer CTK CLI integration
- Discussed extension of CLI schema to support optional parameter.
- Improved CTK PythonQt wrapping to support import from regular python shell. See commontk/CTK#520
- Many discussion topics (Chronicle, CLI)
- CLI documentation overview (CTK Wiki)
- Investigated elasticsearch database for CLI modules
- OpenInventor <-> VTK integration
- Added mapping/de-identification functionality to dcmjs (minimal feature set like CTP)
- dcmjs organize tool
- exploring boundaries (extracting data etc.)
- DICOM segmentation object discussions
- How to support CLIs?
- Compiled CTK with new dcmtk snapshot (worked)
- Worked on dcmseg module
- Discussions about QIICR
- Closed a couple of GitHub issues
- Discussions about QIICR, XNAT
- Compiling MRML outside of Slicer
- XNAT upload (qRestAPI changes)
- DICOM discussions (widget usability, anonymization tools)
- Wrapped XNAT library into Python (for usage in NiPype)
- Usage outside of a QApplication needs investigation
- Added possibility for optional CLI parameter
- Started XNAT query API
- Hit API limits -> focus on caching objects
- Needs more discussion
- Qt5 fixes
- Travis integration
During the day: hack, hack, hack...
11:00: Closing discussion
- CLI Elasticsearch (Hans)
- Search for keywords and get matching CLIs
- Use it to browse CLI descriptions and clean-up contents
- commontk/cli-indexer repository. Creates JSON descriptions from CLI XML.
- Every institution could publish the JSON description of their CLIs and publish it
- There is a pypi package for cli-indexer
Afternoon: hack or travel
Travel & Hotel
- Marco Nolden (email@example.com)
- Sascha Zelzer (firstname.lastname@example.org)
- Andreas Fetzer (email@example.com)
It takes about an hour from Frankfurt Airport (FRA) to Heidelberg Main Station with one change in Mannheim. If you stay in the Old Town you can also look for connections going to "Heidelberg Altstadt". You can look it up at Deutsche Bahn, but they run quite frequently.
Local: from the Old Town, "Universitätsplatz", runs bus number 32 (geographic map) via Main Station to DKFZ, exit at "Chirurgische Klinik", bus direction is "Neuenheim". After you exit, DKFZ is on your right.
During the day the bus runs every 10 minutes in both directions, timetables are also available at VRN.
To Frankfurt Airport
The German Railways is affected by a strike from Thursday to Monday morning. Trains will operate on a limited basis - check the website of Deutsch Bahn.
You may also use a Shuttle Bus departing from the Crown Plaza in Heidelberg. It is recommended to book online as early as possible.
We recommend to stay in the historic Old Town. There is an easy direct bus ride every 10 minutes from there to DKFZ.
We have reserved a number of rooms at the Holländer Hof (map) hotel! Please use "CTK 2014" when you do a reservation there. Of course there are plenty of other hotels in that area, e.g. Goldener Hecht or the oldest house in town, Hotel zum Ritter.
The full address for the DKFZ is
Deutsches Krebsforschungszentrum Im Neuenheimer Feld 280 69120 Heidelberg
We will meet in the main building on the second floor (European counting!). The cryptic room number is D0.02.032. Follow the description below to find it.
When leaving bus 32, you will see something similar to
The large building on the right is the DKFZ main bulding
Walk through the main entrance and follow the map
Ask the nice guys at the reception or call us in case of any problems.
November is a rather wet month. Average weather in Heidelberg
Plan on having breakfast at your hotel before the meeting. Please email the organizers if you have any allergies or dietary restrictions.
Being a university and hospital campus, there are several lunch possibilities, including cafeterias, a students mensa, and two restaurants.