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. |
Introduction
Date: September 13-17 2010
Location: Barcelona
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)
- Steve Pieper, Isomics, Inc., USA
- Ivo Wolf, Hochschule Mannheim and DKFZ, Germany
- Marco Nolden, DKFZ, Germany
- Sascha Zelzer, DKFZ, Germany
- Julien Finet, Kitware, USA
- Jean-Christophe Fillion-Robin Kitware, USA
- 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.
We plan to hold weekly phone conferences during the month leading up to the actual hackfest. Be prepared to discuss projects so we can make the most effective use of the face-to-face hackfest time.
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!)
Schedule Talkfest
- Pick a time and place for a talkfest in the US (perhaps at Washington University in St. Louis).
Review driving application
- First: Define the purpose of CTK:
- Candidate: CTK is meant to span the boundaries of current toolkits and applications. Specifically, its parts are intended to be easily integrated into current software systems and help them address software engineering challenges that impede their clinical use. We are currently focusing simplifying the challenging tasks of (1) integrating DICOM Q&R functionality into applications (i.e., thereby enabling the integration of applications into the data workflow of a clinical environment) and (2) providing clean and effective user interfaces that are appropriate for use in a clinical environment (e.g., intuitive user-interface widgets for window and level selection). Future challenges to be addressed include methods for software testing, event handling, and more.
- Second: Define the driving application to be bundled with CTK (that demonstrates the WOW!/utility of CTK).
- Candidate: The WOW! application could be achieved by working towards three goals:
- Goal1: Provide Qt widgets for browsing data on a PACS and downloading (Q&R) select images to local disk.
- Should support batch download based on selected slices, series, studies, and patients.
- Would be nice to save in another format such as NIFTI, but that is a nice-to-have.
- Query/browse Qt widget would show results as a tree (patient, study, series, images) with optional keys (sex, etc), when available
- Provide progress reporting of transfers
- This would be HUGE for the community. Imagine having a small set of Qt/DCMTK widgets that combined together form a Q&R workstation. This is a great place to start sharing. We may eventually want to involve Dan Blezek.
- Goal2: slice-based view of downloaded data (data on disk)
- Qt image viewer with intensity window/level and not much more. This is meant to be minimalistic.
- Goal3: initiate processing on data (server-based data or downloaded data) using the dicom plug-in standard
- This is where we can really help the community. Provide a C++ reference implementation, and some Qt widgets that help initiate calls to available services.
- Goal1: Provide Qt widgets for browsing data on a PACS and downloading (Q&R) select images to local disk.
- Candidate: The WOW! application could be achieved by working towards three goals:
Organization and Workflow
- First day will be dedicated to code organization and policies for git-based workflow.
- expected result will be a set of procedures for dissemination to the ctk community for comment and adoption.
DICOM
- Review of ITKv4 DICOM Plans and discussion of DCMTK and GDCM.
Widgets
- Review status of Qt-based CTK widget developments
- Slicer4, DTK, GoFigure (others?)
Plugins, Modules
(utilities for discovering and invoking code blocks)
- Use case demonstrating the benefits of the plugin framework (Slicer Command Line Plugins?)
- Integration of Qt SOAP (?) http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsoap/ for DICOM application hosting
Old:
- Plugins: not-application dependent (like a java plugin that runs in firefox or internet explorer or in our case something like a registration routine that gets invoked from a host application)
- Modules: rely on some of the API of the host application (like a loadable module that creates a custom GUI using a Qt API so it may work in more than one Qt-based application)
Interoperability
(gluing toolkits together)
- VTK/OpenInventor shared OpenGL rendering context
Events and Communications
(run-time messaging within and among applications)
- ZMQ
- OpenIGTLink
- Event Bus (MAF, Patrick's ZMQ)
Integration
(using CTK code in different applications)
- Change the private implementation macros to behave like Qt (derivable pimples)
- Improve unit testing macros (interactive mode, property check...)
Travel & Hotel
Travel
- Airport
- El Prat (airport code: BCN). Located at 15km from the city center, is where most international flights arrive. Accessible by Train, Bus+Metro and Taxi.
- Option 1. Take the AeroBus to "Barcelona-Pl. Catalunya" (5 eur 30 min). Take the underground L1 red line direction L1-Fondo, from L1-Catalunya to L1-Glòries (1,4 eur 10 min). Take care of your wallet in the city center.
- Option 2. Take the taxi until Glorias shopping centre (30 eur 30 min)
- Girona (airport code: GRO). Located at 90 km from Barcelona, low cost flights from Ryanair company arrive here. Only accessible by Bus.
- Take the Sagales bus (Barcelona way) to "Estacio del Nord" in Barcelona (75 min). In "Estacio del Nord" take the underground red line L1 direction L1-Fondo, from L1-Arc de Triomf to L1-Glòries (1,4 eur 10 min).
- El Prat (airport code: BCN). Located at 15km from the city center, is where most international flights arrive. Accessible by Train, Bus+Metro and Taxi.
- Location
- The event will occur in Communication Campus of the Universitat Pompeu Fabra, Barcelona.
- Universitat Pompeu Fabra – CISTIB: C/ Roc Boronat , 138, 08018 Barcelona
- Gooogle Map location. The building is finished, even if in the map appears in construction :-)
- Meeting room number is 52.415
Hotel
TBD
Connectivity
- We will provide both wired and wireless connection