1 / 7

3D Slicer

3D Slicer. Qt Port & qCTKWidgets Steve Pieper, Ph.D. Background. 3D Slicer version 3.x use KWWidgets VTK-style interface to Tk 3D Slicer 1.x, 2.x used Tk directly Qt rejected for license reasons This has changed  NIH Supplement to help with port 9/17/2009 - 9/16/2011

ruth-perez
Download Presentation

3D Slicer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D Slicer Qt Port & qCTKWidgets Steve Pieper, Ph.D.

  2. Background 3D Slicer version 3.x use KWWidgets VTK-style interface to Tk 3D Slicer 1.x, 2.x used Tk directly Qt rejected for license reasons This has changed  NIH Supplement to help with port 9/17/2009 - 9/16/2011 http://www.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI William Schroeder, Ph.D., 8% Stephen Aylward, Ph.D., 5% Jean-Christophe Fillion-Robin, 50% Julien Finet, 50% Sebastien Barre, Ph.D., 5% + the rest of the slicer development team

  3. Overall Plans Create Qt/KWW co-existence layer (done!) Prototype a few modules (done!) Create an architecture for Qt based modules (in process) Train developers (first session at January 2010 Project Week) Port modules (ongoing through 2010…) Turn off KWW (by end of 2010?) Continual Improvement (through end of supplement and beyond…)

  4. CTK Opportunity Serendipity: CommonTK appears at just the right time Agreed at CTK Oxford meeting: Non-slicer-specific subset of new Qt-based GUI the first pass at CTK’s widget set qCTKWidgets Only depends on Qt (not slicer code) Currently residing in Slicer3 svn for convenience (will migrate to commontk.org) Open for contributions from other CTK members

  5. Initial Widgets qCTKAbstractFactory qCTKAbstractLibraryFactory qCTKAbstractObjectFactory qCTKAbstractPluginFactory qCTKAbstractQObjectFactory qCTKAddRemoveComboBox qCTKCollapsibleGroupBox qCTKCollapsibleWidget qCTKCollapsibleWidget2 qCTKColorPickerButton qCTKCoordinatesWidget qCTKFittedTextBrowser qCTKFlowLayout qCTKMatrixWidget qCTKNumericInput qCTKSlider qCTKSliderSpinBoxLabel qCTKTitleComboBox qCTKTreeComboBox

  6. Other Qt code in Slicer qMRMLWidgets GUI for interacting with slicer’s data model Depends on MRML, VTK, ITK Base/QTGUI Implements blocks of slicer application Base/QTCLI Wrappers for Command Line Interface modules (xml-based slicer execution model programs) QTModule Slicer modules implemented in Qt using QTGUI, qMRMLWidgets, qCTKWidgets Applications/QTGUI (to do) Main programs built with Qt

  7. Next Steps / Wishlist / Issues Eventually want all the widgets listed here: http://www.commontk.org/cgi-bin/trac.cgi/wiki/WidgetPlans Slicer Qt Port will not generate all of these May subdivide qCTKWidgets by dependencies: Qt only; Qt+VTK, Qt+dcmtk, Qt+VTK+dcmtk Want to leverage Qt community (for example, Qxt) qCTKWidgets may need to be LGPL Python Scripting (cannot be commercial or GPL) PythonQT until PySide is available? Conventions Coding, naming, debugging, capitalization… Additional funding

More Related