CTK-Hackfest-May-2013
Event pictures
Images from the hackfest
Introduction
Date: May 20-24, 2013
Location: Kingston, Ontario, Canada. In a classroom at Queens University.
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: Gabor Fichtinger, Csaba Pinter, Andras Lasso
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.
Attendees
- 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 |
---|---|
Steve Pieper | Isomics, Inc., Cambridge, MA, USA |
Ivo Wolf | Hochschule Mannheim |
Marco Nolden | German Cancer Research Center (DKFZ) |
Sascha Zelzer | German Cancer Research Center (DKFZ) |
Andreas Fetzer | German Cancer Research Center (DKFZ) |
Florian Vichot | INRIA |
Lawrence Tarbox | Washington University, St. Louis |
Andras Lasso | Queen's University, Kingston, ON |
Csaba Pinter | Queen's University, Kingston, ON |
Alberto Biancardi | The University of Sheffield, UK |
Xenios Papademetris | Yale University US |
Name | Organization |
---|---|
Jean-Christophe Fillion-Robin | Kitware Inc. |
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.
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.
Phone conferences have been scheduled in the weeks leading to the event:
- To be announced
Topics and Projects
DICOM Application Hosting
- Interoperability testing of CTK with other Application Hosting code
- Results:
- Slicer as Hosted Application (Ivo, Lawrence, Steve)
- launch hosted app, send data
- loaded into slicer for manipulation
- changed data detected automatically
- TODO: data sent back to host
- Slicer as Hosted Application (Ivo, Lawrence, Steve)
- Plans
- finish data return to host by end of next hackfest ;)
- show the corresponding MITK hosted application
- Lawrence to test this against the XIP hosting implementation
- Testing framework to be updated
DICOM Database and Networking
- Review implementation issues when using CTK DICOM
- Discuss DICOM-RT for CTK
- Discuss DICOM Export options
- CLI outputs converted into real DICOM
- RT and other non-imaging types
- GUI Issues
- Lower-level dcmrt issues, possible use of DKFZ toolkit
- Use of various tools (VTK, ITK, Plastimatch), validation
- GUI
- Results
- New DB table of display overrides
- New table view of patient/study/series - ctkDICOMTableView
- New Layout control for ctkDICOMBrowser to replace tree and ctkDICOMModel
- New signals to match use cases
- Plans
- issue #336 - create replacement for ctkDICOMAppWidget and deprecate old (Marco)
- issue #337 - implement signals from table view (Marco and Andras with Steve)
- issue #331 - to be completed soon by Andreas
- issue #332 - ctkDICOMTableManager to control layouts (also Andreas)
- issue #276 - fix up RT use cases (Andras and Csaba)
- Review naming View vs. Widget
- Look into re-using http://www.commontk.org/index.php/File:CtkSearchBox3.png
- Marco is making ctkDICOM2
Widgets
- Spin box development [4]
ctkDICOMModel and display of real-world patient data (RT special cases for example)-- Compare widget plans with current set.
- Qt5 Compatibility?
Working on VTK / Qt5 compatibility- VTK6 topic : http://review.source.kitware.com/#/t/2803
- Results
- Miklos and Julien developed plan for resolving spin box features: there will be a ctkDoubleSpinBox with new precision features migrated from current ctkSpinBox and Miklos's changes to expose more of the QSpinBox features.
- Jc was Qt5+VTK6 issues and plans to backport them to VTK5.10
Tests Framework
- Qt testing framework
- Checkpoint verification
- Possibly help debugging when a test is failing and fixing a test
- Check log for warnings and errors
- Integrate with Error Log widget and the app launcher (but won't work on mac)
- Suggest as something for student at CREATIS
- Rotating log files
- capturing screen during test to help diagnose failures
- capturing all output to log files and flushing
- report crash utility for user to send all files to file issue
- auto-detect crashes using some kind of token
- track the exact version of libraries and stack traces (platform specific) Look into google crashpad.
- Review squish video: http://www.froglogic.com/squish/gui-testing/squish-qt-webinar-qanda.php
- Results & Plans
- CREATIS group attended hangout and plans to contribute to QtTesting
Build Systems & Software process
DCMTK build issues [5] [6]Fixed by 74b4b07b9- A drop-in CMake module allowing to easily setup Superbuild project.
- Consolidate CTK, Slicer, .. approach
- Collection of "External_XXX.cmake" file that could easily be re-used ? (See https://github.com/BRAINSia/NAMICExternalProjects)
Finalize work related to qRestAPI project (pending since Bologna hackfest)History cleaned and pushed: https://github.com/commontk/qRestAPI- Results
- Fixed and tested the DCMTK build issues
- Windows build issues identified for PythonQt on windows vs 2010/2012 (include order of std vector header)
- Still some more issues, likely also to do with include order
Command Line Modules
- Using CLI XML to build stand-alone widget [7][8]
- Contribute Slicer fixes to CLI infrastructure. See https://github.com/jcfr/CTK/tree/279-tweak-cmdlinemodule-library-for-slicer-integration
- Hierarchy nodes preserved on CLI execution
- keep the CLI simple.
- xinclude to allow people to centralize their grant support and other boilerplate info
Agenda
Monday
Opening discussion
- Review topics and projects
- Plans for the week
Evening: BBQ at the Fichtinger residence
Tuesday
During the day: hack, hack, hack...
Evening: Dinner and beers at the Kingston Brewery
Wednesday
During the day: hack, hack, hack... 10:30 Hangout to review status
Evening: Kingston Haunted Walks
Thursday
During the day: hack, hack, hack...
Evening: BBQ by the gazebo on the waterfront
Friday
During the day: hack, hack, hack...
Late morning; Closing discussion
https://plus.google.com/hangouts/_/33c4f3b6fd88ee2330172c2c91439632c7d6e9b6?authuser=0&hl=en
- Next hackfest in London, UK!?!
- Then back in North America - St. Louis - when?
Afternoon: hack or travel
Gallery of Results
Images from the hackfest
Travel & Hotel
Local contact
Need any help in organizing your visit, contact Andras Lasso (lasso@cs.queensu.ca). If you have any troubles during your visit, call TBD.
Airport
- Option A: Fly into Kingston via Toronto
- Option B: Fly into Toronto, take a bus to Kingston
- Recommended: Coach Canada direct bus from Toronto Airport to Kingston, leaves twice a day: 2.30pm and 7pm. You can buy the ticket from a Kiosk at the airport or buy online
- Megabus from Toronto downtown: get to the Toronto Coach Terminal, take a bus to Kingston, leaves in about every hour. Online reservation is strongly recommended, as early as possible, because the prices are continuously increasing (starts from $1 and increased to about $40).
Transportation on Site
Take a cab at the Kingston airport or bus terminal to your hotel. After that everything is in walking distance.
Lodging
Be aware there is a Queen's event during the week of the hackfest so try to book your hotel early
- Frontenac http://www.frontenacclub.com Queen’s rate $143 per day (plus tax)
- The Belvedere http://www.hotelbelvedere.com is a small hotel of Colonial character, they only have 20 rooms.
- Holiday Inn Kingston Waterfront, http://www.hikingstonwaterfront.com/ about $140
- There are cheaper motels (Super-8 for $100 / night)
Meeting Location
Queen's University, Kinesiology building, room #107.
Weather
Can be still chilly in May, average temperature is about 15°C.
Food
Plan on having breakfast at your hotel before the meeting. A variety of lunch options will be available, as will access to snacks and beverages during the day. Please email the organizers if you have any allergies or dietary restrictions.
Optional Activities in the Area
- Boat Cruise in Thousand Islands
- Trip to Niagara Falls (Sat-Sun)
- Wildlife Canoeing (Thousand Islands, Bon Echo, Charleston Lake, etc.)
- Kingston Haunted Walks
- Art after dark:
- Canadian Souvenirs: Red Maple, some stuff they sell: http://shop.red-maple.ca/