NA-MIC National Alliance for Medical Image Computing Sebastien BARRE, Ph.D. / NA-MIC Programmers’ Week 2005.

Slides:



Advertisements
Similar presentations
Getting Started with ITK + VTK
Advertisements

National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
National Alliance for Medical Image Computing Slicer3 Architecture.
Tk. Toolkit n Wish - windowing shell –touch fileName –chmod +x fileName –xedit fileName & –#!/usr/local/bin/wish n Widgets - eg Buttons, Labels, Frames.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Qt Port & qCTKWidgets Steve Pieper, Ph.D.
NA-MIC, 2008 June Workshop, IHK Akademie Westerham KWWidgets Sebastien BARRE - Kitware, Inc.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Version 4 Architecture and Status Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing [Tutorial Name] [List of authors] [Institution] [ of the first author]
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 4 Chapter 4: Working with Graphics APIs.
NA-MIC National Alliance for Medical Image Computing CMR Toolkit Threshold Model Module Salma Bengali, Alan Morris, Josh Cates, Rob.
1 ParaView Current Architecture and History Current Architecture and History Issues with the Current Design Issues with the Current Design.
NA-MIC National Alliance for Medical Image Computing Slicer4 Guided Tour Steve Pieper, Ph.D.
Oct ROOT 2002, CERN, Geneva Qt-Based Implementation of Low Level ROOT Graphical Layer By V.Fine.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Interactive Editor tutorial Sonia Pujol, Ph.D. Surgical Planning Laboratory Harvard.
Software Process for Distributed Teams KITWARE, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
Mobile Web Applications
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
Tcl/Tk package in R Yichen Qin
The University of Texas – Pan American
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC: Core 6, Dissemination Steve.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Advanced BioPSE NCRR SCIRun GUI Guidelines J. Davison de St. Germain Chief Software Engineer SCI Institute December 2003 J. Davison de St.
NA-MIC National Alliance for Medical Image Computing NA-MIC Core 2 Update: Kitware Will Schroeder Kitware NA-MIC Core 2 PI NA-MIC Core.
Advanced EPICS Training, Dirk Zimoch 2008 Channel Access in Tcl/Tk.
Pujol S., Plesniak, W. -1- National Alliance for Medical Image Computing Neuroimage Analysis Center Harvard CTSC Slicer3 minute tutorial Sonia Pujol, PhD.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
NA-MIC National Alliance for Medical Image Computing ParaView Server Manager Berk Geveci Andy Cedilnik.
PERL TK. 4.Use an IDE 3. Use the documentation! 2. Experiment. 1.Learn the basics.
NA-MIC National Alliance for Medical Image Computing Slicer and ITK Raul San Jose.
NA-MIC, 2008 June Workshop, IHK Akademie Westerham VTK
VTK: The Visualization Toolkit Qaiser Chaudry Georgia Institute of Technology June 28, 2006.
Applets Yong Choi School of Business CSU, Bakersfield.
NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006.
How the Session Works Outline Practical on arrival Talk 1 Reflect on practical Clarify concepts Practical exercises at your own pace Talk 2: Further concepts.
NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Using Annotations in Slicer 4.0 Yong Zhang, Kilian Pohl June 2010.
NA-MIC National Alliance for Medical Image Computing 3D Slicer and the NA-MIC Kit for IGT Research Steve Pieper, PhD NAC, SPL, NA-MIC,
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing ©
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 13 GUI Programming.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
Porting a large scale enterprise application from Tcl/Tk 8.4 to 8.5 Prashant Thakre, Tushar Gupta {prashant_thakre, Gaurav Bansal.
NA-MIC National Alliance for Medical Image Computing Slicer 2010: Past, Present, and Future Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.
Slicer 3 Ron Kikinis, Steve Pieper. CTK Workshop Heidelberg, June 29/30, 2009 Slicer Goals  Stable, Usable, Cross Platform, End-User Software for Medical.
NA-MIC National Alliance for Medical Image Computing Kitware, Inc. Core 2 Engineering William J. Schroeder.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
NA-MIC National Alliance for Medical Image Computing Slicer 2010: Past, Present, and Future Steve Pieper, Ph.D.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
RAPID: THE RAPID ADA PORTABLE INTERFACE DESIGNER Martin Carlisle Department of Computer Science US Air Force Academy.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Introduction Will Schroeder Kitware, Inc.
Topics Graphical User Interfaces Using the tkinter Module
Steve Pieper, PhD Raul San Jose, PhD Alex Yarmarkovich, PhD
IT.CAS.Web2.0 Kyle Erickson
Slicer3 Architecture.
This Week: Tkinter for GUI Interfaces Some examples
Topics Graphical User Interfaces Using the tkinter Module
NA-MIC, 2008 June Workshop, IHK Akademie Westerham KWWidgets
Presentation transcript:

NA-MIC National Alliance for Medical Image Computing Sebastien BARRE, Ph.D. / NA-MIC Programmers’ Week 2005

National Alliance for Medical Image Computing What is KWWidgets ? A GUI toolkit –Cross-platform –Open-license –Free

National Alliance for Medical Image Computing What is KWWidgets ? A GUI toolkit that provides low-level and high-level visualization-oriented widgets Vs.

National Alliance for Medical Image Computing What is KWWidgets ? Over 100 C++ classes used by Kitware to develop complete open-source and commercial end-user applications for more than 7 years

National Alliance for Medical Image Computing What is KWWidgets ?

National Alliance for Medical Image Computing What is KWWidgets ?

National Alliance for Medical Image Computing What is KWWidgets ?

National Alliance for Medical Image Computing Features Object-oriented C++ layer on top of Tcl/Tk Inherit from the VTK coding framework checkbutton.cb1.cb1 config -text "A checkbutton".cb1 deselect pack.cb1 vtkKWCheckButton *cb1 = vtkKWCheckButton::New(); cb1->SetParent(parent); cb1->Create(app); cb1->SetText("A checkbutton"); cb1->DeSelect(); app->Script("pack %s", cb1->GetWidgetName());

National Alliance for Medical Image Computing Features Can interact with Tcl/Tk from C++ app->Script("frame.myframe"); app->Script("pack.myframe"); vtkKWWidget *myframe = vtkKWWidget::New(); myframe->SetWidgetName(".myframe"); myframe->SetBackgroundColor(0.2, 0.5, 0.8); vtkKWCheckButton *cb = vtkKWCheckButton::New(); cb->SetParent(myframe); cb->Create(app); cb->SetCommand(NULL, ".myframe config –bg #223344"); app->Script("pack %s", cb->GetWidgetName());

National Alliance for Medical Image Computing Features Can interact and co-exist with Tcl/Tk directly from Tcl/Tk or Slicer Wrapped into a Tcl package just like VTK/ITK Fast-prototyping

National Alliance for Medical Image Computing Features vtkKWCheckButton *cb1 = vtkKWCheckButton::New(); cb1->SetParent(parent); cb1->Create(app); cb1->SetText("A checkbutton"); cb1->DeSelect(); app->Script("pack %s", cb1->GetWidgetName()); package require kwwidgets vtkKWCheckButton cb1 cb1 SetParent $parent cb1 Create $app cb1 SetText "A checkbutton" cb1 DeSelect pack [cb1 GetWidgetName] … button.b -text "My Button" pack.b

National Alliance for Medical Image Computing Features Testable –Use CMake/CTest/Dashboard framework –Trace framework

National Alliance for Medical Image Computing Overview Core widgets Composite widgets VTK widgets Helper classes

National Alliance for Medical Image Computing Overview Core widgets vtkKWCanvas vtkKWCheckButton vtkKWEntry vtkKWFrame vtkKWLabel vtkKWListBox vtkKWMenu vtkKWOptionMenu vtkKWPushButton vtkKWRadioButton vtkKWScale vtkKWScrollbar vtkKWText vtkKWThumbWheel vtkKWTopLevel vtkKWTree …

National Alliance for Medical Image Computing Overview Composite widgets vtkKWChangeColorButton vtkKWDialog vtkKWExtent vtkKWListBoxToListBoxSelectionEditor vtkKWHSVColorSelector vtkKWNotebook vtkKWProgressGauge vtkKWRange vtkKWSelectionFrame vtkKWSelectionFrameLayoutManager vtkKWSplashScreen vtkKWSplitFrame vtkKWTclInteractor vtkKWToolbar vtkKWToolbarSet vtkKWUserInterfaceManager vtkKWUserInterfacePanel vtkKWWidgetSet vtkKWWidgetWithScrollbars vtkKWWindow …

National Alliance for Medical Image Computing Overview VTK widgets vtkKWColorPresetSelector vtkKWColorTransferFunctionEditor vtkKWCornerAnnotationEditor vtkKWHeaderAnnotationEditor vtkKWPiecewiseFunctionEditor vtkKWRenderWidget vtkKWScalarBarAnnotation vtkKWScalarComponentSelectionWidget vtkKWTextPropertyEditor vtkKWVolumeMaterialPropertyWidget vtkKWVolumePropertyWidget …

National Alliance for Medical Image Computing Overview Helper classes vtkKWApplication (init Tcl, event loop, windows, version, registry, splashscreen, help/about, , updates) vtkKWBalloonHelpManager vtkKWDragAndDropTargetSet vtkKWEventMap vtkKWHistogram vtkKWHistogramSet vtkKWIcon vtkKWMostRecentFilesManager vtkKWRegistryHelper vtkKWResourceUtilities vtkKWTkOptions vtkKWTkUtilities …

National Alliance for Medical Image Computing Examples A simple image viewer using KWWidgets and VTK

National Alliance for Medical Image Computing Examples package require kwwidgets vtkKWApplication app app RestoreApplicationSettingsFromRegistry app SetHelpDialogStartingPage \ " vtkKWWindowBase win win SupportHelpOn app AddWindow win win Create app vtkKWRenderWidget rw rw SetParent [win GetViewFrame] rw Create app rw CornerAnnotationVisibilityOn pack [rw GetWidgetName] -side top -expand y -fill both \ -padx 0 -pady 0 vtkXMLImageDataReader reader reader SetFileName "head100x100x47.vti" vtkImageViewer2 viewer viewer SetRenderWindow [rw GetRenderWindow] viewer SetRenderer [rw GetRenderer] viewer SetInput [reader GetOutput] vtkRenderWindowInteractor iren viewer SetupInteractor iren rw ResetCamera set ca [rw GetCornerAnnotation] $ca SetImageActor [viewer GetImageActor] $ca SetWindowLevel [viewer GetWindowLevel] $ca SetText 2 " " $ca SetText 3 " \n " vtkKWScale slice_scale slice_scale SetParent [win GetViewFrame] slice_scale Create app slice_scale SetRange \ [viewer GetWholeZMin] [viewer GetWholeZMax] slice_scale SetValue [viewer GetZSlice] slice_scale SetCommand "" \ {viewer SetZSlice [slice_scale GetValue] ; rw Render} pack [slice_scale GetWidgetName] -side top -expand n \ -fill x -padx 2 -pady 2 app Start rw Delete reader Delete viewer Delete iren Delete slice_scale Delete win Delete app Delete

National Alliance for Medical Image Computing Examples KWWidgetsTour –Show all widgets –Provide Tcl vs. C++ code comparison

National Alliance for Medical Image Computing Documentation Web: Wiki: API: Tutorial and examples available in the source: cvs –d co KWWidgets Thank you. Give it a try !