<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kteich</id>
	<title>NAMIC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kteich"/>
	<link rel="alternate" type="text/html" href="https://www.na-mic.org/wiki/Special:Contributions/Kteich"/>
	<updated>2026-04-06T08:47:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Special_topic_breakout:_KWWidgets&amp;diff=12655</id>
		<title>Special topic breakout: KWWidgets</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Special_topic_breakout:_KWWidgets&amp;diff=12655"/>
		<updated>2007-06-26T18:46:39Z</updated>

		<summary type="html">&lt;p&gt;Kteich: /* From KWW-Users mailing list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ProjectWeek-2007.png|thumb|300px|left|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]]]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KWWidgets Breakout Session&lt;br /&gt;
&lt;br /&gt;
June 26th, 1-2pm&lt;br /&gt;
&lt;br /&gt;
Location: [[Meeting_Locations:MIT_Grier_A_%26B|Grier Rooms A &amp;amp; B: 34-401A &amp;amp; 34-401B]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attendees: ===&lt;br /&gt;
* Yumin Yuan&lt;br /&gt;
* Steve Pieper&lt;br /&gt;
* Alex Yarmarkovich&lt;br /&gt;
* Wendy Plesniak&lt;br /&gt;
* Nicole Aucoin&lt;br /&gt;
* Curt Lisle&lt;br /&gt;
* Csaba Csoma&lt;br /&gt;
* Brad Davis&lt;br /&gt;
* David Gobbi&lt;br /&gt;
* Kiran Shivanna&lt;br /&gt;
* Kevin Teich&lt;br /&gt;
* Jeff Hawley&lt;br /&gt;
* Xiujuan Geng&lt;br /&gt;
* James Harris&lt;br /&gt;
* Gary Christensen&lt;br /&gt;
* Paul Song&lt;br /&gt;
* Alex. Gouaillard&lt;br /&gt;
* Vincent Magnotta&lt;br /&gt;
* Kiran Shivanna&lt;br /&gt;
* Katie Hayes&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
=== Agenda ===&lt;br /&gt;
&lt;br /&gt;
* Roadmap (to help KWWidgets developers prioritize their work)&lt;br /&gt;
* Widget feature requests / feedback&lt;br /&gt;
* Talk about best approaches to making some widget behavior appear consistent across platforms.&lt;br /&gt;
* Separate Tutorial Session for New Users (to happen possibly on Wednesday).&amp;lt;br&amp;gt;'''Hint:''' ''Seb: I just added a tentative Tutorial 1 that tackles creating a very simple composite widget. See [http://kwwidgets.org/cgi-bin/viewcvs.cgi/Examples/Cxx/Tutorial1/?root=KWWidgets Examples/Cxx/Tutorial1]. I need to write the corresponding documentation.''&lt;br /&gt;
&lt;br /&gt;
=== Specific Issues ===&lt;br /&gt;
&lt;br /&gt;
==== From Nicole Aucoin====&lt;br /&gt;
Directory selection dialog box on linux:&lt;br /&gt;
&lt;br /&gt;
* Bug: it pops up with a default width such that the right scroll bar isn't visible (see this [http://www.na-mic.org/Wiki/index.php/Image:KWDirectoryBrowserLinuxTooShort.jpg screenshot]; to reproduce it, start up Slicer3, go to the Models module, click on &amp;quot;Load Directory&amp;quot;).&amp;lt;br&amp;gt;'''Hint:''' ''Seb: the quickest workaround (Yumin?) at this point would be to make the default width a tad larger so that the right scrollbar button shows up.'' &lt;br /&gt;
&lt;br /&gt;
* Request: an entry box where I can type a path to reduce clicking through the tree (useful before setting up a favourite)&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Very doable (Yumin?). Let's put all requests in the TODO list and prioritize.'' &lt;br /&gt;
&lt;br /&gt;
==== From Curtis Lisle====&lt;br /&gt;
&lt;br /&gt;
* I have had trouble initializing widgets to specific values in advance of user input.  For example, I've created interfaces  with sliders and buttons but I have had trouble getting the widgets toinitialize in a state different then the default state.  For example, setting a slider to value=26 in the middle of its range without dragging the mouse.  The API looks like it is there, but I couldn't get it to work for me.  I'm sure I tried setting the state before and after creation, if I remember, but no luck.  It may be that I'm not updating the GUI successfully after changing values. Update: see [http://www.na-mic.org/Wiki/index.php/Image:KWMeshViewer030607.png screenshot]; by state, I mean the widget-specific state, such as a check button is checked, or a slider is set at a particular value within its range. For example, the &amp;quot;Outline Display&amp;quot; button could be checked  ON via API control of the program, not the user clicking on it. Before this picture was taken, I dragged the &amp;quot;element size&amp;quot;  slider to 93% via the mouse.  I'd like to instantiate the GUI, then set the actual positions and state values of the widgets. I just need clarity on the order of events to invoke through the API or help figuring out what I'm doing wrong.  I notice that for KWWidgets, State usually means enabled/disabled to process user events. Instead, I am thinking about setting widget values from the program. I guess for CheckButtons, this would be Get/SetSelectedState(). For a vtkKWScale, this would be SetValue(). I tried setting these but didn't see the effect on the GUI. Maybe I am just not invoking Modified() correctly afterwards.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Not sure on this one. Setting the values programmatically is something that is done in all our apps and it is a pretty important part of how the application works through callbacks. For most widgets, setting a value before calling Create() *should* work, but it never hurts do make sure it is done *after* Create(), to be on the safe side. There is no need to call Modified(), at least on the core widgets like checkbuttons or scales, the UI should be updated right away. You can even do it at runtime through the Tcl interpreter. So I guess we would need to see the code: it is possible that as soon you set a new value, an event is triggered (like ModifiedEvent) and some other part of your app that would listen to this event would set that widget back to its previous value. In term of Model/View/Controller pattern, the UI/view is supposed to reflect the state/values of a model; if you designed your app that way and it is possible that your controller is always resetting the UI to the current model's value.''&lt;br /&gt;
&lt;br /&gt;
* discuss when UI elements need to have Modified() / Update()invoked to refresh their appearance. I used a histogram widget on a project and had to experiment a lot calling the panel and RenderWidowWidget, etc. before I finally got the histogram to update when the input changed.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: it's mostly widget dependent, but for the core widgets, you should not have to call Modified(), or Update() (which is not part of the vtkKWWidget superclass anyway). For some composite widgets, they should be smart enough to be always 'up to date', but sometimes being up to date is so costly that a manual call to a method is needed (which might be called Update()). The histogram, to my knowledge, is indeed the trickiest one, sorry :) You do not want to have the histogram updated automatically each time somebody modifies one pixel in an image/vtkDataArray, for example. There is nothing in VTK that really says, asynchronously, &amp;quot;this image has been modified enough that it might be time to refresh your histogram&amp;quot;. Granularity issues...''.&lt;br /&gt;
&lt;br /&gt;
==== From Brad Davis ====&lt;br /&gt;
&lt;br /&gt;
* Bug: Double-clicking does not work with slicer3 and linux.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: The KWWidgets demo/examples handle double-clicks fine, so my guess is that Slicer3 is intercepting them. Yumin to investigate this issue.'' &lt;br /&gt;
* Bug: File-&amp;gt;Add Data does not use new file browser.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Sounds like a quick fix (Yumin?).''  ''Steve: this has been fixed.''&lt;br /&gt;
* Request: Tree with additional columns widget&amp;lt;br&amp;gt;'''Hint:''' ''Seb: The TkTreeCtrl library is in KWW and allows that, but one need to wrap it inside a C++ class, and this is a lot of work (Seb?). Let's put all requests in the TODO list and prioritize.''  ''Steve: there was discussion about exposing the TkTreeCtrl in the tcl interp so users can access it directly with Script() - is this an easy thing to do now?'' ''Seb: yes, that's very easy, but that means we are going to see tons of ugly Tcl code in the middle of C++ code :)'' ''Seb: OK, DONE, it's in. I compiled and tested on Win32. I compiled but could not test on Linux. TkTreeCtrl documentation can be found [http://tktreectrl.sourceforge.net/ here]. Download the TkTreeCtrl distribution, then from Slicer3/KWWidgets interactor, source demos/demo.tcl, then issue: wm deiconify .'' ''Steve: Thanks!  I'll give it a try.  My plan, actually, is to have some very pretty tcl code that uses this feature (no comment on the aesthetic qualities of C++ code!).'' ''Seb: I had to disable it until the VS7 build is fixed. To play with it though, edit Utilities\TkTreeCtrl\TkTreeCtrl.cmake and change the code to SET(${supported} 1). This is such a huge (50,000 lines) library that I would suggest you guys start playing with it at the Tcl level and that we use that feedback to create a C++ API that would not have to expose every thing features but the ones you use the most.''&lt;br /&gt;
&lt;br /&gt;
====From Alex:====&lt;br /&gt;
&lt;br /&gt;
* Request: I would like to address the performance of building GUI in slicer3 Modules. When selecting a module for the first time (Volumes or Models) it takes noticable time before the UI panel is displayed.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Well, you can't have your cake and eat it too :)) We delayed the creation of modules so that Slicer3 starts up faster. But one way or the other, the modules GUI has to be created. I just tried on my laptop on Win32, and I did not notice anything slow when I selected a few modules. Which ones are slow? Maybe one of the slow modules is actually doing more than just creating GUI when it is initialized.'' &lt;br /&gt;
&lt;br /&gt;
* Request: Customizable tree widget similar to slicer2 model hierarchy editor: allow to add push-buttons or check boxes for the individual tree leaves.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: The TkTreeCtrl library is in KWW and allows that, but one need to wrap it inside a C++ class, and this is a lot of work (Seb?). Unless, as suggested by Steve, you want to expose the TkTreeCtrl library directly and do it from Tcl. Let's put all requests in the TODO list and prioritize.'' &lt;br /&gt;
&lt;br /&gt;
====From Wendy:====&lt;br /&gt;
&lt;br /&gt;
Mostly pesky things: &lt;br /&gt;
* Request: Creating special versions of menubutton drop-down menus with scroll capability.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: There is no such native widget, so we would have to create a composite widget mixing a button and a scroll list (Seb or Yumin?). A day or two worth probably. Let's put all requests in the TODO list and prioritize.'' &lt;br /&gt;
* Request: checkbuttons and radiobuttons with consistent &amp;quot;on/off&amp;quot; visual representation across platforms. (either special Slicer widgets or KWWidgets).&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Tcl/Tk does not provide an API to modify that visual representation (called the 'indicator'), since it is trying to use the native widgets when possible. However, you can emulate that behavior by setting an image for both unselected and selected state (SetImageToPredefinedIcon, SetSelectImageToPredefinedIcon), then make sure the image does not override the text (SetCompoundModeToLeft), remove the usual indicator (SetIndicatorVisibility), and  remove the border of what is now a button (SetBorderWidth). All of those calls can be made into a theme. I've updated the KWThemeExample (check the green theme) to show how it is done. I would recommend against it, as a lot of Slicer3 GUI already uses SetImage and SetSelectImage to provide graphical checkbuttons instead of textual ones. I'm not confident this would play well, but let's try.''   &lt;br /&gt;
&lt;br /&gt;
It would be good to decide on a strategy for addressing these things.&lt;br /&gt;
&lt;br /&gt;
* Request: Also, if a radiobutton's indicator visibility is off, the widget gets rendered with a 3D effect (even if we're using an icon to display the button's on/off state). Can we turn that 3D effect off?&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Not to my knowledge, it might be a Tk &amp;quot;feature&amp;quot; but try SetBorderWidth 0''&lt;br /&gt;
&lt;br /&gt;
==== From KWW-Users mailing list====&lt;br /&gt;
&lt;br /&gt;
* http://public.kitware.com/pipermail/kwwidgets/2007-June/000456.html&amp;lt;br&amp;gt;'''Hint:''' ''Seb: To be investigrated by the File Browser Master aka Yumin.'' &lt;br /&gt;
* http://public.kitware.com/pipermail/kwwidgets/2007-June/000461.html&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Gonna need some source code/example to reproduce it (Seb?).'' ''Kevin: Source code is in that mail, and I can send you a .tar.gz with a CMake file in it if you'd like. Thanks.''&lt;br /&gt;
* http://public.kitware.com/pipermail/kwwidgets/2007-May/000433.html&amp;lt;br&amp;gt;'''Hint:''' ''Seb: I've heard this has been done but usually no, the command has to be a Tcl command. We would need a Python guru on this one.''&lt;br /&gt;
&lt;br /&gt;
==== From Steve:====&lt;br /&gt;
&lt;br /&gt;
I'd like to have a discussion of [http://www.kwwidgets.org/Wiki/KWWidgets/Tracing GUI Tracing].  In slicer3 we've started to experiment with a MRML-based tracing structure using the scene snapshot infrastructure, but we should consider if this is preferable to a GUI-based solution or not.  See, for example, [http://www.na-mic.org/ViewVC/index.cgi/trunk/Base/GUI/vtkSlicerRecordSnapshotWidget.cxx?annotate=3621 the vtkSlicerRecordSnapshotWidget].&lt;br /&gt;
&lt;br /&gt;
Performance of the file browser could be improved (request for multi-threaded solution or a helper process that does the glob'ing so the main application does not block).&lt;br /&gt;
&lt;br /&gt;
Look and feel issues:&lt;br /&gt;
* On windows, the menu bar and scroll bar do not get the appearance.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Nope, that was investigated in the past, menu bar and scroll bar are not themable on Windows, it's a Tk &amp;quot;feature&amp;quot;.'' &lt;br /&gt;
* On linux, font size is sometimes way too small.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Fonts are themable, did you try assigning a bigger one globally?.''  ''Steve: see Vince's notes below''&lt;br /&gt;
&lt;br /&gt;
* Maybe just me, but I find the new file browser sometimes ignores doubleclicks -- perhaps it is more picky about any small mouse movement between clicks?&amp;lt;br&amp;gt;'''Hint:''' ''Seb: Would the be related to the whole double-click problem mentioned already, i.e. Slicer3 might be capturing double-clicks.'' &lt;br /&gt;
&lt;br /&gt;
* Configure event management is still a problem - dragging the split frame or hiding the left panel (with F5) causes a lot of extraneous ConfigureEvents.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: pretty much all the widgets are inside those split frames, hence repacked/relayout by Tk, and that may trigger a ton of ConfigureEvents (not actual 'pack' calls but just Tk re-doing its whole layout, which triggers events). There are so many widgets and different packing parameters, some &amp;quot;rubber-band&amp;quot; effect may be going on where the layout is adjusted iteratively until it stabilizes.''&lt;br /&gt;
&lt;br /&gt;
==== From Gary and James:====&lt;br /&gt;
&lt;br /&gt;
* I'd like to have a discussion of how to make a widget that reads one image plane at a time from a volume to make a multi-data set display.  We have an implementation in wxWidgets that reads data from multiple files as a slider that changes the slice number without having to read the entire volumes into memory.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: I think that is demonstrated by the MedicalImageViewer example. The reading/caching/streaming strategy is not KWW related, but VTK related though.'' &lt;br /&gt;
&lt;br /&gt;
* When displaying multiple vtkKWRenderWindows at once, the KWwidgets base class generates an error. Being able to display multiple renderwindows at one time is an essential requirement for our project. &amp;lt;br&amp;gt;'''Hint:''' ''Seb: Displaying multiple render windows is done by pretty much all our medical apps at Kitware, so yes, this is doable and we can help. What error message are you referring to?'' &lt;br /&gt;
&lt;br /&gt;
* The order of linking the ITK, VTK, TCL, TK and KWwidget libraries so that they do not conflict.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: I'm not aware of ordering conflicts. Have a look at the KWW examples and how they are linked: there is *no* explicit mention to VTK and Tcl/Tk, they are pulled automatically by CMake as part of the dependencies.'' &lt;br /&gt;
&lt;br /&gt;
* We want to access the KWwidgets' device client/handles for drawing on the controls.&amp;lt;br&amp;gt;'''Hint:''' ''Seb: if you draw directly, you would probably lose it the next time the UI is refreshed. However, you can use vtkKWCanvas, which is a canvas on top of which you can draw, insert images, etc., and they would be displayed properly. Or you can even embed a render window inside a UI to do 2D or 3D scenes using VTK actors, etc.''&lt;br /&gt;
&lt;br /&gt;
==== From Vincent ====&lt;br /&gt;
&lt;br /&gt;
* There are issues with Slicer3 and fonts under Ubuntu Linux (Fiesty Fawn). The fonts are unreadable under this system. On the same system, Paraview fonts appear just fine. After performing some testing and evaluation, it appears that this is related to the order that fonts are resolved under Linux. We have a little script that will work around this by removing the X11 fonts on this sytem and only using the other system fonts for Slicer3. This is an ugly hack, but was close as we managed to get to track down the issue after approximately 3-4 hours of investigation. &amp;lt;br&amp;gt;'''Hint:''' ''Seb: If we are talking ParaView 2 (the old ones), then they may be specifying their own fonts explicitly at startup, and that can be done by Slicer3 as well, fonts are themable. If ParaView3, then it's a different story since it is using Qt.'' &lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 mv /usr/share/fonts/X11 /usr/share/fonts/X11-Slicer3&lt;br /&gt;
 /opt/Slicer3/Slicer3&lt;br /&gt;
 mv /usr/share/fonts/X11-Slicer3 /usr/share/fonts/X11&lt;/div&gt;</summary>
		<author><name>Kteich</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Special_topic_breakout:_KWWidgets&amp;diff=11688</id>
		<title>Special topic breakout: KWWidgets</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Special_topic_breakout:_KWWidgets&amp;diff=11688"/>
		<updated>2007-06-12T17:24:28Z</updated>

		<summary type="html">&lt;p&gt;Kteich: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ProjectWeek-2007.png|thumb|300px|left|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]]]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KWWidgets Breakout Session&lt;br /&gt;
&lt;br /&gt;
June 26th, 1-2pm&lt;br /&gt;
&lt;br /&gt;
Location: [[Meeting_Locations:MIT_Grier_A_%26B|Grier Rooms A &amp;amp; B: 34-401A &amp;amp; 34-401B]]&lt;br /&gt;
&lt;br /&gt;
Attendees:&lt;br /&gt;
* Yumin Yuan&lt;br /&gt;
* Steve Pieper&lt;br /&gt;
* Alex Yarmarkovich&lt;br /&gt;
* Wendy Plesniak&lt;br /&gt;
* Nicole Aucoin&lt;br /&gt;
* Curt Lisle&lt;br /&gt;
* Csaba Csoma&lt;br /&gt;
* Brad Davis&lt;br /&gt;
* David Gobbi&lt;br /&gt;
* Kiran Shivanna&lt;br /&gt;
* Kevin Teich&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
&lt;br /&gt;
* Roadmap (to help KWWidgets developers prioritize their work)&lt;br /&gt;
* Widget feature requests / feedback&lt;br /&gt;
* Separate Tutorial Session for New Users (to happen possibly on Wednesday)&lt;/div&gt;</summary>
		<author><name>Kteich</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2007_Programming/Project_Week_MIT&amp;diff=10536</id>
		<title>2007 Programming/Project Week MIT</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2007_Programming/Project_Week_MIT&amp;diff=10536"/>
		<updated>2007-05-17T18:26:37Z</updated>

		<summary type="html">&lt;p&gt;Kteich: /* Attendee List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Engineering:Programming_Events|Programming/Project Events]]&lt;br /&gt;
&lt;br /&gt;
== Logistics ==&lt;br /&gt;
&lt;br /&gt;
'''Dates:''' June 25-29, 2007&lt;br /&gt;
&lt;br /&gt;
'''Location:''' MIT. [[Meeting_Locations:MIT_Grier_A_%26B|Grier Rooms A &amp;amp; B: 34-401A &amp;amp; 34-401B]].&lt;br /&gt;
&lt;br /&gt;
'''Registration Fee:''' $200 (this will cover the cost of breakfast and lunch for the week). Due by Tuesday, June 19, 2007. Please make checks out to &amp;quot;Massachusetts Institute of Technology&amp;quot; and mail to: &lt;br /&gt;
Donna Kaufman, MIT, 77 Massachusetts Ave., 38-409b, Cambridge, MA 02139&lt;br /&gt;
&lt;br /&gt;
If you are attending for one day only, the registration fee is not required.&lt;br /&gt;
&lt;br /&gt;
'''Hotel:''' There is no official hotel for the meeting. Here is some information about Boston area hotels that are convenient to NA-MIC events: [[Boston_Hotels|Boston_Hotels]]. Summer is tourist season in Boston, so please book your rooms early.&lt;br /&gt;
&lt;br /&gt;
===Introduction to NA-MIC Project Week===&lt;br /&gt;
&lt;br /&gt;
This is a week of hands on activity -- programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithm design, and clinical application -- that has become one of the major events in the NA-MIC calendar. A full week of hands on activities is held in the summer at MIT (typically the last week of June), and for half a week in Salt Lake City in the winter (typically the second week of January).  &lt;br /&gt;
The main goal of these events if to move forward the deliverables of NA-MIC. NA-MIC participants and their collaborators are welcome to attend.  &lt;br /&gt;
&lt;br /&gt;
* NA-MIC Members: Participation in this event is voluntary -- if you don't think this will help you move forward in your work, there is no obligation to attend.&lt;br /&gt;
* Ideal candidates are those who want to contribute to the NA-MIC Kit, and those who can help make it happen.&lt;br /&gt;
* This is not an introduction to the components of the NA-MIC Kit.&lt;br /&gt;
* NA-MIC Core 1 (Algorithms) - bring your algorithms and code to work on in the company of Core 2 engineers and Core 3 scientists.&lt;br /&gt;
* NA-MIC Core 2 (Engineering) - bring your code for infrastructure and applications to extend the NA-MIC Kit capabiliities, integrate Core 1 algorithms, and refine worflows for Core 3.&lt;br /&gt;
* NA-MIC Core 3 (DBP) - bring your data to work on with the NA-MIC Kit and get assistance and provide feedback to Core 1 scientists and Core 2 engineers.&lt;br /&gt;
* External Collaborators - if you are working on a project that uses the [[NA-MIC-Kit|NA-MIC kit]], and want to participate to get help from NA-MIC Engineering, please send an email to Tina Kapur (tkapur at bwh.harvard.edu).  Please note that the event is open to people outside NA-MIC, subject to availability.&lt;br /&gt;
* Everyone should '''bring a laptop'''. We will have three or four projectors.&lt;br /&gt;
* About half the time will be spent working on projects and the other half in project related discussions.&lt;br /&gt;
* You '''do''' need to be actively working on a NA-MIC related project in order to make this investment worthwhile for everyone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Agenda===&lt;br /&gt;
&lt;br /&gt;
* Monday&lt;br /&gt;
** noon-1pm lunch &lt;br /&gt;
** 1-3:30pm Introduce Projects using 4-block slides (all Project Leads)&lt;br /&gt;
** 3:30-5:30pm Start project work&lt;br /&gt;
* Tuesday&lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 9-10:30am Slicer 3.0 Update(Jim Miller, Steve Pieper)&lt;br /&gt;
** 11-12pm: [[Special topic breakout: IGT for Prostate]] (Tempany, Fichtinger, Burdette groups from BWH/JHU/Queens/AcousticMed)  &lt;br /&gt;
** noon lunch&lt;br /&gt;
** 1-2pm: [[Special topic breakout: Non-Linear Registration]] (TBD)&lt;br /&gt;
** 2-3pm: [[Special topic breakout: DWI/DTI]] (?)&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Wednesday&lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 1-2pm: Special topic breakout: [[NA-MIC:2007 Plan for Long-Lead Time Items|  Plan for Long Lead Time Items]]&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Thursday&lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 3:30-5pm Special topic breakout: TBD&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Friday&lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 10am-noon: Project Progress using 4-block slides&lt;br /&gt;
** noon lunch boxes and adjourn&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
&lt;br /&gt;
# Please make sure that you are on the [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-programming-week na-mic-programming-week mailing list]&lt;br /&gt;
# [[Engineering:TCON_2007#2007-05-03|May 3, 2007: Kickoff TCON#1 to discuss Engr Core Projects and Assign/Verify Teams]]&lt;br /&gt;
# [[Engineering:TCON_2007#2007-05-10|May 10, 2007: TCON#2 to discuss Projects and Assign/Verify Teams]]&lt;br /&gt;
# [[Engineering:TCON_2007#2007-05-17|May 17, 2007: TCON#3 to discuss outstanding projects and teams from previous week]]&lt;br /&gt;
# May 17, 2007: Create a Wiki page per project (the participants must do this, hopefully jointly)&lt;br /&gt;
# May 31, 2007: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Andy)&lt;br /&gt;
## Commit on each sandbox directory the code examples/snippets that represent our first guesses of appropriate methods. (Luis and Steve will help with this, as needed)&lt;br /&gt;
## Gather test images in any of the Data sharing resources we have (e.g. the BIRN). These ones don't have to be many. At least three different cases, so we can get an idea of the modality-specific characteristics of these images. Put the IDs of these data sets on the wiki page. (the participants must do this.)&lt;br /&gt;
## Setup nightly tests on a separate Dashboard, where we will run the methods that we are experimenting with. The test should post result images and computation time. (Andy)&lt;br /&gt;
# By 3pm ET on June 14, 2007: Complete the top half of [[media:NA-MIC_Latest_4-Block_Template.ppt|this powerpoint template]] for each project. Upload and link to the right place.&lt;br /&gt;
# [[Engineering:TCON_2007#2005-06-14|June 14, 2007: TCON#3 Review of 4-Blocks (Structural, DTI, Collaboration, Other)]]&lt;br /&gt;
# [[Engineering:TCON_2007#2005-06-21|June 21, 2007: TCON#4 Review of 4-Blocks (NA-MIC Kit)]]&lt;br /&gt;
# Please note that by the time we get to the project event, we should be trying to close off a project milestone rather than starting to work on one...&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
&lt;br /&gt;
===DBP II===&lt;br /&gt;
These are projects by the new set of DBPS:&lt;br /&gt;
*[[DBP2:MIND | Longitudinal Classification of White Matter Lesions in Lupus]] (MIND/UNM)&lt;br /&gt;
*[[DBP2:JHU | Segmentation and Registration Tools for Robotic Prostate Interventions]] (JHU/Queen's)&lt;br /&gt;
*[[DBP2:UNC |Longitudinal MRI study of early brain development in neuropsychiatric disorder: UNC Autism Study]] (UNC)&lt;br /&gt;
*[[DBP2:Harvard|Velocardiofacial Syndrome (VCFS) as a genetic model for schizophrenia]] (Harvard)&lt;br /&gt;
&lt;br /&gt;
===Structural Analysis===&lt;br /&gt;
*EMSegmentation Validation (Brad Davis, Sylvain Bouix)&lt;br /&gt;
*vtkITK wrapper for rule based segmentation (Brad Davis, John Melonakos, Marek Kubicki)&lt;br /&gt;
** Application of the Slicer2 module on DBP data&lt;br /&gt;
** Conversion to Slicer3&lt;br /&gt;
&lt;br /&gt;
===Diffusion Image Analysis===&lt;br /&gt;
* [[Algorithm:UNC:DTI#Population_Analysis | DTI population analysis]] (Casey Goodlett)&lt;br /&gt;
* Whole brain Seeding platform: data representation and pipeline execution (Raul San Jose, Lauren O'Donnell)&lt;br /&gt;
* Tractography editor (Lauren O'Donnell, Raul San Jose)&lt;br /&gt;
&lt;br /&gt;
===NA-MIC Kit===&lt;br /&gt;
* Slicer3&lt;br /&gt;
** [[2007_Project_Week_MIT_QDEC_Slicer3_Integration | QDEC integration into Slicer3]] (Nicole Aucoin BWH, Kevin Teich MGH, Nick Schmansky MGH, Doug Greve MGH, Gheorghe Postelnicu MGH, Steve Pieper Isomics)&lt;br /&gt;
** Display Optimization (Raimundo Sierra, David Gobbi, Steve Pieper)&lt;br /&gt;
** MRML Scenes for the Execution Model, including transforms (Jim Miller, Brad Davis, Nicole Aucoin, Steve Pieper)&lt;br /&gt;
** Support for Unstructured Grids (Steve, Nicole, Alex, Curt)&lt;br /&gt;
** Python support in Slicer3 (Luca, Steve, depends on Dan's availability)&lt;br /&gt;
** CPack, Ctest infrastructure improvements (Andy, Katie, Steve)&lt;br /&gt;
** Drafting Human Interface and Slicer Style Guidelines (Wendy)&lt;br /&gt;
** Slicer Matlab Pipeline for scalars and tensors (Katharina, Sylvain, Steve)&lt;br /&gt;
* Slicer2&lt;br /&gt;
&lt;br /&gt;
===External Collaborations===&lt;br /&gt;
* Meshing&lt;br /&gt;
** Adding VTK interactive wwidgets to Slicer3 (Will, Vince, Kiran, Curt)&lt;br /&gt;
** Migrate Iowa Neural Net code to pure ITK (Vince, Stephen)&lt;br /&gt;
*IGT &lt;br /&gt;
** [[Tracker Integration]] (Noby, Haiying)&lt;br /&gt;
** [[Collaboration/MGH/Radiation Therapy Radiation Therapy Planning]] (Greg Sharp MGH, Tina Kapur BWH, Sandy Wells BWH, Steve Pieper Isomics)&lt;br /&gt;
** [[Collaboration/JHU/Brachytherapy needle positioning robot integration|Brachytherapy needle positioning robot integration]] (Csaba Csoma JHU, David Gobbi Queen's)&lt;br /&gt;
** [[Collaboration/BWH/RadVision and Tracker Integration|RadVision and Tracker Integration]] (Jack Blevins, Noby)&lt;br /&gt;
* Registration&lt;br /&gt;
** [[Collaboration/UIowa/Non_Rigid_Registration|Implementing Non-rigid Image Registration and Evaluation Project (NIREP) software using NA-MIC Kit]] (Gary Christensen UIowa, Stephen Aylward, Kitware, Sandy Wells BWH)&lt;br /&gt;
** [[Collaboration/UIowa/Developing Electronic Atlas Software using NA-MIC Kit|Developing Electronic Atlas Software using NA-MIC Kit]] (Gary Christensen UIowa)&lt;br /&gt;
** [[Collaboration/UIowa/Developing a GUI for non-rigid image registration programs using NA-MIC Kit|Developing a GUI for non-rigid image registration programs using NA-MIC Kit]] (Gary Christensen UIowa)&lt;br /&gt;
* [[Collaboration/VMTK |vmtk (vmtk.sourceforge.net) integration within Slicer3]] (Luca Antiga, MNI, Dan Blezek(GE))&lt;br /&gt;
* [[Collaboration/NWU/Radiology Workstation| A Translation Station]](Skip, Alex, Vlad, Pat, Alex, Steve)&lt;br /&gt;
* [[Collaboration/WFU/NonHuman Primate Neuroimaging| Applying EMSegmenter to NonHuman Primate Neuroimaging]](Chris Wyatt VT, Kilian Pohl BWH)&lt;br /&gt;
&lt;br /&gt;
===Non-Medical Collaborations===&lt;br /&gt;
&lt;br /&gt;
==Attendee List==&lt;br /&gt;
#Kilian Pohl, BWH, Core 1&lt;br /&gt;
#John Melonakos, Georgia Tech, Core 1, (Hotel at MIT request)&lt;br /&gt;
#Tauseef Rehman, Georgia Tech, Core 1&lt;br /&gt;
#Casey Goodlett, UNC, Core 1, (Hotel at MIT request)&lt;br /&gt;
#W. Bryan Smith, UCSD/NCMIR, Core 2 (Tentative)&lt;br /&gt;
#Jim Miller, GE Core 2, Booked at the Hotel At MIT&lt;br /&gt;
#Steve Pieper, Isomics, Core 2&lt;br /&gt;
#Katie Hayes, BWH, Core 2&lt;br /&gt;
#Dan Blezek, GE Core 2, Booked at the Hotel At MIT&lt;br /&gt;
#Tina Kapur, BWH, Core 6&lt;br /&gt;
#Ron Kikinis, Core 7, PI&lt;br /&gt;
#Peter Kazanzides, JHU, Collaborator&lt;br /&gt;
#Wendy Plesniak, BWH, Collaborator&lt;br /&gt;
#Luca Antiga, Mario Negri Institute, Collaborator&lt;br /&gt;
#Sylvain Bouix, BWH, Core 3&lt;br /&gt;
#Marek Kubicki, BWH, Core 3 &lt;br /&gt;
#Chris Wyatt, Virginia Tech, Collaborator&lt;br /&gt;
#Nicole Aucoin, BWH, Core 2&lt;br /&gt;
#Will Schroeder, Kitware, Core 2&lt;br /&gt;
#Yumin Yuan, Kitware, Core 2&lt;br /&gt;
#Brad Davis, Kitware, Core 2&lt;br /&gt;
#Stephen Aylward, Kitware, Collaborator&lt;br /&gt;
#Raimundo Sierra, BWH, Core 2&lt;br /&gt;
#Clare Tempany, BWH Collaborator (Tuesday, June 26th only)&lt;br /&gt;
#Noby Hata, BWH Collaborator (Monday, June 25th only)&lt;br /&gt;
#Haiying Liu, BWH Collaborator&lt;br /&gt;
#Alex Yarmarkovich, Isomics, Core 2&lt;br /&gt;
#Vincent Magnotta, University of Iowa, Collaborator&lt;br /&gt;
#Hans Johnson, University of Iowa, Collaborator&lt;br /&gt;
#Gary E. Christensen, University of Iowa, Collaborator&lt;br /&gt;
#Joo Hyun (Paul) Song, University of Iowa, Gary's student&lt;br /&gt;
#Xiujuan Geng, University of Iowa, Gary's student&lt;br /&gt;
#Jake Nickel, University of Iowa, Gary's student&lt;br /&gt;
#Nick Kiguta, University of Iowa, Gary's student&lt;br /&gt;
#Kunlin Cao, University of Iowa, Gary's student&lt;br /&gt;
#James Harris, University of Iowa, Gary's student&lt;br /&gt;
#Rhiannon Carlson, University of Iowa, Gary's student&lt;br /&gt;
#Jeff Hawley, University of Iowa, Gary's student&lt;br /&gt;
#Skip Talbot, Northwestern University, Collaborator&lt;br /&gt;
#Alex Kogan, Northwestern University, Collaborator&lt;br /&gt;
#Vladimir Kleper, Northwestern University, Collaborator&lt;br /&gt;
#Pat Mongkolwat, Northwestern University, Collaborator&lt;br /&gt;
#Csaba Csoma, Johns Hopkins University, Collaborator&lt;br /&gt;
#David Gobbi, Queen's University, Collaborator&lt;br /&gt;
#Kai Ding, University of Iowa, Gary's student&lt;br /&gt;
#H. Jeremy Bockholt, The MIND Institute, DBP2:MIND PI&lt;br /&gt;
#Mark Scully, The MIND Institute, DBP2:MIND software engineer&lt;br /&gt;
#Sumner Williams, The MIND Institute, Magnotta/Johnson/Bockholt BRAINS grant software engineer&lt;br /&gt;
#Greg Sharp, MGH, Collaborator&lt;br /&gt;
#Lauren O'Donnell, BWH&lt;br /&gt;
#Raul San Jose, BWH&lt;br /&gt;
#Katharina Quintus, BWH, Core 3&lt;br /&gt;
#Marc Niethammer, BWH. Core 3&lt;br /&gt;
#Kevin Teich, MGH&lt;/div&gt;</summary>
		<author><name>Kteich</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/Diffusion_Image_Analysis/FreeSurfer_NRRD_IO&amp;diff=9165</id>
		<title>NA-MIC/Projects/Diffusion Image Analysis/FreeSurfer NRRD IO</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/Diffusion_Image_Analysis/FreeSurfer_NRRD_IO&amp;diff=9165"/>
		<updated>2007-04-16T20:02:35Z</updated>

		<summary type="html">&lt;p&gt;Kteich: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Project'''&amp;lt;nowiki&amp;gt;: Adding NRRD IO support to FreeSurfer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Use case'''&amp;lt;nowiki&amp;gt;: 'Open a NRRD volume in FreeSurfer.'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Use case'''&amp;lt;nowiki&amp;gt;: 'Convert an MGH volume to a NRRD volume with Freesurfer.'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Use case'''&amp;lt;nowiki&amp;gt;: 'Open NRRD formatted DWI data in Freesurfer.'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Difficulty'''&amp;lt;nowiki&amp;gt;: Low&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Impact'''&amp;lt;nowiki&amp;gt;: Medium&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Steps'''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Write unit tests for new IO functions (Snyder): in progress&lt;br /&gt;
# Add NrrdIO libraries from Teem to FS source tree, build with autoconf (Snyder): done&lt;br /&gt;
# Write and test FS NRRD IO functions (Snyder, Kindlmann): in progress&lt;br /&gt;
# Develop approriate headers for MGH DWI data (Teich): queued&lt;br /&gt;
# Automate header generation when possible (Teich): queued&lt;/div&gt;</summary>
		<author><name>Kteich</name></author>
		
	</entry>
</feed>