CTK-Hackfest-Feb-2011: Difference between revisions

From Commontk
Jump to navigationJump to search
Line 102: Line 102:
**** Although we may not implement all of BIR, it might be nice to follow the BIR GUI conventions, such as behavior of the mouse and mouse buttons, the study/series strip, the basic GUI icons and behavior.  Perhaps these could be widgets or objects in CTK, to make it easy for users/developers to create applications that follow the spirit of BIR conventions?
**** Although we may not implement all of BIR, it might be nice to follow the BIR GUI conventions, such as behavior of the mouse and mouse buttons, the study/series strip, the basic GUI icons and behavior.  Perhaps these could be widgets or objects in CTK, to make it easy for users/developers to create applications that follow the spirit of BIR conventions?
**** Note that we can jazz up (e.g. use 3D shading, change button shape, color) the standardized icons shown in the profile and still be compliant, as long as the basic icon form (e.g. arrow, double arrow, etc.) is recognizable.
**** Note that we can jazz up (e.g. use 3D shading, change button shape, color) the standardized icons shown in the profile and still be compliant, as long as the basic icon form (e.g. arrow, double arrow, etc.) is recognizable.
** Local DICOM Directory and Database Structure
<pre>
<ctkDICOMDirectory>/
                    ctkDICOM.sqlite  # index to files in this dir
                    thumbnails/
                              <PatientUID>/
                                            <StudyUID>/
                                                      <SeriesUID>/
                                                                  <InstanceUID>.png # one png per instance
                    DICOM/
                          <PatientUID>/
                                      <StudyUID>/
                                                  <SeriesUID>/
                                                              <InstanceUID>.dcm # the dicom file
ctkDICOMDirectory is the one configured in the ctkDICOMViewer directory select box.
ctkDICOM.sqlite caches some header values from the files locally but can also point to external directories (depending on the state of the checkbox when the user selects the Import option in the ctkDICOMViewer.
</pre>


* Application Hosting
* Application Hosting

Revision as of 10:01, 9 February 2011

Home < CTK-Hackfest-Feb-2011
CTK team hacking in Georgetown...
CTK team hacking in Heidelberg...

Introduction

Date: February 7-11, 2011

Location: Chapel Hill, North Carolina, USA: The Franklin Hotel

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

Requirements: Attendees must be 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: Kitware's office in North Carolina: Julien Finet, Jean-Christophe Fillion-Robin, 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.

Attendees

Please add your name below or email the hackfest organizers if you wish to attend the Hackfest. Please also indicate if you plan on staying at the hotel (anticipated room rate is $139/night):

Name Organization Staying at Hotel
Jean-Chistophe Fillion-Robin Kitware No
Julien Finet Kitware No
Steve Pieper Isomics Yes
Ivo Wolf Hochschule Mannheim Yes
Stephen Aylward Kitware No
Marco Nolden DKFZ, Heidelberg Yes
Sascha Zelzer DKFZ, Heidelberg Yes
Daniele Giunchi SCS, Bologna Yes
Benoît Bleuzé INRIA, Sophia-Antipolis Yes
Lawrence Tarbox Washington University St. Louis Yes
Nicholas Herlambang AZE, Japan Yes

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

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

DICOM

  • ctkDICOM app functionality
    • Q/R
      • make CTK work with the official DCMTK release, maybe host the find-scu code in CTK
      • integrate with DICOM central test node
    • integrate indexer and SQLite
      • Parse DICOMDIR
    • ctkDICOMWidgets design and implementation plan [1]
      • Display Study/Series
    • IHE standardized viewer application built using ctk? (icons, naming)
      • Drill down to images
      • Possibly follow guidelines from the IHE Basic Image Review (BIR) Profile
        • Although we may not implement all of BIR, it might be nice to follow the BIR GUI conventions, such as behavior of the mouse and mouse buttons, the study/series strip, the basic GUI icons and behavior. Perhaps these could be widgets or objects in CTK, to make it easy for users/developers to create applications that follow the spirit of BIR conventions?
        • Note that we can jazz up (e.g. use 3D shading, change button shape, color) the standardized icons shown in the profile and still be compliant, as long as the basic icon form (e.g. arrow, double arrow, etc.) is recognizable.
    • Local DICOM Directory and Database Structure
<ctkDICOMDirectory>/
                    ctkDICOM.sqlite  # index to files in this dir
                    thumbnails/
                               <PatientUID>/
                                            <StudyUID>/
                                                       <SeriesUID>/
                                                                   <InstanceUID>.png # one png per instance
                    DICOM/
                          <PatientUID>/
                                       <StudyUID>/
                                                  <SeriesUID>/
                                                              <InstanceUID>.dcm # the dicom file

ctkDICOMDirectory is the one configured in the ctkDICOMViewer directory select box.
ctkDICOM.sqlite caches some header values from the files locally but can also point to external directories (depending on the state of the checkbox when the user selects the Import option in the ctkDICOMViewer.
  • Application Hosting
    • Hosting Logic
    • QtSOAP vs Axis2C implementation details
      • Should be discussed but probably not be changed during hackfest
    • How does data move? Rendering tie in? Need to handle dynamic data?
    • What level of demo application is possible?
      • Interoperable with C# and Java Implementation?
      • Example hosted command line modules? (file based)
      • Start work on DICOM native models ("trickle in data")
    • Hosted Interface Generation

Widgets

  • Light image viewer

Events and Communications

  • Event Bus integration: Daniele and Sascha
    • Driving use case
      • Multi-process communication within an app
        • Remote GUI/Viewer
        • Stream bitmap
    • Move protocol to core library
    • Create new connector for remote comm (remote event bus)
      • Using zeromq: http://www.zeromq.org/
        • Addresses limitations of QtSOAP
      • Complimentary to DICOM App Hosting
        • For arbitrary comm between remote apps

GIT / Gerrit

  • Review wiki instructions

Agenda

  • Sunday
  • Monday
    • 0900 - 1000: Welcome and Project overviews and goals
    • 1000 - 1800: Hacking
  • Tuesday
    • 0900 - 1800: Hacking
    • 1800: "Pint Night" at Tyler's Bar and Grill
  • Wednesday
    • 0900 - 1800: Hacking
  • Thursday
    • 0900 - 1800: Hacking
  • Friday
    • 0900 - 1200: Project reviews and future plans

Travel & Hotel

Local contact

  • If you have any troubles during your visit, call Stephen on his cellphone: 1-919-423-8072

Airport

  • Raleigh-Durham Airport (RDU): RDU hosts international flights from Frankfurt, London, and Toronto; as well as frequent flights from New York, Washington DC, Atlanta, and many others.
  • Taxi ride from the airport to the hotel is about $40 and takes about 30 minutes.

Lodging

  • The Franklin Hotel: We have reserved a block of rooms at a reduced rate. Mention that you are part of the "KITWARE INC" meeting. The negotiated rate is $139 per night.
    • RESERVATIONS MUST BE MADE BY FRIDAY, JANUARY 28TH.
    • The Franklin Hotel is central to the business district of Chapel Hill and 0.5 miles from the University of North Carolina campus MAP.

Meeting Location

  • The Franklin Hotel: The meeting room will be at the Franklin Hotel. They will be providing snacks and drinks throughout the day.

Weather

  • Average min/max temperature in February in Chapel Hill: 32F/55F

Connectivity

  • TBD