<?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=Barre</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=Barre"/>
	<link rel="alternate" type="text/html" href="https://www.na-mic.org/wiki/Special:Contributions/Barre"/>
	<updated>2026-04-16T05:56:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Summer_Project_Week/RoomSharing&amp;diff=81208</id>
		<title>2013 Summer Project Week/RoomSharing</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Summer_Project_Week/RoomSharing&amp;diff=81208"/>
		<updated>2013-05-28T14:33:26Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page aims to keep track of people who would like to split the lodging cost by renting an apartment using platform like https://www.airbnb.com&lt;br /&gt;
&lt;br /&gt;
* On May 27th, interested people are expected to have updated this table.&lt;br /&gt;
* On May 28th, I will schedule a Google Hangout with interested people to discuss our option and start booking place.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#b0d5e6;color:#02186f&amp;quot; &lt;br /&gt;
!style=&amp;quot;width:70%&amp;quot; |Participant name(s)&lt;br /&gt;
!style=&amp;quot;width:30%&amp;quot; |Date&lt;br /&gt;
|-&lt;br /&gt;
| Jean-Christophe Fillion-Robin (Kitware Inc.)&lt;br /&gt;
| Sunday 16/06 to Wed 20/06&lt;br /&gt;
|-&lt;br /&gt;
| Francois Budin (UNC - NIRAL)&lt;br /&gt;
| Monday 17/06 to Friday 21/06&lt;br /&gt;
|- &lt;br /&gt;
| Vinicius Boen (UNC/Michigan) &lt;br /&gt;
| Monday 17/06 to Friday 21/06&lt;br /&gt;
|- &lt;br /&gt;
| Bo Wang (Utah) &lt;br /&gt;
| Sunday 16/06 to Friday 21/06&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
People with rooms that are interested in sharing.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#b0d5e6;color:#02186f&amp;quot; &lt;br /&gt;
!style=&amp;quot;width:30%&amp;quot; |Participant name(s)&lt;br /&gt;
!style=&amp;quot;width:40%&amp;quot; |Location&lt;br /&gt;
!style=&amp;quot;width:20%&amp;quot; |Date&lt;br /&gt;
|-&lt;br /&gt;
| Micah Chambers (UCLA)&lt;br /&gt;
| The Kendall (350 Main Street Cambridge, MA 02142)&lt;br /&gt;
| Sunday 16/06 to Friday 21/06&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Google hangout ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt;'''Google hangout is planned for May 28th at 10am EST time - Please confirm your attendance by editing the doodle: http://www.doodle.com/vet88pfk8b35fhtt'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
* Micah apartement - How many people ? [Jc: I could sleep on the floor with my mat]&lt;br /&gt;
* [http://www.ihg.com/holidayinnexpress/hotels/us/en/reservation/roomrate Holiday Inn Express BOSTON - CAMBRIDGE]: ~$230 / 2 people / night  =&amp;gt; 460$/pers for 4 nights&lt;br /&gt;
* Apt on Irving St: https://www.airbnb.com/rooms/478653: $1516 / 4 nights / 4 (or 3)people =&amp;gt; 379$ (or $506) per pers for 4 nights&lt;br /&gt;
* Apt on Cambridge St: https://www.airbnb.com/rooms/217942 : $1061 / 4 nights / 4 (or 3) people) =&amp;gt; $266 (or $354) per pers for 4 nights&lt;br /&gt;
* [http://www.ihg.com/holidayinn/hotels/us/en/brookline/bklma/hoteldetail Holiday Inn Boston-Brookline]: $224 standard room /2 people / night =&amp;gt; 560$/pers for 5 nights&lt;br /&gt;
&lt;br /&gt;
== Questions ==&lt;br /&gt;
* Would it be sufficient to simply get the airbnb receipt ?&lt;br /&gt;
* Is it okay to use airbnb so that it can be charged to a grant ? [Jc: Checking with our Finance department]&lt;br /&gt;
* Guys, keep in mind that a Airbnb host in NYC was in [https://www.nytimes.com/2012/12/01/your-money/a-warning-for-airbnb-hosts-who-may-be-breaking-the-law.html?pagewanted=all&amp;amp;_r=0 serious] [http://www.theverge.com/2013/5/20/4349964/new-york-city-issues-2400-fine-for-renting-on-airbnb-nigel-warren legal] [http://www.brandchannel.com/home/post/2013/05/22/Airbnb-Legal-052213.aspx trouble] [http://www.bbc.co.uk/news/business-22632192 recently]. Airbnb &amp;quot;urges hosts to learn about and obey all of the local laws in their cities&amp;quot;, however many (*many*) rentals on Airbnb are just sublets, which are often prohibited by landlords. While only the hosts was sued, you never know what could happen to the renter in the process (i.e. you).&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:SlicerEM:Developer:WorkflowManager&amp;diff=56868</id>
		<title>Projects:ARRA:SlicerEM:Developer:WorkflowManager</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:SlicerEM:Developer:WorkflowManager&amp;diff=56868"/>
		<updated>2010-08-09T22:12:50Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Transition from KWWidgets state machines to Qt state machines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRA:SlicerEM:Developer|Back to SlicerEM:Developer page]]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
* EMSegmenter has a fairly complicated workflow&lt;br /&gt;
* Need a mechanism to validate user input and transition appropriately between steps of the workflow&lt;br /&gt;
* Should be dependent on Qt only (and not VTK)&lt;br /&gt;
* Current plan (subject to change) = use Qt's state machine implementation, with our own workflow manager on top (Qt Wizard doesn't quite work in harmony with the Qt state machine framework, and the UI itself can't be embedded in a pre-existing top-level)&lt;br /&gt;
&lt;br /&gt;
== Previous workflow manager implementation in KWWidgets ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.cmake.org/Wiki/KWWidgets/Wizard_Workflow Please see the documentation here], as it is already well described&lt;br /&gt;
Uses:&lt;br /&gt;
* '''KWWidgets state machines''' - incorporates states (ex. user interaction within a workflow step, validation of the user input within a workflow step), transitions (between states), and inputs (pushed onto a queue to trigger transitions)&lt;br /&gt;
* '''KWWidgets wizard workflow''' - provides additional functionality to manage workflow using a state machine (ex. bundles pairs of user interaction and validation states into a workflow &amp;quot;step&amp;quot;, handles a navigation stack of steps encountered along the way that triggers updates of widgets and/or dialogs)&lt;br /&gt;
&lt;br /&gt;
== Transition from KWWidgets state machines to Qt state machines ==&lt;br /&gt;
&lt;br /&gt;
* Core functionality in KWWidgets state machines and equivalent (if available) in Qt (In Progress):&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#abcdef&amp;quot;&lt;br /&gt;
! KWWidgets functionality !! Present in Qt?&lt;br /&gt;
|-&lt;br /&gt;
| State machine involve states, inputs and transitions || State machine involve states, events/signals and transitions&lt;br /&gt;
|-&lt;br /&gt;
| States, inputs and transitions are instantiated separately and added to the state machine || Only states are added to state machine, transitions are added to state, events/signals are implied by transition&lt;br /&gt;
|-&lt;br /&gt;
| Transitions require an input, origin and destination || Transitions can be targetless (stay in place but execute something / emit signal), &lt;br /&gt;
|-&lt;br /&gt;
| State machine runs until there are no more inputs in its queue || State machine runs its own even loop automatically, can be started, stopped/resumed and will run until FinalState is reached or app is quit.&lt;br /&gt;
|-&lt;br /&gt;
| Can define custom inputs || Can define custom events and transitions (by deriving QEvent and QAbstractTransition)&lt;br /&gt;
|-&lt;br /&gt;
| States have enter/leave events &amp;amp; callbacks, reimplementable Enter()/Leave() || States have enter/exit signals, reimplementable onEnter()/on Exit()&lt;br /&gt;
|-&lt;br /&gt;
| Transitions have start/end events &amp;amp; callbacks, reimplementable Start()/End() || Transitions have triggered signal, reimplementable onTransition()&lt;br /&gt;
|-&lt;br /&gt;
| Ordering of state and transition events:&lt;br /&gt;
  transition - start&lt;br /&gt;
  origin state - leave&lt;br /&gt;
  destination state - enter&lt;br /&gt;
  transition - end&lt;br /&gt;
|| ... different:&lt;br /&gt;
  origin state - exit&lt;br /&gt;
  transition - triggered&lt;br /&gt;
  destination state - enter&lt;br /&gt;
|-&lt;br /&gt;
| Clusters of states (one level) || A state can have a parent state allowing for arbitrary level grouping; a transition can be shared by many states by assigning it to the parent, but can be redefined by a child&lt;br /&gt;
|-&lt;br /&gt;
| Can save history of encountered transitions || No but a HistoryState can be automatically maintained to keep track of the last known child state of a grouping state when it is exited. It can be referred to directly to get back in the group and resume.&lt;br /&gt;
|-&lt;br /&gt;
| No || Object properties can be set/restored automatically when entering/leaving a state and animated during transition&lt;br /&gt;
|-&lt;br /&gt;
| No || FinalState class exists, state emits finished signal (parent emits, if final state is in group, allowing for blackblox behavior)&lt;br /&gt;
|-&lt;br /&gt;
| No || Transition can be guarded, i.e. the transition's input (a QEvent) can have a payload that can be tested by a custom transition (say a StringEvent that only triggers when the payload is &amp;quot;Hello&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| No || Parallel states can be used to avoid combinatorial explosion. When a parallel state group is entered, all its child states will be simultaneously entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* If some of these components are not available in Qt's state machine framework, it means some more refactoring/restructuring work&lt;br /&gt;
&lt;br /&gt;
== Transition from KWWidgets workflow manager to a workflow manager using Qt's state machines ==&lt;br /&gt;
&lt;br /&gt;
* The four KWWidget workflow wizard classes:&lt;br /&gt;
** [http://public.kitware.com/KWWidgets/doc/nightly/html/classvtkKWWizardStep.html vtkKWWizardStep]: a wizard step&lt;br /&gt;
** [http://public.kitware.com/KWWidgets/doc/nightly/html/classvtkKWWizardWorkflow.htm vtkKWWizardWorkflow ]: a wizard workflow&lt;br /&gt;
** [http://public.kitware.com/KWWidgets/doc/nightly/html/classvtkKWWizardWidget.htm vtkKWWizardWidget ]: a wizard widget, embedding UI (buttons) and a wizard workflow engine&lt;br /&gt;
** [http://public.kitware.com/KWWidgets/doc/nightly/html/classvtkKWWizardDialog.htm vtkKWWizardDialog ]: a wizard dialog, embedding a wizard widget in a toplevel/dialog window.&lt;br /&gt;
&lt;br /&gt;
* The ctkWorkflowManager workflow classes (in progress):&lt;br /&gt;
* ctkWorkflowStep - defines a step, in terms of both the widgets shown and the criteria for successful transition to the next step&lt;br /&gt;
* ctkWorkflow - manages transitions between steps&lt;br /&gt;
* ctkWorkflowWidget - provides a clientArea onto which a step's widgets should be placed&lt;br /&gt;
** ctkWorkflowWidget - clientArea is a QWidget&lt;br /&gt;
** ctkWorkflowStackedWidget - client area is a QStackedWidget&lt;br /&gt;
** ctkWorkflowTabWidget - client area is a QTabWidget&lt;br /&gt;
&lt;br /&gt;
== To define a new workflow step ==&lt;br /&gt;
* very similar to KWWidgets:&lt;br /&gt;
** derive ctkWorkflowStep&lt;br /&gt;
** implement validate(): evaluates user input and returns true if valid, false if not&lt;br /&gt;
** implement showUserInterface(): shows or enables the widgets associated with each step&lt;br /&gt;
** implement hideUserInterface(): hides or disables the widgets associated with each step&lt;br /&gt;
&lt;br /&gt;
== Overview of state diagram underlying ctkWorkflow ==&lt;br /&gt;
* processing step = handles user interaction, and should support additional processing (ex. image processing) as well&lt;br /&gt;
* validation step = evaluates the success of the processing step&lt;br /&gt;
* currently supported transitions: transition to the next step, transition to the previous step&lt;br /&gt;
* TODO:&lt;br /&gt;
** automatic transition to a &amp;quot;finished&amp;quot; step&lt;br /&gt;
&lt;br /&gt;
&amp;lt;graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
digraph workflow {&lt;br /&gt;
	subgraph cluster_0 {&lt;br /&gt;
		style=filled;&lt;br /&gt;
		color=lightgrey;&lt;br /&gt;
		node [style=filled,color=white];&lt;br /&gt;
		&amp;quot;Processing 1&amp;quot; -&amp;gt; &amp;quot;Validation 1&amp;quot; [label=&amp;quot;validationTransition&amp;quot;];&lt;br /&gt;
                &amp;quot;Validation 1&amp;quot; -&amp;gt; &amp;quot;Processing 1&amp;quot; [label=&amp;quot;validationFailedTransition&amp;quot;];&lt;br /&gt;
		label = &amp;quot;ctkWorkflowStep* step1&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	subgraph cluster_1 {&lt;br /&gt;
                style=filled;&lt;br /&gt;
		color=lightgrey;&lt;br /&gt;
		node [style=filled,color=white];&lt;br /&gt;
		&amp;quot;Processing 2&amp;quot; -&amp;gt; &amp;quot;Validation 2&amp;quot; [label=&amp;quot;validationTransition&amp;quot;];&lt;br /&gt;
                &amp;quot;Validation 2&amp;quot; -&amp;gt; &amp;quot;Processing 2&amp;quot; [label=&amp;quot;validationFailedTransition&amp;quot;];&lt;br /&gt;
		label = &amp;quot;ctkWorkflowStep* step2&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Validation 1&amp;quot; -&amp;gt; &amp;quot;Processing 2&amp;quot; [label=&amp;quot;validationSucceededTransition&amp;quot;];&lt;br /&gt;
        &amp;quot;Processing 2&amp;quot; -&amp;gt; &amp;quot;Processing 1&amp;quot; [label=&amp;quot;goBackToSelfTransition&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Signal/slot mechanism to transition to the next step ==&lt;br /&gt;
* ex. user enters parameter values, and then clicks &amp;quot;Next&amp;quot; to go to the next step&lt;br /&gt;
&amp;lt;graphviz&amp;gt;&lt;br /&gt;
digraph signalsAndSlotsNext {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;SIGNAL: pushButton-&amp;gt;clicked()&amp;quot; -&amp;gt; &amp;quot;SLOT: workflow-&amp;gt;triggerValidationTransition()&amp;quot;&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;triggerValidationTransition()&amp;quot; -&amp;gt; &amp;quot;posts ValidationTransition event&amp;quot; -&amp;gt; &amp;quot;SIGNAL: validationState-&amp;gt;onEntry()&amp;quot; -&amp;gt; &amp;quot;SLOT: workflow-&amp;gt;attemptToGoToNextStep()&amp;quot; -&amp;gt; &amp;quot;step1-&amp;gt;validate()&amp;quot;&lt;br /&gt;
&amp;quot;step1-&amp;gt;validate()&amp;quot; -&amp;gt; &amp;quot;posts ValidationSucceededTransition event&amp;quot; [label=&amp;quot;true&amp;quot;]&lt;br /&gt;
        &amp;quot;posts ValidationSucceededTransition event&amp;quot; -&amp;gt; &amp;quot;SIGNAL: validationSucceededTransition-&amp;gt;triggered()&amp;quot; -&amp;gt; &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot;&lt;br /&gt;
        &amp;quot;step1-&amp;gt;validate()&amp;quot; -&amp;gt; &amp;quot;posts ValidationFailedTransition event&amp;quot; [label=&amp;quot;false&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot; -&amp;gt; &amp;quot;step1-&amp;gt;hideUserInterface()&amp;quot;&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot; -&amp;gt; &amp;quot;step2-&amp;gt;showUserInterface()&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Signal/slot mechanism to trigger transition to the previous step ==&lt;br /&gt;
* ex. user clicks &amp;quot;Back&amp;quot; to go to the previous step&lt;br /&gt;
&amp;lt;graphviz&amp;gt;&lt;br /&gt;
digraph signalsAndSlotsBack {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;SIGNAL: pushButton-&amp;gt;clicked()&amp;quot; -&amp;gt; &amp;quot;SLOT: workflow-&amp;gt;triggerGoBackToSelfTransition()&amp;quot;&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;triggerGoBackToSelfTransition()&amp;quot; -&amp;gt; &amp;quot;posts GoBackToSelfTransition event&amp;quot; -&amp;gt; &amp;quot;SIGNAL: goBackToSelfTransition-&amp;gt;triggered()&amp;quot; -&amp;gt; &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot;&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot; -&amp;gt; &amp;quot;step2-&amp;gt;hideUserInterface()&amp;quot;&lt;br /&gt;
        &amp;quot;SLOT: workflow-&amp;gt;showAndHideUserInterface()&amp;quot; -&amp;gt; &amp;quot;step1-&amp;gt;showUserInterface()&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GUI implementation in ctkWorkflowWidget ==&lt;br /&gt;
* workflowWidget-&amp;gt;addWidget(QWidget* widget): adds a widget to the clientArea&lt;br /&gt;
* workflowWidget-&amp;gt;showWidget(QWidget* widget): shows the clientArea (i.e. for ctkWorkflowStackedWidget and ctkWorkflowTabWidget, ensures that the correct &amp;quot;page&amp;quot; is shown&lt;br /&gt;
* TODO:&lt;br /&gt;
** plus [http://doc.trolltech.com/4.6/qdialog.html qDialog] as well&lt;br /&gt;
** in Qt Designer - could have one .ui file for the entire stacked widget, or, for widgets representing complicated steps, could have a separate .ui&lt;br /&gt;
&lt;br /&gt;
== Concepts to keep in mind ==&lt;br /&gt;
* Undo / redo and forward/back transitions&lt;br /&gt;
* Automatic transition to the last state (&amp;quot;GoToSelf&amp;quot; in KWWidgets)&lt;br /&gt;
&lt;br /&gt;
== Additional ideas and questions ==&lt;br /&gt;
* Image processing throughout - need to deal with failures in image processing that are unrelated to the GUI&lt;br /&gt;
* Would be a good idea to make the workflow manager as general as possible for CTK - ex. use for management of IGT workflows in Slicer, where you may be coordinating several modules (ex. calibration module -&amp;gt; registration module -&amp;gt; tracking module), and may need to notify other components of current state (ex. over OpenIGTLink) (ex see [http://hdl.handle.net/10380/3075 this IJ paper])&lt;br /&gt;
** would need to make show/hide user interface functions more generic&lt;br /&gt;
** Ex. make a workflow step more generic: instead of an &amp;quot;interaction&amp;quot; state and a &amp;quot;validation&amp;quot; state, could think about a &amp;quot;do stuff&amp;quot; state and a &amp;quot;validation&amp;quot; state, where &amp;quot;do stuff&amp;quot; can be user interaction, image processing, etc.&lt;br /&gt;
** In validation states, could also have &amp;quot;borderline&amp;quot; success, where you may want to warn the user and allow them to choose whether to go ahead to the next step or to redo the current step with different inputs&lt;br /&gt;
* May even like to provide the option to save the MRML tree at the end of each step (to restore state if there is a crash, for example&lt;br /&gt;
* Automatic validation at each user input, to enable the &amp;quot;next&amp;quot; button once the user's input is valid&lt;br /&gt;
* Logging state transitions, user actions, inputs and results thoughout (logging states?)&lt;br /&gt;
* Design / output of state machines in a graphical format&lt;br /&gt;
* Replaying workflows&lt;br /&gt;
* Branching workflows&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42476</id>
		<title>Sept-2009-SlicerWidgetsBrainstorm</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42476"/>
		<updated>2009-09-10T19:06:16Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Attendance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Logistics ==&lt;br /&gt;
&lt;br /&gt;
*Tentative date: Wednesday and Thursday, '''September 16 and 17, 2009'''&lt;br /&gt;
*Location: 1249 Boylston Street, 2nd floor conference room&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this meeting is to discuss development strategies to migrate Slicer to a new GUI layer.  For some background and discussion of our experiments with Qt and a possible development plan see [http://wiki.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 this document on Qt and Slicer3].&lt;br /&gt;
&lt;br /&gt;
Important questions to consider at this meeting are:&lt;br /&gt;
* What functionality does the application need to have in order to accomplish the needs of our DBP and clinical collaborations over the next several years?&lt;br /&gt;
* What look and feel should the application have?&lt;br /&gt;
* What capabilities will help us build the community of developers and users&lt;br /&gt;
** Standard tools - well supported with ample documentation, support, etc&lt;br /&gt;
** Flexibility to run in many environments&lt;br /&gt;
** Ease of use and productivity for developers&lt;br /&gt;
* Can we get a realistic estimate of the workload required and what skills are required to do the work?&lt;br /&gt;
** How much work have comparable project required (by people with what skills and experience?)&lt;br /&gt;
** What resources do we have to devote to this project compared with other demands?&lt;br /&gt;
* Are we comfortable that we have considered all the viable alternatives?&lt;br /&gt;
** What are the trends in GUI interface development for applications like ours&lt;br /&gt;
** What are the risks/benefits/complexity trade offs of various approaches&lt;br /&gt;
&lt;br /&gt;
==List of Widgets that are needed for the Slicer port==&lt;br /&gt;
* http://my-trac.assembla.com/protoctk/wiki/WidgetPlans&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Things to Consider ==&lt;br /&gt;
Our current plan is to move to QT. However, there are some alternates which should be looked at as a due diligence:&lt;br /&gt;
===Javascript family===&lt;br /&gt;
Note: with Qt's incorporation of WebKit it is possible to run any of the javascript tools natively inside a Qt application to build an alternate GUI.&lt;br /&gt;
[[Image:QVTKWidget-as-WebKit-Plugin-2009-09-01.png|right|thumb|Demo showing QVTKWidget as a plugin to a webpage with methods callable via JavaScript]]&lt;br /&gt;
* Java layer atop JavaScript http://code.google.com/webtoolkit/&lt;br /&gt;
** http://gwt.google.com/samples/Mail/Mail.html&lt;br /&gt;
** http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html&lt;br /&gt;
* echo http://demo.nextapp.com/echo3csjs/&lt;br /&gt;
* Python wrappings around JavaScript&lt;br /&gt;
**http://pyjs.org&lt;br /&gt;
*** http://pyjs.org/examples/&lt;br /&gt;
*** http://pyjs.org/examples/mail/output/Mail.html&lt;br /&gt;
&lt;br /&gt;
===Other Cross-platform GUIs===&lt;br /&gt;
* Java Swing http://en.wikipedia.org/wiki/Swing_%28Java%29&lt;br /&gt;
* GNUstep http://www.gnustep.org/&lt;br /&gt;
* Adobe Flex http://www.adobe.com/products/flex/&lt;br /&gt;
* http://cappuccino.org/&lt;br /&gt;
&lt;br /&gt;
=== Open Questions ===&lt;br /&gt;
* How .ui files mix with CMake and how they are called&lt;br /&gt;
** Seb: This is quite easy. Support for Qt in CMake is very strong, as a result of our collaboration with the KDE team a few years ago. KDE relies entirely on Qt and is CMake's largest project (to my knowledge). Dealing with .ui files goes like this (this should look familiar if you have worked with VTK wrappers):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  SET(UI_SRCS foo.ui bar.ui)&lt;br /&gt;
  QT4_WRAP_UI(UI_CXX ${UI_SRCS})&lt;br /&gt;
  ADD_EXECUTABLE(foobar WIN32 ${SRCS} ${UI_CXX} etc.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Need CMake to build a visual studio compatible version of Qt&lt;br /&gt;
** Seb: not really, no :) Qt is very easy to build, especially the latest LGPL distribution. It's a matter of typing one or two commands (qmake) and you are done; go get a coffee far far away though. We (mainly Bill H.) have approached Nokia/Trolltech to see if they would be interested in porting the Qt build system to CMake, but they are sticking to qmake for now (to my knowledge). Porting to CMake is, to my opinion, a non-trivial effort, considering the sheer size of the Qt distribution and how close to the system it is. I assume they include a lot of code to test if such or such feature is available at the low-level of the OS; while we are familiar with writing such tests, it takes some time and careful coding to cover all the bases.&lt;br /&gt;
&lt;br /&gt;
* Need CPack to bundle Qt libraries with slicer binaries&lt;br /&gt;
** Seb: we have experience with this, we deliver turn-key applications bundled with Qt (ParaView3 to name one, and other internal commercial projects).&lt;br /&gt;
&lt;br /&gt;
* How to adjust the look-and-feel to make an application that includes both KWW and Qt seem coordinated (even if the windows are not nested in the same toplevel window).&lt;br /&gt;
** Seb: the trick with Slicer is that you are actually trying *not* to be consistent with the look&amp;amp;feel of the platform, but consistent &amp;quot;across&amp;quot; all the platforms, by using the theming framework I added a few years ago to KWW. On the other hand, Qt is definitely trying to look very close to the native UI it is running on. For Qt to look like Slicer running KWW, you would have to dig inside Qt Theming and Style Sheets (see [http://labs.trolltech.com/blogs/2007/11/27/theming-qt-for-fun-and-profit/ this article] from 2007) and shoehorn Qt to Slicer's branding. This is do-able, but is definitely considered an &amp;quot;advanced&amp;quot; topic; my opinion is that there is already a good deal to learn before. While I'm a big fan of branding and Wendy's fantastic UI work, I would also suggest reconsidering theming Slicer so heavily, I think it looks very alien on platforms like MacOS; maybe this doesn't bother users as much as I think, you guys have a survey? Definitely keep the beautiful icons, but let Qt do his job with the layout. KWW allows the user to bend the layout almost to the pixel, but I think going so close to the metal has been the source of a lot of frustrations and weird glitches in the layout, still to this day.&lt;br /&gt;
** J2: the [http://doc.trolltech.com/4.5/qmotifstyle.html Motif style] seems the closer to the look-and-feel of Slicer. If it's not good enough, as Seb said, one can still create css-style sheets (and make it as similar as possible). A compromise between look-and-feel similarity and time to spend must be found ( i.e. how much time are we willing to spend to have a qt scrollbar to look exactly the same as the original Slicer scrollbar).&lt;br /&gt;
&lt;br /&gt;
* Best patterns for mixing Qt and VTK (events/callbacks/signals/slots)&lt;br /&gt;
** Jc: VTK provide a class named '''vtkEventQtSlotConnect''' alowing to smoothly integrate both. That way, any vtkEvent can be connected to a QT slot. See http://www.vtk.org/doc/nightly/html/classvtkEventQtSlotConnect.html&lt;br /&gt;
** J2: Note: vtkEventQtSlotConnect is only taking care of the VTK-&amp;gt;Qt connection&lt;br /&gt;
&lt;br /&gt;
== Attendance == &lt;br /&gt;
*Open to all self-declared Slicer developers:&lt;br /&gt;
#Will Schroeder&lt;br /&gt;
#Steve Pieper&lt;br /&gt;
#Ron Kikinis&lt;br /&gt;
#Nicole Aucoin&lt;br /&gt;
#Alex Yarmarkovich (Wed only)&lt;br /&gt;
#Sebastien Barre&lt;br /&gt;
#JC Fillion&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42404</id>
		<title>Sept-2009-SlicerWidgetsBrainstorm</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42404"/>
		<updated>2009-09-10T13:45:43Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Open Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Logistics ==&lt;br /&gt;
&lt;br /&gt;
*Tentative date: Wednesday and Thursday, '''September 16 and 17, 2009'''&lt;br /&gt;
*Location: 1249 Boylston Street, 2nd floor conference room&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this meeting is to discuss development strategies to migrate Slicer to a new GUI layer.  For some background and discussion of our experiments with Qt and a possible development plan see [http://wiki.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 this document on Qt and Slicer3].&lt;br /&gt;
&lt;br /&gt;
Important questions to consider at this meeting are:&lt;br /&gt;
* What functionality does the application need to have in order to accomplish the needs of our DBP and clinical collaborations over the next several years?&lt;br /&gt;
* What look and feel should the application have?&lt;br /&gt;
* What capabilities will help us build the community of developers and users&lt;br /&gt;
** Standard tools - well supported with ample documentation, support, etc&lt;br /&gt;
** Flexibility to run in many environments&lt;br /&gt;
** Ease of use and productivity for developers&lt;br /&gt;
* Can we get a realistic estimate of the workload required and what skills are required to do the work?&lt;br /&gt;
** How much work have comparable project required (by people with what skills and experience?)&lt;br /&gt;
** What resources do we have to devote to this project compared with other demands?&lt;br /&gt;
* Are we comfortable that we have considered all the viable alternatives?&lt;br /&gt;
** What are the trends in GUI interface development for applications like ours&lt;br /&gt;
** What are the risks/benefits/complexity trade offs of various approaches&lt;br /&gt;
&lt;br /&gt;
==List of Widgets that are needed for the Slicer port==&lt;br /&gt;
* http://my-trac.assembla.com/protoctk/wiki/WidgetPlans&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Things to Consider ==&lt;br /&gt;
Our current plan is to move to QT. However, there are some alternates which should be looked at as a due diligence:&lt;br /&gt;
===Javascript family===&lt;br /&gt;
Note: with Qt's incorporation of WebKit it is possible to run any of the javascript tools natively inside a Qt application to build an alternate GUI.&lt;br /&gt;
[[Image:QVTKWidget-as-WebKit-Plugin-2009-09-01.png|right|thumb|Demo showing QVTKWidget as a plugin to a webpage with methods callable via JavaScript]]&lt;br /&gt;
* Java layer atop JavaScript http://code.google.com/webtoolkit/&lt;br /&gt;
** http://gwt.google.com/samples/Mail/Mail.html&lt;br /&gt;
** http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html&lt;br /&gt;
* echo http://demo.nextapp.com/echo3csjs/&lt;br /&gt;
* Phyton wrappings around JavaScript&lt;br /&gt;
**http://pyjs.org&lt;br /&gt;
*** http://pyjs.org/examples/&lt;br /&gt;
*** http://pyjs.org/examples/mail/output/Mail.html&lt;br /&gt;
&lt;br /&gt;
===Other Cross-platform GUIs===&lt;br /&gt;
* Java Swing http://en.wikipedia.org/wiki/Swing_%28Java%29&lt;br /&gt;
* GNUstep http://www.gnustep.org/&lt;br /&gt;
* Adobe Flex http://www.adobe.com/products/flex/&lt;br /&gt;
* http://cappuccino.org/&lt;br /&gt;
&lt;br /&gt;
=== Open Questions ===&lt;br /&gt;
* How .ui files mix with CMake and how they are called&lt;br /&gt;
** Seb: This is quite easy. Support for Qt in CMake is very strong, as a result of our collaboration with the KDE team a few years ago. KDE relies entirely on Qt and is CMake's largest project (to my knowledge). Dealing with .ui files goes like this (this should look familiar if you have worked with VTK wrappers):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  SET(UI_SRCS foo.ui bar.ui)&lt;br /&gt;
  QT4_WRAP_UI(UI_CXX ${UI_SRCS})&lt;br /&gt;
  ADD_EXECUTABLE(foobar WIN32 ${SRCS} ${UI_CXX} etc.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Need CMake to build a visual studio compatible version of Qt&lt;br /&gt;
** Seb: not really, no :) Qt is very easy to build, especially the latest LGPL distribution. It's a matter of typing one or two commands (qmake) and you are done; go get a coffee far far away though. We (mainly Bill H.) have approached Nokia/Trolltech to see if they would be interested in porting the Qt build system to CMake, but they are sticking to qmake for now (to my knowledge). Porting to CMake is, to my opinion, a non-trivial effort, considering the sheer size of the Qt distribution and how close to the system it is. I assume they include a lot of code to test if such or such feature is available at the low-level of the OS; while we are familiar with writing such tests, it takes some time and careful coding to cover all the bases.&lt;br /&gt;
* Need CPack to bundle Qt libraries with slicer binaries&lt;br /&gt;
** Seb: we have experience with this, we deliver turn-key applications bundled with Qt (ParaView3 to name one, and other internal commercial projects).&lt;br /&gt;
* How to adjust the look-and-feel to make an application that includes both KWW and Qt seem coordinated (even if the windows are not nested in the same toplevel window).&lt;br /&gt;
** Seb: the trick with Slicer is that you are actually trying *not* to be consistent with the look&amp;amp;feel of the platform, but consistent &amp;quot;across&amp;quot; all the platforms, by using the theming framework I added a few years ago to KWW. On the other hand, Qt is definitely trying to look very close to the native UI it is running on. For Qt to look like Slicer running KWW, you would have to dig inside Qt Theming and Style Sheets (see [http://labs.trolltech.com/blogs/2007/11/27/theming-qt-for-fun-and-profit/ this article] from 2007) and shoehorn Qt to Slicer's branding. This is do-able, but is definitely considered an &amp;quot;advanced&amp;quot; topic; my opinion is that there is already a good deal to learn before. While I'm a big fan of branding and Wendy's fantastic UI work, I would also suggest reconsidering theming Slicer so heavily, I think it looks very alien on platforms like MacOS; maybe this doesn't bother users as much as I think, you guys have a survey? Definitely keep the beautiful icons, but let Qt do his job with the layout. KWW allows the user to bend the layout almost to the pixel, but I think going so close to the metal has been the source of a lot of frustrations and weird glitches in the layout, still to this day.&lt;br /&gt;
* Best patterns for mixing Qt and VTK (events/callbacks/signals/slots)&lt;br /&gt;
&lt;br /&gt;
== Attendance == &lt;br /&gt;
*Open to all self-declared Slicer developers:&lt;br /&gt;
#Will Schroeder&lt;br /&gt;
#Steve Pieper&lt;br /&gt;
#Ron Kikinis&lt;br /&gt;
#Nicole Aucoin&lt;br /&gt;
#Alex Yarmarkovich (Wed only)&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42403</id>
		<title>Sept-2009-SlicerWidgetsBrainstorm</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42403"/>
		<updated>2009-09-10T13:29:58Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Open Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Logistics ==&lt;br /&gt;
&lt;br /&gt;
*Tentative date: Wednesday and Thursday, '''September 16 and 17, 2009'''&lt;br /&gt;
*Location: 1249 Boylston Street, 2nd floor conference room&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this meeting is to discuss development strategies to migrate Slicer to a new GUI layer.  For some background and discussion of our experiments with Qt and a possible development plan see [http://wiki.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 this document on Qt and Slicer3].&lt;br /&gt;
&lt;br /&gt;
Important questions to consider at this meeting are:&lt;br /&gt;
* What functionality does the application need to have in order to accomplish the needs of our DBP and clinical collaborations over the next several years?&lt;br /&gt;
* What look and feel should the application have?&lt;br /&gt;
* What capabilities will help us build the community of developers and users&lt;br /&gt;
** Standard tools - well supported with ample documentation, support, etc&lt;br /&gt;
** Flexibility to run in many environments&lt;br /&gt;
** Ease of use and productivity for developers&lt;br /&gt;
* Can we get a realistic estimate of the workload required and what skills are required to do the work?&lt;br /&gt;
** How much work have comparable project required (by people with what skills and experience?)&lt;br /&gt;
** What resources do we have to devote to this project compared with other demands?&lt;br /&gt;
* Are we comfortable that we have considered all the viable alternatives?&lt;br /&gt;
** What are the trends in GUI interface development for applications like ours&lt;br /&gt;
** What are the risks/benefits/complexity trade offs of various approaches&lt;br /&gt;
&lt;br /&gt;
==List of Widgets that are needed for the Slicer port==&lt;br /&gt;
* http://my-trac.assembla.com/protoctk/wiki/WidgetPlans&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Things to Consider ==&lt;br /&gt;
Our current plan is to move to QT. However, there are some alternates which should be looked at as a due diligence:&lt;br /&gt;
===Javascript family===&lt;br /&gt;
Note: with Qt's incorporation of WebKit it is possible to run any of the javascript tools natively inside a Qt application to build an alternate GUI.&lt;br /&gt;
[[Image:QVTKWidget-as-WebKit-Plugin-2009-09-01.png|right|thumb|Demo showing QVTKWidget as a plugin to a webpage with methods callable via JavaScript]]&lt;br /&gt;
* Java layer atop JavaScript http://code.google.com/webtoolkit/&lt;br /&gt;
** http://gwt.google.com/samples/Mail/Mail.html&lt;br /&gt;
** http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html&lt;br /&gt;
* echo http://demo.nextapp.com/echo3csjs/&lt;br /&gt;
* Phyton wrappings around JavaScript&lt;br /&gt;
**http://pyjs.org&lt;br /&gt;
*** http://pyjs.org/examples/&lt;br /&gt;
*** http://pyjs.org/examples/mail/output/Mail.html&lt;br /&gt;
&lt;br /&gt;
===Other Cross-platform GUIs===&lt;br /&gt;
* Java Swing http://en.wikipedia.org/wiki/Swing_%28Java%29&lt;br /&gt;
* GNUstep http://www.gnustep.org/&lt;br /&gt;
* Adobe Flex http://www.adobe.com/products/flex/&lt;br /&gt;
* http://cappuccino.org/&lt;br /&gt;
&lt;br /&gt;
=== Open Questions ===&lt;br /&gt;
* How .ui files mix with CMake and how they are called&lt;br /&gt;
** Seb: This is quite easy. Support for Qt in CMake is very strong, as a result of our collaboration with the KDE team a few years ago. KDE relies entirely on Qt and is CMake's largest project (to my knowledge). Dealing with .ui files goes like this (this should look familiar if you have worked with VTK wrappers):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  SET(UI_SRCS foo.ui bar.ui)&lt;br /&gt;
  QT4_WRAP_UI(UI_CXX ${UI_SRCS})&lt;br /&gt;
  ADD_EXECUTABLE(foobar WIN32 ${SRCS} ${UI_CXX} etc.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Need CMake to build a visual studio compatible version of Qt&lt;br /&gt;
** Seb: not really, no :) Qt is very easy to build, especially the latest LGPL distribution. It's a matter of typing one or two commands (qmake) and you are done; go get a coffee far far away though. We (mainly Bill H.) have approached Nokia/Trolltech to see if they would be interested in porting the Qt build system to CMake, but they are sticking to qmake for now (to my knowledge). Porting to CMake is, to my opinion, a non-trivial effort, considering the sheer size of the Qt distribution and how close to the system it is. I assume they include a lot of code to test if such or such feature is available at the low-level of the OS; while we are familiar with writing such tests, it takes some time and careful coding to cover all the bases.&lt;br /&gt;
* Need CPack to bundle Qt libraries with slicer binaries&lt;br /&gt;
* How to adjust the look-and-feel to make an application that includes both KWW and Qt seem coordinated (even if the windows are not nested in the same toplevel window).&lt;br /&gt;
* Best patterns for mixing Qt and VTK (events/callbacks/signals/slots)&lt;br /&gt;
&lt;br /&gt;
== Attendance == &lt;br /&gt;
*Open to all self-declared Slicer developers:&lt;br /&gt;
#Will Schroeder&lt;br /&gt;
#Steve Pieper&lt;br /&gt;
#Ron Kikinis&lt;br /&gt;
#Nicole Aucoin&lt;br /&gt;
#Alex Yarmarkovich (Wed only)&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42402</id>
		<title>Sept-2009-SlicerWidgetsBrainstorm</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42402"/>
		<updated>2009-09-10T13:26:56Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Open Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Logistics ==&lt;br /&gt;
&lt;br /&gt;
*Tentative date: Wednesday and Thursday, '''September 16 and 17, 2009'''&lt;br /&gt;
*Location: 1249 Boylston Street, 2nd floor conference room&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this meeting is to discuss development strategies to migrate Slicer to a new GUI layer.  For some background and discussion of our experiments with Qt and a possible development plan see [http://wiki.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 this document on Qt and Slicer3].&lt;br /&gt;
&lt;br /&gt;
Important questions to consider at this meeting are:&lt;br /&gt;
* What functionality does the application need to have in order to accomplish the needs of our DBP and clinical collaborations over the next several years?&lt;br /&gt;
* What look and feel should the application have?&lt;br /&gt;
* What capabilities will help us build the community of developers and users&lt;br /&gt;
** Standard tools - well supported with ample documentation, support, etc&lt;br /&gt;
** Flexibility to run in many environments&lt;br /&gt;
** Ease of use and productivity for developers&lt;br /&gt;
* Can we get a realistic estimate of the workload required and what skills are required to do the work?&lt;br /&gt;
** How much work have comparable project required (by people with what skills and experience?)&lt;br /&gt;
** What resources do we have to devote to this project compared with other demands?&lt;br /&gt;
* Are we comfortable that we have considered all the viable alternatives?&lt;br /&gt;
** What are the trends in GUI interface development for applications like ours&lt;br /&gt;
** What are the risks/benefits/complexity trade offs of various approaches&lt;br /&gt;
&lt;br /&gt;
==List of Widgets that are needed for the Slicer port==&lt;br /&gt;
* http://my-trac.assembla.com/protoctk/wiki/WidgetPlans&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Things to Consider ==&lt;br /&gt;
Our current plan is to move to QT. However, there are some alternates which should be looked at as a due diligence:&lt;br /&gt;
===Javascript family===&lt;br /&gt;
Note: with Qt's incorporation of WebKit it is possible to run any of the javascript tools natively inside a Qt application to build an alternate GUI.&lt;br /&gt;
[[Image:QVTKWidget-as-WebKit-Plugin-2009-09-01.png|right|thumb|Demo showing QVTKWidget as a plugin to a webpage with methods callable via JavaScript]]&lt;br /&gt;
* Java layer atop JavaScript http://code.google.com/webtoolkit/&lt;br /&gt;
** http://gwt.google.com/samples/Mail/Mail.html&lt;br /&gt;
** http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html&lt;br /&gt;
* echo http://demo.nextapp.com/echo3csjs/&lt;br /&gt;
* Phyton wrappings around JavaScript&lt;br /&gt;
**http://pyjs.org&lt;br /&gt;
*** http://pyjs.org/examples/&lt;br /&gt;
*** http://pyjs.org/examples/mail/output/Mail.html&lt;br /&gt;
&lt;br /&gt;
===Other Cross-platform GUIs===&lt;br /&gt;
* Java Swing http://en.wikipedia.org/wiki/Swing_%28Java%29&lt;br /&gt;
* GNUstep http://www.gnustep.org/&lt;br /&gt;
* Adobe Flex http://www.adobe.com/products/flex/&lt;br /&gt;
* http://cappuccino.org/&lt;br /&gt;
&lt;br /&gt;
=== Open Questions ===&lt;br /&gt;
* How .ui files mix with CMake and how they are called&lt;br /&gt;
** Seb: This is very easy. Support for Qt in CMake is very strong, as a result of our collaboration with the KDE team a few years ago. KDE relies entirely on Qt and is CMake's largest project (to my knowledge). Dealing with .ui file goes like this (this should look familiar if you have worked with VTK wrappers):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  SET(UI_SRCS foo.ui bar.ui)&lt;br /&gt;
  QT4_WRAP_UI(UI_CXX ${UI_SRCS})&lt;br /&gt;
  ADD_EXECUTABLE(foobar WIN32 ${SRCS} ${UI_CXX} etc.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Need CMake to build a visual studio compatible version of Qt&lt;br /&gt;
** Seb: not really, no :) Qt is very easy to build (especially the latest LGPL distribution). It's a matter of typing one or two commands (qmake) and you are done (go get a coffee far far away though). We have approached Nokia/Trolltech to see if they would be interested in porting Qt build system to CMake, but they are sticking to qmake for now (to my knowledge). Porting to CMake is, to my opinion, a non-trivial effort, since Qt is so close to the system. I assume they include a lot of code to test if a feature is available at the low-level of the OS; while we are familiar with writing such tests, it takes some time and careful coding to cover all the bases.&lt;br /&gt;
* Need CPack to bundle Qt libraries with slicer binaries&lt;br /&gt;
* How to adjust the look-and-feel to make an application that includes both KWW and Qt seem coordinated (even if the windows are not nested in the same toplevel window).&lt;br /&gt;
* Best patterns for mixing Qt and VTK (events/callbacks/signals/slots)&lt;br /&gt;
&lt;br /&gt;
== Attendance == &lt;br /&gt;
*Open to all self-declared Slicer developers:&lt;br /&gt;
#Will Schroeder&lt;br /&gt;
#Steve Pieper&lt;br /&gt;
#Ron Kikinis&lt;br /&gt;
#Nicole Aucoin&lt;br /&gt;
#Alex Yarmarkovich (Wed only)&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42397</id>
		<title>Sept-2009-SlicerWidgetsBrainstorm</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Sept-2009-SlicerWidgetsBrainstorm&amp;diff=42397"/>
		<updated>2009-09-10T13:18:05Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Open Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Logistics ==&lt;br /&gt;
&lt;br /&gt;
*Tentative date: Wednesday and Thursday, '''September 16 and 17, 2009'''&lt;br /&gt;
*Location: 1249 Boylston Street, 2nd floor conference room&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this meeting is to discuss development strategies to migrate Slicer to a new GUI layer.  For some background and discussion of our experiments with Qt and a possible development plan see [http://wiki.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 this document on Qt and Slicer3].&lt;br /&gt;
&lt;br /&gt;
Important questions to consider at this meeting are:&lt;br /&gt;
* What functionality does the application need to have in order to accomplish the needs of our DBP and clinical collaborations over the next several years?&lt;br /&gt;
* What look and feel should the application have?&lt;br /&gt;
* What capabilities will help us build the community of developers and users&lt;br /&gt;
** Standard tools - well supported with ample documentation, support, etc&lt;br /&gt;
** Flexibility to run in many environments&lt;br /&gt;
** Ease of use and productivity for developers&lt;br /&gt;
* Can we get a realistic estimate of the workload required and what skills are required to do the work?&lt;br /&gt;
** How much work have comparable project required (by people with what skills and experience?)&lt;br /&gt;
** What resources do we have to devote to this project compared with other demands?&lt;br /&gt;
* Are we comfortable that we have considered all the viable alternatives?&lt;br /&gt;
** What are the trends in GUI interface development for applications like ours&lt;br /&gt;
** What are the risks/benefits/complexity trade offs of various approaches&lt;br /&gt;
&lt;br /&gt;
==List of Widgets that are needed for the Slicer port==&lt;br /&gt;
* http://my-trac.assembla.com/protoctk/wiki/WidgetPlans&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Things to Consider ==&lt;br /&gt;
Our current plan is to move to QT. However, there are some alternates which should be looked at as a due diligence:&lt;br /&gt;
===Javascript family===&lt;br /&gt;
Note: with Qt's incorporation of WebKit it is possible to run any of the javascript tools natively inside a Qt application to build an alternate GUI.&lt;br /&gt;
[[Image:QVTKWidget-as-WebKit-Plugin-2009-09-01.png|right|thumb|Demo showing QVTKWidget as a plugin to a webpage with methods callable via JavaScript]]&lt;br /&gt;
* Java layer atop JavaScript http://code.google.com/webtoolkit/&lt;br /&gt;
** http://gwt.google.com/samples/Mail/Mail.html&lt;br /&gt;
** http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html&lt;br /&gt;
* echo http://demo.nextapp.com/echo3csjs/&lt;br /&gt;
* Phyton wrappings around JavaScript&lt;br /&gt;
**http://pyjs.org&lt;br /&gt;
*** http://pyjs.org/examples/&lt;br /&gt;
*** http://pyjs.org/examples/mail/output/Mail.html&lt;br /&gt;
&lt;br /&gt;
===Other Cross-platform GUIs===&lt;br /&gt;
* Java Swing http://en.wikipedia.org/wiki/Swing_%28Java%29&lt;br /&gt;
* GNUstep http://www.gnustep.org/&lt;br /&gt;
* Adobe Flex http://www.adobe.com/products/flex/&lt;br /&gt;
* http://cappuccino.org/&lt;br /&gt;
&lt;br /&gt;
=== Open Questions ===&lt;br /&gt;
* How .ui files mix with CMake and how they are called&lt;br /&gt;
** Seb: This is very easy. Support for Qt in CMake is very strong, as a result of our collaboration with the KDE team a few years ago. KDE relies entirely on Qt and is CMake's largest project (to my knowledge). It goes like this, and this should look very familiar if have worked with VTK wrappers:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  SET(UI_SRCS foo.ui bar.ui)&lt;br /&gt;
  QT4_WRAP_UI(UI_CXX ${UI_SRCS})&lt;br /&gt;
  ADD_EXECUTABLE(foobar WIN32 ${SRCS} ${UI_CXX} etc.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Need CMake to build a visual studio compatible version of Qt&lt;br /&gt;
* Need CPack to bundle Qt libraries with slicer binaries&lt;br /&gt;
* How to adjust the look-and-feel to make an application that includes both KWW and Qt seem coordinated (even if the windows are not nested in the same toplevel window).&lt;br /&gt;
* Best patterns for mixing Qt and VTK (events/callbacks/signals/slots)&lt;br /&gt;
&lt;br /&gt;
== Attendance == &lt;br /&gt;
*Open to all self-declared Slicer developers:&lt;br /&gt;
#Will Schroeder&lt;br /&gt;
#Steve Pieper&lt;br /&gt;
#Ron Kikinis&lt;br /&gt;
#Nicole Aucoin&lt;br /&gt;
#Alex Yarmarkovich (Wed only)&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3_FlexibleLayouts&amp;diff=39297</id>
		<title>Slicer3 FlexibleLayouts</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3_FlexibleLayouts&amp;diff=39297"/>
		<updated>2009-06-22T18:34:41Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW2009-v3.png|[[2009_Summer_Project_Week|Project Week Main Page]]&lt;br /&gt;
Image:FlexibleLayoutRepresentation.png | Representation&lt;br /&gt;
Image:FlexibleLayoutUXP.png | UXP: specifiying initial layout grid&lt;br /&gt;
Image:FlexibleLayoutUXPsplitpane.png | UXP: splitting a pane&lt;br /&gt;
Image:FlexibleLayoutUXPspanpane.png | UXP: deleting a pane&lt;br /&gt;
Image:FlexibleLayoutUXPassignContent.png | UXP: assigning content to a pane&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
* GE: Jim Miller&lt;br /&gt;
* BWH/Isomics: Steve Pieper&lt;br /&gt;
* BWH: Wendy Plesniak&lt;br /&gt;
* Kitware: Sebastien Barre (the multi-camera / multi-3D view code in the &amp;quot;cameraviewhell&amp;quot; branch has been ported to 3.4 and is being tested).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Continue implementing infrastructure and interface for generating custom layouts in Slicer3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Representation and Logic are currently being implemented; finish this implementation and begin testing.&lt;br /&gt;
* Add functionality to read/write XML specification &lt;br /&gt;
* Integrate with exiting vtkMRMLLayoutNode&lt;br /&gt;
* Begin work on building GUI to support UXP design&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP#User_experience_design_for_Slicer_flexible_layouts  User Experience Design]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:Architecture  Representation]&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2009_Summer_Project_Week&amp;diff=37238</id>
		<title>2009 Summer Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2009_Summer_Project_Week&amp;diff=37238"/>
		<updated>2009-05-12T21:33:25Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Attendee List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Project Events]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
*'''Dates:''' June 22-26, 2009&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;
&lt;br /&gt;
==Introduction to the FIRST JOINT PROJECT WEEK==&lt;br /&gt;
&lt;br /&gt;
We are pleased to announce the FIRST JOINT PROJECT WEEK of hands-on research and development activity for Image-Guided Therapy and Neuroscience applications.  Participants will engage in open source programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithm design, medical imaging sequence development, tracking experiments, and clinical application. The main goal of this event is to move forward the translational research deliverables of the sponsoring centers and their collaborators. Active and potential collaborators are encouraged and welcome to attend this event. This event will be set up to maximize informal interaction between participants.  &lt;br /&gt;
&lt;br /&gt;
Active preparation will begin on''' Thursday, April 16th at 3pm ET''', with a kick-off teleconference.  Invitations to this call will be sent to members of the sponsoring communities, their collaborators, past attendees of the event, as well as any parties who have expressed an interest in working with these centers. The main goal of the kick-off call is to get an idea of which groups/projects will be active at the upcoming event, and to ensure that there is sufficient coverage for all. Subsequent teleconferences will allow for more focused discussions on individual projects and allow the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in breakout sessions. In the final days leading upto the meeting, all project teams will be asked to fill in a template page on this wiki that describes the objectives and plan of their projects.  &lt;br /&gt;
&lt;br /&gt;
The event itself will start off with a short presentation by each project team, driven using their previously created description, and will help all participants get acquainted with others who are doing similar work. In the rest of the week, about half the time will be spent in breakout discussions on topics of common interest of subsets of the attendees, and the other half will be spent in project teams, doing hands-on project work.  The hands-on activities will be done in 30-50 small teams of size 2-4, each with a mix of multi-disciplinary expertise.  To facilitate this work, a large room at MIT will be setup with several tables, with internet and power access, and each computer software development based team will gather on a table with their individual laptops, connect to the internet to download their software and data, and be able to work on their projects.  Teams working on projects that require the use of medical devices will proceed to Brigham and Women's Hospital and carry out their experiments there. On the last day of the event, a closing presentation session will be held in which each project team will present a summary of what they accomplished during the week.&lt;br /&gt;
&lt;br /&gt;
This event is part of the translational research efforts of [http://www.na-mic.org NA-MIC], [http://www.ncigt.org NCIGT], [http://nac.spl.harvard.edu/ NAC], [http://catalyst.harvard.edu/home.html Harvard Catalyst], and [http://www.cimit.org CIMIT].  It is an expansion of the NA-MIC Summer Project Week that has been held annually since 2005. It will be held every summer at MIT and Brigham and Womens Hospital in Boston, typically during the last full week of June, and in Salt Lake City in the winter, typically during the second week of January.  &lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events that this FIRST JOINT EVENT is based on is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
* Monday &lt;br /&gt;
** noon-1pm lunch &lt;br /&gt;
**1pm: Welcome (Ron Kikinis)&lt;br /&gt;
** 1:05-3:30pm Introduce [[#Projects|Projects]] using templated wiki pages (all Project Leads) ([[NA-MIC/Projects/Theme/Template|Wiki Template]]) &lt;br /&gt;
** 3:30-5:30pm Start project work&lt;br /&gt;
* Tuesday &lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
**9:30-10am: NA-MIC Kit Overview (Jim Miller)&lt;br /&gt;
** 10-10:30am Slicer 3.4 Update (Steve Pieper)&lt;br /&gt;
** 10:30-11am Slicer IGT and Imaging Kit Update Update (Noby Hata, Scott Hoge)&lt;br /&gt;
** 11am-12:00pm Breakout Session: [[2009 Project Week Breakout Session: Slicer-Python]] (Demian W)&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 2:30pm-5pm: [[2009 Project Week Data Clinic|Data Clinic]]&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Wednesday &lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 9am-12pm Breakout Session: [[2009 Project Week Breakout Session: ITK]] (Luis Ibanez)&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 2:30pm: Breakout Session: [[2009 Project Week Breakout Session: 3D+T Microscopy Cell Dataset Segmentation]] (Alex G.)&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Thursday&lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 9-11pm Tutorial Contest Presentations&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 2:30pm: Breakout Session: TBD&lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Friday &lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 10am-noon: Tutorial Contest Winner Announcement and Project Progress using update [[#Projects|Project Wiki pages]]&lt;br /&gt;
*** Noon: Lunch boxes and adjourn by 1:30pm.&lt;br /&gt;
***We need to empty room by 1:30.  You are welcome to use wireless in Stata.&lt;br /&gt;
***Please sign up for the developer [http://www.slicer.org/pages/Mailinglist mailing lists]&lt;br /&gt;
***Next Project Week [[AHM_2010|in Utah, January 4-8, 2010]]&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
&lt;br /&gt;
The list of projects for this week will go here.&lt;br /&gt;
&lt;br /&gt;
#Prostate Robotics (Junichi, Sam, Nathan Cho, Jack),  - Mon, Tue, Thursday 7pm-midnight)&lt;br /&gt;
#4D Imaging - currently used for Lung Perfusion (Junichi, Dan Blezek?, Steve, Alex G?)&lt;br /&gt;
#Liver Ablation in Slicer (Haiying, Georgetown?)&lt;br /&gt;
#SLicer3 and Brainlab - introduction to UCLA (Haiying, Xenios, Pratik, Nathan Hageman)&lt;br /&gt;
#Adaptive Radiotherapy - Deformable registration and DICOMRT (Greg Sharp, Steve, Wendy)&lt;br /&gt;
#gpu based registration acceleration (James Balter, Greg Sharp, Alark Joshi?, Aditya K., Yogesh Rathi?, Jimi Malcolm, Sandy Wells, Tina Kapur)&lt;br /&gt;
#Brain DTI Atlas? (Florin, Utah, UNC, GeorgiaTech)&lt;br /&gt;
#Xnat user interface improvements for NA-MIC (Dan M, Tina, Florin, Ron, Wendy)&lt;br /&gt;
#xnat and DICOMRT (Greg Sharp, Dan M) - might be done?&lt;br /&gt;
#Xnat user clinic - combine with data clinic&lt;br /&gt;
#xnat programmer clinic&lt;br /&gt;
#Grid Wizard+xnat clinic (Clement)&lt;br /&gt;
#?Fluid Mechanincs Module (Nathan Hageman)&lt;br /&gt;
#?DTI digital phantom generator to create validation data sets - webservice/cmdlin module/binaries are downloadable from UCLA (Nathan Hageman)&lt;br /&gt;
#Cortical Thickness Pipeline (Clement, Ipek)&lt;br /&gt;
#Demo Brainlab/Slicer in BWH OR (Haiying, Nathan Hageman)&lt;br /&gt;
#Skull Stripping (Xiadong)&lt;br /&gt;
&lt;br /&gt;
IGT Projects:&lt;br /&gt;
#port 4d gated ultrasound code to Slicer -  (Danielle)&lt;br /&gt;
#integration of stereo video into Slicer (Mehdi)&lt;br /&gt;
#multi-modality statistical toolbox for MR T1, T2, fMRI, DTI data (Diego, sylvain jaume, nicholas, noby)&lt;br /&gt;
#neuroendoscope workflow presentation (sebastien barre)&lt;br /&gt;
#slicer integration of mri compatible prostate biopsy robot(sid, queens)&lt;br /&gt;
#breakout session on Dynamic Patient Models (James Balter)&lt;br /&gt;
#gpu acceleration of 2d-3d registration (james balter, greg sharp, sandy wells, noby hata, terry peters proxy)&lt;br /&gt;
&lt;br /&gt;
NA-MIC Engineering Projects&lt;br /&gt;
# DICOM Validation and Cleanup Tool (Luis, Sid, Steve, Greg)&lt;br /&gt;
# Using ITK in python (Steve, Demian, Jim)&lt;br /&gt;
# VTK 3d Widgets in Slicer3 (Nicole, Will/Karthik)&lt;br /&gt;
# Update to Slicer3 Colors module (Nicole)&lt;br /&gt;
# EM Segmenter (Sylvain, Nicolas)&lt;br /&gt;
# Plug-in 3D Viewer based on XIP (Lining)&lt;br /&gt;
# IAFE Mesh Modules - improvements and testing (Curt, Steve, Vince)&lt;br /&gt;
# Informatics workflow Design (Wen, Steve, Dan M, Dan B)&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-project-week mailing list&lt;br /&gt;
# Join the kickoff TCON on April 16, 3pm ET.&lt;br /&gt;
# [[Engineering:TCON_2009|June 18 TCON]] at 3pm ET to tie loose ends.  Anyone with un-addressed questions should call.&lt;br /&gt;
# By 3pm ET on June 11, 2009: [[Project_Week/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
# By 3pm on June 18, 2009: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&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. (Zack)&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;
# People doing Slicer related projects should come to project week with slicer built on your laptop.&lt;br /&gt;
## Projects to develop extension modules should work with the [http://viewvc.slicer.org/viewcvs.cgi/branches/Slicer-3-4/#dirlist Slicer-3-4 branch] (new code should not be checked into the branch).&lt;br /&gt;
## Projects to modify core behavior of slicer should be done on the [http://viewvc.slicer.org/viewcvs.cgi/trunk/ trunk].&lt;br /&gt;
&lt;br /&gt;
==Attendee List==&lt;br /&gt;
If you plan to attend, please add your name here.&lt;br /&gt;
&lt;br /&gt;
#Ron Kikinis, BWH&lt;br /&gt;
#Ferenc Jolesz, BWH&lt;br /&gt;
#Clare Tempany, BWH&lt;br /&gt;
#Tina Kapur, BWH&lt;br /&gt;
#Steve Pieper, Isomics Inc&lt;br /&gt;
#Jim Miller, GE Research&lt;br /&gt;
#Xiaodong Tao, GE Research&lt;br /&gt;
#Bill Lorensen, EAB&lt;br /&gt;
#Randy Gollub, MGH&lt;br /&gt;
#Nicole Aucoin, BWH&lt;br /&gt;
#Dan Marcus, WUSTL&lt;br /&gt;
#Junichi Tokuda, BWH&lt;br /&gt;
#Alex Gouaillard, Harvard Systems Biology&lt;br /&gt;
#Arnaud Gelas, Harvard Systems Biology &lt;br /&gt;
#Kishore Mosanliganti, Harvard Systems Biology&lt;br /&gt;
#Lydie Souhait, Harvard Systems Biology&lt;br /&gt;
#Luis Ibanez, Kitware Inc&lt;br /&gt;
#Vincent Magnotta, UIowa&lt;br /&gt;
#Hans Johnson, UIowa&lt;br /&gt;
#Xenios Papademetris, Yale&lt;br /&gt;
#Gregory S. Fischer, WPI (Mon, Tue, Wed)&lt;br /&gt;
#Daniel Blezek, Mayo (Tue-Fri)&lt;br /&gt;
#Danielle Pace, Robarts Research Institute / UWO&lt;br /&gt;
#Clement Vachet, UNC-Chapel Hill&lt;br /&gt;
#Dave Welch, UIowa&lt;br /&gt;
#Demian Wassermann, Odyssée lab, INRIA, France&lt;br /&gt;
#Manasi Ramachandran, UIowa&lt;br /&gt;
#Greg Sharp, MGH&lt;br /&gt;
#Rui Li, MGH&lt;br /&gt;
#Mehdi Esteghamatian, Robarts Research Institute / UWO&lt;br /&gt;
#Misha Milchenko, WUSTL&lt;br /&gt;
#Kevin Archie, WUSTL&lt;br /&gt;
#Tim Olsen, WUSTL&lt;br /&gt;
#Wendy Plesniak BWH&lt;br /&gt;
#Haiying Liu BWH&lt;br /&gt;
#Curtis Lisle, KnowledgeVis / Isomics&lt;br /&gt;
#Diego Cantor, Robarts Research Institute / UWO&lt;br /&gt;
#Daniel Haehn, BWH&lt;br /&gt;
#Nicolas Rannou, BWH&lt;br /&gt;
#Sylvain Jaume, MIT&lt;br /&gt;
#Alex Yarmarkovich, Isomics&lt;br /&gt;
#Marco Ruiz, UCSD&lt;br /&gt;
#Andriy Fedorov, BWH&lt;br /&gt;
#Harish Doddi, Stanford University&lt;br /&gt;
#Saikat Pal, Stanford University&lt;br /&gt;
#Scott Hoge, BWH&lt;br /&gt;
#Vandana Mohan, Georgia Tech&lt;br /&gt;
#Ivan Kolosev, Georgia Tech&lt;br /&gt;
#Behnood Gholami, Georgia Tech&lt;br /&gt;
#James Balter, U Michigan&lt;br /&gt;
#Dan McShan, U Michigan&lt;br /&gt;
#Zhou Shen, U Michigan&lt;br /&gt;
#Maria Francesca Spadea, Italy&lt;br /&gt;
#Lining Yang, Siemens Corporate Research&lt;br /&gt;
#Beatriz Paniagua, UNC-Chapel Hill&lt;br /&gt;
#Bennett Landman, Johns Hopkins University &lt;br /&gt;
#Snehashis Roy, Johns Hopkins University&lt;br /&gt;
#Marta Peroni, Politecnico di Milano&lt;br /&gt;
#Sebastien Barre, Kitware, Inc.&lt;br /&gt;
&lt;br /&gt;
== Logistics ==&lt;br /&gt;
*'''Dates:''' June 22-26, 2009&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;
*'''Registration Fee:''' $260 (covers the cost of breakfast, lunch and coffee breaks for the week). Due by Friday, June 12th, 2009. Please make checks out to &amp;quot;Massachusetts Institute of Technology&amp;quot; and mail to: Donna Kaufman, MIT, 77 Massachusetts Ave., 38-409a, Cambridge, MA 02139.  Receipts will be provided by email as checks are received.  Please send questions to dkauf at mit.edu. '''If this is your first event and you are attending for only one day, the registration fee is waived.'''  Please let us know, so that we can cover the costs with one of our grants.&lt;br /&gt;
*'''Registration Method''' Add your name to the Attendee List section of this page&lt;br /&gt;
*'''Hotel:''' We have a group rate of $189/night (plus tax) at the Le Meridien (which used to be the Hotel at MIT). [http://www.starwoodmeeting.com/Book/MITDECSE  Please click here to reserve.] This rate is good only through June 1.&lt;br /&gt;
*Here is some information about several other 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;
*2009 Summer Project Week [[NA-MIC/Projects/Theme/Template|'''Template''']]&lt;br /&gt;
*[[2008_Summer_Project_Week#Projects|Last Year's Projects as a reference]]&lt;br /&gt;
*For hosting projects, we are planning to make use of the NITRC resources.  See [[NA-MIC_and_NITRC | Information about NITRC Collaboration]]&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Engineering:TCON_2009&amp;diff=36030</id>
		<title>Engineering:TCON 2009</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Engineering:TCON_2009&amp;diff=36030"/>
		<updated>2009-04-02T19:13:12Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* 2009-04-02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[TCON:Main|TCON:Main]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2009-04-02==&lt;br /&gt;
&lt;br /&gt;
* Discussion of dicom handling (follow up on questions from Queen's DBP prostate MR) (Steve)&lt;br /&gt;
* Luca's question about how to avoid accidental program execution during module discovery (Steve)&lt;br /&gt;
* FYI http://wiki.na-mic.org/Wiki/index.php/2009_Summer_Project_Week#Preparation&lt;br /&gt;
* FYI http://wiki.na-mic.org/Wiki/index.php/Events:Slicer_Workshop_August_2009&lt;br /&gt;
&lt;br /&gt;
Attendees: Steve, Jim, Nicole, Katie, Tina, Ron, Vince, Sebastien&lt;br /&gt;
&lt;br /&gt;
==03-26-2009==&lt;br /&gt;
&lt;br /&gt;
* Making build/install compatible with LSB (Linux Standard Base) and FHS (File Hierarchy Standard) to support effort to put slicer into the debian repository. (Steve) http://www.na-mic.org/Bug/view.php?id=511  A few of the questions to discuss with the engineering core:&lt;br /&gt;
** rpaths in GenerateCLP/GenerateLM (should we be using the GenerateCLPLauncher instead)&lt;br /&gt;
** version numbers on all .so files&lt;br /&gt;
** Dominique's patches: http://svn.debian.org/wsvn/debian-science/packages/slicer/trunk/debian/patches/50_all_changes.dpatch?op=file&amp;amp;rev=0&amp;amp;sc=0&lt;br /&gt;
** Problems finding the tk.tcl file (build is looking in /usr/lib/tk8.5 but on debian it is in /usr/share/tcltk/tk8.5/tk.tcl&lt;br /&gt;
*Tutorials at/before Project Week?&lt;br /&gt;
*FYI: starting this year, the project week is a joint activity between NA-MIC, NAC, and NCIGT. April 16th is the kickoff TCON.&lt;br /&gt;
&lt;br /&gt;
Attendees:&lt;br /&gt;
Steve, Jim, Will, Bill H., Nicole, Katie&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Tina will Ron Steve talking about tutorials, will we hold them during the project week? proposed and nixed the idea of holding anything the week before project week. Hold it online (shared desktop)? Get them out of PW and into own spot, out of week before PW.&lt;br /&gt;
** during PW they don't get the attention they deserve?&lt;br /&gt;
** will concerned about travel time/costs&lt;br /&gt;
** Tina not expanding the span of project week beyond the week, suggests keeping some tutorials in there, but not make them 5 hours long&lt;br /&gt;
** ask potential attendees if they have specific things they want to learn about&lt;br /&gt;
** try not to shuffle the tutorials as people plan to attend them on specific days&lt;br /&gt;
** make electronic versions available ahead of time&lt;br /&gt;
* PW is a join project week now with NAC and NCIGT, Apr 16th is kickoff TCON, Tina thinks 10-20 people more might attend&lt;br /&gt;
* debian style Slicer compilation&lt;br /&gt;
** GenerateCLP/GenerateLM, not using the launchers in general. Will fwd this to Sebastien and bill hoffman&lt;br /&gt;
** GenerateCLP/LM lib and bin in different dirs, generated during compile time, not found&lt;br /&gt;
** Bill H: not familiar with LSB and FHS&lt;br /&gt;
** Jim: we could change how GenerateCLP is built so change how the rpaths are set?&lt;br /&gt;
** Bill H: cmake can be set up with rpaths when building when install clear them out? skip rpaths, check with Brad King, check version of cmake&lt;br /&gt;
** Steve: rpaths are off everywhere but 64 bit linux. May not be necessary any more. They don't want them at all in debian. &lt;br /&gt;
** shared library version number, symlinks. Work on windows? in dll header, ignored. Is there a cmake command? set target properties, it'll set the name and set up the sym link.&lt;br /&gt;
** #3 in bug tracker, use Slicer3-real in /usr/bin? two assumptions in launcher, in build or install dirs, if it's in /usr/bin that's different again. current cpack slicer3, top level has Slicer3 and then sub dirs bin and lib, launcher should be in the bin dir? makes sense for install, but not for a zipped up dev build where have to look in bin for what to run. If bypass the launcher and run the core exec, it should be able to find all the shared libs in a properly installed debian. Module libs don't' make sense in /usr/lib as they don't stand on their own. Jim: build two launchers? one in bin dir and one outside, and in debian package the outside one doesn't. Reliance on SLICER_HOME - is it where started, installed, where Slicer3-real is? Bill: depend on the launcher to get paths right, as opposed to ld paths. Worry about installing the vtk libs in places where others can find them. We treat them as our own private versions. Debian: system vtk, etc, and the package manager deals with the library versions.&lt;br /&gt;
** #5 Bill: reason stick libraries in bin is due to Windows&lt;br /&gt;
** #6, 7: fine to fix if it doesn't break modules/libs that depend on each other&lt;br /&gt;
* Jim: Manaz want to do picking, fibre clustering into Slicer way. &lt;br /&gt;
** look at the Base/GUI/vtkSlicerViewerWidget.cxx for the CellPicker, it is called from an observer on the vtkSlicerViewerInteractorStyle when that reports a mouse mode event (see the vtkSlicerFiducialListWidget for example of how to set up the observer and respond to PickEvent)&lt;br /&gt;
&lt;br /&gt;
==03-19-2009==&lt;br /&gt;
Attendees: Katie, Tina, Nicole, Steve, Vince, Jim, Xiaodong, Ron, Will &lt;br /&gt;
&lt;br /&gt;
*During Project Week: full integration of the roadmap projects into the NA-MIC kit&lt;br /&gt;
** Tools developed under DBPs to be integrated to NA-MIC kit. Need to check progress and understand where we are. 1. MIND, 2. Harvard, 3. Queens, and 4. UNC.&lt;br /&gt;
&lt;br /&gt;
*Core 2 Renewal meeting&lt;br /&gt;
** Mid-May in Georgia, Will to coordinate.&lt;br /&gt;
&lt;br /&gt;
*Modules in slicer release&lt;br /&gt;
** Steve and Alex identified a list of bugs in Slicer 3.4 pre-release.&lt;br /&gt;
&lt;br /&gt;
==03-12-2009==&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*Registration in Slicer 3.4 (Ron)&lt;br /&gt;
**Which modules to list&lt;br /&gt;
**What guidance to give to potential end-users&lt;br /&gt;
*Check out http://www.ncbcs.org/cal.html&lt;br /&gt;
&lt;br /&gt;
Attendees: Ron, Tina, Will, Nicole, Vince, Bill, +1&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Registration&lt;br /&gt;
** bspline registration is a deliverable for the project week&lt;br /&gt;
** leaving registration as it is, Ron will reorder them:&lt;br /&gt;
***linear then affine then deformable then register images&lt;br /&gt;
** Ron will draft a note and send it around for comments&lt;br /&gt;
** documentation needs to be updated, Bill Lorensen can do bspline?&lt;br /&gt;
* Bill fixed the command line module loader to use an html to go to the web pages, use the documentation-url tag in your CLI xml file (See the Checkerboard filter help), update the CLIs to put them in&lt;br /&gt;
* there may be some supplement money from the stimulus package for our grant&lt;br /&gt;
* no release dates yet&lt;br /&gt;
* working on a welcome module Slicer3 UI design wiki page has some details&lt;br /&gt;
** http://slicer.spl.harvard.edu/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:WelcomeModule:Draft&lt;br /&gt;
* Bill signing off to shoot off a pvc pipe model rocket, also found an open source project, put your GPS location in and it shows you the annotated night sky, Stellarium.&lt;br /&gt;
* Will: are cheques being received, Tina hasn't heard yet, they're out and people should be receiving them. &lt;br /&gt;
* Tina: one of the NIH people working with Joy the dissemination person at Stanford (?), put together a calendar.&lt;br /&gt;
** Steve, Jim and Will are going to Georgia Tech in May, should show up on the calendar.&lt;br /&gt;
** when events page on the wiki gets updated, it will show up on the calendar&lt;br /&gt;
&lt;br /&gt;
==03-05-2009==&lt;br /&gt;
Attendees: Ron, Jim, Tina, Xiaodong, Marco, Dan&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*Documentation for Slicer 3.4&lt;br /&gt;
*New GWE released and tutorial added: [[Slicer3.2:Training]]&lt;br /&gt;
*Xnat central has been updated so it doesn't require login (default is to login as guest).&lt;br /&gt;
&lt;br /&gt;
==02-26-2009==&lt;br /&gt;
&lt;br /&gt;
Attendees: Katie, Curt, Tina, Steve, Jim, Nicole, Xiaodong, Ron&lt;br /&gt;
&lt;br /&gt;
* Check out the NA-MIC Events Calendar (WIP) on google: http://www.google.com/calendar/embed?src=r8bddigidepgvog24cpfk1bjgs%40group.calendar.google.com&amp;amp;ctz=America/New_York&lt;br /&gt;
* Time to start thinking about the [[2009_Annual_Scientific_Report]], deadline May 15. &lt;br /&gt;
* NCI update&lt;br /&gt;
* Slicer release &lt;br /&gt;
** File format for sending/receiving displacement fields. Hans suggested MATLAB.&lt;br /&gt;
** Release notes for command line modules. Keep module name the same as the cxx/xml filename.&lt;br /&gt;
&lt;br /&gt;
==02-19-2009==&lt;br /&gt;
* Attendees: Katie, Wendy, Nicole, Will, Jim, Xiaodong, Vince, plus lurkers&lt;br /&gt;
* VTK cvs repository frozen in preparation of a 5.4 release. Perhaps mid-March.&lt;br /&gt;
* Teem can now build with CMake though no one can use it yet can because it is not checked in.&lt;br /&gt;
* EM Segment bug wrt to signed data (i.e. CT data in Hounsfield numbers).&lt;br /&gt;
* Slicer release tentative for first week in March&lt;br /&gt;
&lt;br /&gt;
==02-12-2009==&lt;br /&gt;
*Agenda:&lt;br /&gt;
**Topic #1: NA-MIC data repository&lt;br /&gt;
**Topic #2: Python wrapping of ITK in Slicer: adding vtk-itk glue pipeline connection filters to Slicer build, so Python scripts can use ITK filters.&lt;br /&gt;
* Attendees: Jim Miller, Tina Kapur, Nicole Aucoin, Kurt Lisle, Ron Kikinis, Clement, Dan Marcus, Katie Hayes, Wendy Plesniak, Xiodong, Vincent Magnotta, Steve Pieper, Will Schroeder&lt;br /&gt;
&lt;br /&gt;
* NAMIC data rep:&lt;br /&gt;
* there is namic data, test data and tutorial data floating around in various places (including in Slicer download, different data bases), Ron suggests that we think about how we should organise it into one place for nightly builds, tutorials etc.&lt;br /&gt;
* Wendy: we have an instance of XND web services running on xnd.slicer.org, we could use it&lt;br /&gt;
** Steve: it's on an Amazon cloud, fine for testing, but not good for a high availability server. Should be where BWH sysadmins can monitor it. Shouldn't be hidden by a firewall. Need something hardened.&lt;br /&gt;
** also using central.xnat.org, Midas&lt;br /&gt;
** Dan: says right long term place for it is XNAT central, but right now Slicer is programmed against the desk top API. He suggests putting everything in a desktop and then porting it to central. WJP: could put .xcat files on central, Slicer3 can read them automatically.&lt;br /&gt;
** Ron: manual upload is okay for now, need reliable downloads&lt;br /&gt;
** Steve: for some tutorial and sample data put links in the GUI, ie file menu, sample data. Dan: start with XNAT Central, then.&lt;br /&gt;
** Ron: Two areas: tutorial data sets, compiled test data sets. For read, completely open.&lt;br /&gt;
** Use cases: Slicer 101 training page, link to data could point directly into xnat central. Nightly build: been using SVN, but the data is being packaged up for distribution right now, would like to avoid depending on another server, make it clear as to if need to install testing data (assume for now stay in source tree, but do need to test installed version - dl data in that case).&lt;br /&gt;
** Clean up: take out extra data files, .h files, if not needing to build extra stuff against an installed Slicer (has been abandoned due to different compilers?).  Need guidelines for the developers as to what should be installed.&lt;br /&gt;
*** If someone wants to write a CLI or loadable module, they have to have a built version of Slicer to do that &lt;br /&gt;
** Action items: Create a Slicer tutorial data project on xnat central and upload to it, make it open. Make xnat central so can access open projects w/o having to log in at all. Can it be done within 2 days? Dan says: Monday. He'll send an email when it's set up, make a wiki page on how to upload it.&lt;br /&gt;
** For the test data sets, keep using SVN, but encourage developers to make the smallest possible test data set&lt;br /&gt;
*** Add an upper limit for test data size, over it it should go in central.xnat.org&lt;br /&gt;
*** Add documentation for the test data sets somewhere. In directory as a ReadMe.txt file?&lt;br /&gt;
*** Make sure fill in doxygen style comments for auto generated documentation &lt;br /&gt;
** There will be a new Slicer 3.4 tutorial page, everything will be on the central xnat repository&lt;br /&gt;
&lt;br /&gt;
* Topic 2 : Curt: wrap ITK in python.&lt;br /&gt;
** To be able to move Slicers python console and ITK filters en mass for experimental prototyping.&lt;br /&gt;
** Historic vtkITK project, hand wrappers for indiv filters want to us, and CLI mechanism so can put in ITK filters directly.&lt;br /&gt;
** If we do auto wrapping, the wrapping is there, but there's no vtkITK pipeline connection available.&lt;br /&gt;
** Steve: You can go into ITK build and turn on the wrapping, Vince says builds take really long on Windows, so hesitant to turn it on by default in Slicer build.&lt;br /&gt;
** in python console can instantiate an ITK filter, but getting things into and out of it is a problem. Curt envisions loading a data set into Slicer and trying out different filters to see what you want to put in a CLI. Can try using the numpy? get a numpy array of slicer image data and manipulate it w/numpy or use as a vtk array? Something else needed? Checking Luca's old emails... the Slicer way of wrapping for python is different than the native VTK way of wrapping python. Luca would like some examples from Curt, use cases. There is a way to go from Slicer mrml to numpy array to ITK. Jim could embed this into a helper.&lt;br /&gt;
** Jim: want to grab a mrml node and say get the ITK representation of the data in that node (have the orientations come across, and meta data in mrml node that ITK can represent, LPS/RAS conversion).&lt;br /&gt;
** no action items just yet, Curt will explore and report what is needed to make wrappers&lt;br /&gt;
** Luca: need to be clear when working with VTK wrapped things versus Slicer wrapped things, can't go from one to the other, but each one individually should be able to do .&lt;br /&gt;
** Will: some email on the ParaView list about wrapping, he'll send stuff to Curt and Steve.&lt;br /&gt;
** building python problems on Dash18: connection problems with the scipy svn server. Mirror?&lt;br /&gt;
&lt;br /&gt;
* Dave Cole has been working with Gordon, has teem building with CMake, working on a &amp;quot;proper&amp;quot; Mac release (new feature?)&lt;br /&gt;
* Jim updating a couple of builds today, errors building from getbuildtest.tcl, source tree is checked out of someplace else (teem, igt link), need to remove the directory and rebuild.&lt;br /&gt;
* Steve: latest windows build installer can bring up the python console. Katie reports seg faults on Darwin (unrelated?).&lt;br /&gt;
** there are python versions 2.6 and 3.0, but consensus here has been to stick with 2.5 for numpy and other packages.&lt;br /&gt;
* Been going through the bug tracker and clean up things for the release of Slicer 3.4&lt;br /&gt;
* Was there a recent workshop that Randy Gollub was involved in Puerto Rico? mBIRN spring last year&lt;br /&gt;
&lt;br /&gt;
==02-05-2009==&lt;br /&gt;
Agenda:&lt;br /&gt;
&lt;br /&gt;
*Attendees: Jim, Wendy, Tina, Ron, Nicole, Steve, Curt, Vince&lt;br /&gt;
&lt;br /&gt;
*Topic #1 - Feature Freeze&lt;br /&gt;
*http://www.slicer.org/slicerWiki/index.php/Documentation-3.4#List_of_Modules_in_need_of_documentation&lt;br /&gt;
&lt;br /&gt;
Feature freeze occurred on 2/4/09 - we should be only cleaning up, fixing bugs, and writing documentation for existing Slicer modules.  &lt;br /&gt;
&lt;br /&gt;
Target for code freeze will be at the end of February.  Please get bug fixes in during February, if possible.  We will start making release candidate builds on or around March 1st. &lt;br /&gt;
&lt;br /&gt;
Everyone please check the module documentation pages and make sure to fill out the documentation.  Ron has added candidate names for individuals responsible for the modules.  Please use the template and go along with the naming scheme. Some reorganization of the list may occur.  Email will go out for everyone to finish their module in the next week or so.&lt;br /&gt;
&lt;br /&gt;
*Topic #2 NA-MIC-related Research&lt;br /&gt;
*http://wiki.na-mic.org/Wiki/index.php/NA-MIC:Site_PI_Other_Research&lt;br /&gt;
Compile a list of grants that have benefitted from NA-MIC.  Both active and expired grants which have benefitted should be entered.  Collaborations with other groups is good.  Joint publications are preferred to demonstrate effective collaboration.   We are also trying to show that NA-MIC people are involved in other productive activities, as well. &lt;br /&gt;
&lt;br /&gt;
Core 2 NAC and BIRN activity should be listed.  &lt;br /&gt;
&lt;br /&gt;
Collaboration grants should be added to be listed.  We are looking to list solid grants or efforts that should be listed.  Send to Tina or add to this list.&lt;br /&gt;
&lt;br /&gt;
*New Tools&lt;br /&gt;
New tools for registration and atlas development have been recently released.  UCLA NCBC effort or related grant may have assisted with this  (James Gee).  Jim Miller evaluating to decide if these could make useful Slicer plug-ins.  They are currently command line tools which could be adapted for use with Slicer.  Is this a benefit to show that this NCBC's tool products are compatible with Slicer. &lt;br /&gt;
&lt;br /&gt;
*Python building in Windows&lt;br /&gt;
Steve is experiencing some Python build problems under Windows related to GenerateCLP.  Jim and Steve discussed how to resolve.&lt;br /&gt;
&lt;br /&gt;
iPython is now available for use with Slicer.  There is a small installation script to run after Slicer is built.  WrapITK is the newest way to wrap ITK in Python.  vtkITK is the older way.  All of ITK can be wrapped automatically, but this option is turned off by default, since it slows down the build.&lt;br /&gt;
&lt;br /&gt;
==01-29-2009==&lt;br /&gt;
Attendees: Jim, Steve, Tina, Dan, Nicole&lt;br /&gt;
&lt;br /&gt;
* Discussion of [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerInformatics:Draft1 XNAT Integration Timeline]&lt;br /&gt;
&lt;br /&gt;
==01-22-2009==&lt;br /&gt;
Attendees: Jim, Steve, Tina, Wendy, Xiadong, Nicole&lt;br /&gt;
&lt;br /&gt;
*collaboration grants - doesn't look like anything is going in feb&lt;br /&gt;
&lt;br /&gt;
==01-15-2009==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Steve, Katie, Tina, Wendy, Nicole, Vince, Xiaodong, Sebastien&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*LGPL QT - should we consider this going forward?&lt;br /&gt;
*Slicer code freeze on Feb 4th. [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Events Slicer3 Events] for requirements for modules to be included.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=AHM_2009&amp;diff=34130</id>
		<title>AHM 2009</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=AHM_2009&amp;diff=34130"/>
		<updated>2009-01-03T23:35:19Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Agenda */ modules??&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
{| border=&amp;quot;00&amp;quot; cellpadding=&amp;quot;8&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| '''This is the home page for the 2009 NA-MIC all hands meeting (AHM).''' NA-MIC participants meet for a AHM once a year. The purpose of the AHM is to coordinate, discuss plans and report to NIH officers and the external advisory board (EAB). The external advisory board meets with the NA-MIC leadership immediately after the AHM. In parallel, NA-MIC is organizing a project week. These events, with the exception of the EAB meeting, are open to collaborators and potential collaborators.&lt;br /&gt;
&lt;br /&gt;
For more information about the project weeks in general, click [[Engineering:Programming_Events|'''here''']]. &lt;br /&gt;
&lt;br /&gt;
For information about the January 2009 project week, see below or click [[2009_Winter_Project_Week|'''here''']].&lt;br /&gt;
&lt;br /&gt;
For information about Utah as a travel destination click [http://www.utah.com '''here'''].&lt;br /&gt;
| style=&amp;quot;background: #ebeced&amp;quot;  align=&amp;quot;center&amp;quot;| [[Image:SLC.jpg|center|350px|View of the City]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ebeced&amp;quot;|The 2009 AHM, EAB and Project Week will be held &amp;lt;br&amp;gt;'''January 5-9 2009''', in '''Salt Lake City''', Utah.  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
(preliminary)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:4%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | '''Monday, January 5''' &lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | '''Tuesday, January 6'''&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | '''Wednesday, January 7''' &lt;br /&gt;
| style=&amp;quot;width:32%&amp;quot; | '''Thursday, January 8 '''&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | '''Friday, January 9''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| '''[[2009_Winter_Project_Week|Project Activities]] ''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Capitol B-C]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| '''[[2009_Winter_Project_Week|Project Activities]] ''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Capitol B-C]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| '''[[2009_Winter_Project_Week|Project Activities]] ''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Capitol B-C]&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:#522200&amp;quot;| '''AHM''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/Capitol A-B], [[2009_EAB|'''EAB''']] in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Olympus B]&lt;br /&gt;
'''[[2009_Winter_Project_Week|Project Activities]] ''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Olympus A]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|'''[[2009_Winter_Project_Week|Project Activities]] ''' in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Capitol B-C]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''7:30-8:00''' &lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;|  &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''8:00-10:00''' &lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;|'''9:30''' Core 1 and 2 PI closed session in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Capitol A]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt; '''8:00-9:00''' [[AHM2009:NITRC and Slicer|How to use NITRC and slicer]] (Steve, Terry)&amp;lt;br&amp;gt; &lt;br /&gt;
'''9:00-10:00''' [[AHM2009:Batchmake and XNAT|Using Batchmake and XNAT to process large studies]] (Julien Jomier and Dan Marcus) in [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt;'''8:00-9:00''' [[AHM2009:Tutorial Review and Judging|Tutorial Review and Judging]] [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;|'''8:00''' [[AHM 2009 Introduction|Introduction]], [http://www.spl.harvard.edu/~kikinis Ron Kikinis] &amp;lt;br&amp;gt;&lt;br /&gt;
'''8:05''' [[AHM 2009 NA-MIC Highlights|NA-MIC Highlights]] ([http://www.cs.utah.edu/~whitaker/ Ross Whitaker])&amp;lt;br&amp;gt;&lt;br /&gt;
'''Roadmap Projects'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''8:35''': [[AHM2009:JHU|JHU/Queens]] ([http://research.cs.queensu.ca/~gabor/ Gabor Fichtinger])&amp;lt;br&amp;gt;&lt;br /&gt;
'''8:55''': [[AHM2009:UNC|UNC]] ([http://www.med.unc.edu/psych/directories/hazlett.htm Heather Cody])&amp;lt;br&amp;gt;&lt;br /&gt;
'''9:15''': [[AHM2009:PNL|PNL]] ([http://pnl.bwh.harvard.edu/people/profiles/kubicki.html Marek Kubicki])&amp;lt;br&amp;gt;&lt;br /&gt;
'''9.35''': [[AHM2009:Mind|Mind Institute]] ([http://www.mrn.org/principle-investigators/h.-jeremy-bockholt.html Jeremy Bockolt])&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt; TBD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''10:00-10:30''' &lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;| Core 1 and 2 PI closed session&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''10:30-12:00''' &lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;| Core 1 and 2 PI closed session&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt;&lt;br /&gt;
TBD&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;|&lt;br /&gt;
'''Collaborations'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''10:30''': Iowa collaboration ([http://www.engineering.uiowa.edu/faculty-staff/profile-directory/bme/grosland_n.php Nicole Grosland])&amp;lt;br&amp;gt;&lt;br /&gt;
'''10:45''': Wake Forest collaboration ([http://www.ece.vt.edu/faculty/wyatt.html Chris Wyatt])&amp;lt;br&amp;gt;&lt;br /&gt;
'''11:00''': Georgetown U. collaboration ([http://www.isis.georgetown.edu/PORTALVBVS/DesktopDefault.aspx?tabindex=2&amp;amp;tabid=8 Kevin Cleary])&amp;lt;br&amp;gt;&lt;br /&gt;
'''11:15''': UNC collaboration ([http://www.med.unc.edu/~dgshen Dinggang Shen])&amp;lt;br&amp;gt;&lt;br /&gt;
'''11:30''': Mario Negri Collaboration ([http://villacamozzi.marionegri.it/~luca/ Luca Antiga])&amp;lt;br&amp;gt;&lt;br /&gt;
'''11:45''': Discussion&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''12:00-1:00'''  &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Lunch &amp;lt;br&amp;gt; &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Lunch&amp;lt;br&amp;gt; &lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Adjourn &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''1:00-3:00''' &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|[[2009_Winter_Project_Week|Begin Project Activities]]: Introduce Projects and Participants &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|[[AHM 2009:DTI Breakout|DTI Discussion]] (Sonia, Randy, Others) [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt; [[AHM2009:Python Modules|Python Modules]] (Luca Antiga)&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;|&lt;br /&gt;
'''Tools and Tutorials''' (coordinator) &amp;lt;br&amp;gt;&lt;br /&gt;
'''1:00-1:20''' [[AHM2009:Slicer|Slicer]] ([http://www.spl.harvard.edu/~pieper Steve Pieper])&amp;lt;br&amp;gt;&lt;br /&gt;
'''1:20-1:40''' [[AHM2009:Plug-ins|Plug-ins for Slicer]] ([http://wiki.na-mic.org/Wiki/index.php/User:Millerjv Jim Miller])&amp;lt;br&amp;gt;&lt;br /&gt;
'''1:40-2:00''' [[AHM2009:Non-interactive-tools|Non-interactive tools]] ([http://www.kitware.com/company/team/aylward.html Stephen Aylward])&amp;lt;br&amp;gt;&lt;br /&gt;
'''2:00-3:00''' [[AHM2009:Tutorial-Contest-Winners|Tutorial Contest]]: Presentations by the winners ([http://www.nmr.mgh.harvard.edu/martinos/people/showPerson.php?people_id=64 Randy Gollub])&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''3:00-3:30''' &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;| Coffee&lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''3:00-5:00''' &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|'''3:30-4:30''' [[AHM2009:GUI Testing|Automated GUI Testing for Slicer]] (Sebastien) [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|'''3:30-4:30''' [[AHM2009:Cell Segmentation|Cell Segmentation]] (Alex G) &amp;lt;br&amp;gt; Project Work &amp;lt;br&amp;gt;TBD [http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|Project Work &amp;lt;br&amp;gt;'''3:00-5:00''' Meshing Tutorial (Nicole Grosland, Vincent Magnotta)&amp;lt;br&amp;gt;[[Iowa_Meshing_Tutorial]]&amp;lt;br&amp;gt;[http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Amethyst 1]&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;|[[2008 EAB|EAB]]&amp;lt;br&amp;gt;[http://www.marriott.com/hotels/event-planning/floor-plans/slccc-salt-lake-city-marriott-city-center/ Olympus B]&amp;lt;br&amp;gt;'''3:00-4:00''' Discussion with NA-MIC Leadership&amp;lt;br&amp;gt; '''4:00-5:00''' Closed Session&lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;|'''05:00-07:00''' &lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:black&amp;quot;|'''05:00-06:00''' [[AHM2009:Meshing Breakout | Meshing Breakout]]&lt;br /&gt;
| style=&amp;quot;background:#fff6a6; color:black&amp;quot;|'''6:00''' Optional: [http://www.skisaltlake.com/murphys.htm Beer at Murphy's] (like last year)&lt;br /&gt;
| style=&amp;quot;background:#ebeced; color:black&amp;quot;| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please note that there will be a Core 1&amp;amp;2 Site PI Retreat on the morning of Monday, January 5th. This is a closed session for Core 1&amp;amp;2 Site PIs, with no delegates. The topic is the competitive renewal.&lt;br /&gt;
&lt;br /&gt;
== Dates. Venue. Registration ==&lt;br /&gt;
'''Dates:''' &lt;br /&gt;
* The All Hands Meeting and External Advisory Board Meeting will be held on '''Thursday, January 8th'''.  &lt;br /&gt;
* Project Activities will be held rest of the week between '''Monday, January 5th and Friday, January 9th'''.&lt;br /&gt;
&lt;br /&gt;
'''Venue:''' The venue for the meeting is [http://www.marriott.com/hotels/travel/slccc-salt-lake-city-marriott-city-center/ Marriot City Center, Salt Lake City, Utah] Mariott City Center, Salt Lake City, Utah. [http://marriott.com/property/meetingsandevents/floorplans/slccc (Floorplan)]. Please either call the hotel at 1-801-961-8700 or 1-866-961-8700 (toll free) or book online '''by December 4, 2008''' using the code SCISCIA to get rooms at $139/night. Please note that we do need attendees to use this hotel in order to not incur additional charges for the use of conference rooms.&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' We are charging a registration fee to all participants ($200 for AHM only, and $450 for AHM+). The fee covers the costs of the facilities and food provided. In order to keep the fee low, we need to get a sufficient number of hotel nights by our participants. See above for more on this. Please click http://www.sci.utah.edu/namic2009/registration.html for online registration. This registration must be completed by December 12, 2008.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Connectivity'''&lt;br /&gt;
We have three wireless access points at the AHM. Two of them are located in the capital ballroom.  One is named capital-ballroom, the other is named capital-ballroom2.  If one access point doesn't let you connect it is probably overloaded.  In that case, please try connecting to the other one.&lt;br /&gt;
&lt;br /&gt;
== Attendees ==&lt;br /&gt;
&lt;br /&gt;
Please follow http://www.sci.utah.edu/namic2009/registration.html to complete your online registration.  The organizers will periodically publish the list of registered attendees in the space below.  Attendees should '''NOT''' add their names in this section.  This list is a snapshop as of 01:46, 23 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
#	Michael	Ackerman	NA-MIC All Hands Meeting	National Library of Medicine at NIH&lt;br /&gt;
#	Luca	Antiga	NA-MIC All Hands Meeting and Project Week 2009	Mario Negri Institute&lt;br /&gt;
#	Kevin	Archie	NA-MIC All Hands Meeting and Project Week 2009	Washington University&lt;br /&gt;
#	Nicole	Aucoin	NA-MIC All Hands Meeting and Project Week 2009	BWH&lt;br /&gt;
#	Stephen	Aylward	NA-MIC All Hands Meeting and Project Week 2009	Kitware&lt;br /&gt;
#	Sebastien	Barre	NA-MIC All Hands Meeting and Project Week 2009	Kitware, Inc.&lt;br /&gt;
#	Morry	Blumenfeld	NA-MIC All Hands Meeting	EAB&lt;br /&gt;
#	H Jeremy	Bockholt	NA-MIC All Hands Meeting and Project Week 2009	The Mind Research Network&lt;br /&gt;
#	Sylvain	Bouix	NA-MIC All Hands Meeting and Project Week 2009	PNL&lt;br /&gt;
#	Josh	Cates	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	German	Cavelier	NA-MIC All Hands Meeting	NIH-NIMH&lt;br /&gt;
#	Kiyoyuki	Chinzei	NA-MIC All Hands Meeting and Project Week 2009	AIST&lt;br /&gt;
#	Kevin	Cleary	NA-MIC All Hands Meeting	Georgetown University&lt;br /&gt;
#	Manasi	Datar	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Michal	Depa	NA-MIC All Hands Meeting and Project Week 2009	MIT CSAIL&lt;br /&gt;
#	Harish	Doddi	NA-MIC All Hands Meeting and Project Week 2009	Stanford University&lt;br /&gt;
#	Andriy	Fedorov	NA-MIC All Hands Meeting and Project Week 2009	SPL-BWH&lt;br /&gt;
#	Gabor	Fichtinger	NA-MIC All Hands Meeting	Queens Univ&lt;br /&gt;
#	Yi	Gao	NA-MIC All Hands Meeting and Project Week 2009	&lt;br /&gt;
#	Arnaud	Gelas	NA-MIC All Hands Meeting and Project Week 2009	Harvard Medical School&lt;br /&gt;
#	Guido	Gerig	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Polina	Golland	NA-MIC All Hands Meeting and Project Week 2009	MIT CSAIL&lt;br /&gt;
#	Randy L. 	Gollub	NA-MIC All Hands Meeting and Project Week 2009	MGH&lt;br /&gt;
#	Casey	Goodlett	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Alexandre	Gouaillard	NA-MIC All Hands Meeting and Project Week 2009	Harvard Medical School&lt;br /&gt;
#	Sylvain	Gouttard	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Jeffrey	Grethe	NA-MIC All Hands Meeting and Project Week 2009	UC San Diego&lt;br /&gt;
#	Nicole	Grosland	NA-MIC All Hands Meeting and Project Week 2009	The University of Iowa&lt;br /&gt;
#	Daniel	Haehn	NA-MIC All Hands Meeting and Project Week 2009	SPL-BWH&lt;br /&gt;
#	Nathan	Hageman	NA-MIC All Hands Meeting and Project Week 2009	UCLA&lt;br /&gt;
#	Nobuhiko	Hata	NA-MIC All Hands Meeting and Project Week 2009	Brigham and Womens Hospital&lt;br /&gt;
#	Kathryn	Hayes	NA-MIC All Hands Meeting and Project Week 2009	Brigham and Womens Hospital&lt;br /&gt;
#	Heather Cody	Hazlett	NA-MIC All Hands Meeting	University of North Carolina&lt;br /&gt;
#	Jaesung	Hong	NA-MIC All Hands Meeting and Project Week 2009	Kyushu University&lt;br /&gt;
#	Luis 	Ibanez	NA-MIC All Hands Meeting and Project Week 2009	Kitware, Inc.&lt;br /&gt;
#	Chris 	Johnson	NA-MIC All Hands Meeting and Project Week 2009	EAB&lt;br /&gt;
#	Ron	Kikinis	NA-MIC All Hands Meeting and Project Week 2009	SPL - BWH&lt;br /&gt;
#	Ivan	Kolesov	NA-MIC All Hands Meeting and Project Week 2009	Georgia Tech&lt;br /&gt;
#	Karthik 	Krishnan	NA-MIC All Hands Meeting and Project Week 2009	Kitware, Inc.&lt;br /&gt;
#	Marek	Kubicki	NA-MIC All Hands Meeting and Project Week 2009	PNL_BWH&lt;br /&gt;
#	Curtis	Lisle	NA-MIC All Hands Meeting and Project Week 2009	KnowledgeVis, LLC&lt;br /&gt;
#	Yanling	Liu	NA-MIC All Hands Meeting and Project Week 2009	SAIC-Frederick, Inc.&lt;br /&gt;
#	Zhexing	Liu	NA-MIC All Hands Meeting and Project Week 2009	NIRAL, UNC&lt;br /&gt;
#	Terry	Lorber	NA-MIC All Hands Meeting and Project Week 2009	Isomics, Inc&lt;br /&gt;
#	Bill	Lorensen	NA-MIC All Hands Meeting and Project Week 2009	EAB&lt;br /&gt;
#	Vincent	Magnotta	NA-MIC All Hands Meeting and Project Week 2009	The University of Iowa&lt;br /&gt;
#	Daniel	Marcus	NA-MIC All Hands Meeting and Project Week 2009	Washington University&lt;br /&gt;
#	Katie	Mastrogiacomo	NA-MIC All Hands Meeting and Project Week 2009	SPL - BWH&lt;br /&gt;
#	Cedric	Mathieu	NA-MIC All Hands Meeting and Project Week 2009	UNC&lt;br /&gt;
#	Bjoern	Menze	NA-MIC All Hands Meeting and Project Week 2009	MIT CSAIL&lt;br /&gt;
#	Mikhail	Milchenko	NA-MIC All Hands Meeting	Washington University in St Louis&lt;br /&gt;
#	James	Miller	NA-MIC All Hands Meeting and Project Week 2009	&lt;br /&gt;
#	Vandana	Mohan	NA-MIC All Hands Meeting and Project Week 2009	Georgia Inst of Technology&lt;br /&gt;
#	kishore	mosaliganti	NA-MIC All Hands Meeting and Project Week 2009	Harvard Medical School&lt;br /&gt;
#	Sandy 	Napel	NA-MIC All Hands Meeting	EAB&lt;br /&gt;
#	Marc	Niethammer	NA-MIC All Hands Meeting and Project Week 2009	UNC Chapel Hill&lt;br /&gt;
#	Guy	Nir	NA-MIC All Hands Meeting and Project Week 2009	Technion&lt;br /&gt;
#	Ipek	Oguz	NA-MIC All Hands Meeting and Project Week 2009	UNC&lt;br /&gt;
#	Saikat 	Pal	NA-MIC All Hands Meeting and Project Week 2009	Stanford University&lt;br /&gt;
#	Steve	Pieper	NA-MIC All Hands Meeting and Project Week 2009	Isomics, Inc.&lt;br /&gt;
#	Marcel	Prastawa	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Fred	Prior	NA-MIC All Hands Meeting	EAB&lt;br /&gt;
#	Sonia	Pujol	NA-MIC All Hands Meeting and Project Week 2009	Surgical Planning Lab, Brigham  Womens Hosp&lt;br /&gt;
#	Vidya	Rajagopalan	NA-MIC All Hands Meeting and Project Week 2009	Virginia Tech&lt;br /&gt;
#	Austin	Ramme	NA-MIC All Hands Meeting and Project Week 2009	The University of Iowa&lt;br /&gt;
#	Petter	Risholm	NA-MIC All Hands Meeting and Project Week 2009	Brigham Womens Hospital&lt;br /&gt;
#	James	Ross	NA-MIC All Hands Meeting and Project Week 2009	SPL-BWH&lt;br /&gt;
#	Marco	Ruiz	NA-MIC All Hands Meeting and Project Week 2009	UCSD&lt;br /&gt;
#	Raul	San Jose	NA-MIC All Hands Meeting and Project Week 2009	LMI-BWH&lt;br /&gt;
#	Peter	Savadjiev	NA-MIC All Hands Meeting and Project Week 2009	Brigham  Womens Hospital&lt;br /&gt;
#	William	Schroeder	NA-MIC All Hands Meeting and Project Week 2009	Kitware, Inc.&lt;br /&gt;
#	Mark	Scully	NA-MIC All Hands Meeting and Project Week 2009	The Mind Research Network&lt;br /&gt;
#	Madeleine	Seeland	NA-MIC All Hands Meeting and Project Week 2009	LMI&lt;br /&gt;
#	Gregory	Sharp	NA-MIC All Hands Meeting and Project Week 2009	MGH&lt;br /&gt;
#	Dinggang	Shen	NA-MIC All Hands Meeting	UNC-Chapel Hill&lt;br /&gt;
#	Kiran	Shivanna	NA-MIC All Hands Meeting and Project Week 2009	The University of Iowa&lt;br /&gt;
#	Shantanu	Singh	NA-MIC All Hands Meeting and Project Week 2009	The Ohio State University&lt;br /&gt;
#	Martin	Styner	NA-MIC All Hands Meeting and Project Week 2009	University of North Carolina&lt;br /&gt;
#	Allen	Tannenbaum	NA-MIC All Hands Meeting and Project Week 2009	Georgia Tech&lt;br /&gt;
#	Xiaodong	Tao	NA-MIC All Hands Meeting and Project Week 2009	GE Global Research&lt;br /&gt;
#	Doug	Terry	NA-MIC All Hands Meeting and Project Week 2009	Psychiatry Neuroimaging Lab&lt;br /&gt;
#	Clement	Vachet	NA-MIC All Hands Meeting and Project Week 2009	UNC&lt;br /&gt;
#	Koen	Van Leemput	NA-MIC All Hands Meeting and Project Week 2009	MIT CSAIL&lt;br /&gt;
#	Archana	Venkataraman	NA-MIC All Hands Meeting and Project Week 2009	MIT CSAIL&lt;br /&gt;
#	Siddharth	Vikal	NA-MIC All Hands Meeting and Project Week 2009	Queens University&lt;br /&gt;
#	William	Wells	NA-MIC All Hands Meeting and Project Week 2009	SPL-BWH&lt;br /&gt;
#	Carl-Fredrik	Westin	NA-MIC All Hands Meeting and Project Week 2009	Brigham and Womens Hospital&lt;br /&gt;
#	Ross	Whitaker	NA-MIC All Hands Meeting and Project Week 2009	SCI Institute&lt;br /&gt;
#	Nathan	Wilson	NA-MIC All Hands Meeting	Cardiovascular Simulation, Inc.&lt;br /&gt;
#	Chris	Wyatt	NA-MIC All Hands Meeting	&lt;br /&gt;
#	Alexander	Yarmarkovich	NA-MIC All Hands Meeting and Project Week 2009	ISOMIC&lt;br /&gt;
#	Dr. Terry S	Yoo	NA-MIC All Hands Meeting	DHHSNIHNLM&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=30824</id>
		<title>Engineering:TCON 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=30824"/>
		<updated>2008-10-09T19:27:09Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* 2008-10-09 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[TCON:Main|TCON:Main]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== Slicer 3 Dartboard ==&lt;br /&gt;
Link to the Slicer 3 Dartboard [http://public.kitware.com/dashboard.php?name=slicer3 here]&lt;br /&gt;
&lt;br /&gt;
==2008-11-06==&lt;br /&gt;
*DBP Projects Planning:&lt;br /&gt;
**Marek to call in (PNL)&lt;br /&gt;
**Heather to call in (UNC)&lt;br /&gt;
** Jeremy to call in&lt;br /&gt;
&lt;br /&gt;
==2008-10-16==&lt;br /&gt;
&lt;br /&gt;
* Kickoff TCON. Discuss Infrastructure Projects.&lt;br /&gt;
&lt;br /&gt;
==2008-10-09==&lt;br /&gt;
Attendees: Steve, Katie, Tina, Jim, Dan Marcus, Nicole, Sebastien, Yumin&lt;br /&gt;
&lt;br /&gt;
*CTest for Teem (Gordon Kindlmann, Steve Pieper, CTest Expert TBN): we'd like to do this one before the AHM if possible.&lt;br /&gt;
*Q for Kitware: VIsualStudio bug in ITKLandmarkTransformInitializer (in the RegisterImages module)&lt;br /&gt;
* Wendy working on XNAT UI&lt;br /&gt;
* Who's going to claim the .xcat extension? Let's have the Wiki specify the correct MIME-TYPE for xcat files, so that at least the file is downloaded automatically, and let the user which application to use (note that Slicer3 should open a .xcat file on the desktop).&lt;br /&gt;
&lt;br /&gt;
==2008-10-02==&lt;br /&gt;
Agenda:&lt;br /&gt;
*RSNA tutorial Planning (Ron, Steve, Sonia confirmed)&lt;br /&gt;
** See bug reports on data saving http://na-mic.org/Mantis/view.php?id=321 http://na-mic.org/Mantis/view.php?id=322&lt;br /&gt;
*New SaveDataWidget design: http://www.slicer.org/slicerWiki/index.php/User:Barre/TODO#Draft5&lt;br /&gt;
&lt;br /&gt;
==2008-09-25==&lt;br /&gt;
Attendees: Xiaodong, Katie, Steve, Tina, Curt, Ron&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
&lt;br /&gt;
*Unstructured Grid support to be added to Slicer trunk soon -  vtkUnstructuredGrid datatypes are a subtype of slicer models.  There will be some changes to the slicer model viewers and hierarchy viewers to allow display and control over these datatypes.  This was put in to support the finite element meshing module to be incorporated in Slicer in advance of the January 2008 All-hands meeting. &lt;br /&gt;
&lt;br /&gt;
* Meshing Module into Slicer - Curtis is working on integration of the standalone Univ. of Iowa meshing application as a Slicer module.  Integration is working through MRML but the GUI is not integrated in Slicer's window yet.  Sebastien has offered debugging help.  Curt will be delivering a code sample to Sebastien during the next week for assistance in KWWindows integration. &lt;br /&gt;
&lt;br /&gt;
* GPGPU RayCasting - There is an open-source ray casting algorithm using OpenGL shaders that is experimentally being integrated with Slicer.  If this is successful, the algorithm will be integrated into the Volume Rendering module and be available for use by the NA-MIC community.&lt;br /&gt;
&lt;br /&gt;
==2008-09-18==&lt;br /&gt;
Attendees: Jim, Xiadong, Steve, Vince, Sebastian, Tina, Wendy, Ron&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*Breakout session Ideas for Winter Project Week&lt;br /&gt;
**Meshing (Nicole, Vince, Curt, Steve)&lt;br /&gt;
**ITK (Luis)&lt;br /&gt;
**IGT (Noby)&lt;br /&gt;
**Setting up Development and Testing Environment (Kitware)&lt;br /&gt;
**Python Modules (Demian, Luca?)&lt;br /&gt;
*Conference calls for project week prep:&lt;br /&gt;
**December 18: Loose Ends&lt;br /&gt;
**December 4: Other Projects&lt;br /&gt;
**November 20: New Collaborations&lt;br /&gt;
**November 13: New Collaborations  &lt;br /&gt;
**November 6: DPB Projects (2)&lt;br /&gt;
**October 30: DPB Projects (2)&lt;br /&gt;
**October 23: Funded External Collaboration Projects&lt;br /&gt;
**October 16: Kickoff TCON. Discuss Infrastructure Projects.&lt;br /&gt;
* Review of recent python development.  See [http://www.slicer.org/slicerWiki/index.php/Slicer3::Python#Where_to_go_from_here Demian Wassermann's slides and examples from his recent lecture series at Harvard]&lt;br /&gt;
** For example, here's a Hausdorff distance between to fiber tracts:&lt;br /&gt;
 dist2 = lambda i,j : numpy.sqrt(((i-j)**2).sum(j.ndim-1))&lt;br /&gt;
 dist_hausdorff_asym_mean = lambda i,j: numpy.apply_along_axis( lambda k: dist2(k,j).min(),  1,i).mean()&lt;br /&gt;
 dist_hausdorff_min = lambda i,j : numpy.min(dist_hausdorff_asym_mean(i,j),dist_hausdorff_asym_mean(j,i))&lt;br /&gt;
&lt;br /&gt;
* Download modules from [http://www.nitrc.org/ NITRC] by an end user&lt;br /&gt;
**Where does this stand - Sebastian has committed the code to the Slicer3 tree.&lt;br /&gt;
**Sebastian will be happy to help someone push this forward&lt;br /&gt;
**How to pack modules to have Slicer3 install and find the modules?&lt;br /&gt;
**What infrastructure is needed- particularly for Windows to check for the proper compiler and build type. Possibly have CPack generate keys that check this.&lt;br /&gt;
**Slicer3 should provide the user with a list of modules that can be downloaded and installed.&lt;br /&gt;
**Sebastian will work with Modules to create their own package for installation.&lt;br /&gt;
&lt;br /&gt;
==2008-09-12==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Sebastien, Tina, Curt, Dan Marcus, Will, Ron,  Wendy &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Agenda:&lt;br /&gt;
&lt;br /&gt;
*Curt - Working on the integration of a standalone KWWidgets/VTK application as a loadable Slicer module.  This standalone application does lots of callbacks to the RenderWindow and creates its own KWWindow and  KWUserInterfacePanel.  Therefore, this is a complicated example to integrate into Slicer's Module panel.  At the current time, the widget creation seems to occur without warnings, but the panels never show up in Slicer.  Sebastian and Wendy indicated that the management of the InterfacePanels and Slicer's UserInterfaceManager is intricate and that there is probably a relatively easy fix, but Sebastian would have to review some of the source code to comment further.  Curt will make the source code and screenshots available to Sebastian for a follow up call later. &lt;br /&gt;
&lt;br /&gt;
*Sebastian - Evaluation of GUI-testing for KWWidgets and QT is ongoing.  Sebastian is working on this as well as the requested tree control widget. &lt;br /&gt;
&lt;br /&gt;
*VTK bugs (Will)  There were three VTK bugs reported last week in the TCon.   Karthik solved all of the bugs.  Kitware has fixed these and the fix is in the VTK CVS head already. The bug information is listed below: &lt;br /&gt;
&lt;br /&gt;
**http://vtk.org/Bug/view.php?id=7512&lt;br /&gt;
**http://vtk.org/Bug/view.php?id=7511&lt;br /&gt;
**http://vtk.org/Bug/view.php?id=7518&lt;br /&gt;
&lt;br /&gt;
*Work is beginning on the planning for the All-hands Meeting in January.  There will be another party.   Ron and Will are working on the agenda already.  We should put up the draft projects template soon. &lt;br /&gt;
&lt;br /&gt;
*XNAT visit followup discussion.   The Web Services API is stable and it will be tested as the Slicer use case (written by Wendy) is implemented.   There was discussion of the use of Slicer tutorial data to populate the use case.  Wendy is developing a Slicer module to query the XNAT Desktop Services.  There are is a set of minimal, required tags. The required ones are all that is necessary at first for the use case, unless there are others needed by the Use Case requirements.  &lt;br /&gt;
&lt;br /&gt;
*MICCAI comments -  One of the Slicer images received second place in the Visualization competition.   There was a Slicer plug-in workshop offered and an IGT workshop given at MICCAI.  Vince was helpful in making the Slicer tutorial possible.&lt;br /&gt;
&lt;br /&gt;
==2008-09-04==&lt;br /&gt;
Attendees: Dan, Xiaodong, Wendy, Vincent, Curtis, Nicole, Tina&lt;br /&gt;
&lt;br /&gt;
*VTK Bugs in 5.2 - These are issues with the integration of the meshing tools&lt;br /&gt;
**0007518 - vtkDataReader Memory Errors causes a seg fault&lt;br /&gt;
**0007511 - Bug in vtkSmoothPolyDataFilter causes a seg fault&lt;br /&gt;
**0007512 - vtkPlaneWidget Sphere Resizing - This is simply an annoyance&lt;br /&gt;
&lt;br /&gt;
*Slicer/XNAT update&lt;br /&gt;
**Reading multiple files from a single data needed in Slicer&lt;br /&gt;
**Building out the UI and workflow for talking to XNAT&lt;br /&gt;
**Expected to have prototype Slicer/XNAT File Repository integration by October&lt;br /&gt;
**Expected to have prototype Slicer/XNAT Enterprise integration by January, 2009&lt;br /&gt;
&lt;br /&gt;
*Sadness all around at the lack of a Kitware representative to disucss VTK bugs&lt;br /&gt;
&lt;br /&gt;
*Great joy at being set free after only 20 minutes&lt;br /&gt;
&lt;br /&gt;
==2008-08-28==&lt;br /&gt;
&lt;br /&gt;
* [[Events:August2008XNATDesktop#Plan_for_supporting_initial_use_case|Plan for XNAT/Slicer interaction]]: 9: Sebastien, Katie, Wendy, Nicole, Jim, Vince, Steve, Curt, Dan&lt;br /&gt;
* XNAT Desktop, Web Services Use cases (Wendy review of last weeks meeting notes)&lt;br /&gt;
** Web services file repository api is currently on XND, but will also be supported on XNAT Enterprise (by January).&lt;br /&gt;
** Sebastien and Yumin are working on the current save dialog box and will think about how the remote repository should look for that.&lt;br /&gt;
** discussion of how extra data file names are handled in ITK (which files are actually written when you save a particular archetype).&lt;br /&gt;
*** idea:  save to temp dir to get file names.  Rather than changing all ITK io factory code to keep track of which files it wrote, the slicer code can keep track of what files are in the save directory before and after the Write method executes (this assumes that each factory will only save files in the single directory, but that seems like a valid assumption for all known code).&lt;br /&gt;
** discussion of refining upload uri also how to keep track of metadata to store with derived data&lt;br /&gt;
*** how much can be kept track of automatically in mrml?  Maybe a lot...&lt;br /&gt;
&lt;br /&gt;
==2008-08-21==&lt;br /&gt;
&lt;br /&gt;
Attendees: Xiaodong, Steve, Curt, Ron, Nicole, Marco, Katie&lt;br /&gt;
&lt;br /&gt;
*[[2008-08-15-email-atlas-generation|Ron]]: Atlas generation for the EM segmenter. We need to develop an end-user capability to create atlases to drive the EM segmenter.&lt;br /&gt;
** what is the right approach?&lt;br /&gt;
** where is leverage with existing infrastructure?&lt;br /&gt;
** what needs to be done&lt;br /&gt;
** who will do it?&lt;br /&gt;
** Need to schedule a followup discussion with Brad, Kilian, Polina, Guido, Stephen, Jim, Ross (possibly at MICCAI)&lt;br /&gt;
* Report on NCI Slicer Course by Curt&lt;br /&gt;
** NIST BioChange 2008 challenge may be suitable for Kilian's change detection module&lt;br /&gt;
* NIH personnel told Ron that the wiki pages are not as up to date as they expected&lt;br /&gt;
** Everyone should be sure the wiki reflects the current state of their NA-MIC work&lt;br /&gt;
* Update from Marco on BatchMake coordination with GWE&lt;br /&gt;
** Plan is to wrap GWE for use with BatchMake and Julien is working on it&lt;br /&gt;
** Waiting for Kilian's updates for scripts&lt;br /&gt;
** Ron says we need users to be actively using tools so we have a clear story for renewal - Marco to look at the NA-MIC DBP projects and see which are good fits with GWE and Ron can help facilitate connection&lt;br /&gt;
&lt;br /&gt;
==2008-08-15==&lt;br /&gt;
Attendees: Jim, Steve, Wendy, Xiaodong, Nicole, Vince, Tina&lt;br /&gt;
&lt;br /&gt;
*Filebrowser update by Steve.&lt;br /&gt;
&lt;br /&gt;
==2008-08-07==&lt;br /&gt;
&lt;br /&gt;
Attendees: Tina, Jim, Steve, Katie, Nicole, Wendy, Vince&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*CompareView questions about slice layer logic and slice nodes&lt;br /&gt;
** Nicole notes that switching to compare view loses FG, BG, Label settings she expects to have. Jim says this is the preferred behavior for now but is open to ideas.&lt;br /&gt;
** Compare view aspect ratio? Check problem with panning, zooming in 3D view and changing the compare view fov by mistake. Compare view Field of View. Also lightbox seems to have broken in conventional layout (maybe after compare view).&lt;br /&gt;
*Slicer 3.2 release&lt;br /&gt;
**CLI load time on Mac&lt;br /&gt;
**ModelMaker bugs - string memory problem, maybe in model storage nodes.&lt;br /&gt;
**Xcede / Xnat catalog loading/importing bug&lt;br /&gt;
* Slicer Developer Meetings&lt;br /&gt;
** Many new people working on new Slicer stuff and have requested slicer developer meetings -- may also join tcons in the future. More face to face meetings will be helpful to get them up to speed.&lt;br /&gt;
**James Ross is now working on the COPD project, will be porting an airway inspector tool (www.airwayinspector.org) to slicer3.&lt;br /&gt;
** New PNL person (Julien) working on stochastic tractography with Sylvain.&lt;br /&gt;
** New SPL students in town&lt;br /&gt;
* Vince would like to add new pages to application settings menu specific to their module. Discuss a slicer-level API to the app settings for individual modules. Should this stuff be saved in the registry? Vince will spec it out a little and we'll discuss putting methods in Slicer base classes that create and delete app settings page for a module.&lt;br /&gt;
* VTK disappearing actor fixes? (Karthic is working on this fix.)&lt;br /&gt;
&lt;br /&gt;
==2008-07-31==&lt;br /&gt;
&lt;br /&gt;
Attendees: Nicole, Xiaodong, Steve, Ron, Wendy, Vince, Sonja, Jim, Dan, Will&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
*Upcoming training tutorials at NCBC, NCI, Stanford, MICCAI&lt;br /&gt;
*Plans for improving Slicer towards RSNA event&lt;br /&gt;
**Data Saving / File browser [http://www.slicer.org/slicerWiki/index.php/User:Barre/TODO See here for some info]&lt;br /&gt;
**Xnat download&lt;br /&gt;
**Bug fixes needed before these events&lt;br /&gt;
**Branch Slicer a ~month prior to RSNA and BWH workshops (10/15/2008)&lt;br /&gt;
*Dicom browser&lt;br /&gt;
** Subseries groupings are not accessible from vtkITK&lt;br /&gt;
** Tags now available from vtkITK&lt;br /&gt;
** Steve to build GUI&lt;br /&gt;
** Can we use xnat desktop to cache series/subseries information?&lt;br /&gt;
*xnat desktop&lt;br /&gt;
** see [http://slicer.spl.harvard.edu/slicerWiki/index.php/Slicer3:XCEDE_use_cases#XCEDE_REST_Interface XCEDE use cases]&lt;br /&gt;
*[http://www.na-mic.org/Bug/view.php?id=291 VTK bug?]&lt;br /&gt;
**Fiducials + 2D slice plane disappearance&lt;br /&gt;
**Turn backface culling off?&lt;br /&gt;
*Transforms requiring inversion between Slicer and CLI&lt;br /&gt;
** Built in module to delegate to CLI modules?&lt;br /&gt;
*Non-linear transforms, resampling DTI&lt;br /&gt;
** vtkITKBSplineTransform, itkDeformationFieldTransform&lt;br /&gt;
** Need extension to itkTransform to support encoding/compressing parameters.&lt;br /&gt;
&lt;br /&gt;
==2008-07-24==&lt;br /&gt;
&lt;br /&gt;
Attendees: Xiaodong, Tina, Ron, Vince, Steve, Marco&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
* URGENT: http://wiki.na-mic.org/Wiki/index.php/2008_Progress_Report_NIH_QnA&lt;br /&gt;
*FYI http://wiki.na-mic.org/Wiki/index.php/Events:TutorialContestJan2009&lt;br /&gt;
* Slicer 3.2 release&lt;br /&gt;
*XNAT visit in Boston&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Color image will work with Editor module (not there yet).&lt;br /&gt;
* Four working days (due July 30, 5PM) till the response to 2008_Progress_Report_NIH Questions due.&lt;br /&gt;
* Contest to encourage people to make more tutorial. More details will be work out in the next two weeks before it is announced.&lt;br /&gt;
* Slicer 3.2 release is scheduled soon.&lt;br /&gt;
&lt;br /&gt;
==2008-07-17==&lt;br /&gt;
attendees: jim, nicole, wendy, katie, dan, xiaodong&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Wendy has nearly fixed the packing issue introduced with the Compare View.&lt;br /&gt;
* Xiaodong has added capabilities to vtkITKArchetype..Reader to identify &amp;quot;sub-series&amp;quot;. This is necessary for time series data where the all the timepoints are stored in one series. Steve to build a UI to select sub-series or load them all. Perhaps XNAT desktop can help in storing meta data of registered data for fast browsing.&lt;br /&gt;
* Selecting models and volumes for manipulation.  Can we tie &amp;quot;active viewers&amp;quot; to the module panel (so the modules show information from the &amp;quot;background&amp;quot; volume, etc.)?&lt;br /&gt;
* Release date? Before NCBC meeting?&lt;br /&gt;
* Jim is off the grid the next week :)&lt;br /&gt;
&lt;br /&gt;
==2008-07-10==&lt;br /&gt;
attendees: jim, nicole, tina, steve, ron, wendy&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*FYI [[Events:August_2008_NCBC_AHM]]&lt;br /&gt;
*FYI [[2008_July_Slicer_IGT_VV_Link_Session_II]]&lt;br /&gt;
*Xenios from Yale at BWH on Wednesday, July 23rd to continue work on Slicer IGT+vvlink integration&lt;br /&gt;
*Dan Marcus to come to boston in late July to continue xnat integration&lt;br /&gt;
&lt;br /&gt;
==2008-07-03==&lt;br /&gt;
* Discussion of DICOM options for time series and other situations where directories contain files from multiple series.&lt;br /&gt;
* Xenios from Yale is looking a visiting BWH for a day in late July to work on OpenIGTLink and VVLink in collaboration with NA-MIC and NCIGT.&lt;br /&gt;
* One or more of Dan/Misha/Tim from WashU are looking to come to BWH to work on XNAT Desktop and XCEDE Web Services.&lt;br /&gt;
* The USA will be 232 years old tomorrow!&lt;br /&gt;
&lt;br /&gt;
==2008-06-19==&lt;br /&gt;
*Agenda: svn repository switchover finalized for when?  Wednesday morning?&lt;br /&gt;
**Engr Business: Do we need any announcements for the &lt;br /&gt;
**3-3:30pm: [[Mesh Discussion for Core 1]]&lt;br /&gt;
**3:30-4pm: [[IGT Projects Discussion]]&lt;br /&gt;
&lt;br /&gt;
==2008-06-12==&lt;br /&gt;
Agenda: Discuss NEW EXTERNAL Collaboration projects for project week&lt;br /&gt;
*3:00-3:15pm Rutgers (Jinghao)&lt;br /&gt;
*3:15-3:30pm UIowa (Gary Christensen)&lt;br /&gt;
*3:30-3:40 GAP - NAMIC ENGR Core business&lt;br /&gt;
*3:40-3:45 Mario Negri Institute &amp;amp; Univ of Verona (Luca Antiga)&lt;br /&gt;
*3:45-3:50 Upenn (Ragini Verma from Christos Davatzikos' group, UPenn)&lt;br /&gt;
*3:50-4:00pm regular NAMIC engr business&lt;br /&gt;
&lt;br /&gt;
Attendees:  Brad, Jim, Katie, Raul, Tina, Will, Nicole, Gary, Alex, Andrey, Dimitri, Jhingao, Paul, Stephen, Luca, Ragini+2 students, Xiaodong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Rutgers group project: Lung cancer detection and segmentation.  Will be ported to NA-MIC Kit.  Page will be create for project week.  Jim Miller will be on team.&lt;br /&gt;
*Iowa Christensen group: 9 people attending the week!  All project pages in place.  Need to schedule two focus-groups for them: one with Sebastien for Kwwidgets, and one with Bill/Julien on setting up CDASH.  &lt;br /&gt;
*Non-rigid registration breakout: Luis to run.  Topic suggested: regression testing of registration algorithms using cmake and cdash.&lt;br /&gt;
*William and Mary: project is non-rigid registration for neurosurgery.  Interested in focus session on validation, and access to non-rigid neurosurgery data from BWH.  Dan Markus, Tina Kapur, Gary Christensen will be on team.  Graz paper on validation from Insight Journal should be reviewed and discussed.&lt;br /&gt;
*Mesh discussion next week 3-3:30pm.&lt;br /&gt;
*Verona: vmtk integration with Slicer.  Dan Blezek will be on team.&lt;br /&gt;
*UPenn: will be present on Tuesday.  Working on fixing a bug in Slicer at CF's request, and integrating their 5yr+ sw as a command-line module. Will create a page.  Need a session with Steve Pieper.&lt;br /&gt;
&lt;br /&gt;
==2008-06-05==&lt;br /&gt;
Agenda: Discuss FUNDED EXTERNAL Collaboration projects for project week&lt;br /&gt;
*3:00-3:15pm Meshing Collaboration (Iowa)&lt;br /&gt;
*3:15-3:30pm RF Ablation Liver Collaboration (Georgetown)&lt;br /&gt;
*3:30-3:45pm Vervet EM Segmentation Collaboration (WFU/VT)&lt;br /&gt;
*3:45-4:00pm regular NAMIC engr business&lt;br /&gt;
**Mesh discussion requested by Core 1. Core 1 would like to start working with meshes seriously and would like to assess mesh infrastructure in ITK with Will Schroeder and Aylward. The goal is to figure out  what's there and what needs to be done to make meshes usable for algorithm development.  When can this discussion be held?&lt;br /&gt;
**95 project week participants signed up already.  No more room left. Please send checks in time for Donna to get them before Friday, June 13th.&lt;br /&gt;
** (Steve:) Any vista users who can test the slicer3.2 release candidates?  We have one test machine that cannot run it, but also reports from Sebastien that an earlier build (very similar) worked for him.&lt;br /&gt;
&lt;br /&gt;
Attendees: Brad, Ron, Steve, Katie, Vince, Jim, Tina, Nicole, Alex, Xiadong, Chris Wyatt, Dan Marcus, Marco, Kilian, Kevin Cleary.&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Iowa mesh code will be checked in at Project Week by Curt.  It is built primarily in VTK.&lt;br /&gt;
*We will schedule mesh tcon with core 1 and relevant folks in Core 2 including vince, andrey fedorov.&lt;br /&gt;
*Georgetown - Ziv will attend project week on Wed/Thurs.  50 liver data sets that gp will consider making public using XNAT.&lt;br /&gt;
*Wakeforest/VT -&lt;br /&gt;
**Kilian and Vidya have been exchanging parameters for EM seg&lt;br /&gt;
**Kilian needs faster registration - Ron's suggestion to try AFFINE with less than 10s runtime for volumetric data (256 cube)&lt;br /&gt;
**Kilian will work during project week with Carlos to install van Leemput bias correction method into EM Segmentation.  Will need input from MIND team as well.&lt;br /&gt;
&lt;br /&gt;
==2008-05-29==&lt;br /&gt;
Agenda: Discuss ALGORITHM CORE lead projects for project week&lt;br /&gt;
*3:00-3:15pm &lt;br /&gt;
*3:15-3:30pm&lt;br /&gt;
*3:30-3:45pm&lt;br /&gt;
*3:45-4:00pm&lt;br /&gt;
* Status of Slicer 3.2: Steve Pieper et al.&lt;br /&gt;
** Status&lt;br /&gt;
** Bug squashing&lt;br /&gt;
&lt;br /&gt;
'''Attendees:''' Casey, Marcel, Will, Sebastien, Nathan, Nicole, Katie, Vincent, Alex Steve Jim M., Polina, Tina, Sonia, Tom, Ron, Dan M., Michael, John M., &lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
Core1 people go over projects listed on Summer Project Week page: MIT, Utah, GATech, UNC.&lt;br /&gt;
Polina (MIT) will work with on Brad Davis and Dan Marcus.&lt;br /&gt;
John (GATech) will need more core2 help on the optimal transport registration project... will add additional titles to the project week page.&lt;br /&gt;
&lt;br /&gt;
* Info: [http://wiki.na-mic.org/Wiki/index.php/Relative_Roles_Core1_Core2_Core3  Relative roles of Core 1, Core 2, Core 3]&lt;br /&gt;
&lt;br /&gt;
* Need chaining and workflow session at project week. Feedback from core1 - core 3 meeting: Chaining, batch processing strongly discussed at the meeting. Core1 and Core 2 should address these topics. &lt;br /&gt;
&lt;br /&gt;
* Tina wants a title for all projects on the project week page by end of day today.&lt;br /&gt;
&lt;br /&gt;
* Sonia is preparing for the Germany Training event. Made a munich2008 branch of Slicer3 subversion repository. Still fixing bugs on main trunk. Will create a release branch tomorrow end-of-day.&lt;br /&gt;
 &lt;br /&gt;
* Slicer3 release: developers should check mantis and squash as many bugs as possible in prep for release.&lt;br /&gt;
&lt;br /&gt;
* Ron's [http://www.slicer.org/slicerWiki/index.php/Announcements:Slicer3.2  press release ]&lt;br /&gt;
&lt;br /&gt;
* Steve encourages all to include impressive pix on the announcements page where people will be directed.&lt;br /&gt;
&lt;br /&gt;
* Request for a stable KWW target that Slicer can build against. --Sebastien will tag it.&lt;br /&gt;
&lt;br /&gt;
* Discussion of HelloWorld (Tutorial) and HelloSlicer (for testing)&lt;br /&gt;
&lt;br /&gt;
==2008-05-22==&lt;br /&gt;
[[Image:Slicer3Dashboard-5-20.png||thumb|right|Dashboard]]&lt;br /&gt;
Agenda:&lt;br /&gt;
* &amp;lt;big&amp;gt;'''A round of applause for Sebastian, Steve and all the code freezers'''&amp;lt;/big&amp;gt;&lt;br /&gt;
*http://www.slicer.org/slicerWiki/index.php/Announcements:Slicer3.2 documentation assignments and schedule for the 3.2 release:&lt;br /&gt;
**Outstanding issues in release&lt;br /&gt;
***EM Segment Wizard - Button Issues&lt;br /&gt;
***EM Segment Command line is in the wrong directory - should be put in bin&lt;br /&gt;
***EM Segment Template Builders&lt;br /&gt;
****First, second and 3rd steps do not work correctly - pull down list&lt;br /&gt;
****Possible issue with MRML manager changes&lt;br /&gt;
***Feature Request&lt;br /&gt;
****Can not changes the name of the parameters because it references the node ID and not the name&lt;br /&gt;
****EM Segment simple - images are specified by XML type file and not image - requires reloading and does not use images loaded within Slicer3&lt;br /&gt;
****Loading parameter set - Add a hierarchy of the nodes for better visualization of parameters&lt;br /&gt;
**registration, &lt;br /&gt;
**loadable modules, &lt;br /&gt;
**interactive editor, &lt;br /&gt;
**volume rendering&lt;br /&gt;
*New Slice Control Widget added by Wendy - last GUI based change&lt;br /&gt;
*Issues with Resize of Slicer and 3D Widgets&lt;br /&gt;
*Discuss Engineering Core Projects for the Project Week&lt;br /&gt;
*Discuss Jeremy's request to add Support Vector Machine library to NA-MIC Kit. http://www.csie.ntu.edu.tw/~cjlin/libsvm/&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Attendees: Will, Sebastien, katie, tina, brad, steve, xiadong, vince, jim, nicole, dan marcus, Ron, Sonia.&lt;br /&gt;
&lt;br /&gt;
==2008-05-15==&lt;br /&gt;
Agenda:&lt;br /&gt;
*DBP II update and plans for project week.  2 DBPs and engr+algo core liaisons should attend.&lt;br /&gt;
**3-3:20 Harvard. Marek, Brad, Polina confirmed.&lt;br /&gt;
**3:20-3:40 UNC. Heather confirmed.  Jim, Martin, Heather, Clement held offline mtg already.&lt;br /&gt;
**3:40-4pm regular NAMIC engr business&lt;br /&gt;
***Slicer code freeze and release&lt;br /&gt;
***Focus during the upcoming months on &amp;quot;ruggedizing&amp;quot; Slicer&lt;br /&gt;
&lt;br /&gt;
Attendees: Tina, Katie, Nicole, Vince, Will, Marek, Sylvain, Polina, Clement, Brad, Ron, Alex, Sebastien&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Harvard DBP projects for Project Week&lt;br /&gt;
*#Probabilistic Tractography - on hold since Tri left&lt;br /&gt;
*#Slicer3 - Need bug fix for why Slicer 3 can't load and run UNC data that Martin tried&lt;br /&gt;
*#EPI Distortion correction (Sylvain, Tauseef GATech)&lt;br /&gt;
*#Eddy CUrrent distortion correction (Sylvain, Ran Tao Utah)&lt;br /&gt;
*# Parcellation - need help parametrization (Sylvain, Brad)&lt;br /&gt;
*# fmri - apply polina's algorithm to Marek's data (Marek, Bryce Kim)&lt;br /&gt;
*# Finsler method (John Melonakos, Eric Melonakos)&lt;br /&gt;
*# Group Analysis on DTI (Casey Goodlett, Marek)&lt;br /&gt;
*Code Freeze: scheduled for tomorrow&lt;br /&gt;
*RSNA Demo&lt;br /&gt;
*#editor, lightbox, data fusion&lt;br /&gt;
*#Sonia is developing the curriculum for course&lt;br /&gt;
*UNC DBP Projects&lt;br /&gt;
*#Cortical thickness pipeline&lt;br /&gt;
*#workflow module&lt;br /&gt;
*#NITRC - need to talk to Steve pieper&lt;br /&gt;
*#batchmake pipeline in Slicer&lt;br /&gt;
*#use Bspline module in ITK&lt;br /&gt;
&lt;br /&gt;
==2008-05-08==&lt;br /&gt;
Agenda:&lt;br /&gt;
*DBP II update and plans for project week.  2 DBPs  and engr+algo core liaisons should attend.&lt;br /&gt;
**3:00-3:20 MIND. Jeremy, Ross, Steve Confirmed.&lt;br /&gt;
*** Testing lots of methods.  None working well.&lt;br /&gt;
*** Bayesian labeling seems to be working the best.&lt;br /&gt;
*** Close the look on itkEMS method&lt;br /&gt;
**3:20-3:40 JHU. David G, Allen T., Katie H. confirmed.&lt;br /&gt;
*** Prostate really difficult task&lt;br /&gt;
*** Delphine's work was originally on prostate.&lt;br /&gt;
*** Optimal mass transport registration project at project week&lt;br /&gt;
**3:40-4pm: regular na-mic engr core business&lt;br /&gt;
*** Short update on UNC DBP needs: registration, module chaining&lt;br /&gt;
*** Discussion on plans for chaining.  Prototype for project week?&lt;br /&gt;
&lt;br /&gt;
==2008-05-01==&lt;br /&gt;
&lt;br /&gt;
Attendees: Steve, Jim, Will, Tina, Xiaodong, Katie, Danielle, Sebastian, Sonia, &lt;br /&gt;
&lt;br /&gt;
* Slicer 3 stable release schedule planning (Slicer 3.2)&lt;br /&gt;
** We would like a stable version before the [[Events:June-Germany | Mid-June German training event]] that includes all the latest namic technology (CMake 2.6, ITK 3.6, VTK 5.2, Tcl/Tk 8.5, KWWidgets...).  Some problems were fixed this week for ITK3.6 and VTK 5.2; Slicer3 was successfully built using CMake 2.6 against VTK 5.2, ITK 3.6, and Tcl/TK on Linux, Windows, and Mac (by Sebastien). Need more coverage on Slicer. TODOs: Developing tutorial material for the new Slicer release. Testing, automated part plus user interaction part. &lt;br /&gt;
** [[2008_Summer_Project_Week | Project Week]] projects can go into the trunk after the release is branched. GUI changes to show &amp;quot;axial&amp;quot;, &amp;quot;sagittal&amp;quot;, &amp;quot;coronal&amp;quot; slices in the acquisition orientation.&lt;br /&gt;
** Proposed schedule:&lt;br /&gt;
*** May 16: Feature Freeze of the trunk followed by group debugging/testing &lt;br /&gt;
*** May 23: Create Release Branch for Slicer 3.2&lt;br /&gt;
*Danielle Pace @ Robarts Inst. joined NCIGT/SNR to develop [[LEGO_IGT_and_Medical_Robotics_Tutorial | Slicer IGT Tutorial]].&lt;br /&gt;
&lt;br /&gt;
==2008-04-24==&lt;br /&gt;
&lt;br /&gt;
Attendees: Steve, Katie, Nicole, Tina, Nathan, Jim, Vince, Brad, Louis, Marco&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* Slicer3D Wikipedia page discussion.  Check it out [http://en.wikipedia.org/wiki/Slicer here].&lt;br /&gt;
** Need to tone it down a little so it sounds less like ad copy.&lt;br /&gt;
** Needs more pawprints on it from unique editors/authors for Wikipedia to keep it online.&lt;br /&gt;
&lt;br /&gt;
* Nathan&lt;br /&gt;
** Helical phantom available to LONI web service.&lt;br /&gt;
** Should we make the link available through Slicer or not?&lt;br /&gt;
&lt;br /&gt;
* Project pages need to be updated.&lt;br /&gt;
** Deadline: May 15th for NA-MIC, a week earlier is preferred&lt;br /&gt;
** [[2008_Annual_Scientific_Report | Progress report link]]&lt;br /&gt;
** Project week pages need to be linked off the progress report (indirectly)&lt;br /&gt;
&lt;br /&gt;
* Waiting for CMake and ITK releases to be finalized&lt;br /&gt;
** Probably will be cut tomorrow&lt;br /&gt;
&lt;br /&gt;
* Set up special T-con time for Oz&lt;br /&gt;
&lt;br /&gt;
* What's the deal with the CMake Policy Change warnings?&lt;br /&gt;
** Copy three lines before CMAKE_MINIMAL_REQUIRED&lt;br /&gt;
** Ask the CMake list&lt;br /&gt;
&lt;br /&gt;
==2008-04-17==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Dan Marcus, Xiaodong, Nicole, Tina, Steve, Katie, Jeff, Sebastien, Vince&lt;br /&gt;
&lt;br /&gt;
Topics:&lt;br /&gt;
&lt;br /&gt;
*[[2008_Annual_Scientific_Report]]&lt;br /&gt;
*[[2008_Summer_Project_Week]]&lt;br /&gt;
*VTK (5.2) and CMake (2.6) release schedules&lt;br /&gt;
**VTK Plan on branching next week&lt;br /&gt;
**CMake is on RC8, guessing will branch in 1-2 weeks&lt;br /&gt;
*VTK (5.2) performance issues when rendering&lt;br /&gt;
**In the meshing project we have seen a significant reduction in the rendering of a large number of vtkSphereSource and vtkPointWidgets in 5.2 as compared to 5.0&lt;br /&gt;
***100x performance hit in debug mode on Linux&lt;br /&gt;
***Jeff added code to make sure the check doesn't happen more than once/sec.&lt;br /&gt;
***Still 25% slower, but not 100x slower&lt;br /&gt;
**Rendering time has been increased by an order of magnitude&lt;br /&gt;
* OK for Kitware to put Slicer3 screenshots on Flickr? (see [http://flickr.com/photos/kitware/ Kitware's Flickr account])&lt;br /&gt;
** =&amp;gt; I (Seb) did a quick pass at the files uploaded in 2008, and copied them to a [http://flickr.com/photos/kitware/sets/72157604594177467/detail/ Slicer3 photoset].&lt;br /&gt;
&lt;br /&gt;
==2008-04-03==&lt;br /&gt;
&lt;br /&gt;
Jim, Curt, Tina, Nicole, Wendy, Steve, Brad, Xiaodong, Vince, Ron, Nathan&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* discussion of xcede web services and mBIRN&lt;br /&gt;
* [[2008_Engineering_review_at_Utah:FollowUp]]&lt;br /&gt;
* New! [[Slicer3:DTMRI |glyphs on slices movie!]]&lt;br /&gt;
** made using wink from http://www.debugmode.com/wink/&lt;br /&gt;
** add something like the following to your wiki page after uploading the .swf file to the wiki&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;flash&amp;gt;file=dti_glyphs.swf|width=800|height=600|quality=best|loop=true|play=true&amp;lt;/flash&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* CMake 2.6 release candidates have been cut with .rpm and .deb output targets!&lt;br /&gt;
** Will will work with Katie on this&lt;br /&gt;
* Jim is going to visit Kitware to talk about BSpline registration&lt;br /&gt;
&lt;br /&gt;
==2008-03-27==&lt;br /&gt;
Attendees: Steve, Will, Xiaodong, Nathan, Katie, Wendy, Tina, Nicole, Marco, Sebastien&lt;br /&gt;
* Nathan will discuss presentation of fluid mechanics projects.&lt;br /&gt;
* Update from Core 1 + Core 2 [[2008_Engineering_review_at_Utah | meetings in Utah]] earlier this week.&lt;br /&gt;
* [[Slicer3:Chain_CLMs | Discussion of Module Chaining]] (Marco and All)&lt;br /&gt;
** Requested by Core 1 to systematize common use case&lt;br /&gt;
** Need several steps in an analysis process to act like a single command&lt;br /&gt;
** Would like something akin to the EMSegment workflow wizard, but as command line module rather than built-in module&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
&lt;br /&gt;
Nathan's overview: discussing visualization options for his fluid velocity vector fields for tractography algorithm. Steve mentions a few options: &lt;br /&gt;
* A LDDMM module in Slicer2 that does animated vector field visualization (work done in collaboration with Johns Hopkins: Anthony Kolasny, Mike Miller, et al.). &lt;br /&gt;
* Another option would be to try using ParaView as a way to flesh out specifics, and then build a more custom tool for tractography later. Will will point Nathan to documentation for file formats, data formats, etc. or help with any questions, and Nathan will try this out.&lt;br /&gt;
&lt;br /&gt;
Discussion of these topics at the engineering review in Utah:&lt;br /&gt;
&lt;br /&gt;
* chaining modules together&lt;br /&gt;
* grid wizard (Marco) for grid and batch computing&lt;br /&gt;
* Bspline registration&lt;br /&gt;
* setting up repositories for collecting slicer modules (as technology transition mechanism)&lt;br /&gt;
* how this will fit into the slicer build process&lt;br /&gt;
* diffusion weighted imaging, shape analysis, and segmentation&lt;br /&gt;
* dicom to nrrd converter...&lt;br /&gt;
&lt;br /&gt;
Milestones were set for April-end, Project week, and AHM.&lt;br /&gt;
&lt;br /&gt;
Module chaining discussion (see link above):&lt;br /&gt;
&lt;br /&gt;
* Java version as first goal -- eventually C++ implementation. &lt;br /&gt;
* Discussion about module discovery process and how will chained modules be packaged: (c++ stub programs? or &lt;br /&gt;
or discovery find chain-descriptor xml files? shell scripts? (cross-platform issues)...)&lt;br /&gt;
* Goal: By project week in June we would like to be able to chain modules developed by Core 1.&lt;br /&gt;
&lt;br /&gt;
Sebastien's update on module building: Wiki will be updated today with status. (link)&lt;br /&gt;
&lt;br /&gt;
==2008-03-20==&lt;br /&gt;
Attendees: Tina, Jim, Will, Wendy, Xiaodong, Nathan, Martin, Marco&lt;br /&gt;
* [[2008_Annual_Scientific_Report|Progress Report]] - read over the assignments. We will look for progress from June 1, 2007 to May 30, 2008.&lt;br /&gt;
* June 23-27 is the summer project week.  We will make first pass on projects in late April.&lt;br /&gt;
* Module discussion: Martin wanted to understand the state of module creation and usage within Slicer. Sebastien is working on modules that are built against an installed module. Terry is working on built-in modules for Slicer. Jim is working on modules using CMake in the NTRIC repository.&lt;br /&gt;
* Nathan- write a command line, Slicer module that is a wrapper to a web service. Nathan thinks he can get this done prior to the June AHM. We referred to Jim's presentation at the Utah SLC Core 1/Core 2 meeting.&lt;br /&gt;
* We will talk about grid wizard next week at SLC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2008-03-13==&lt;br /&gt;
Attendees: Jim, Nicole, Dan, Xiaodong, Vince, Sebastian, Alex, Curt, Steve, Will, Terry&lt;br /&gt;
* Update on [[Slicer3:Loadable_Modules |Loadable Modules]] project (Terry) and [[Slicer3:Build/Modules | CMake updates for module builds]] (Sebastien)&lt;br /&gt;
* [[2008_Engineering_review_at_Utah | Engineering trip to Utah]]&lt;br /&gt;
* We are starting to use Categories to bin our pages.  [[SuggestedCategories]] - suggestions?&lt;br /&gt;
&lt;br /&gt;
==2008-03-06==&lt;br /&gt;
Attendees: Steve, Jim, Katie, Nicole, Tina, Xiaodong, Marco, Ron&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Slicer page on wikipedia - http://en.wikipedia.org/wiki/3DSlicer.  All engineering core members should visit this page and edit as needed.  ASAP.&lt;br /&gt;
*dicom to nrrd converter in progress.  Xiaodong working on it and expecting to complete in a few weeks.&lt;br /&gt;
* [[2008_Engineering_review_at_Utah|March 24-26 Meeting in Utah]]&lt;br /&gt;
&lt;br /&gt;
==2008-02-28==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Jim, Steve, Wendy, Katie, Tina, Jeff, and Marco (Grid Wizard Guy)&lt;br /&gt;
* Discussion on time series analysis (viewer, scene markup). Initial viewer will be a general tool for comparing images.&lt;br /&gt;
* Avalanche of new features in [http://gridwizard.org/gwe/index.html grid wizard and GSlicer3]&lt;br /&gt;
** Proxy around Command Line Modules&lt;br /&gt;
** Extends command line with specifications for ranges of values as well as specify remote resources (data) that need to be transferred to/from the grid.&lt;br /&gt;
** Uses Velocity for parameter template engine&lt;br /&gt;
** Grid selection and authentication still being refined for Slicer&lt;br /&gt;
** Could be extended to other grid types (LSF, etc.)&lt;br /&gt;
** Lots of information on the website.  Instructions for installation.  A bit daunting for non-grid people.  Some of us will have to work through the instructions step by step to evaluate.&lt;br /&gt;
&lt;br /&gt;
==2008-02-21==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Xiaodong, Jim, Katie, Nicole, Will, Steve, Nathan, Tina, Ron, Padma, Marco&lt;br /&gt;
&lt;br /&gt;
- Nathan brought us up to date on fluid mechanics tractography&lt;br /&gt;
&lt;br /&gt;
- Padma Sundaram: SCIrun environment supports EEG processing&lt;br /&gt;
&lt;br /&gt;
- Marco is releasing Grid Wizard alpha version&lt;br /&gt;
&lt;br /&gt;
- Nathan brought up the helical digital phantom web service. Currently the thinking is that it can be accessed through a web service. We suggested that Nathan write a wrapper, consistent with Slicer's execution module, to invoke the web service. However, since it is not available in source form, NAMIC cannot accept it as part of the NAMIC Kit proper. We can guide Nathan in the execution of this module.&lt;br /&gt;
&lt;br /&gt;
==2008-02-14==&lt;br /&gt;
* Attendees: Xiaodong, Katie, Will, Sebastien, Steve, Mike, Wendy, Haiyi, Dan, Curt, Tina &lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
16 - CPack (Katie): Slicer3 compiles and packs using the new C-tools with some bug fixes. Using CMake to select desired modules, using something similar to cygwin. Official Slicer3 snapshot tagged. Different Tcl/Tk versions are currently used for different platform. This need to be addressed.&lt;br /&gt;
&lt;br /&gt;
17 - Slicer GUI Style Guide and Cookbook {Wendy}: This will be a long term effort. During the programming week, the design and implementation details were discussed. The Cookbook will be launched from Slicer, act like KWWidget tour.  &lt;br /&gt;
&lt;br /&gt;
18 - Volume rendering (Steve): UI is fairly stable.&lt;br /&gt;
 &lt;br /&gt;
19 - Volume rendering using Cuda (Steve):  &lt;br /&gt;
&lt;br /&gt;
20 - 3D W Widgets and Picking (Will): found a list of candidates of widgets for Slicer. A few bug fixes for VTK.&lt;br /&gt;
&lt;br /&gt;
21 - XNAT Integration (Dan): Requirements were gathered for a XNAT application that organizes files and caches files from XNAT repositories. Some XML format issues have been addressed.  &lt;br /&gt;
&lt;br /&gt;
22 - KWWidgets Roadmap (Sebastien): Gathered requirements. Been working down the list of the feature requirements.&lt;br /&gt;
&lt;br /&gt;
=== External Collaboration ===&lt;br /&gt;
&lt;br /&gt;
1 - Astronomical coordinate system support [Harvard IIC] (Mike): Astronomical datasets are quite different from medical dataset. Wendy helped with re-centering data. Made progress in converting between coordinate systems (Cartesian to Spherical).&lt;br /&gt;
&lt;br /&gt;
2 - New Meshing Techniques into NA-MIC [Univ. of Iowa]&lt;br /&gt;
 &lt;br /&gt;
3 - Meshing Workflow into Slicer [Univ. of Iowa] (Curt): Will be integrated into Slicer soon. Command line program using VTK. &lt;br /&gt;
 &lt;br /&gt;
4 - Evaluating NA-MIC Tools for Small Animal Imaging Workflows [NCI] (Curt): &lt;br /&gt;
 &lt;br /&gt;
5 - IGSTK-Slicer [Georgetown] (Haiyi): Successful tracking data using IGSTK.&lt;br /&gt;
&lt;br /&gt;
6 - Japanese Intelligent Surgical Instrument Project [AIST]&lt;br /&gt;
 &lt;br /&gt;
7 - GoFigure:High-Level Microscopy Image analysis Application and Algorithms [CalTech-Harvard Medical School] &lt;br /&gt;
&lt;br /&gt;
8 - Doing microscopy image analysis with Slicer3 [The Ohio State University] &lt;br /&gt;
&lt;br /&gt;
9 - fMRI Analysis with Slicer 3 [The Ohio State University]&lt;br /&gt;
&lt;br /&gt;
10 - Resampling DTIs with Slicer 3 [BWH]&lt;br /&gt;
 &lt;br /&gt;
11 - Analyzing fMRI and concurrent EEG with Slicer and SCIRun [BWH] &lt;br /&gt;
 &lt;br /&gt;
12 - Bayesian hierarchical models for fMRI variance components analysis [BWH]&lt;br /&gt;
&lt;br /&gt;
==2008-02-07==&lt;br /&gt;
* Attendees: Ron, Will, Steve, Wendy, Nicole, David G, Mark S., Casey, Sebastien, Curt, Luca&lt;br /&gt;
&lt;br /&gt;
* Look at [http://www.vtk.org/Wiki/VTK_Widget_Examples upcoming VTK 3D widgets]&lt;br /&gt;
* Review of projects from SLC AHM 2008 http://wiki.na-mic.org/Wiki/index.php/2008_Winter_Project_Week&lt;br /&gt;
&lt;br /&gt;
===DBPs===&lt;br /&gt;
&lt;br /&gt;
1 - Stochastic Tractography in Schizophrenia (need to be invited to follow-up TCon) &lt;br /&gt;
&lt;br /&gt;
2 - Cortical thickness analysis - testing EM segmenter to their data.  They estimated parameters and tested during the week.  The goal now is to compare ITK-MS and EM segment module to see how these two tools compare for cortical thickness.  They are reviewing the tools using the same patient data.  &lt;br /&gt;
&lt;br /&gt;
3 - (Mark Scully) Legion segmentation using EM segmenter and other options - worked with Brad using 2 channels of data.  Flare as 3rd channel caused problems.  Desired to have T1/T2/Flair together as three channel dataset.  Marcel is going to deliver his segmentation algorithm software to them to compare results. &lt;br /&gt;
&lt;br /&gt;
4 - Robotic Prostate Interventions - (David Gobbi) Working on transrectal biopsy module for Slicer.  They had a previous module for transcranial biopsies.  One of the most exciting developments was a new prototol &amp;quot;open IGT-Link&amp;quot; which will replace navitrack inside Slicer.  Image transfer is working over this protocol.  A simulator is being developed for the robot.  A few VTK bugs may have been discovered during this process, but it isn't on the top priority list right now. &lt;br /&gt;
&lt;br /&gt;
5 - Prostate Cancer - Wrote new ITK filter that has been submitted to the Sandbox.  They are looking at spherical wavelets for shape segmentation.  The wiki page will be updated soon.&lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 - Groupwise Registration - (Casey) New Bspline registration method is being developed here.  It has been used for another project by Casey (#6).   Page needs to be updated. &lt;br /&gt;
&lt;br /&gt;
2 -  (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
3 - (Need to be invited to follow-up TCon)) &lt;br /&gt;
&lt;br /&gt;
4 - (Need to be invited to follow-up TCon).  Page needs to be updated&lt;br /&gt;
&lt;br /&gt;
5 - Incorporating DTI tools into NAMIC toolkit - They are gathering a dataset that has both structural and DTI data in agreement.  Previous dataset was missing part of cortex.  UNCDB2 dataset has full coverage of the brain.  Resolution is a bit lower, but full coverage is an advantage.  Page is close to up to data.  Just submitted a paper to ISBI 2008 and working on MICCAI paper, as well.  &lt;br /&gt;
&lt;br /&gt;
* NITRIC is g-forge and would be a good place for automated build process for Slicer modules.  This could make it easier to configure Slicer in client labs without need to build from source. This is still being developed by the NA-MIC core team.  There is an entry on the collaboration section of the NA-MIC website.  Also www.slicer.org/Documentation link. &lt;br /&gt;
&lt;br /&gt;
6 - (Casey) Worked with Serdar using groupwise registration tool.  They are currently evaluating results of this study.  More images will be added.  &lt;br /&gt;
&lt;br /&gt;
7 - (John Melanakos) Spent last week working with collaborators on the MICCAI paper.  Project page is well filled. &lt;br /&gt;
&lt;br /&gt;
8 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
9 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
10 - MRML scenes for execution model.  Some of the issues Brad was having have been resolved.  Alex is making adjustments to MRML library as needed for the EM segmentation model. &lt;br /&gt;
&lt;br /&gt;
11  - (Curt) Unstructured Grids in Slicer - Finite Element modeling process was originally in a standalone VTK application.  The first Slicer module integration did not use MRML based storage.  We are now creating subclasses of Model and Unstructured grid data for storage and display in Slicer.  Some minor issues need to be worked out, but the MRML extensions for UnstructuredGrid datatypes are working. &lt;br /&gt;
&lt;br /&gt;
12 - Python (Luca) MatPlotLib plots are close to happening within Slicer.  Steve believes it is 80% complete.  Python command line modules are working now. Multiple arguments had to be worked by Luca.  He has developed Python-based CLI modules.   The event broker is discussed here because it affects the interaction with Python, because a Mutex lock has to be placed on the MRML scene.   Dan has been helping with metamodules - a single Python module which calls other mothers  (hierarchical execution, recipes, etc.).  &lt;br /&gt;
&lt;br /&gt;
* Ron asked about using this scripting technique for the ModelMaker.  Some of the parameter setting, etc. could be set in the top module.   Nicole will look at this.  Kilian said that he wanted to call the &amp;quot;modelmaker&amp;quot; from another module.  &lt;br /&gt;
&lt;br /&gt;
* A need was identified for new wiki pages:  (1) scripted modules, (2) metamodules, (2) python scripted modules&lt;br /&gt;
&lt;br /&gt;
13 - (Luca) Transform hardening - Sometimes images are not XYZ alligned.  How will command line modules treat an object if it is the child of a transform.  The module needs to be able to apply xforms to data (after hierarchy is flattened) to get xformed data.  Jim and Steve talked through this lately becomes of the transforms access two-directions (from parents / to parents, etc.)  They are looking at how to change the model. &lt;br /&gt;
&lt;br /&gt;
14 - (Steve) MRML support for out-of-core processing - Steve put a link to a new page.  Dan, Jim, Wendy, Steve, etc.  working through NAC renewal grant (5 years).  Multiresolution and asynchronous data are likely targets for this effort, but it will be a long-term effort.  &lt;br /&gt;
&lt;br /&gt;
15 - Event Broker discussion - Steve has made process on this, but this wiki page is older.  See the event broker page.  (look at link under Objective).  New term &amp;quot;observation&amp;quot; :  completely introspectable.  A full dependency between objects is implemented.  When a subject issues a &amp;quot;modified&amp;quot; event,  Delete events are maintained.  Complete &amp;quot;relationship&amp;quot; management of the interaction between objects.  This helps by allowing asynchronous event processing.  MRML has been converted to use the event broker with asynchronous events managed by the Slicer GUI (async events invoked after GUI events are done).  This hasn't broken anything so far, but should improve scalability.   Dot logfile format can be generated for inter-object dependencies.  This can be used to help provide &amp;quot;who called who&amp;quot; traces.    Some special magic is done in MRML Display nodes.  They set &amp;quot;observation nodes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
Continue through project review.  Request missing project members to attend.  Review wiki pages.&lt;br /&gt;
&lt;br /&gt;
==2008-01-31==&lt;br /&gt;
Attendees: Jim, Steve, Stephen, Wendy, Xiaodong, Nicole, Katie, Ron&lt;br /&gt;
* Project week follow-up&lt;br /&gt;
** Half of tcon on Feb 7&lt;br /&gt;
** Half of tcon on Feb 14&lt;br /&gt;
* Registration&lt;br /&gt;
** Viola-Wells optimizations need to be enabled&lt;br /&gt;
** Stephen needs to check-in and publish recent changes&lt;br /&gt;
** Stephen needs to update the wiki&lt;br /&gt;
** Luis continues to make optimizations (main focus is memory reduction)&lt;br /&gt;
* BatchMake&lt;br /&gt;
** Grid Wizard - meeting on Monday&lt;br /&gt;
** Integration with Slicer delivered via getbuildtest2&lt;br /&gt;
* New webpages&lt;br /&gt;
** http://slicer.org&lt;br /&gt;
** Uses wiki-to-web&lt;br /&gt;
** Feel free to edit/improve&lt;br /&gt;
* Slicer-specific wiki&lt;br /&gt;
** Migrating appropriate info from Na-mic to slicer&lt;br /&gt;
** Hold off on adding to Slicer-wiki until notified&lt;br /&gt;
*** Continue using Na-mic wiki&lt;br /&gt;
* New Nitrc project&lt;br /&gt;
** Jim Miller is leading&lt;br /&gt;
** &amp;quot;Slicer3 plug-in examples&amp;quot; project&lt;br /&gt;
** http://nitrc.org - search for slicer3&lt;br /&gt;
*** Includes demo/stub for ITK filtering data, etc.&lt;br /&gt;
** Collection associated with an ITK course being taught&lt;br /&gt;
** Requires CVS version of ITK&lt;br /&gt;
** Works with Slicer build and Slicer install&lt;br /&gt;
** Steve P is the liaison with NITRC&lt;br /&gt;
* Slicer tutorial at UNC, April 14th&lt;br /&gt;
** Working with UNC's BRIC (http://www.bric.unc.edu)&lt;br /&gt;
** Sonja, Randy, Martin, Stephen&lt;br /&gt;
* User-level Slicer training - Feb 20 at BWH&lt;br /&gt;
** 1249 Boyleston&lt;br /&gt;
** Release version of Slicer3 &lt;br /&gt;
&lt;br /&gt;
==2008-01-24==&lt;br /&gt;
Attendees: Jim, Steve, Wendy, Xiaodong, Nicole, Katie, Alex, Luis, Ron, Will&lt;br /&gt;
* Project week follow-up (Next week?)&lt;br /&gt;
** Will will send email invitations for first half of projects for next week's tcon&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Alex and Terry are rearranging Slicer3.cxx to support loadable modules&lt;br /&gt;
** Separate branch for built-in module discovery process&lt;br /&gt;
** Sebastien is working on build issues for modules whose code is outside Slicer3&lt;br /&gt;
* GenerateCLP - Thanks Hans for changes to support building modules&lt;br /&gt;
** Hans is running a class this semester where the students will build Slicer CLI modules.&lt;br /&gt;
** Jim is working on an ExampleModule for people to use as a template for building modules outside of Slicer3.  Perhaps NITRC.&lt;br /&gt;
* XML library&lt;br /&gt;
** What to do with libaries that are too big to include in the source directory?&lt;br /&gt;
* AHM 2009, Jan 5-9, 2009&lt;br /&gt;
* Summer Project Week, Jun 23-27, 2008&lt;br /&gt;
* New server architecture for wiki, svn, publication database&lt;br /&gt;
&lt;br /&gt;
==2008-01-17==&lt;br /&gt;
Attendees: Jim, Katie, Sebastien, Stephen, Luis, Steve, Wendy, Will&lt;br /&gt;
&lt;br /&gt;
* Luis and Bill Hoffman are making progress in making ITK installation relocatable.  This is needed to finish the work on building plugins from an installation.&lt;br /&gt;
* What's in VTK 5.2?&lt;br /&gt;
** Infovis - Tables, Graphs, Views, IO&lt;br /&gt;
** Refinements to WWidgets. Client/Server connections within the widgets. Event translation. New widgets (text, caption, affine, checkerboard, rectilinear wipe, annotation, key frame, contour, measurement, point/placer, plot)&lt;br /&gt;
** Build now? Or wait until 5.2 released?&lt;br /&gt;
** Repository freeze in March&lt;br /&gt;
** Release on April 1, 2008&lt;br /&gt;
* ITK release&lt;br /&gt;
** Patches to ITK 3.4&lt;br /&gt;
*** Nine component/six component tensor conversion in IO has been patched to ITK 3.4&lt;br /&gt;
** 1/19-2/1 moving contributions on Insight Journal for ITK 3.6&lt;br /&gt;
** Move items from Review directory to main tree (QuadMesh, TransformIO) for ITK 3.6&lt;br /&gt;
** Freeze repository 2/29 for ITK 3.6&lt;br /&gt;
** Slicer3 will need to build against the Review directory.&lt;br /&gt;
* CMake release&lt;br /&gt;
** Version 2.6 on the horizon - release candidate in 3 weeks.&lt;br /&gt;
* Tcl/Tk 8.5&lt;br /&gt;
** Sebastien has a Windows build&lt;br /&gt;
** Steve will try it out&lt;br /&gt;
** Wait to switch to 8.5 until we have a good reason&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Sebastien - working on CMake issues on building modules as loadable modules&lt;br /&gt;
** Terry - working on loading modules and reworking Slicer3.cxx&lt;br /&gt;
* [[Slicer3:EventBroker | Event Broker]]&lt;br /&gt;
* DWI DICOM as part of the Load Volume.  Xiaodong is working on it.&lt;br /&gt;
* ITKFactories directory in build and installs to hold ImageIO plugin libraries. Should increase the speed of executable plugins on the Mac.&lt;br /&gt;
* OpenIGTLink&lt;br /&gt;
** Protocol on the wiki (message format)&lt;br /&gt;
** Put code in Sandbox, SourceForge, NITRC, Google Code???&lt;br /&gt;
* Will schedule a time to go over the Project Week results&lt;br /&gt;
&lt;br /&gt;
==2008-01-10==&lt;br /&gt;
No tcon due to AHM&lt;br /&gt;
&lt;br /&gt;
==2008-01-03==&lt;br /&gt;
* Attendees: Jim, Steve, Will, Brad Davis&lt;br /&gt;
* Topics:&lt;br /&gt;
** Jim and Will talked about leading the Monday and Friday sessions, and who would do what.&lt;br /&gt;
** We are going to send out reminders to the project leads to ensure that their project descriptions are up to date&lt;br /&gt;
** We discussed the software process project to make sure that we have a chance to address the Slicer build process, dashboards, etc.&lt;br /&gt;
** We decided not to hold the project wrap-up presentation at AHM; we will do that later at subsequent TCons. (We decided that we needed the time to actually work. We are concerned that we are starting to see too many break-outs and not enough time to work.)&lt;br /&gt;
** We keenly missed Tina and hope that she and her family are doing well.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_Summer_Project_Week:FocusedGUIRefinement&amp;diff=27772</id>
		<title>2008 Summer Project Week:FocusedGUIRefinement</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_Summer_Project_Week:FocusedGUIRefinement&amp;diff=27772"/>
		<updated>2008-06-27T14:43:22Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|[[Image:ProjectWeek-2008.png|thumb|320px|Return to [[2008_Summer_Project_Week|Project Week Main Page]] ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Key Investigators===&lt;br /&gt;
* Wendy Plesniak&lt;br /&gt;
* Sebastien Barre&lt;br /&gt;
* Jim Miller&lt;br /&gt;
* Kilian Pohl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Objectives&amp;lt;/h1&amp;gt;&lt;br /&gt;
3 Things:&lt;br /&gt;
&lt;br /&gt;
* GUI Refinement&lt;br /&gt;
First, While Slicer's GUI is fairly mature at the application level, the presentation layers for individual modules varies quite a bit. This project week activity launches an effort to identify, record and address usability issues in Slicer's GUI across modules and at the application top level.&lt;br /&gt;
&lt;br /&gt;
* Multi-dimensional viewers&lt;br /&gt;
Second, Slicer's Comparison Viewer, Lightbox Viewer, Tumorgrowth and the new TimeSeries work may all be regarded as multi-dimensional viewers. Each provides display and interactive control of multiple 2D slices through one or more datasets. Each of these tools may be more or less appropriate for any given use scenario, but it would be useful to consider these efforts together from a design point of view. &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
Third, we want to discuss a plan for module documentation and packaging.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Approach, Plan&amp;lt;/h1&amp;gt;&lt;br /&gt;
* Develop list of Interface usability and aesthetics problems to address. See this [http://www.slicer.org/slicerWiki/index.php/User:Barre/TODO link] for a partial list. &lt;br /&gt;
* Make sure all are entered into Mantis appropriately as usability issues. &lt;br /&gt;
* Prioritize their design and implementation, and &lt;br /&gt;
* start the work. &lt;br /&gt;
* Discuss Slicer cookbook (to support rapid and consistent interface development)&lt;br /&gt;
* Schedule breakout session to discuss Lightbox, Comparison Viewer, and TimeSeries work together.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Progress&amp;lt;/h1&amp;gt;&lt;br /&gt;
* Collected GUI feedback from attendees&lt;br /&gt;
* Began a list of GUI fixes and refinements on the slicer wiki [http://slicer.spl.harvard.edu/slicerWiki/index.php/Slicer3:UserFeedbackAndFeatureRequests#Notes:_NAMIC_Summer_project_week_list_of_interface_fixes_and_feature_requests  here] or [http://na-mic.org/Mantis/view.php?id=242 here]&lt;br /&gt;
* TBD: continue this list and publish to mantis as bug/usability issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_Summer_Project_Week&amp;diff=27558</id>
		<title>2008 Summer Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_Summer_Project_Week&amp;diff=27558"/>
		<updated>2008-06-25T21:10:25Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Agenda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Engineering:Programming_Events|Programming/Project Events]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWeek-2008.png|thumb|220px|right|Summer 2008]]&lt;br /&gt;
&lt;br /&gt;
== Logistics ==&lt;br /&gt;
*'''Dates:''' June 23-27, 2008&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;
*'''Registration Fee:''' $260 (covers the cost of breakfast, lunch and coffee breaks for the week). Due by Friday, June 13th, 2008. Please make checks out to &amp;quot;Massachusetts Institute of Technology&amp;quot; and mail to: Donna Kaufman, MIT, 77 Massachusetts Ave., 38-409a, Cambridge, MA 02139.  Receipts will be provided by email as checks are received.  Please send questions to dkauf at mit.edu. If you are attending for one day only, the registration fee is not required.&lt;br /&gt;
*'''Registration Method''' The event is full. [[User:Tkapur|Tkapur]] 18:12, 17 June 2008 (UTC)&lt;br /&gt;
*'''Hotel:''' We have a group rate of $239/night (plus tax) for a room with either 1 king or 2 queen beds at the [http://www.hotelatmit.com Hotel at MIT (now called Le Meridien)]. [http://www.starwoodmeeting.com/StarGroupsWeb/booking/reservation?id=0805167317&amp;amp;key=4FD1B  Please click here to reserve.] This rate is good only through June 1.&lt;br /&gt;
*Here is some information about several other 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;
*2008 Summer Project Week [[NA-MIC/Projects/Theme/Template|'''Template''']]&lt;br /&gt;
*[[2007_Programming/Project_Week_MIT#Projects|Last Year's Projects as a reference]]&lt;br /&gt;
*For hosting projects, we are planning to make use of the NITRC resources.  See [[NA-MIC_and_NITRC | Information about NITRC Collaboration]]&lt;br /&gt;
*Next Project Week in Utah -- January 5-9, 2009&lt;br /&gt;
&lt;br /&gt;
==Introduction to NA-MIC Project Week==&lt;br /&gt;
Please read an introduction about these events [[Project_Events#Introduction|here]].&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
* Monday &lt;br /&gt;
** noon-1pm lunch &lt;br /&gt;
**1pm: [[2008-Project-Week-Welcome|Welcome]] (Ron Kikinis)&lt;br /&gt;
** 1:05-3:30pm Introduce [[#Projects|Projects]] using templated wiki pages (all Project Leads) ([[NA-MIC/Projects/Theme/Template|Wiki Template]]) &lt;br /&gt;
** 3:30-5:30pm Start project work&lt;br /&gt;
* Tuesday &lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 10-10:30am [http://www.slicer.org/slicerWiki/index.php/Announcements:Slicer3.2 Slicer 3.2 Update] (Jim Miller, Steve Pieper)&lt;br /&gt;
** 11-12noon [[Project Week 2008 Slicer Tuning| Performance tuning for Slicer 3.2]] (Jackson Room 38-466) (Ron Kikinis)&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 1pm: [[2008-Project-Week-SVN-Change|Cut over to a new version of the NA-MIC SVN]]. &lt;br /&gt;
** 1:00-4:00pm: [[Project Week 2008 Special topic breakout: XNAT Database]] (Stata 32-D451) (Daniel Marcus) &lt;br /&gt;
** 5:30pm adjourn for day&lt;br /&gt;
* Wednesday &lt;br /&gt;
** 8:30am breakfast&lt;br /&gt;
** 9:00-12pm [[Project Week 2008 Special topic breakout: ITK]] (Stata Kiva Conference Room) (Luis Ibanez)&lt;br /&gt;
** noon lunch&lt;br /&gt;
** 2:30-3:30pm: [[Project Week 2008 Special topic breakout: Non-rigid Registration]] (Stata Kiva Conference Room) (Stephen Aylward)&lt;br /&gt;
** 4:00-5:30pm: Project Week 2008 Special topic breakout: CMake/CPack/CTest/CDash, KWWidgets (Stata Kiva Conference Room) (Julien Jomier, Sebastien Barre)&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;
**2:30-3:30pm [[Project Week 2008 Special topic breakout: GWE]] (Stata 32 D-451) (Marco Ruiz)&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 update [[#Projects|Project Wiki pages]]&lt;br /&gt;
** Noon: Lunch boxes and adjourn.  (Next one [[AHM_2009| in Utah the week of Jan 5, 2009]])&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:Harvard|Velocardio Facial Syndrome (VCFS) as a Genetic Model for Schizophrenia]] (Harvard: Marek Kubicki, PI)&lt;br /&gt;
##[[2008_Summer_Project_Week:DWIRegistrationOMT|DWI Registration using Optimal Mass Transport]]  (Sylvain Bouix BWH, Tauseef Rehman GATech)&lt;br /&gt;
##[[2008_Summer_Project_Week:EddyCurrentCorrection|EPI-DWI Eddy Current distortion correction]] (Sylvain Bouix BWH, Ran Tao Utah)&lt;br /&gt;
##[[2008_Summer_Project_Week:LobeParcellation| Parcellation of 3T MR data]](Sylvain Bouix BWH, Priya Srinivasan BWH, Brad Davis Kitware)&lt;br /&gt;
##[[2008_Summer_Project_Week:GMLongDistanceTractography|GM Long Distance Tractography]] (John Melonakos GATech, Marek Kubicki BWH)&lt;br /&gt;
##[[2008_Summer_Project_Week:PopulationDTIApplication|Group Analysis of DTI]] (Casey Goodlett Utah, Marek Kubicki BWH)&lt;br /&gt;
#[[DBP2:UNC|Longitudinal MRI Study of Early Brain Development in Autism]] (UNC: Heather Hazlett, Joseph Piven, PI)&lt;br /&gt;
##[[2008_Summer_Project_Week:RegionalCorticalThicknessTool|Work Flow Tool for regional cortical thickness pipeline]] (Clement Vachet UNC)&lt;br /&gt;
##[[2008_Summer_Project_Week:NITRCRegistration|NITRC registration of cortical thickness modules]] (Clement Vachet UNC)&lt;br /&gt;
##[[2008_Summer_Project_Week:DWI-DTI_PrepTools|DWI DTI Prep Tools]] (Zhexing Liu UNC) &lt;br /&gt;
#[[DBP2:MIND|Analysis of Brain Lesions in Lupus]] (MIND/UNM: Jeremy Bockholt, Charles Gasparovic PI)&lt;br /&gt;
##[[DBP2:MIND:RoadmapProject|Lesion Classification Module]] (Mark Scully MIND)&lt;br /&gt;
##[[DBP2:MIND:LongitudinalRegistrationProject|Longitudinal Registration and time course analyses in white matter lesions]] (Mark Scully and Jeremy Bockholt, MIND)&lt;br /&gt;
##[[DBP2:MIND:BeyondLesionsProject|Enhancements and extension of white matter lesion classification using DTI scalars]] (Jeremy Bockholt, MIND)&lt;br /&gt;
#[[DBP2:JHU|Segmentation and Registration Tools for Robotic Prostate Intervention]] (Queens/JHU: Gabor Fichtinger, PI)&lt;br /&gt;
##[[2008_Summer_Project_Week:TransRectal_Prostate_Biopsy_Module|Trans-Rectal Prostate Biopsy module]] (David Gobbi, Gabor Fichtinger, Queens/JHU)&lt;br /&gt;
##[[2008_Summer_Project_Week:ProstateSegReg|Prostate Segmentation and Registration]] (Yi Gao GATech, Gabor Fichtinger JHU)&lt;br /&gt;
##[[2008_Summer_Project_Week:PerkStation|Hardware/software overlay for percutaneous intervention (PERK Station)]] (Siddharth Vikal, Gabor Fichtinger, Queens/JHU)&lt;br /&gt;
&lt;br /&gt;
===Other Projects===&lt;br /&gt;
#[[2008_Summer_Project_Week:EddyCurrentCorrection|Eddy current and head motion correction of DWIs]] (Ran Tao, Utah, Sylvain Bouix, BWH, Xiaodong Tao, GE, Tom Fletcher, Utah)&lt;br /&gt;
#[[2008_Summer_Project_Week:GroupwiseBSplineForDTI| Integraton of groupwise b-spline registration into atlas building]] (Casey Goodlett, Serdar Balci)&lt;br /&gt;
#[[2008_Summer_Project_Week:GroupwisePortingToNamicKit| Porting groupwise registration project into NAMIC-kit]] (Serdar Balci, Brad Davis)&lt;br /&gt;
# [[2008_Summer_Project_Week:CVS_SVN_Synchronization|CVS / SVN auto synchronization]] (Sebastien, Steve, Jim, Will, Bill)&lt;br /&gt;
# [[2008_Summer_Project_Week:3DWidgetsInSlicer|3D Widgets in Slicer]] (Nicole Aucoin, Will Schroeder)&lt;br /&gt;
## Issues with existing widgets&lt;br /&gt;
## Design of new widgets&lt;br /&gt;
# [[2008_Summer_Project_Week:Batch_Processing|Batch processing in the NAMIC Kit]] (Julien, Marco, Steve, Jim)&lt;br /&gt;
#[[2008_Summer_Project_Week:ModuleChaining|Module Chaining]] (Marco, Jim, Steve, Dan B., Luca)&lt;br /&gt;
# [[2008_Summer_Project_Week:Nonlinear transforms | Nonlinear transforms]] (Jim, Steve, Luis)&lt;br /&gt;
## TransformToWorld/TransformFromWorld, integration with slice viewing&lt;br /&gt;
# [[2008_Summer_Project_Week:XNATandXCEDE| Slicer3, XNAT integration and XCEDE Web Services ]] (Dan M., Wendy, Steve, Julien, Dan B.)&lt;br /&gt;
## Review and enrich use cases [[Media: XCEDE-Use-Cases-2008-06-25.ppt | (developing use case ppt)]]&lt;br /&gt;
# [[2008_Summer_Project_Week:PythonInSlicer| Python in Slicer]] (Dan B., Michael Halle, Steve, Luca)&lt;br /&gt;
# [[2008_Summer_Project_Week:PerformanceTuningFiducials|Performance Tuning of Fiducials]] using the EventBroker and other tools (Nicole Aucoin, Alex Yarmarkovich, Steve Pieper, Will Schroeder)&lt;br /&gt;
# [[2008_Summer_Project_Week:FocusedGUIRefinement|Focused GUI Refinement and Strategies for Consistency]] (Wendy, Sebastien) [http://www.na-mic.org/Bug/view.php?id=242]&lt;br /&gt;
# [[2008_Summer_Project_Week:fMRIconnectivity|fMRI connectivity]]  (Bryce Kim, MIT)&lt;br /&gt;
# [[2008_Summer_Project_Week:AtlasFreeSegmentation|Atlas free Segmentation]]  (Tammy Riklin-Raviv, MIT)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/EM Bias Field Correction | New Bias Field Correction in EM]] (Carlos Sánchez Mendoza, Kilian Pohl - SPL, Brad Davis - Kitware)&lt;br /&gt;
# [[2008_Summer_Project_Week:FluidMechanicsTractographyUCLA|Fluid Mechanics Based DTI Tractography]] (Nathan Hageman, UCLA)&lt;br /&gt;
&lt;br /&gt;
===External Collaborations===&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/UWA-Perth]] (Grand Joldes)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/MRSI Module for Slicer]] (Bjoern Menze)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/NIREP: Non-rigid Image Registration Evaluation]] (Gary Christensen Group)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/Lung Atlas]] (Gary Christensen Group)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/Non-rigid image registration]] (Gary Christensen Group)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/SARP phantom]] (Keith Gunderson)&lt;br /&gt;
#[[FMA (Protege) links to Slicer]] (Vish, Mike, Florin, Jim, Steve, Wendy)&lt;br /&gt;
#[[NA-MIC/Projects/External Collaboration/Measuring Alcohol and Stress Interaction]]&lt;br /&gt;
#[[NA-MIC/Projects/External Collaboration/Slicer3-vmtk Integration]] (Luca Antiga, Dan Blezek, Mike Halle, Steve Pieper)&lt;br /&gt;
#[[NA-MIC/Projects/External Collaboration/Mesh Generation Summer 2008]] (Iowa Group)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/Carto_scar_BIDMC]] (Dana Peters Group)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/3D Ultrasound Module in Slicer3]] (Junichi, Haiying and Noby - SPL, David and Siddharth - Queen's, Danielle - Robarts)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/MGH RadOnc]] (Greg Sharp, MGH)&lt;br /&gt;
#[[NA-MIC/Projects/External Collaboration/W&amp;amp;M CRTC]] Non-rigid registration for neurosurgery (Nikos Chrisochoides, Andriy Fedorov, College of William&amp;amp;Mary)&lt;br /&gt;
#[[NA-MIC/Projects/Collaboration/SBIA UPenn]] DTI and HARDI Analysis tools(Ragini Verma, SBIA Upenn)&lt;br /&gt;
#[[Projects/Diffusion/2008 Project Week DiffusionMRI QBall]] Diffusion QBall framework integration( Demian Wassermann, Rachid Deriche, Odyssée INRIA, CF Westin, LMI&lt;br /&gt;
#[[IGT_Projects_Discussion]]&lt;br /&gt;
&lt;br /&gt;
===Non-Medical Collaborations===&lt;br /&gt;
#[[NA-MIC/Projects/Non-Medical Collaborations/Astronomical Medicine|Astronomical Medicine]] (Harvard IIC: Douglas Alan, Michael Halle)&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-project-week mailing list&lt;br /&gt;
&lt;br /&gt;
# [[Engineering:TCON_2008|May 08 and May 15 TCON DBPs ONLY]] at 3pm ET to discuss NA-MIC DBP Projects ONLY. &lt;br /&gt;
# [[Engineering:TCON_2008|May 22 TCON#1]] at 3pm ET to discuss NA-MIC Engr Core Projects and Assign/Verify Teams&lt;br /&gt;
# [[Engineering:TCON_2008|May 29 TCON#2]] at 3pm ET to discuss NA-MIC ALGORITHMS Core Lead Projects.  Project leads should sign up for a slot [[Engineering:TCON_2008|here]]. Projects will be discussed in order of the signups. &lt;br /&gt;
# [[Engineering:TCON_2008|June 5 TCON#3]] at 3pm ET to discuss NA-MIC EXTERNAL Collaborations.  All NIH funded &amp;quot;collaborations with NCBC&amp;quot; leads should call. Project leads should sign up for a slot [[Engineering:TCON_2008|here]].  Projects will be discussed in order of the signups. &lt;br /&gt;
# [[Engineering:TCON_2008|June 12 TCON#4]] at 3pm ET to discuss NA-MIC EXTERNAL Collaborations.  All other collaboration leads should call. Project leads should sign up for a slot [[Engineering:TCON_2008|here]].  Projects will be discussed in order of the signups. &lt;br /&gt;
# [[Engineering:TCON_2008|June 19 TCON#5]] at 3pm ET to tie loose ends.  Anyone with un-addressed questions should call.&lt;br /&gt;
# By 3pm ET on June 12, 2008: [[NA-MIC/Projects/Theme/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
# By 3pm on June 19, 2008: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&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. (Zack)&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;
==Attendee List==&lt;br /&gt;
#	Jack	Blevins	Acoustic Med&lt;br /&gt;
#	Pratik	Patel	Brainlab&lt;br /&gt;
#	Mark	Anderson	BWH&lt;br /&gt;
#	Nicole	Aucoin	BWH&lt;br /&gt;
#	Sylvain	Bouix	BWH&lt;br /&gt;
#	Michael	Halle	BWH&lt;br /&gt;
#	Nobuhiko	Hata	BWH&lt;br /&gt;
#	Katie	Hayes	BWH&lt;br /&gt;
#	Scott	Hoge	BWH&lt;br /&gt;
#	Marianna	Jakab	BWH&lt;br /&gt;
#	Tina	Kapur	BWH&lt;br /&gt;
#	Ron	Kikinis	BWH&lt;br /&gt;
#	Jacek	Kukluk	BWH&lt;br /&gt;
#	Haying	Liu	BWH&lt;br /&gt;
#	Bjoern	Menze	BWH&lt;br /&gt;
#	Wendy	Plesniak	BWH&lt;br /&gt;
#	Kilian	Pohl	BWH&lt;br /&gt;
#	Sonia	Pujol	BWH&lt;br /&gt;
#	Carlos	Sánchez Mendoza	BWH&lt;br /&gt;
#	Priya	Srinivasan	BWH&lt;br /&gt;
#	Junichi	Tokuda	BWH&lt;br /&gt;
#	Demian	Wassermann	BWH (INRIA)&lt;br /&gt;
#	C-F	Westin	BWH&lt;br /&gt;
#	Xiaodong	Tao	GE&lt;br /&gt;
#	Dirk	Padfield	GE&lt;br /&gt;
#	Jim	Miller	GE&lt;br /&gt;
#	Surprise Guest from EAB&lt;br /&gt;
#	Viswanath	Avasarala	GE&lt;br /&gt;
#	John	Melonakos	GA Tech&lt;br /&gt;
#	Yi	Gao	GA Tech&lt;br /&gt;
#	Tauseef	Rehman	GA Tech&lt;br /&gt;
#	Sean	Megason	Harvard Med&lt;br /&gt;
#	Alex	Gouaillard	Harvard Med&lt;br /&gt;
#	Kishore	Mosaliganti	Harvard Med&lt;br /&gt;
#	Arnaud	Gelas	Harvard Med&lt;br /&gt;
#	Dana	Peters	Harvard Med&lt;br /&gt;
#	Jason	Taclas	Harvard Med&lt;br /&gt;
#	Douglas	Alan	Harvard&lt;br /&gt;
#	Toru	Higaki	Hiroshima U&lt;br /&gt;
#	Daniel	Blezek	Isomics&lt;br /&gt;
#	Curtis	Lisle	Isomics&lt;br /&gt;
#	Steve	Pieper	Isomics&lt;br /&gt;
#	Alex	Yarmarkovich	Isomics&lt;br /&gt;
#	Csaba	Csoma	JHU&lt;br /&gt;
#	Peter	Kazanzides	JHU&lt;br /&gt;
#	Will	Schroeder	Kitware&lt;br /&gt;
#	Sebastien	Barre	Kitware&lt;br /&gt;
#	Julien	Jomier	Kitware&lt;br /&gt;
#	Bill	Hoffman	Kitware&lt;br /&gt;
#	Luis	Ibanez	Kitware&lt;br /&gt;
#	Luca	Antiga	Mario Negri Inst&lt;br /&gt;
#	Randy	Gollub	MGH&lt;br /&gt;
#	Silas	Mann	MGH&lt;br /&gt;
#	Greg	Sharp	MGH&lt;br /&gt;
#	Marta	Peroni	MGH&lt;br /&gt;
#	Serdar	Balci	MIT&lt;br /&gt;
#	Bryce	Kim	MIT&lt;br /&gt;
#	Clare	Poynton	MIT&lt;br /&gt;
#	Tammy	Riklin Raviv	MIT&lt;br /&gt;
#	Polina	Golland	MIT&lt;br /&gt;
#	Jeremy	Bockholt	MRN Lupus DBP&lt;br /&gt;
#	Mark	Scully	MRN Lupus DBP&lt;br /&gt;
#	Gabor	Fichtinger	Queen's&lt;br /&gt;
#	David	Gobbi	Queen's&lt;br /&gt;
#	Purang	Abolmaesumi	Queen's&lt;br /&gt;
#	Siddharth	Vikal	Queen's&lt;br /&gt;
#	Zhen	Qian	Rutgers&lt;br /&gt;
#	Jinghao	Zhou	Rutgers&lt;br /&gt;
#	Jeffrey	Grethe	UCSD&lt;br /&gt;
#	Marco	Ruiz	UCSD&lt;br /&gt;
#	Chris	Churas	UCSD&lt;br /&gt;
#	Nathan	Hageman	UCLA&lt;br /&gt;
#	Keith	Gunderson	U Iowa&lt;br /&gt;
#	Gary	Christensen	U Iowa&lt;br /&gt;
#	Jeffrey	Hawley	U Iowa&lt;br /&gt;
#	Kate	Raising	U Iowa&lt;br /&gt;
#	Nathan	Fritze	U Iowa&lt;br /&gt;
#	Paul	Song	U Iowa&lt;br /&gt;
#	Cheng	Zhang	U Iowa&lt;br /&gt;
#	Ying	Wei	U Iowa&lt;br /&gt;
#	Nathan	Burnette	U Iowa&lt;br /&gt;
#	Hans	Johnson	U Iowa&lt;br /&gt;
#	Vincent	Magnotta	U Iowa&lt;br /&gt;
#	Clement	Vachet	UNC&lt;br /&gt;
#	Zhexing	Liu	UNC&lt;br /&gt;
#	Ragini	Verma	U Penn&lt;br /&gt;
#	Luke	Bloy	U Penn&lt;br /&gt;
#	Yang	Li	U Penn&lt;br /&gt;
#	Ran	Tao	Utah&lt;br /&gt;
#	Marcel	Prastawa	Utah&lt;br /&gt;
#	Casey	Goodlett	Utah&lt;br /&gt;
#	Ross	Whitaker	Utah&lt;br /&gt;
#	John	Hale	U Tulsa&lt;br /&gt;
#	Cody	Pollet	U Tulsa&lt;br /&gt;
#	Nikeisha	Schimke	U Tulsa&lt;br /&gt;
#	Adam	Wittek	Western Australia&lt;br /&gt;
#	Grand	Joldes	Western Australia&lt;br /&gt;
#	Jamie	Berger	Western Australia&lt;br /&gt;
#	Carling	Cheung	Western Ontario&lt;br /&gt;
#	Danielle	Pace	Western Ontario&lt;br /&gt;
#	Vidya	Rajagopalan	VA Tech&lt;br /&gt;
#	Nikos	Chrisochoides	William and Mary&lt;br /&gt;
#	Andriy	Fedorov	William and Mary&lt;br /&gt;
#	Dan	Marcus	Washington U&lt;br /&gt;
#	Tim	Olsen	Washington U&lt;br /&gt;
#	Kevin	Archie	Washington U&lt;br /&gt;
#	Misha	Milchenko	Washington U&lt;br /&gt;
#	Xenophon	Papademetris	Yale U&lt;br /&gt;
#	John	Onofrey	Yale U&lt;br /&gt;
#	Yifeng	Jiang	Yale U&lt;br /&gt;
#	Dustin	Scheinost	Yale U&lt;br /&gt;
# Nicu Archip BWH&lt;br /&gt;
# Florin Talos BWH&lt;br /&gt;
#Stephen Aylward Kitware&lt;br /&gt;
&lt;br /&gt;
==Pictures==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; widths=&amp;quot;150px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NA-MIC-ProjectWeek1.JPG|Lunch&lt;br /&gt;
Image:NA-MIC-ProjectWeek2.JPG|Day 1&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
[http://woofton.rivendel.net/gallery2/main.php?g2_itemId=33261 PICTURES!] taken by Jeffrey Hawley&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=27455</id>
		<title>User:Barre/TODO</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=27455"/>
		<updated>2008-06-24T17:46:31Z</updated>

		<summary type="html">&lt;p&gt;Barre: Replacing page with 'Moved to [http://www.slicer.org/slicerWiki/index.php/User:Barre/TODO Slicer3 Wiki]'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to [http://www.slicer.org/slicerWiki/index.php/User:Barre/TODO Slicer3 Wiki]&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=26968</id>
		<title>User:Barre/TODO</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=26968"/>
		<updated>2008-06-17T15:36:28Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[2008 June Workshop Germany |Training Event in Germany]]==&lt;br /&gt;
&lt;br /&gt;
Notes from a session with Ron, important items to address to improve Slicer3 usability.&lt;br /&gt;
&lt;br /&gt;
* Save Data: how can one save a data file as a specific/different ITK file format. ITK uses a IO plugin framework to support new file formats: is there a way to find the list of file formats supported by ITK at run-time.&lt;br /&gt;
** &amp;lt;small&amp;gt;I (Seb) to check with Luis&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Data: the &amp;quot;Save&amp;quot; dialog in general is very confusing and buggy. The &amp;quot;Save All&amp;quot; and &amp;quot;Save None&amp;quot; button are mislabelled since they don't perform any save. Saving data to a new file format requires the user to double-click in the file name and manually change the file extension (provided that this extension is known to the user). Changing the data directory does not update the data locations in the multicolumn list (it does if you change the data directory twice). Changing the scene directory has no impact on the data directory.&lt;br /&gt;
**&amp;lt;small&amp;gt; I (Seb) suggest that the &amp;quot;Save All/None&amp;quot; should be something like &amp;quot;Mark all for save&amp;quot;, &amp;quot;Mark none for save&amp;quot;. A button should be placed next to each data filename/location to quickly switch to a new file type (depending on what ITK can save to at run-time). The dialog is large, we have room to put a help string/label that explains a little more how the whole dialog works. Changing the data directory should update the location of each data entry in the multicolumn list correctly. A button should be added to quickly set the data directory to match the scene directory (it should not be automatic though).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Font Size: the font is definitely too small for the &amp;quot;Modules&amp;quot; menubutton or the filename label in any of the Red/Yellow/Green slice viewports. The &amp;quot;View -&amp;gt; Font Size&amp;quot; menu does not report the current font size. &lt;br /&gt;
** &amp;lt;small&amp;gt;My (Seb) opinion is to avoid hard-coding font size as much as possible, and not let the user override either font size or font family: we can not support all the possible layout combinations, or guarantee it will all fit; let's focus instead on making sure it looks nice and fit decently with the default system font size. The label in the RYG slice viewports is cropped automatically to something likely too small, and not updated later on when the slice viewport is resized/maximized: to fix.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Progress Bar: the progress bar used while loading data has been removed because it was triggering too many &amp;quot;update idletasks&amp;quot;. We still need one though.&lt;br /&gt;
** &amp;lt;small&amp;gt;Steve suggests creating an OpenGL progress bar directly inside a small renderwindow. I (Seb) checked VTK's scale/slider interaction widget to see if that would do the trick. To be investigated further with the VTK's widget guru, Will.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Models, tree: the tree in &amp;quot;Models -&amp;gt; Hierarchy -&amp;gt; Model Hierarchy&amp;quot; may be too small for some users, as it gets more and more crowded.&lt;br /&gt;
** &amp;lt;small&amp;gt;My (Seb) opinion is that we can't have it resize automatically because who knows how tall it could be, and it would push everything down. Ron is OK to have an option to do it manually, so I plan to add two icon/buttons to increase/decrease the height (numbe of lines) of the tree, say add 15 more lines, and double the size, etc. I wish we could just &amp;quot;drag&amp;quot; the whole tree frame to a new size, like expanding a window, but that's just too hard (or impossible) to implement with this Tk widget.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Models, tree: the tree in &amp;quot;Models -&amp;gt; Hierarchy -&amp;gt; Model Hierarchy&amp;quot; is not as intuitive as the previous UI found in Slicer2; for each model, one could check/uncheck the visibility and change the opacity using controls placed directly next to the model's name (i.e. on the same row). The model name/label itself would use a background color matching the color used to display the model in the 3D view, a nice hint. The tree used in Slicer3 does not do nearly as much, i.e. the user has to select a node then change its visibily using a checkbutton placed in a different frame below the tree (note that the visibility and color can be changed quickly though, by using a popup menu by right-clicking on the tree leaf).&lt;br /&gt;
** &amp;lt;small&amp;gt;I (Seb) had several discussion about this item with Alex, and I'm still not sure why this can't be done technically by adding custom widgets next to the label name for each leaf in the tree, but I will have a look at it again.&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=26967</id>
		<title>User:Barre/TODO</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=User:Barre/TODO&amp;diff=26967"/>
		<updated>2008-06-17T15:35:56Z</updated>

		<summary type="html">&lt;p&gt;Barre: New page: ==Training Event in Germany==  Notes from a session with Ron, important items to address to improve Slicer3 usability.  * Save Data: how can one save a data...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[2008 June Workshop Germany |Training Event in Germany]]==&lt;br /&gt;
&lt;br /&gt;
Notes from a session with Ron, important items to address to improve Slicer3 usability.&lt;br /&gt;
&lt;br /&gt;
* Save Data: how can one save a data file as a specific/different ITK file format. ITK uses a IO plugin framework to support new file formats: is there a way to find the list of file formats supported by ITK at run-time.&lt;br /&gt;
** &amp;lt;small&amp;gt;I (Seb) to check with Luis&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Data: the &amp;quot;Save&amp;quot; dialog in general is very confusing and buggy. The &amp;quot;Save All&amp;quot; and &amp;quot;Save None&amp;quot; button are mislabelled since they don't perform any save. Saving data to a new file format requires the user to double-click in the file name and manually change the file extension (provided that this extension is known to the user). Changing the data directory does not update the data locations in the multicolumn list (it does if you change the data directory twice). Changing the scene directory has no impact on the data directory.&lt;br /&gt;
**&amp;lt;small&amp;gt; I (Seb) suggest that the &amp;quot;Save All/None&amp;quot; should be something like &amp;quot;Mark all for save&amp;quot;, &amp;quot;Mark none for save&amp;quot;. A button should be placed next to each data filename/location to quickly switch to a new file type (depending on what ITK can save to at run-time). The dialog is large, we have room to put a help string/label that explains a little more how the whole dialog works. Changing the data directory should update the location of each data entry in the multicolumn list correctly. A button should be added to quickly set the data directory to match the scene directory (it should not be automatic though).&amp;lt;small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Font Size: the font is definitely too small for the &amp;quot;Modules&amp;quot; menubutton or the filename label in any of the Red/Yellow/Green slice viewports. The &amp;quot;View -&amp;gt; Font Size&amp;quot; menu does not report the current font size. &lt;br /&gt;
** &amp;lt;small&amp;gt;My (Seb) opinion is to avoid hard-coding font size as much as possible, and not let the user override either font size or font family: we can not support all the possible layout combinations, or guarantee it will all fit; let's focus instead on making sure it looks nice and fit decently with the default system font size. The label in the RYG slice viewports is cropped automatically to something likely too small, and not updated later on when the slice viewport is resized/maximized: to fix.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Progress Bar: the progress bar used while loading data has been removed because it was triggering too many &amp;quot;update idletasks&amp;quot;. We still need one though.&lt;br /&gt;
** &amp;lt;small&amp;gt;Steve suggests creating an OpenGL progress bar directly inside a small renderwindow. I (Seb) checked VTK's scale/slider interaction widget to see if that would do the trick. To be investigated further with the VTK's widget guru, Will.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Models, tree: the tree in &amp;quot;Models -&amp;gt; Hierarchy -&amp;gt; Model Hierarchy&amp;quot; may be too small for some users, as it gets more and more crowded.&lt;br /&gt;
** &amp;lt;small&amp;gt;My (Seb) opinion is that we can't have it resize automatically because who knows how tall it could be, and it would push everything down. Ron is OK to have an option to do it manually, so I plan to add two icon/buttons to increase/decrease the height (numbe of lines) of the tree, say add 15 more lines, and double the size, etc. I wish we could just &amp;quot;drag&amp;quot; the whole tree frame to a new size, like expanding a window, but that's just too hard (or impossible) to implement with this Tk widget.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Models, tree: the tree in &amp;quot;Models -&amp;gt; Hierarchy -&amp;gt; Model Hierarchy&amp;quot; is not as intuitive as the previous UI found in Slicer2; for each model, one could check/uncheck the visibility and change the opacity using controls placed directly next to the model's name (i.e. on the same row). The model name/label itself would use a background color matching the color used to display the model in the 3D view, a nice hint. The tree used in Slicer3 does not do nearly as much, i.e. the user has to select a node then change its visibily using a checkbutton placed in a different frame below the tree (note that the visibility and color can be changed quickly though, by using a popup menu by right-clicking on the tree leaf).&lt;br /&gt;
** &amp;lt;small&amp;gt;I (Seb) had several discussion about this item with Alex, and I'm still not sure why this can't be done technically by adding custom widgets next to the label name for each leaf in the tree, but I will have a look at it again.&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=User:Barre&amp;diff=26966</id>
		<title>User:Barre</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=User:Barre&amp;diff=26966"/>
		<updated>2008-06-17T15:05:09Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [mailto:sebastien.barre@kitware.com Sebastien Barre]&lt;br /&gt;
* Research Engineer&lt;br /&gt;
* [http://www.kitware.com Kitware, Inc.]&lt;br /&gt;
* [http://www.kitware.com/profile/team/barre.html Profile]&lt;br /&gt;
* [[User:Barre/TODO|TODO]]&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26962</id>
		<title>File:VTK - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26962"/>
		<updated>2008-06-17T14:31:42Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:VTK - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26961</id>
		<title>File:Engineering Methodology - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26961"/>
		<updated>2008-06-17T14:31:15Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:Engineering Methodology - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26960</id>
		<title>File:KWWidgets - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26960"/>
		<updated>2008-06-17T14:31:09Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:KWWidgets - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26909</id>
		<title>File:VTK - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26909"/>
		<updated>2008-06-16T16:08:04Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:VTK - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26908</id>
		<title>File:KWWidgets - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26908"/>
		<updated>2008-06-16T16:07:46Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:KWWidgets - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26907</id>
		<title>File:Engineering Methodology - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26907"/>
		<updated>2008-06-16T16:07:09Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:Engineering Methodology - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26885</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26885"/>
		<updated>2008-06-16T06:23:05Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Sponsors==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; widths=&amp;quot;150px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:CAMP_logo_blue.png|[http://wwwnavab.in.tum.de/WebHome Computer Aided Medical Procedures, TU Munich]&lt;br /&gt;
Image:DFG zweizeilig sw.jpg|[http://www.dfg.de/ DFG]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/ Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
Image:Isip.jpg|[http://www.intelli-si.org/index_e.html Intelligent Surgical Instrument Project, Japan]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''The workshop has been confirmed and the invitation will be send out on Monday, May 19'''&lt;br /&gt;
*June 15-17, [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is a hands-on workshop about the NA-MIC kit. The workshop is intended for participants from within Germany and it is expected to be  sponsored by the DFG. The  target audience for this workshop are scientists with an engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is well-suited for both academic and commercial activities.&lt;br /&gt;
&lt;br /&gt;
The participants will receive an overview of the software libraries, the end-user applications, and documentation that comprise the NA-MIC kit. The curriculum is '''hands-on''' which means that participants are required to attend the workshop with a suitable laptop, preloaded with the software and sample data as specified below. Attendance is limited in order to ensure quality interactions between the faculty and participants.&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
Arrival: Sunday, June 15&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:20%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Monday, June 16'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Tuesday, June 17''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.00-08.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.30-10.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*08.30-08.45 Welcome (Navab, Kikinis)&lt;br /&gt;
** Overview over [[media:NA-MIC_2008.ppt|NA-MIC]]&lt;br /&gt;
*08.45-10.00 Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
** [[media:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt|(Barre's Slides)]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 08.30-10.00 Slicer3 IGT&lt;br /&gt;
** [[media:SlicerIGTOverview.ppt|Slicer 3 IGT capabilities]] (15 min. Hata) &lt;br /&gt;
*** Concept, Architecture, Design&lt;br /&gt;
*** Application specific modules: Neuro, MRIg Prostate, Cardiac 3D US&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows] using Neurosurgical Planning as an Example (60 min, hands-on tutorial, by Pace)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.00-10.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.30-12.30&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://vtk.org VTK] (Barre) [[media:VTK_-_2008_June_Workshop_Germany.ppt|(Slides)]] &lt;br /&gt;
** [http://kwwidgets.org KWWidgets] (Barre) [[media:KWWidgets_-_2008_June_Workshop_Germany.ppt|(Slides)]]&lt;br /&gt;
** [http://www.xnat.org XNAT] (Pieper) [[media:Pieper-XNAT-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* Slicer 3 IGT continued&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink] ( 45 min, Hands-on, by Pace)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (45 min, Demonstration, by Pace)&lt;br /&gt;
***Participants do not need to download this tutorial software&lt;br /&gt;
** [http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_With_Cuda CUDA-based volume rendering] (15 Min, Demonstration, by Hata, [[media:slicerIGTCUDA.ppt|Slides]]) &lt;br /&gt;
***Clinical needs, approach&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 12.30-13.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 13.30-15.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Slicer3 (Pieper)&lt;br /&gt;
** Overview and Features [[media:Slicer-Overview-Features-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** Architecture and Implementation [[media:Slicer-Architecture-Implementation-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs (Pujol)&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 1 (Pujol)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.00-15.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.30-18.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]] (Pujol)&lt;br /&gt;
* [[Slicer3:EM|The EM segmenter in Slicer]] (Pujol)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*15.30-17.30 Plug-ins continued&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 2 (Pujol)&lt;br /&gt;
* 17.30-18.00 Registration in Slicer 3 (Jomier)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 18.00-19.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*18.00-18.45&lt;br /&gt;
** [[media:2008_NA-MIC_MITK.pdf|MITK]] (Wolf, Neuhaus, Maleike, Nolden, Zelzer)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 18.00-18.15 Closing remarks (Navab, Kikinis)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 19.00-open&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
&lt;br /&gt;
*'''Participants are required to install the NA-MIC kit components on their laptop in preparation for the workshop.''' Please follow the [http://www.na-mic.org/Wiki/index.php/Training:Workshop_Prerequisite '''Workshop Prerequisite instructions'''] to build Slicer3 and download the datasets. &lt;br /&gt;
&lt;br /&gt;
Note: Building Slicer3 can take up to 2 hours.&lt;br /&gt;
We recommend a minimum of 2 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory. Windows XP, Linux (x86 and x86_64) and Darwin (ppc and x86) are supported.&lt;br /&gt;
&lt;br /&gt;
* Image Guided Therapy tutorial software and datasets:&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows using Neurosurgical Planning]:  Download the tutorial slides and the tutorial dataset&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink]:  Install the OpenIGTLink module and the tracker simulator; download the tutorial slides, the abdominal atlas and the tool model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
*Local Host: Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Venue and Logistics=&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Faculty and participants are expected to arrive at the venue on Sunday the 15th to allow the workshop to begin on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. In addition to the workshop program the letter will contain a form that needs to be filled out and sent back to the DFG in order to get '''reimbursed for travel and accommodation costs'''.&lt;br /&gt;
&lt;br /&gt;
==Information on Public Transport for Local Travel==&lt;br /&gt;
&lt;br /&gt;
In regard to the ticket you need for local travel: you have two options depending on the size of the traveling group. You can either go for a partner day ticket (18 €, all zones/''Gesamtnetz'') or a single day ticket (10 €, all zones/''Gesamtnetz'').&lt;br /&gt;
&lt;br /&gt;
'''Coming from the [http://en.wikipedia.org/wiki/Munich_International_Airport Munich Airport]'''&lt;br /&gt;
&lt;br /&gt;
When going to the subway station at the airport you can choose between any of the two subways, either '''S1''' (west route) or '''S8''' (east route) though the '''S8''' is probably beneficial in terms of journey time (approx. 35 minutes).&lt;br /&gt;
&lt;br /&gt;
With both trains you should travel to the station '''Ostbahnhof'''.&lt;br /&gt;
&lt;br /&gt;
At '''Ostbahnhof''' you need to change to the '''S6''' (direction '''Giesing''') and leave the train at the terminal stop '''Kreuzstraße'''.&lt;br /&gt;
&lt;br /&gt;
''Coming from the Central Station''&lt;br /&gt;
&lt;br /&gt;
At central station you can directly enter the '''S6''' (direction '''Karlsplatz/Stachus''' or '''Marienplatz''') and leave the train at the terminal stop '''Kreuzstraße'''. The traveling time is around 50 minutes.&lt;br /&gt;
&lt;br /&gt;
''The last meters''&lt;br /&gt;
&lt;br /&gt;
At '''Kreuzstraße''' you need to change into a regional express (e.g. RB30239, RB30245, RB30247, direction '''Bad Aibling''') which you will leave at the first stop in '''Westerham'''. This final train trip requires an extra ticket which costs around 2€.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26884</id>
		<title>File:Engineering Methodology - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Engineering_Methodology_-_2008_June_Workshop_Germany.ppt&amp;diff=26884"/>
		<updated>2008-06-16T06:13:56Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26883</id>
		<title>File:VTK - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26883"/>
		<updated>2008-06-15T20:13:11Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:VTK - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26882</id>
		<title>File:KWWidgets - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26882"/>
		<updated>2008-06-15T20:02:08Z</updated>

		<summary type="html">&lt;p&gt;Barre: uploaded a new version of &amp;quot;Image:KWWidgets - 2008 June Workshop Germany.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26871</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26871"/>
		<updated>2008-06-14T18:20:54Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Sponsors==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; widths=&amp;quot;150px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:CAMP_logo_blue.png|[http://wwwnavab.in.tum.de/WebHome Computer Aided Medical Procedures, TU Munich]&lt;br /&gt;
Image:DFG zweizeilig sw.jpg|[http://www.dfg.de/ DFG]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/ Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
Image:Isip.jpg|[http://www.intelli-si.org/index_e.html Intelligent Surgical Instrument Project, Japan]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''The workshop has been confirmed and the invitation will be send out on Monday, May 19'''&lt;br /&gt;
*June 15-17, [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is a hands-on workshop about the NA-MIC kit. The workshop is intended for participants from within Germany and it is expected to be  sponsored by the DFG. The  target audience for this workshop are scientists with an engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is well-suited for both academic and commercial activities.&lt;br /&gt;
&lt;br /&gt;
The participants will receive an overview of the software libraries, the end-user applications, and documentation that comprise the NA-MIC kit. The curriculum is '''hands-on''' which means that participants are required to attend the workshop with a suitable laptop, preloaded with the software and sample data as specified below. Attendance is limited in order to ensure quality interactions between the faculty and participants.&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
Arrival: Sunday, June 15&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:20%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Monday, June 16'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Tuesday, June 17''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.00-08.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.30-10.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*08.30-08.45 Welcome (Navab, Kikinis)&lt;br /&gt;
** Overview over [[media:NA-MIC_2008.ppt|NA-MIC]]&lt;br /&gt;
*08.45-10.00 Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 08.30-10.00 Slicer3 IGT&lt;br /&gt;
** [[media:SlicerIGTOverview.ppt|Slicer 3 IGT capabilities]] (15 min. Hata) &lt;br /&gt;
*** Concept, Architecture, Design&lt;br /&gt;
*** Application specific modules: Neuro, MRIg Prostate, Cardiac 3D US&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows] using Neurosurgical Planning as an Example (60 min, hands-on tutorial, by Pace)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.00-10.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.30-12.30&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://vtk.org VTK] (Barre) [[media:VTK_-_2008_June_Workshop_Germany.ppt|(Slides)]] &lt;br /&gt;
** [http://kwwidgets.org KWWidgets] (Barre) [[media:KWWidgets_-_2008_June_Workshop_Germany.ppt|(Slides)]]&lt;br /&gt;
** [http://www.xnat.org XNAT] (Pieper) [[media:Pieper-XNAT-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* Slicer 3 IGT continued&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink] ( 45 min, Hands-on, by Pace)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (45 min, Demonstration, by Pace)&lt;br /&gt;
***Participants do not need to download this tutorial software&lt;br /&gt;
** [http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_With_Cuda CUDA-based volume rendering] (15 Min, Demonstration, by Hata, [[media:slicerIGTCUDA.ppt|Slides]]) &lt;br /&gt;
***Clinical needs, approach&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 12.30-13.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 13.30-15.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Slicer3 (Pieper)&lt;br /&gt;
** Overview and Features [[media:Slicer-Overview-Features-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** Architecture and Implementation [[media:Slicer-Architecture-Implementation-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs (Pujol)&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 1 (Pujol)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.00-15.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.30-18.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]] (Pujol)&lt;br /&gt;
* [[Slicer3:EM|The EM segmenter in Slicer]] (Pujol)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*15.30-17.30 Plug-ins continued&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 2 (Pujol)&lt;br /&gt;
* 17.30-18.00 Registration in Slicer 3 (Jomier)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 18.00-19.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*18.00-18.45&lt;br /&gt;
** [[media:2008_NA-MIC_MITK.pdf|MITK]] (Wolf, Neuhaus, Maleike, Nolden, Zelzer)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 18.00-18.15 Closing remarks (Navab, Kikinis)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 19.00-open&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
&lt;br /&gt;
*'''Participants are required to install the NA-MIC kit components on their laptop in preparation for the workshop.''' Please follow the [http://www.na-mic.org/Wiki/index.php/Training:Workshop_Prerequisite '''Workshop Prerequisite instructions'''] to build Slicer3 and download the datasets. &lt;br /&gt;
&lt;br /&gt;
Note: Building Slicer3 can take up to 2 hours.&lt;br /&gt;
We recommend a minimum of 2 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory. Windows XP, Linux (x86 and x86_64) and Darwin (ppc and x86) are supported.&lt;br /&gt;
&lt;br /&gt;
* Image Guided Therapy tutorial software and datasets:&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows using Neurosurgical Planning]:  Download the tutorial slides and the tutorial dataset&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink]:  Install the OpenIGTLink module and the tracker simulator; download the tutorial slides, the abdominal atlas and the tool model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
*Local Host: Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Venue and Logistics=&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Faculty and participants are expected to arrive at the venue on Sunday the 15th to allow the workshop to begin on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. In addition to the workshop program the letter will contain a form that needs to be filled out and sent back to the DFG in order to get '''reimbursed for travel and accommodation costs'''.&lt;br /&gt;
&lt;br /&gt;
==Information on Public Transport for Local Travel==&lt;br /&gt;
&lt;br /&gt;
In regard to the ticket you need for local travel: you have two options depending on the size of the traveling group. You can either go for a partner day ticket (18 €, all zones/''Gesamtnetz'') or a single day ticket (10 €, all zones/''Gesamtnetz'').&lt;br /&gt;
&lt;br /&gt;
'''Coming from the [http://en.wikipedia.org/wiki/Munich_International_Airport Munich Airport]'''&lt;br /&gt;
&lt;br /&gt;
When going to the subway station at the airport you can choose between any of the two subways, either '''S1''' (west route) or '''S8''' (east route) though the '''S8''' is probably beneficial in terms of journey time (approx. 35 minutes).&lt;br /&gt;
&lt;br /&gt;
With both trains you should travel to the station '''Ostbahnhof'''.&lt;br /&gt;
&lt;br /&gt;
At '''Ostbahnhof''' you need to change to the '''S6''' (direction '''Giesing''') and leave the train at the terminal stop '''Kreuzstraße'''.&lt;br /&gt;
&lt;br /&gt;
''Coming from the Central Station''&lt;br /&gt;
&lt;br /&gt;
At central station you can directly enter the '''S6''' (direction '''Karlsplatz/Stachus''' or '''Marienplatz''') and leave the train at the terminal stop '''Kreuzstraße'''. The traveling time is around 50 minutes.&lt;br /&gt;
&lt;br /&gt;
''The last meters''&lt;br /&gt;
&lt;br /&gt;
At '''Kreuzstraße''' you need to change into a regional express (e.g. RB30239, RB30245, RB30247, direction '''Bad Aibling''') which you will leave at the first stop in '''Westerham'''. This final train trip requires an extra ticket which costs around 2€.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26870</id>
		<title>File:VTK - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:VTK_-_2008_June_Workshop_Germany.ppt&amp;diff=26870"/>
		<updated>2008-06-14T18:20:15Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26861</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=26861"/>
		<updated>2008-06-14T10:09:15Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Sponsors==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; widths=&amp;quot;150px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:CAMP_logo_blue.png|[http://wwwnavab.in.tum.de/WebHome Computer Aided Medical Procedures, TU Munich]&lt;br /&gt;
Image:DFG zweizeilig sw.jpg|[http://www.dfg.de/ DFG]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/ Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
Image:Isip.jpg|[http://www.intelli-si.org/index_e.html Intelligent Surgical Instrument Project, Japan]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''The workshop has been confirmed and the invitation will be send out on Monday, May 19'''&lt;br /&gt;
*June 15-17, [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is a hands-on workshop about the NA-MIC kit. The workshop is intended for participants from within Germany and it is expected to be  sponsored by the DFG. The  target audience for this workshop are scientists with an engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is well-suited for both academic and commercial activities.&lt;br /&gt;
&lt;br /&gt;
The participants will receive an overview of the software libraries, the end-user applications, and documentation that comprise the NA-MIC kit. The curriculum is '''hands-on''' which means that participants are required to attend the workshop with a suitable laptop, preloaded with the software and sample data as specified below. Attendance is limited in order to ensure quality interactions between the faculty and participants.&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
Arrival: Sunday, June 15&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:20%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Monday, June 16'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Tuesday, June 17''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.00-08.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.30-10.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*08.30-08.45 Welcome (Navab, Kikinis)&lt;br /&gt;
** Overview over [[media:NA-MIC_2008.ppt|NA-MIC]]&lt;br /&gt;
*08.45-10.00 Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 08.30-10.00 Slicer3 IGT&lt;br /&gt;
** [[media:SlicerIGTOverview.ppt|Slicer 3 IGT capabilities]] (15 min. Hata) &lt;br /&gt;
*** Concept, Architecture, Design&lt;br /&gt;
*** Application specific modules: Neuro, MRIg Prostate, Cardiac 3D US&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows] using Neurosurgical Planning as an Example (60 min, hands-on tutorial, by Pace)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.00-10.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.30-12.30&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://vtk.org VTK] (Barre)&lt;br /&gt;
** [http://kwwidgets.org KWWidgets] (Barre) [[media:KWWidgets_-_2008_June_Workshop_Germany.ppt|(Slides)]]&lt;br /&gt;
** [http://www.xnat.org XNAT] (Pieper) [[media:Pieper-XNAT-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* Slicer 3 IGT continued&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink] ( 45 min, Hands-on, by Pace)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (45 min, Demonstration, by Pace)&lt;br /&gt;
***Participants do not need to download this tutorial software&lt;br /&gt;
** [http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_With_Cuda CUDA-based volume rendering] (15 Min, Demonstration, by Hata, [[media:slicerIGTCUDA.ppt|Slides]]) &lt;br /&gt;
***Clinical needs, approach&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 12.30-13.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 13.30-15.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Slicer3 (Pieper)&lt;br /&gt;
** Overview and Features [[media:Slicer-Overview-Features-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
** Architecture and Implementation [[media:Slicer-Architecture-Implementation-Munich-2008-06-16.ppt|(Slides)]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs (Pujol)&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 1 (Pujol)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.00-15.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.30-18.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]] (Pujol)&lt;br /&gt;
* [[Slicer3:EM|The EM segmenter in Slicer]] (Pujol)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*15.30-17.30 Plug-ins continued&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 2 (Pujol)&lt;br /&gt;
* 17.30-18.00 Registration in Slicer 3 (Jomier)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 18.00-19.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*18.00-18.45&lt;br /&gt;
** [[media:2008_NA-MIC_MITK.pdf|MITK]] (Wolf, Neuhaus, Maleike, Nolden, Zelzer)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 18.00-18.15 Closing remarks (Navab, Kikinis)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 19.00-open&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
&lt;br /&gt;
*'''Participants are required to install the NA-MIC kit components on their laptop in preparation for the workshop.''' Please follow the [http://www.na-mic.org/Wiki/index.php/Training:Workshop_Prerequisite '''Workshop Prerequisite instructions'''] to build Slicer3 and download the datasets. &lt;br /&gt;
&lt;br /&gt;
Note: Building Slicer3 can take up to 2 hours.&lt;br /&gt;
We recommend a minimum of 2 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory. Windows XP, Linux (x86 and x86_64) and Darwin (ppc and x86) are supported.&lt;br /&gt;
&lt;br /&gt;
* Image Guided Therapy tutorial software and datasets:&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Neurosurgical-Planning IGT Workflows using Neurosurgical Planning]:  Download the tutorial slides and the tutorial dataset&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/IGT:ToolKit/Navigation-tutorial I/O to trackers, devices, and scanners: OpenIGTLink]:  Install the OpenIGTLink module and the tracker simulator; download the tutorial slides, the abdominal atlas and the tool model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
*Local Host: Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Venue and Logistics=&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Faculty and participants are expected to arrive at the venue on Sunday the 15th to allow the workshop to begin on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. In addition to the workshop program the letter will contain a form that needs to be filled out and sent back to the DFG in order to get '''reimbursed for travel and accommodation costs'''.&lt;br /&gt;
&lt;br /&gt;
==Information on Public Transport for Local Travel==&lt;br /&gt;
&lt;br /&gt;
In regard to the ticket you need for local travel: you have two options depending on the size of the traveling group. You can either go for a partner day ticket (18 €, all zones/''Gesamtnetz'') or a single day ticket (10 €, all zones/''Gesamtnetz'').&lt;br /&gt;
&lt;br /&gt;
'''Coming from the [http://en.wikipedia.org/wiki/Munich_International_Airport Munich Airport]'''&lt;br /&gt;
&lt;br /&gt;
When going to the subway station at the airport you can choose between any of the two subways, either '''S1''' (west route) or '''S8''' (east route) though the '''S8''' is probably beneficial in terms of journey time (approx. 35 minutes).&lt;br /&gt;
&lt;br /&gt;
With both trains you should travel to the station '''Ostbahnhof'''.&lt;br /&gt;
&lt;br /&gt;
At '''Ostbahnhof''' you need to change to the '''S6''' (direction '''Giesing''') and leave the train at the terminal stop '''Kreuzstraße'''.&lt;br /&gt;
&lt;br /&gt;
''Coming from the Central Station''&lt;br /&gt;
&lt;br /&gt;
At central station you can directly enter the '''S6''' (direction '''Karlsplatz/Stachus''' or '''Marienplatz''') and leave the train at the terminal stop '''Kreuzstraße'''. The traveling time is around 50 minutes.&lt;br /&gt;
&lt;br /&gt;
''The last meters''&lt;br /&gt;
&lt;br /&gt;
At '''Kreuzstraße''' you need to change into a regional express (e.g. RB30239, RB30245, RB30247, direction '''Bad Aibling''') which you will leave at the first stop in '''Westerham'''. This final train trip requires an extra ticket which costs around 2€.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26860</id>
		<title>File:KWWidgets - 2008 June Workshop Germany.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:KWWidgets_-_2008_June_Workshop_Germany.ppt&amp;diff=26860"/>
		<updated>2008-06-14T10:02:23Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=24660</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=24660"/>
		<updated>2008-05-16T13:31:06Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Sponsors==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; widths=&amp;quot;150px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:CAMP_logo_blue.png|[http://wwwnavab.in.tum.de/WebHome Computer Aided Medical Procedures, TU Munich]&lt;br /&gt;
Image:DFG zweizeilig sw.jpg|[http://www.dfg.de/ DFG]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/ Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Please note that this workshop is still pending approval by DFG'''&lt;br /&gt;
*June 15-17, [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is a hands-on workshop about the NA-MIC kit. The workshop is intended for participants from within Germany and it is expected to be  sponsored by the DFG. The  target audience for this workshop are scientists with an engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is well-suited for both academic and commercial activities.&lt;br /&gt;
&lt;br /&gt;
The participants will receive an overview of the software libraries, the end-user applications, and documentation that comprise the NA-MIC kit. The curriculum is '''hands-on''' which means that participants are required to attend the workshop with a suitable laptop, preloaded with the software and sample data as specified below. Attendance is limited in order to ensure quality interactions between the faculty and participants.&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
Arrival: Sunday, June 15&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:20%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Monday, June 16'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Tuesday, June 17''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.00-08.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.30-10.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*08.30-08.45 Welcome (Navab, Kikinis)&lt;br /&gt;
*08.45-10.00 Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 08.30-10.00 Slicer3 IGT&lt;br /&gt;
** Slicer 3 IGT capabilities (Pace, Hata, Pieper)&lt;br /&gt;
** IGT Workflows (Pace)&lt;br /&gt;
** Application specific modules: Neuro, MRIg Prostate, Cardiac 3D US (Hata)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.00-10.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.30-12.30&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://vtk.org VTK] (Barre)&lt;br /&gt;
** [http://kwwidgets.org KWWidgets] (Barre)&lt;br /&gt;
** [http://www.xnat.org XNAT] (Pieper)&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* Slicer 3 IGT continued&lt;br /&gt;
** I/O to trackers, devices, and scanners: Open IGT Link (Hata)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (Pace)&lt;br /&gt;
** CUDA based volume rendering (Hata)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 12.30-13.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 13.30-15.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Slicer3&lt;br /&gt;
** [[media:2008_NA-MIC_AHM_Slicer3.ppt|Slicer 3 introduction &amp;amp; capabilities]] (Pieper, Pujol, Pace)&lt;br /&gt;
** [[media:Slicer_3-beta-2007-01-10.ppt|Slicer 3 architecture]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs (Pujol)&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 1 (Pujol)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.00-15.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.30-18.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]] (Pujol)&lt;br /&gt;
* [[Slicer3:EM|The EM segmenter in Slicer]] (Pujol)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*15.30-17.30 Plug-ins continued&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 2 (Pujol)&lt;br /&gt;
* 17.30-18.00 Registration in Slicer 3 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 18.00-19.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*18.00-18.45&lt;br /&gt;
** [http://www.mitk.org/ MITK] (somebody from the [http://www.dkfz.de/en/mbi/index.html DKFZ])&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 18.00-18.15 Closing remarks (Navab, Kikinis)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 19.00-open&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
Participants are required to install the following components on their laptop in preparation for the workshop. &lt;br /&gt;
* [http://www.slicer.org/ Slicer 3]&lt;br /&gt;
* [http://www.cmake.org/HTML/index.html CMake]&lt;br /&gt;
* Working [http://www.itk.org/HTML/Download.htm ITK] environment&lt;br /&gt;
* Working [http://www.vtk.org/get-software.php VTK] environment&lt;br /&gt;
* Common test database - TBD&lt;br /&gt;
* Working compiler (gcc, gcc-c++ or visual studio)&lt;br /&gt;
* Datasets: [http://www.na-mic.org/Wiki/index.php/Image:SlicerSampleVisualization.tar.gz SlicerSampleVisualization.tar.gz] and [[Media:HelloWorld.zip|HelloWorld.zip]].&lt;br /&gt;
&lt;br /&gt;
Note: &lt;br /&gt;
We recommend a minimum of 2 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory.&lt;br /&gt;
&lt;br /&gt;
Windows XP, Linux (x86 and x86_64) and Darwin (ppc and x86) are supported.&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
*Local Host: Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Venue and Logistics=&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Faculty and participants are expected to arrive at the venue on Sunday the 15th to allow the workshop to begin on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. In addition to the workshop program the letter will contain a form that needs to be filled out and sent back to the DFG in order to get '''reimbursed for travel and accommodation costs'''.&lt;br /&gt;
&lt;br /&gt;
==Information on Public Transport for Local Travel==&lt;br /&gt;
&lt;br /&gt;
In regard to the ticket you need for local travel: you have two options depending on the size of the traveling group. You can either go for a partner day ticket (18 €, all zones/''Gesamtnetz'') or a single day ticket (10 €, all zones/''Gesamtnetz'').&lt;br /&gt;
&lt;br /&gt;
'''Coming from the [http://en.wikipedia.org/wiki/Munich_International_Airport Munich Airport]'''&lt;br /&gt;
&lt;br /&gt;
When going to the subway station at the airport you can choose between any of the two subways, either '''S1''' (west route) or '''S8''' (east route) though the '''S8''' is probably beneficial in terms of journey time (approx. 35 minutes).&lt;br /&gt;
&lt;br /&gt;
With both trains you should travel to the station '''Ostbahnhof'''.&lt;br /&gt;
&lt;br /&gt;
At '''Ostbahnhof''' you need to change to the '''S6''' (direction '''Giesing''') and leave the train at the terminal stop '''Kreuzstraße'''.&lt;br /&gt;
&lt;br /&gt;
''Coming from the Central Station''&lt;br /&gt;
&lt;br /&gt;
At central station you can directly enter the '''S6''' (direction '''Karlsplatz/Stachus''' or '''Marienplatz''') and leave the train at the terminal stop '''Kreuzstraße'''. The traveling time is around 50 minutes.&lt;br /&gt;
&lt;br /&gt;
''The last meters''&lt;br /&gt;
&lt;br /&gt;
At '''Kreuzstraße''' you need to change into a regional express (e.g. RB30239, RB30245, RB30247, direction '''Bad Aibling''') which you will leave at the fist stop in '''Westerham'''. This final train trip requires an extra ticket which costs around 2€.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=24424</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=24424"/>
		<updated>2008-05-07T17:42:53Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Information on Public Transport for Local Travel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Sponsors==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;6&amp;quot; widths=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:CAMP_logo_blue.png|[http://wwwnavab.in.tum.de/WebHome Computer Aided Medical Procedures, TU Munich]&lt;br /&gt;
Image:DFG zweizeilig sw.jpg|[http://www.dfg.de/ DFG]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/ Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Please note that this workshop is still pending approval by DFG'''&lt;br /&gt;
*June 15-17, [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is a hands-on workshop about the NA-MIC kit. The workshop is intended for participants from within Germany and it is expected to be  sponsored by the DFG. The  target audience for this workshop are scientists with an engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is well-suited for both academic and commercial activities.&lt;br /&gt;
&lt;br /&gt;
The participants will receive an overview of the software libraries, the end-user applications, and documentation that comprise the NA-MIC kit. The curriculum is '''hands-on''' which means that participants are required to attend the workshop with a suitable laptop, preloaded with the software and sample data as specified below. Attendance is limited in order to ensure quality interactions between the faculty and participants.&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
Arrival: Sunday, June 15&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ebeced; color:black&amp;quot; align=&amp;quot;left&amp;quot; &lt;br /&gt;
| style=&amp;quot;width:20%&amp;quot; | '''Time'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Monday, June 16'''&lt;br /&gt;
| style=&amp;quot;width:40%&amp;quot; | '''Tuesday, June 17''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.00-08.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 08.30-10.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*08.30-08.45 Welcome (Navab, Kikinis)&lt;br /&gt;
*08.45-10.00 Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 08.30-10.00 Slicer3 IGT&lt;br /&gt;
** Slicer 3 IGT capabilities (Pace, Hata, Pieper)&lt;br /&gt;
** IGT Workflows (Pace)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.00-10.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 10.30-12.30&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;|&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://public.kitware.com/VTK/index.php VTK] (Barre)&lt;br /&gt;
** [http://www.xnat.org XNAT] (Pieper)&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* Slicer 3 IGT continued&lt;br /&gt;
** I/O to trackers, devices, and scanners: Open IGT Link (Hata)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (Pace)&lt;br /&gt;
** CUDA based volume rendering (Hata)&lt;br /&gt;
** Application specific modules (Neuro, MRIg Prostate, Cardiac 3D US)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 12.30-13.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 13.30-15.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Slicer3&lt;br /&gt;
** [[media:2008_NA-MIC_AHM_Slicer3.ppt|Slicer 3 introduction &amp;amp; capabilities]] (Pieper, Pujol, Pace)&lt;br /&gt;
** [[media:Slicer_3-beta-2007-01-10.ppt|Slicer 3 architecture]]&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs (Pujol)&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 1 (Pujol)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.00-15.30&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Coffee Break&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 15.30-18.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]] (Pujol)&lt;br /&gt;
* [[Slicer3:EM|The EM segmenter in Slicer]] (Pujol)&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*15.30-17.30 Plug-ins continued&lt;br /&gt;
** Programming into Slicer3 - [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a &amp;quot;hello world&amp;quot; plug-in]] Part 2 (Pujol)&lt;br /&gt;
* 17.30-18.00 Registration in Slicer 3 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 18.00-19.00&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
*18.00-18.45&lt;br /&gt;
** [http://www.mitk.org/ MITK] (somebody from the [http://www.dkfz.de/en/mbi/index.html DKFZ])&lt;br /&gt;
| style=&amp;quot;background:#b4d597; color:#522200&amp;quot;| &lt;br /&gt;
* 18.00-18.15 Closing remarks (Navab, Kikinis)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffffdd; color:black&amp;quot;| 19.00-open&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
| style=&amp;quot;background:#ccdd97; color:#522200&amp;quot;| Dinner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
* [http://www.slicer.org/ Slicer 3]&lt;br /&gt;
* [http://www.cmake.org/HTML/index.html CMake]&lt;br /&gt;
* Working [http://www.itk.org/HTML/Download.htm ITK] environment&lt;br /&gt;
* Working [http://www.vtk.org/get-software.php VTK] environment&lt;br /&gt;
* Common test database - TBD&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
*Local Host: Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Venue and Logistics=&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Faculty and participants are expected to arrive at the venue on Sunday the 15th to allow the workshop to begin on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. In addition to the workshop program the letter will contain a form that needs to be filled out and sent back to the DFG in order to get '''reimbursed for travel and accommodation costs'''.&lt;br /&gt;
&lt;br /&gt;
==Information on Public Transport for Local Travel==&lt;br /&gt;
&lt;br /&gt;
In regard to the ticket you need for local travel: you have two options depending on the size of the traveling group. You can either go for a partner day ticket (18 €, all zones/''Gesamtnetz'') or a single day ticket (10 €, all zones/''Gesamtnetz'').&lt;br /&gt;
&lt;br /&gt;
'''Coming from the [http://en.wikipedia.org/wiki/Munich_International_Airport Munich Airport]'''&lt;br /&gt;
&lt;br /&gt;
When going to the subway station at the airport you can choose between any of the two subways, either '''S1''' (west route) or '''S8''' (east route) though the '''S8''' is probably beneficial in terms of journey time (approx. 35 minutes).&lt;br /&gt;
&lt;br /&gt;
With both trains you should travel to the station '''Ostbahnhof'''.&lt;br /&gt;
&lt;br /&gt;
At '''Ostbahnhof''' you need to change to the '''S6''' (direction '''Giesing''') and leave the train at the terminal stop '''Kreuzstraße'''.&lt;br /&gt;
&lt;br /&gt;
''Coming from the Central Station''&lt;br /&gt;
&lt;br /&gt;
At central station you can directly enter the '''S6''' (direction '''Karlsplatz/Stachus''' or '''Marienplatz''') and leave the train at the terminal stop '''Kreuzstraße'''. The traveling time is around 50 minutes.&lt;br /&gt;
&lt;br /&gt;
''The last meters''&lt;br /&gt;
&lt;br /&gt;
At '''Kreuzstraße''' you need to change into a regional express (e.g. RB30239, RB30245, RB30247, direction '''Bad Aibling''') which you will leave at the fist stop in '''Westerham'''. This final train trip requires an extra ticket which costs around 2€.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=24346</id>
		<title>Engineering:TCON 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=24346"/>
		<updated>2008-05-01T19:35:55Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* 2008-05-01 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[TCON:Main|TCON:Main]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== Slicer 3 Dartboard ==&lt;br /&gt;
Link to the Slicer 3 Dartboard [http://www.na-mic.org/Dart/Slicer3/Dashboard/ here]&lt;br /&gt;
&lt;br /&gt;
==2008-05-15==&lt;br /&gt;
Agenda:&lt;br /&gt;
*DBP II update and plans for project week.  2 DBPs and engr+algo core liaisons should attend.&lt;br /&gt;
**JHU and Harvard&lt;br /&gt;
&lt;br /&gt;
==2008-05-08==&lt;br /&gt;
Agenda:&lt;br /&gt;
*DBP II update and plans for project week.  2 DBPs  and engr+algo core liaisons should attend.&lt;br /&gt;
**UNC, MIND&lt;br /&gt;
==2008-05-01==&lt;br /&gt;
&lt;br /&gt;
Attendees: Steve, Jim, Will, Tina, Xiaodong, Katie, Danielle, Sebastian, Sonia, &lt;br /&gt;
&lt;br /&gt;
* Slicer 3 stable release schedule planning (Slicer 3.2)&lt;br /&gt;
** We would like a stable version before the [[Events:June-Germany | Mid-June German training event]] that includes all the latest namic technology (CMake 2.6, ITK 3.6, VTK 5.2, Tcl/Tk 8.5, KWWidgets...).  Some problems were fixed this week for ITK3.6 and VTK 5.2; Slicer3 was successfully built using CMake 2.6 against VTK 5.2, ITK 3.6, and Tcl/TK on Linux, Windows, and Mac (by Sebastien). Need more coverage on Slicer. TODOs: Developing tutorial material for the new Slicer release. Testing, automated part plus user interaction part. &lt;br /&gt;
** [[2008_Summer_Project_Week | Project Week]] projects can go into the trunk after the release is branched. GUI changes to show &amp;quot;axial&amp;quot;, &amp;quot;sagittal&amp;quot;, &amp;quot;coronal&amp;quot; slices in the acquisition orientation.&lt;br /&gt;
** Proposed schedule:&lt;br /&gt;
*** May 16: Feature Freeze of the trunk followed by group debugging/testing &lt;br /&gt;
*** May 23: Create Release Branch for Slicer 3.2&lt;br /&gt;
*Danielle Pace @ Robarts Inst. joined NCIGT/SNR to develop [[LEGO_IGT_and_Medical_Robotics_Tutorial | Slicer IGT Tutorial]].&lt;br /&gt;
&lt;br /&gt;
==2008-04-24==&lt;br /&gt;
&lt;br /&gt;
Attendees: Steve, Katie, Nicole, Tina, Nathan, Jim, Vince, Brad, Louis, Marco&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* Slicer3D Wikipedia page discussion.  Check it out [http://en.wikipedia.org/wiki/Slicer here].&lt;br /&gt;
** Need to tone it down a little so it sounds less like ad copy.&lt;br /&gt;
** Needs more pawprints on it from unique editors/authors for Wikipedia to keep it online.&lt;br /&gt;
&lt;br /&gt;
* Nathan&lt;br /&gt;
** Helical phantom available to LONI web service.&lt;br /&gt;
** Should we make the link available through Slicer or not?&lt;br /&gt;
&lt;br /&gt;
* Project pages need to be updated.&lt;br /&gt;
** Deadline: May 15th for NA-MIC, a week earlier is preferred&lt;br /&gt;
** [[2008_Annual_Scientific_Report | Progress report link]]&lt;br /&gt;
** Project week pages need to be linked off the progress report (indirectly)&lt;br /&gt;
&lt;br /&gt;
* Waiting for CMake and ITK releases to be finalized&lt;br /&gt;
** Probably will be cut tomorrow&lt;br /&gt;
&lt;br /&gt;
* Set up special T-con time for Oz&lt;br /&gt;
&lt;br /&gt;
* What's the deal with the CMake Policy Change warnings?&lt;br /&gt;
** Copy three lines before CMAKE_MINIMAL_REQUIRED&lt;br /&gt;
** Ask the CMake list&lt;br /&gt;
&lt;br /&gt;
==2008-04-17==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Dan Marcus, Xiaodong, Nicole, Tina, Steve, Katie, Jeff, Sebastien, Vince&lt;br /&gt;
&lt;br /&gt;
Topics:&lt;br /&gt;
&lt;br /&gt;
*[[2008_Annual_Scientific_Report]]&lt;br /&gt;
*[[2008_Summer_Project_Week]]&lt;br /&gt;
*VTK (5.2) and CMake (2.6) release schedules&lt;br /&gt;
**VTK Plan on branching next week&lt;br /&gt;
**CMake is on RC8, guessing will branch in 1-2 weeks&lt;br /&gt;
*VTK (5.2) performance issues when rendering&lt;br /&gt;
**In the meshing project we have seen a significant reduction in the rendering of a large number of vtkSphereSource and vtkPointWidgets in 5.2 as compared to 5.0&lt;br /&gt;
***100x performance hit in debug mode on Linux&lt;br /&gt;
***Jeff added code to make sure the check doesn't happen more than once/sec.&lt;br /&gt;
***Still 25% slower, but not 100x slower&lt;br /&gt;
**Rendering time has been increased by an order of magnitude&lt;br /&gt;
* OK for Kitware to put Slicer3 screenshots on Flickr? (see [http://flickr.com/photos/kitware/ Kitware's Flickr account])&lt;br /&gt;
** =&amp;gt; I (Seb) did a quick pass at the files uploaded in 2008, and copied them to a [http://flickr.com/photos/kitware/sets/72157604594177467/detail/ Slicer3 photoset].&lt;br /&gt;
&lt;br /&gt;
==2008-04-03==&lt;br /&gt;
&lt;br /&gt;
Jim, Curt, Tina, Nicole, Wendy, Steve, Brad, Xiaodong, Vince, Ron, Nathan&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* discussion of xcede web services and mBIRN&lt;br /&gt;
* [[2008_Engineering_review_at_Utah:FollowUp]]&lt;br /&gt;
* New! [[Slicer3:DTMRI |glyphs on slices movie!]]&lt;br /&gt;
** made using wink from http://www.debugmode.com/wink/&lt;br /&gt;
** add something like the following to your wiki page after uploading the .swf file to the wiki&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;flash&amp;gt;file=dti_glyphs.swf|width=800|height=600|quality=best|loop=true|play=true&amp;lt;/flash&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* CMake 2.6 release candidates have been cut with .rpm and .deb output targets!&lt;br /&gt;
** Will will work with Katie on this&lt;br /&gt;
* Jim is going to visit Kitware to talk about BSpline registration&lt;br /&gt;
&lt;br /&gt;
==2008-03-27==&lt;br /&gt;
Attendees: Steve, Will, Xiaodong, Nathan, Katie, Wendy, Tina, Nicole, Marco, Sebastien&lt;br /&gt;
* Nathan will discuss presentation of fluid mechanics projects.&lt;br /&gt;
* Update from Core 1 + Core 2 [[2008_Engineering_review_at_Utah | meetings in Utah]] earlier this week.&lt;br /&gt;
* [[Slicer3:Chain_CLMs | Discussion of Module Chaining]] (Marco and All)&lt;br /&gt;
** Requested by Core 1 to systematize common use case&lt;br /&gt;
** Need several steps in an analysis process to act like a single command&lt;br /&gt;
** Would like something akin to the EMSegment workflow wizard, but as command line module rather than built-in module&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
&lt;br /&gt;
Nathan's overview: discussing visualization options for his fluid velocity vector fields for tractography algorithm. Steve mentions a few options: &lt;br /&gt;
* A LDDMM module in Slicer2 that does animated vector field visualization (work done in collaboration with Johns Hopkins: Anthony Kolasny, Mike Miller, et al.). &lt;br /&gt;
* Another option would be to try using ParaView as a way to flesh out specifics, and then build a more custom tool for tractography later. Will will point Nathan to documentation for file formats, data formats, etc. or help with any questions, and Nathan will try this out.&lt;br /&gt;
&lt;br /&gt;
Discussion of these topics at the engineering review in Utah:&lt;br /&gt;
&lt;br /&gt;
* chaining modules together&lt;br /&gt;
* grid wizard (Marco) for grid and batch computing&lt;br /&gt;
* Bspline registration&lt;br /&gt;
* setting up repositories for collecting slicer modules (as technology transition mechanism)&lt;br /&gt;
* how this will fit into the slicer build process&lt;br /&gt;
* diffusion weighted imaging, shape analysis, and segmentation&lt;br /&gt;
* dicom to nrrd converter...&lt;br /&gt;
&lt;br /&gt;
Milestones were set for April-end, Project week, and AHM.&lt;br /&gt;
&lt;br /&gt;
Module chaining discussion (see link above):&lt;br /&gt;
&lt;br /&gt;
* Java version as first goal -- eventually C++ implementation. &lt;br /&gt;
* Discussion about module discovery process and how will chained modules be packaged: (c++ stub programs? or &lt;br /&gt;
or discovery find chain-descriptor xml files? shell scripts? (cross-platform issues)...)&lt;br /&gt;
* Goal: By project week in June we would like to be able to chain modules developed by Core 1.&lt;br /&gt;
&lt;br /&gt;
Sebastien's update on module building: Wiki will be updated today with status. (link)&lt;br /&gt;
&lt;br /&gt;
==2008-03-20==&lt;br /&gt;
Attendees: Tina, Jim, Will, Wendy, Xiaodong, Nathan, Martin, Marco&lt;br /&gt;
* [[2008_Annual_Scientific_Report|Progress Report]] - read over the assignments. We will look for progress from June 1, 2007 to May 30, 2008.&lt;br /&gt;
* June 23-27 is the summer project week.  We will make first pass on projects in late April.&lt;br /&gt;
* Module discussion: Martin wanted to understand the state of module creation and usage within Slicer. Sebastien is working on modules that are built against an installed module. Terry is working on built-in modules for Slicer. Jim is working on modules using CMake in the NTRIC repository.&lt;br /&gt;
* Nathan- write a command line, Slicer module that is a wrapper to a web service. Nathan thinks he can get this done prior to the June AHM. We referred to Jim's presentation at the Utah SLC Core 1/Core 2 meeting.&lt;br /&gt;
* We will talk about grid wizard next week at SLC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2008-03-13==&lt;br /&gt;
Attendees: Jim, Nicole, Dan, Xiaodong, Vince, Sebastian, Alex, Curt, Steve, Will, Terry&lt;br /&gt;
* Update on [[Slicer3:Loadable_Modules |Loadable Modules]] project (Terry) and [[Slicer3:Build/Modules | CMake updates for module builds]] (Sebastien)&lt;br /&gt;
* [[2008_Engineering_review_at_Utah | Engineering trip to Utah]]&lt;br /&gt;
* We are starting to use Categories to bin our pages.  [[SuggestedCategories]] - suggestions?&lt;br /&gt;
&lt;br /&gt;
==2008-03-06==&lt;br /&gt;
Attendees: Steve, Jim, Katie, Nicole, Tina, Xiaodong, Marco, Ron&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Slicer page on wikipedia - http://en.wikipedia.org/wiki/3DSlicer.  All engineering core members should visit this page and edit as needed.  ASAP.&lt;br /&gt;
*dicom to nrrd converter in progress.  Xiaodong working on it and expecting to complete in a few weeks.&lt;br /&gt;
* [[2008_Engineering_review_at_Utah|March 24-26 Meeting in Utah]]&lt;br /&gt;
&lt;br /&gt;
==2008-02-28==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Jim, Steve, Wendy, Katie, Tina, Jeff, and Marco (Grid Wizard Guy)&lt;br /&gt;
* Discussion on time series analysis (viewer, scene markup). Initial viewer will be a general tool for comparing images.&lt;br /&gt;
* Avalanche of new features in [http://gridwizard.org/gwe/index.html grid wizard and GSlicer3]&lt;br /&gt;
** Proxy around Command Line Modules&lt;br /&gt;
** Extends command line with specifications for ranges of values as well as specify remote resources (data) that need to be transferred to/from the grid.&lt;br /&gt;
** Uses Velocity for parameter template engine&lt;br /&gt;
** Grid selection and authentication still being refined for Slicer&lt;br /&gt;
** Could be extended to other grid types (LSF, etc.)&lt;br /&gt;
** Lots of information on the website.  Instructions for installation.  A bit daunting for non-grid people.  Some of us will have to work through the instructions step by step to evaluate.&lt;br /&gt;
&lt;br /&gt;
==2008-02-21==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Xiaodong, Jim, Katie, Nicole, Will, Steve, Nathan, Tina, Ron, Padma, Marco&lt;br /&gt;
&lt;br /&gt;
- Nathan brought us up to date on fluid mechanics tractography&lt;br /&gt;
&lt;br /&gt;
- Padma Sundaram: SCIrun environment supports EEG processing&lt;br /&gt;
&lt;br /&gt;
- Marco is releasing Grid Wizard alpha version&lt;br /&gt;
&lt;br /&gt;
- Nathan brought up the helical digital phantom web service. Currently the thinking is that it can be accessed through a web service. We suggested that Nathan write a wrapper, consistent with Slicer's execution module, to invoke the web service. However, since it is not available in source form, NAMIC cannot accept it as part of the NAMIC Kit proper. We can guide Nathan in the execution of this module.&lt;br /&gt;
&lt;br /&gt;
==2008-02-14==&lt;br /&gt;
* Attendees: Xiaodong, Katie, Will, Sebastien, Steve, Mike, Wendy, Haiyi, Dan, Curt, Tina &lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
16 - CPack (Katie): Slicer3 compiles and packs using the new C-tools with some bug fixes. Using CMake to select desired modules, using something similar to cygwin. Official Slicer3 snapshot tagged. Different Tcl/Tk versions are currently used for different platform. This need to be addressed.&lt;br /&gt;
&lt;br /&gt;
17 - Slicer GUI Style Guide and Cookbook {Wendy}: This will be a long term effort. During the programming week, the design and implementation details were discussed. The Cookbook will be launched from Slicer, act like KWWidget tour.  &lt;br /&gt;
&lt;br /&gt;
18 - Volume rendering (Steve): UI is fairly stable.&lt;br /&gt;
 &lt;br /&gt;
19 - Volume rendering using Cuda (Steve):  &lt;br /&gt;
&lt;br /&gt;
20 - 3D W Widgets and Picking (Will): found a list of candidates of widgets for Slicer. A few bug fixes for VTK.&lt;br /&gt;
&lt;br /&gt;
21 - XNAT Integration (Dan): Requirements were gathered for a XNAT application that organizes files and caches files from XNAT repositories. Some XML format issues have been addressed.  &lt;br /&gt;
&lt;br /&gt;
22 - KWWidgets Roadmap (Sebastien): Gathered requirements. Been working down the list of the feature requirements.&lt;br /&gt;
&lt;br /&gt;
=== External Collaboration ===&lt;br /&gt;
&lt;br /&gt;
1 - Astronomical coordinate system support [Harvard IIC] (Mike): Astronomical datasets are quite different from medical dataset. Wendy helped with re-centering data. Made progress in converting between coordinate systems (Cartesian to Spherical).&lt;br /&gt;
&lt;br /&gt;
2 - New Meshing Techniques into NA-MIC [Univ. of Iowa]&lt;br /&gt;
 &lt;br /&gt;
3 - Meshing Workflow into Slicer [Univ. of Iowa] (Curt): Will be integrated into Slicer soon. Command line program using VTK. &lt;br /&gt;
 &lt;br /&gt;
4 - Evaluating NA-MIC Tools for Small Animal Imaging Workflows [NCI] (Curt): &lt;br /&gt;
 &lt;br /&gt;
5 - IGSTK-Slicer [Georgetown] (Haiyi): Successful tracking data using IGSTK.&lt;br /&gt;
&lt;br /&gt;
6 - Japanese Intelligent Surgical Instrument Project [AIST]&lt;br /&gt;
 &lt;br /&gt;
7 - GoFigure:High-Level Microscopy Image analysis Application and Algorithms [CalTech-Harvard Medical School] &lt;br /&gt;
&lt;br /&gt;
8 - Doing microscopy image analysis with Slicer3 [The Ohio State University] &lt;br /&gt;
&lt;br /&gt;
9 - fMRI Analysis with Slicer 3 [The Ohio State University]&lt;br /&gt;
&lt;br /&gt;
10 - Resampling DTIs with Slicer 3 [BWH]&lt;br /&gt;
 &lt;br /&gt;
11 - Analyzing fMRI and concurrent EEG with Slicer and SCIRun [BWH] &lt;br /&gt;
 &lt;br /&gt;
12 - Bayesian hierarchical models for fMRI variance components analysis [BWH]&lt;br /&gt;
&lt;br /&gt;
==2008-02-07==&lt;br /&gt;
* Attendees: Ron, Will, Steve, Wendy, Nicole, David G, Mark S., Casey, Sebastien, Curt, Luca&lt;br /&gt;
&lt;br /&gt;
* Look at [http://www.vtk.org/Wiki/VTK_Widget_Examples upcoming VTK 3D widgets]&lt;br /&gt;
* Review of projects from SLC AHM 2008 http://wiki.na-mic.org/Wiki/index.php/2008_Winter_Project_Week&lt;br /&gt;
&lt;br /&gt;
===DBPs===&lt;br /&gt;
&lt;br /&gt;
1 - Stochastic Tractography in Schizophrenia (need to be invited to follow-up TCon) &lt;br /&gt;
&lt;br /&gt;
2 - Cortical thickness analysis - testing EM segmenter to their data.  They estimated parameters and tested during the week.  The goal now is to compare ITK-MS and EM segment module to see how these two tools compare for cortical thickness.  They are reviewing the tools using the same patient data.  &lt;br /&gt;
&lt;br /&gt;
3 - (Mark Scully) Legion segmentation using EM segmenter and other options - worked with Brad using 2 channels of data.  Flare as 3rd channel caused problems.  Desired to have T1/T2/Flair together as three channel dataset.  Marcel is going to deliver his segmentation algorithm software to them to compare results. &lt;br /&gt;
&lt;br /&gt;
4 - Robotic Prostate Interventions - (David Gobbi) Working on transrectal biopsy module for Slicer.  They had a previous module for transcranial biopsies.  One of the most exciting developments was a new prototol &amp;quot;open IGT-Link&amp;quot; which will replace navitrack inside Slicer.  Image transfer is working over this protocol.  A simulator is being developed for the robot.  A few VTK bugs may have been discovered during this process, but it isn't on the top priority list right now. &lt;br /&gt;
&lt;br /&gt;
5 - Prostate Cancer - Wrote new ITK filter that has been submitted to the Sandbox.  They are looking at spherical wavelets for shape segmentation.  The wiki page will be updated soon.&lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 - Groupwise Registration - (Casey) New Bspline registration method is being developed here.  It has been used for another project by Casey (#6).   Page needs to be updated. &lt;br /&gt;
&lt;br /&gt;
2 -  (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
3 - (Need to be invited to follow-up TCon)) &lt;br /&gt;
&lt;br /&gt;
4 - (Need to be invited to follow-up TCon).  Page needs to be updated&lt;br /&gt;
&lt;br /&gt;
5 - Incorporating DTI tools into NAMIC toolkit - They are gathering a dataset that has both structural and DTI data in agreement.  Previous dataset was missing part of cortex.  UNCDB2 dataset has full coverage of the brain.  Resolution is a bit lower, but full coverage is an advantage.  Page is close to up to data.  Just submitted a paper to ISBI 2008 and working on MICCAI paper, as well.  &lt;br /&gt;
&lt;br /&gt;
* NITRIC is g-forge and would be a good place for automated build process for Slicer modules.  This could make it easier to configure Slicer in client labs without need to build from source. This is still being developed by the NA-MIC core team.  There is an entry on the collaboration section of the NA-MIC website.  Also www.slicer.org/Documentation link. &lt;br /&gt;
&lt;br /&gt;
6 - (Casey) Worked with Serdar using groupwise registration tool.  They are currently evaluating results of this study.  More images will be added.  &lt;br /&gt;
&lt;br /&gt;
7 - (John Melanakos) Spent last week working with collaborators on the MICCAI paper.  Project page is well filled. &lt;br /&gt;
&lt;br /&gt;
8 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
9 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
10 - MRML scenes for execution model.  Some of the issues Brad was having have been resolved.  Alex is making adjustments to MRML library as needed for the EM segmentation model. &lt;br /&gt;
&lt;br /&gt;
11  - (Curt) Unstructured Grids in Slicer - Finite Element modeling process was originally in a standalone VTK application.  The first Slicer module integration did not use MRML based storage.  We are now creating subclasses of Model and Unstructured grid data for storage and display in Slicer.  Some minor issues need to be worked out, but the MRML extensions for UnstructuredGrid datatypes are working. &lt;br /&gt;
&lt;br /&gt;
12 - Python (Luca) MatPlotLib plots are close to happening within Slicer.  Steve believes it is 80% complete.  Python command line modules are working now. Multiple arguments had to be worked by Luca.  He has developed Python-based CLI modules.   The event broker is discussed here because it affects the interaction with Python, because a Mutex lock has to be placed on the MRML scene.   Dan has been helping with metamodules - a single Python module which calls other mothers  (hierarchical execution, recipes, etc.).  &lt;br /&gt;
&lt;br /&gt;
* Ron asked about using this scripting technique for the ModelMaker.  Some of the parameter setting, etc. could be set in the top module.   Nicole will look at this.  Kilian said that he wanted to call the &amp;quot;modelmaker&amp;quot; from another module.  &lt;br /&gt;
&lt;br /&gt;
* A need was identified for new wiki pages:  (1) scripted modules, (2) metamodules, (2) python scripted modules&lt;br /&gt;
&lt;br /&gt;
13 - (Luca) Transform hardening - Sometimes images are not XYZ alligned.  How will command line modules treat an object if it is the child of a transform.  The module needs to be able to apply xforms to data (after hierarchy is flattened) to get xformed data.  Jim and Steve talked through this lately becomes of the transforms access two-directions (from parents / to parents, etc.)  They are looking at how to change the model. &lt;br /&gt;
&lt;br /&gt;
14 - (Steve) MRML support for out-of-core processing - Steve put a link to a new page.  Dan, Jim, Wendy, Steve, etc.  working through NAC renewal grant (5 years).  Multiresolution and asynchronous data are likely targets for this effort, but it will be a long-term effort.  &lt;br /&gt;
&lt;br /&gt;
15 - Event Broker discussion - Steve has made process on this, but this wiki page is older.  See the event broker page.  (look at link under Objective).  New term &amp;quot;observation&amp;quot; :  completely introspectable.  A full dependency between objects is implemented.  When a subject issues a &amp;quot;modified&amp;quot; event,  Delete events are maintained.  Complete &amp;quot;relationship&amp;quot; management of the interaction between objects.  This helps by allowing asynchronous event processing.  MRML has been converted to use the event broker with asynchronous events managed by the Slicer GUI (async events invoked after GUI events are done).  This hasn't broken anything so far, but should improve scalability.   Dot logfile format can be generated for inter-object dependencies.  This can be used to help provide &amp;quot;who called who&amp;quot; traces.    Some special magic is done in MRML Display nodes.  They set &amp;quot;observation nodes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
Continue through project review.  Request missing project members to attend.  Review wiki pages.&lt;br /&gt;
&lt;br /&gt;
==2008-01-31==&lt;br /&gt;
Attendees: Jim, Steve, Stephen, Wendy, Xiaodong, Nicole, Katie, Ron&lt;br /&gt;
* Project week follow-up&lt;br /&gt;
** Half of tcon on Feb 7&lt;br /&gt;
** Half of tcon on Feb 14&lt;br /&gt;
* Registration&lt;br /&gt;
** Viola-Wells optimizations need to be enabled&lt;br /&gt;
** Stephen needs to check-in and publish recent changes&lt;br /&gt;
** Stephen needs to update the wiki&lt;br /&gt;
** Luis continues to make optimizations (main focus is memory reduction)&lt;br /&gt;
* BatchMake&lt;br /&gt;
** Grid Wizard - meeting on Monday&lt;br /&gt;
** Integration with Slicer delivered via getbuildtest2&lt;br /&gt;
* New webpages&lt;br /&gt;
** http://slicer.org&lt;br /&gt;
** Uses wiki-to-web&lt;br /&gt;
** Feel free to edit/improve&lt;br /&gt;
* Slicer-specific wiki&lt;br /&gt;
** Migrating appropriate info from Na-mic to slicer&lt;br /&gt;
** Hold off on adding to Slicer-wiki until notified&lt;br /&gt;
*** Continue using Na-mic wiki&lt;br /&gt;
* New Nitrc project&lt;br /&gt;
** Jim Miller is leading&lt;br /&gt;
** &amp;quot;Slicer3 plug-in examples&amp;quot; project&lt;br /&gt;
** http://nitrc.org - search for slicer3&lt;br /&gt;
*** Includes demo/stub for ITK filtering data, etc.&lt;br /&gt;
** Collection associated with an ITK course being taught&lt;br /&gt;
** Requires CVS version of ITK&lt;br /&gt;
** Works with Slicer build and Slicer install&lt;br /&gt;
** Steve P is the liaison with NITRC&lt;br /&gt;
* Slicer tutorial at UNC, April 14th&lt;br /&gt;
** Working with UNC's BRIC (http://www.bric.unc.edu)&lt;br /&gt;
** Sonja, Randy, Martin, Stephen&lt;br /&gt;
* User-level Slicer training - Feb 20 at BWH&lt;br /&gt;
** 1249 Boyleston&lt;br /&gt;
** Release version of Slicer3 &lt;br /&gt;
&lt;br /&gt;
==2008-01-24==&lt;br /&gt;
Attendees: Jim, Steve, Wendy, Xiaodong, Nicole, Katie, Alex, Luis, Ron, Will&lt;br /&gt;
* Project week follow-up (Next week?)&lt;br /&gt;
** Will will send email invitations for first half of projects for next week's tcon&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Alex and Terry are rearranging Slicer3.cxx to support loadable modules&lt;br /&gt;
** Separate branch for built-in module discovery process&lt;br /&gt;
** Sebastien is working on build issues for modules whose code is outside Slicer3&lt;br /&gt;
* GenerateCLP - Thanks Hans for changes to support building modules&lt;br /&gt;
** Hans is running a class this semester where the students will build Slicer CLI modules.&lt;br /&gt;
** Jim is working on an ExampleModule for people to use as a template for building modules outside of Slicer3.  Perhaps NITRC.&lt;br /&gt;
* XML library&lt;br /&gt;
** What to do with libaries that are too big to include in the source directory?&lt;br /&gt;
* AHM 2009, Jan 5-9, 2009&lt;br /&gt;
* Summer Project Week, Jun 23-27, 2008&lt;br /&gt;
* New server architecture for wiki, svn, publication database&lt;br /&gt;
&lt;br /&gt;
==2008-01-17==&lt;br /&gt;
Attendees: Jim, Katie, Sebastien, Stephen, Luis, Steve, Wendy, Will&lt;br /&gt;
&lt;br /&gt;
* Luis and Bill Hoffman are making progress in making ITK installation relocatable.  This is needed to finish the work on building plugins from an installation.&lt;br /&gt;
* What's in VTK 5.2?&lt;br /&gt;
** Infovis - Tables, Graphs, Views, IO&lt;br /&gt;
** Refinements to WWidgets. Client/Server connections within the widgets. Event translation. New widgets (text, caption, affine, checkerboard, rectilinear wipe, annotation, key frame, contour, measurement, point/placer, plot)&lt;br /&gt;
** Build now? Or wait until 5.2 released?&lt;br /&gt;
** Repository freeze in March&lt;br /&gt;
** Release on April 1, 2008&lt;br /&gt;
* ITK release&lt;br /&gt;
** Patches to ITK 3.4&lt;br /&gt;
*** Nine component/six component tensor conversion in IO has been patched to ITK 3.4&lt;br /&gt;
** 1/19-2/1 moving contributions on Insight Journal for ITK 3.6&lt;br /&gt;
** Move items from Review directory to main tree (QuadMesh, TransformIO) for ITK 3.6&lt;br /&gt;
** Freeze repository 2/29 for ITK 3.6&lt;br /&gt;
** Slicer3 will need to build against the Review directory.&lt;br /&gt;
* CMake release&lt;br /&gt;
** Version 2.6 on the horizon - release candidate in 3 weeks.&lt;br /&gt;
* Tcl/Tk 8.5&lt;br /&gt;
** Sebastien has a Windows build&lt;br /&gt;
** Steve will try it out&lt;br /&gt;
** Wait to switch to 8.5 until we have a good reason&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Sebastien - working on CMake issues on building modules as loadable modules&lt;br /&gt;
** Terry - working on loading modules and reworking Slicer3.cxx&lt;br /&gt;
* [[Slicer3:EventBroker | Event Broker]]&lt;br /&gt;
* DWI DICOM as part of the Load Volume.  Xiaodong is working on it.&lt;br /&gt;
* ITKFactories directory in build and installs to hold ImageIO plugin libraries. Should increase the speed of executable plugins on the Mac.&lt;br /&gt;
* OpenIGTLink&lt;br /&gt;
** Protocol on the wiki (message format)&lt;br /&gt;
** Put code in Sandbox, SourceForge, NITRC, Google Code???&lt;br /&gt;
* Will schedule a time to go over the Project Week results&lt;br /&gt;
&lt;br /&gt;
==2008-01-10==&lt;br /&gt;
No tcon due to AHM&lt;br /&gt;
&lt;br /&gt;
==2008-01-03==&lt;br /&gt;
* Attendees: Jim, Steve, Will, Brad Davis&lt;br /&gt;
* Topics:&lt;br /&gt;
** Jim and Will talked about leading the Monday and Friday sessions, and who would do what.&lt;br /&gt;
** We are going to send out reminders to the project leads to ensure that their project descriptions are up to date&lt;br /&gt;
** We discussed the software process project to make sure that we have a chance to address the Slicer build process, dashboards, etc.&lt;br /&gt;
** We decided not to hold the project wrap-up presentation at AHM; we will do that later at subsequent TCons. (We decided that we needed the time to actually work. We are concerned that we are starting to see too many break-outs and not enough time to work.)&lt;br /&gt;
** We keenly missed Tina and hope that she and her family are doing well.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=23907</id>
		<title>Engineering:TCON 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=23907"/>
		<updated>2008-04-17T20:39:14Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* 2008-04-17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[TCON:Main|TCON:Main]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== Slicer 3 Dartboard ==&lt;br /&gt;
Link to the Slicer 3 Dartboard [http://dart.na-mic.org/Slicer3/Dashboard/ here]&lt;br /&gt;
&lt;br /&gt;
==2008-04-17==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Dan Marcus, Xiaodong, Nicole, Tina, Steve, Katie, Jeff, Sebastien, Vince&lt;br /&gt;
&lt;br /&gt;
Topics:&lt;br /&gt;
&lt;br /&gt;
*[[2008_Annual_Scientific_Report]]&lt;br /&gt;
*[[2008_Summer_Project_Week]]&lt;br /&gt;
*VTK (5.2) and CMake (2.6) release schedules&lt;br /&gt;
**VTK Plan on branching next week&lt;br /&gt;
**CMake is on RC8, guessing will branch in 1-2 weeks&lt;br /&gt;
*VTK (5.2) performance issues when rendering&lt;br /&gt;
**In the meshing project we have seen a significant reduction in the rendering of a large number of vtkSphereSource and vtkPointWidgets in 5.2 as compared to 5.0&lt;br /&gt;
***100x performance hit in debug mode on Linux&lt;br /&gt;
***Jeff added code to make sure the check doesn't happen more than once/sec.&lt;br /&gt;
***Still 25% slower, but not 100x slower&lt;br /&gt;
**Rendering time has been increased by an order of magnitude&lt;br /&gt;
* OK for Kitware to put Slicer3 screenshots on Flickr? (see [http://flickr.com/photos/kitware/ Kitware's Flickr account])&lt;br /&gt;
** =&amp;gt; I (Seb) did a quick pass at the files uploaded in 2008, and copied them to a [http://flickr.com/photos/kitware/sets/72157604594177467/detail/ Slicer3 photoset].&lt;br /&gt;
&lt;br /&gt;
==2008-04-03==&lt;br /&gt;
&lt;br /&gt;
Jim, Curt, Tina, Nicole, Wendy, Steve, Brad, Xiaodong, Vince, Ron, Nathan&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* discussion of xcede web services and mBIRN&lt;br /&gt;
* [[2008_Engineering_review_at_Utah:FollowUp]]&lt;br /&gt;
* New! [[Slicer3:DTMRI |glyphs on slices movie!]]&lt;br /&gt;
** made using wink from http://www.debugmode.com/wink/&lt;br /&gt;
** add something like the following to your wiki page after uploading the .swf file to the wiki&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;flash&amp;gt;file=dti_glyphs.swf|width=800|height=600|quality=best|loop=true|play=true&amp;lt;/flash&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* CMake 2.6 release candidates have been cut with .rpm and .deb output targets!&lt;br /&gt;
** Will will work with Katie on this&lt;br /&gt;
* Jim is going to visit Kitware to talk about BSpline registration&lt;br /&gt;
&lt;br /&gt;
==2008-03-27==&lt;br /&gt;
Attendees: Steve, Will, Xiaodong, Nathan, Katie, Wendy, Tina, Nicole, Marco, Sebastien&lt;br /&gt;
* Nathan will discuss presentation of fluid mechanics projects.&lt;br /&gt;
* Update from Core 1 + Core 2 [[2008_Engineering_review_at_Utah | meetings in Utah]] earlier this week.&lt;br /&gt;
* [[Slicer3:Chain_CLMs | Discussion of Module Chaining]] (Marco and All)&lt;br /&gt;
** Requested by Core 1 to systematize common use case&lt;br /&gt;
** Need several steps in an analysis process to act like a single command&lt;br /&gt;
** Would like something akin to the EMSegment workflow wizard, but as command line module rather than built-in module&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
&lt;br /&gt;
Nathan's overview: discussing visualization options for his fluid velocity vector fields for tractography algorithm. Steve mentions a few options: &lt;br /&gt;
* A LDDMM module in Slicer2 that does animated vector field visualization (work done in collaboration with Johns Hopkins: Anthony Kolasny, Mike Miller, et al.). &lt;br /&gt;
* Another option would be to try using ParaView as a way to flesh out specifics, and then build a more custom tool for tractography later. Will will point Nathan to documentation for file formats, data formats, etc. or help with any questions, and Nathan will try this out.&lt;br /&gt;
&lt;br /&gt;
Discussion of these topics at the engineering review in Utah:&lt;br /&gt;
&lt;br /&gt;
* chaining modules together&lt;br /&gt;
* grid wizard (Marco) for grid and batch computing&lt;br /&gt;
* Bspline registration&lt;br /&gt;
* setting up repositories for collecting slicer modules (as technology transition mechanism)&lt;br /&gt;
* how this will fit into the slicer build process&lt;br /&gt;
* diffusion weighted imaging, shape analysis, and segmentation&lt;br /&gt;
* dicom to nrrd converter...&lt;br /&gt;
&lt;br /&gt;
Milestones were set for April-end, Project week, and AHM.&lt;br /&gt;
&lt;br /&gt;
Module chaining discussion (see link above):&lt;br /&gt;
&lt;br /&gt;
* Java version as first goal -- eventually C++ implementation. &lt;br /&gt;
* Discussion about module discovery process and how will chained modules be packaged: (c++ stub programs? or &lt;br /&gt;
or discovery find chain-descriptor xml files? shell scripts? (cross-platform issues)...)&lt;br /&gt;
* Goal: By project week in June we would like to be able to chain modules developed by Core 1.&lt;br /&gt;
&lt;br /&gt;
Sebastien's update on module building: Wiki will be updated today with status. (link)&lt;br /&gt;
&lt;br /&gt;
==2008-03-20==&lt;br /&gt;
Attendees: Tina, Jim, Will, Wendy, Xiaodong, Nathan, Martin, Marco&lt;br /&gt;
* [[2008_Annual_Scientific_Report|Progress Report]] - read over the assignments. We will look for progress from June 1, 2007 to May 30, 2008.&lt;br /&gt;
* June 23-27 is the summer project week.  We will make first pass on projects in late April.&lt;br /&gt;
* Module discussion: Martin wanted to understand the state of module creation and usage within Slicer. Sebastien is working on modules that are built against an installed module. Terry is working on built-in modules for Slicer. Jim is working on modules using CMake in the NTRIC repository.&lt;br /&gt;
* Nathan- write a command line, Slicer module that is a wrapper to a web service. Nathan thinks he can get this done prior to the June AHM. We referred to Jim's presentation at the Utah SLC Core 1/Core 2 meeting.&lt;br /&gt;
* We will talk about grid wizard next week at SLC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2008-03-13==&lt;br /&gt;
Attendees: Jim, Nicole, Dan, Xiaodong, Vince, Sebastian, Alex, Curt, Steve, Will, Terry&lt;br /&gt;
* Update on [[Slicer3:Loadable_Modules |Loadable Modules]] project (Terry) and [[Slicer3:Build/Modules | CMake updates for module builds]] (Sebastien)&lt;br /&gt;
* [[2008_Engineering_review_at_Utah | Engineering trip to Utah]]&lt;br /&gt;
* We are starting to use Categories to bin our pages.  [[SuggestedCategories]] - suggestions?&lt;br /&gt;
&lt;br /&gt;
==2008-03-06==&lt;br /&gt;
Attendees: Steve, Jim, Katie, Nicole, Tina, Xiaodong, Marco, Ron&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Slicer page on wikipedia - http://en.wikipedia.org/wiki/3DSlicer.  All engineering core members should visit this page and edit as needed.  ASAP.&lt;br /&gt;
*dicom to nrrd converter in progress.  Xiaodong working on it and expecting to complete in a few weeks.&lt;br /&gt;
* [[2008_Engineering_review_at_Utah|March 24-26 Meeting in Utah]]&lt;br /&gt;
&lt;br /&gt;
==2008-02-28==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Jim, Steve, Wendy, Katie, Tina, Jeff, and Marco (Grid Wizard Guy)&lt;br /&gt;
* Discussion on time series analysis (viewer, scene markup). Initial viewer will be a general tool for comparing images.&lt;br /&gt;
* Avalanche of new features in [http://gridwizard.org/gwe/index.html grid wizard and GSlicer3]&lt;br /&gt;
** Proxy around Command Line Modules&lt;br /&gt;
** Extends command line with specifications for ranges of values as well as specify remote resources (data) that need to be transferred to/from the grid.&lt;br /&gt;
** Uses Velocity for parameter template engine&lt;br /&gt;
** Grid selection and authentication still being refined for Slicer&lt;br /&gt;
** Could be extended to other grid types (LSF, etc.)&lt;br /&gt;
** Lots of information on the website.  Instructions for installation.  A bit daunting for non-grid people.  Some of us will have to work through the instructions step by step to evaluate.&lt;br /&gt;
&lt;br /&gt;
==2008-02-21==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Xiaodong, Jim, Katie, Nicole, Will, Steve, Nathan, Tina, Ron, Padma, Marco&lt;br /&gt;
&lt;br /&gt;
- Nathan brought us up to date on fluid mechanics tractography&lt;br /&gt;
&lt;br /&gt;
- Padma Sundaram: SCIrun environment supports EEG processing&lt;br /&gt;
&lt;br /&gt;
- Marco is releasing Grid Wizard alpha version&lt;br /&gt;
&lt;br /&gt;
- Nathan brought up the helical digital phantom web service. Currently the thinking is that it can be accessed through a web service. We suggested that Nathan write a wrapper, consistent with Slicer's execution module, to invoke the web service. However, since it is not available in source form, NAMIC cannot accept it as part of the NAMIC Kit proper. We can guide Nathan in the execution of this module.&lt;br /&gt;
&lt;br /&gt;
==2008-02-14==&lt;br /&gt;
* Attendees: Xiaodong, Katie, Will, Sebastien, Steve, Mike, Wendy, Haiyi, Dan, Curt, Tina &lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
16 - CPack (Katie): Slicer3 compiles and packs using the new C-tools with some bug fixes. Using CMake to select desired modules, using something similar to cygwin. Official Slicer3 snapshot tagged. Different Tcl/Tk versions are currently used for different platform. This need to be addressed.&lt;br /&gt;
&lt;br /&gt;
17 - Slicer GUI Style Guide and Cookbook {Wendy}: This will be a long term effort. During the programming week, the design and implementation details were discussed. The Cookbook will be launched from Slicer, act like KWWidget tour.  &lt;br /&gt;
&lt;br /&gt;
18 - Volume rendering (Steve): UI is fairly stable.&lt;br /&gt;
 &lt;br /&gt;
19 - Volume rendering using Cuda (Steve):  &lt;br /&gt;
&lt;br /&gt;
20 - 3D W Widgets and Picking (Will): found a list of candidates of widgets for Slicer. A few bug fixes for VTK.&lt;br /&gt;
&lt;br /&gt;
21 - XNAT Integration (Dan): Requirements were gathered for a XNAT application that organizes files and caches files from XNAT repositories. Some XML format issues have been addressed.  &lt;br /&gt;
&lt;br /&gt;
22 - KWWidgets Roadmap (Sebastien): Gathered requirements. Been working down the list of the feature requirements.&lt;br /&gt;
&lt;br /&gt;
=== External Collaboration ===&lt;br /&gt;
&lt;br /&gt;
1 - Astronomical coordinate system support [Harvard IIC] (Mike): Astronomical datasets are quite different from medical dataset. Wendy helped with re-centering data. Made progress in converting between coordinate systems (Cartesian to Spherical).&lt;br /&gt;
&lt;br /&gt;
2 - New Meshing Techniques into NA-MIC [Univ. of Iowa]&lt;br /&gt;
 &lt;br /&gt;
3 - Meshing Workflow into Slicer [Univ. of Iowa] (Curt): Will be integrated into Slicer soon. Command line program using VTK. &lt;br /&gt;
 &lt;br /&gt;
4 - Evaluating NA-MIC Tools for Small Animal Imaging Workflows [NCI] (Curt): &lt;br /&gt;
 &lt;br /&gt;
5 - IGSTK-Slicer [Georgetown] (Haiyi): Successful tracking data using IGSTK.&lt;br /&gt;
&lt;br /&gt;
6 - Japanese Intelligent Surgical Instrument Project [AIST]&lt;br /&gt;
 &lt;br /&gt;
7 - GoFigure:High-Level Microscopy Image analysis Application and Algorithms [CalTech-Harvard Medical School] &lt;br /&gt;
&lt;br /&gt;
8 - Doing microscopy image analysis with Slicer3 [The Ohio State University] &lt;br /&gt;
&lt;br /&gt;
9 - fMRI Analysis with Slicer 3 [The Ohio State University]&lt;br /&gt;
&lt;br /&gt;
10 - Resampling DTIs with Slicer 3 [BWH]&lt;br /&gt;
 &lt;br /&gt;
11 - Analyzing fMRI and concurrent EEG with Slicer and SCIRun [BWH] &lt;br /&gt;
 &lt;br /&gt;
12 - Bayesian hierarchical models for fMRI variance components analysis [BWH]&lt;br /&gt;
&lt;br /&gt;
==2008-02-07==&lt;br /&gt;
* Attendees: Ron, Will, Steve, Wendy, Nicole, David G, Mark S., Casey, Sebastien, Curt, Luca&lt;br /&gt;
&lt;br /&gt;
* Look at [http://www.vtk.org/Wiki/VTK_Widget_Examples upcoming VTK 3D widgets]&lt;br /&gt;
* Review of projects from SLC AHM 2008 http://wiki.na-mic.org/Wiki/index.php/2008_Winter_Project_Week&lt;br /&gt;
&lt;br /&gt;
===DBPs===&lt;br /&gt;
&lt;br /&gt;
1 - Stochastic Tractography in Schizophrenia (need to be invited to follow-up TCon) &lt;br /&gt;
&lt;br /&gt;
2 - Cortical thickness analysis - testing EM segmenter to their data.  They estimated parameters and tested during the week.  The goal now is to compare ITK-MS and EM segment module to see how these two tools compare for cortical thickness.  They are reviewing the tools using the same patient data.  &lt;br /&gt;
&lt;br /&gt;
3 - (Mark Scully) Legion segmentation using EM segmenter and other options - worked with Brad using 2 channels of data.  Flare as 3rd channel caused problems.  Desired to have T1/T2/Flair together as three channel dataset.  Marcel is going to deliver his segmentation algorithm software to them to compare results. &lt;br /&gt;
&lt;br /&gt;
4 - Robotic Prostate Interventions - (David Gobbi) Working on transrectal biopsy module for Slicer.  They had a previous module for transcranial biopsies.  One of the most exciting developments was a new prototol &amp;quot;open IGT-Link&amp;quot; which will replace navitrack inside Slicer.  Image transfer is working over this protocol.  A simulator is being developed for the robot.  A few VTK bugs may have been discovered during this process, but it isn't on the top priority list right now. &lt;br /&gt;
&lt;br /&gt;
5 - Prostate Cancer - Wrote new ITK filter that has been submitted to the Sandbox.  They are looking at spherical wavelets for shape segmentation.  The wiki page will be updated soon.&lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 - Groupwise Registration - (Casey) New Bspline registration method is being developed here.  It has been used for another project by Casey (#6).   Page needs to be updated. &lt;br /&gt;
&lt;br /&gt;
2 -  (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
3 - (Need to be invited to follow-up TCon)) &lt;br /&gt;
&lt;br /&gt;
4 - (Need to be invited to follow-up TCon).  Page needs to be updated&lt;br /&gt;
&lt;br /&gt;
5 - Incorporating DTI tools into NAMIC toolkit - They are gathering a dataset that has both structural and DTI data in agreement.  Previous dataset was missing part of cortex.  UNCDB2 dataset has full coverage of the brain.  Resolution is a bit lower, but full coverage is an advantage.  Page is close to up to data.  Just submitted a paper to ISBI 2008 and working on MICCAI paper, as well.  &lt;br /&gt;
&lt;br /&gt;
* NITRIC is g-forge and would be a good place for automated build process for Slicer modules.  This could make it easier to configure Slicer in client labs without need to build from source. This is still being developed by the NA-MIC core team.  There is an entry on the collaboration section of the NA-MIC website.  Also www.slicer.org/Documentation link. &lt;br /&gt;
&lt;br /&gt;
6 - (Casey) Worked with Serdar using groupwise registration tool.  They are currently evaluating results of this study.  More images will be added.  &lt;br /&gt;
&lt;br /&gt;
7 - (John Melanakos) Spent last week working with collaborators on the MICCAI paper.  Project page is well filled. &lt;br /&gt;
&lt;br /&gt;
8 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
9 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
10 - MRML scenes for execution model.  Some of the issues Brad was having have been resolved.  Alex is making adjustments to MRML library as needed for the EM segmentation model. &lt;br /&gt;
&lt;br /&gt;
11  - (Curt) Unstructured Grids in Slicer - Finite Element modeling process was originally in a standalone VTK application.  The first Slicer module integration did not use MRML based storage.  We are now creating subclasses of Model and Unstructured grid data for storage and display in Slicer.  Some minor issues need to be worked out, but the MRML extensions for UnstructuredGrid datatypes are working. &lt;br /&gt;
&lt;br /&gt;
12 - Python (Luca) MatPlotLib plots are close to happening within Slicer.  Steve believes it is 80% complete.  Python command line modules are working now. Multiple arguments had to be worked by Luca.  He has developed Python-based CLI modules.   The event broker is discussed here because it affects the interaction with Python, because a Mutex lock has to be placed on the MRML scene.   Dan has been helping with metamodules - a single Python module which calls other mothers  (hierarchical execution, recipes, etc.).  &lt;br /&gt;
&lt;br /&gt;
* Ron asked about using this scripting technique for the ModelMaker.  Some of the parameter setting, etc. could be set in the top module.   Nicole will look at this.  Kilian said that he wanted to call the &amp;quot;modelmaker&amp;quot; from another module.  &lt;br /&gt;
&lt;br /&gt;
* A need was identified for new wiki pages:  (1) scripted modules, (2) metamodules, (2) python scripted modules&lt;br /&gt;
&lt;br /&gt;
13 - (Luca) Transform hardening - Sometimes images are not XYZ alligned.  How will command line modules treat an object if it is the child of a transform.  The module needs to be able to apply xforms to data (after hierarchy is flattened) to get xformed data.  Jim and Steve talked through this lately becomes of the transforms access two-directions (from parents / to parents, etc.)  They are looking at how to change the model. &lt;br /&gt;
&lt;br /&gt;
14 - (Steve) MRML support for out-of-core processing - Steve put a link to a new page.  Dan, Jim, Wendy, Steve, etc.  working through NAC renewal grant (5 years).  Multiresolution and asynchronous data are likely targets for this effort, but it will be a long-term effort.  &lt;br /&gt;
&lt;br /&gt;
15 - Event Broker discussion - Steve has made process on this, but this wiki page is older.  See the event broker page.  (look at link under Objective).  New term &amp;quot;observation&amp;quot; :  completely introspectable.  A full dependency between objects is implemented.  When a subject issues a &amp;quot;modified&amp;quot; event,  Delete events are maintained.  Complete &amp;quot;relationship&amp;quot; management of the interaction between objects.  This helps by allowing asynchronous event processing.  MRML has been converted to use the event broker with asynchronous events managed by the Slicer GUI (async events invoked after GUI events are done).  This hasn't broken anything so far, but should improve scalability.   Dot logfile format can be generated for inter-object dependencies.  This can be used to help provide &amp;quot;who called who&amp;quot; traces.    Some special magic is done in MRML Display nodes.  They set &amp;quot;observation nodes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
Continue through project review.  Request missing project members to attend.  Review wiki pages.&lt;br /&gt;
&lt;br /&gt;
==2008-01-31==&lt;br /&gt;
Attendees: Jim, Steve, Stephen, Wendy, Xiaodong, Nicole, Katie, Ron&lt;br /&gt;
* Project week follow-up&lt;br /&gt;
** Half of tcon on Feb 7&lt;br /&gt;
** Half of tcon on Feb 14&lt;br /&gt;
* Registration&lt;br /&gt;
** Viola-Wells optimizations need to be enabled&lt;br /&gt;
** Stephen needs to check-in and publish recent changes&lt;br /&gt;
** Stephen needs to update the wiki&lt;br /&gt;
** Luis continues to make optimizations (main focus is memory reduction)&lt;br /&gt;
* BatchMake&lt;br /&gt;
** Grid Wizard - meeting on Monday&lt;br /&gt;
** Integration with Slicer delivered via getbuildtest2&lt;br /&gt;
* New webpages&lt;br /&gt;
** http://slicer.org&lt;br /&gt;
** Uses wiki-to-web&lt;br /&gt;
** Feel free to edit/improve&lt;br /&gt;
* Slicer-specific wiki&lt;br /&gt;
** Migrating appropriate info from Na-mic to slicer&lt;br /&gt;
** Hold off on adding to Slicer-wiki until notified&lt;br /&gt;
*** Continue using Na-mic wiki&lt;br /&gt;
* New Nitrc project&lt;br /&gt;
** Jim Miller is leading&lt;br /&gt;
** &amp;quot;Slicer3 plug-in examples&amp;quot; project&lt;br /&gt;
** http://nitrc.org - search for slicer3&lt;br /&gt;
*** Includes demo/stub for ITK filtering data, etc.&lt;br /&gt;
** Collection associated with an ITK course being taught&lt;br /&gt;
** Requires CVS version of ITK&lt;br /&gt;
** Works with Slicer build and Slicer install&lt;br /&gt;
** Steve P is the liaison with NITRC&lt;br /&gt;
* Slicer tutorial at UNC, April 14th&lt;br /&gt;
** Working with UNC's BRIC (http://www.bric.unc.edu)&lt;br /&gt;
** Sonja, Randy, Martin, Stephen&lt;br /&gt;
* User-level Slicer training - Feb 20 at BWH&lt;br /&gt;
** 1249 Boyleston&lt;br /&gt;
** Release version of Slicer3 &lt;br /&gt;
&lt;br /&gt;
==2008-01-24==&lt;br /&gt;
Attendees: Jim, Steve, Wendy, Xiaodong, Nicole, Katie, Alex, Luis, Ron, Will&lt;br /&gt;
* Project week follow-up (Next week?)&lt;br /&gt;
** Will will send email invitations for first half of projects for next week's tcon&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Alex and Terry are rearranging Slicer3.cxx to support loadable modules&lt;br /&gt;
** Separate branch for built-in module discovery process&lt;br /&gt;
** Sebastien is working on build issues for modules whose code is outside Slicer3&lt;br /&gt;
* GenerateCLP - Thanks Hans for changes to support building modules&lt;br /&gt;
** Hans is running a class this semester where the students will build Slicer CLI modules.&lt;br /&gt;
** Jim is working on an ExampleModule for people to use as a template for building modules outside of Slicer3.  Perhaps NITRC.&lt;br /&gt;
* XML library&lt;br /&gt;
** What to do with libaries that are too big to include in the source directory?&lt;br /&gt;
* AHM 2009, Jan 5-9, 2009&lt;br /&gt;
* Summer Project Week, Jun 23-27, 2008&lt;br /&gt;
* New server architecture for wiki, svn, publication database&lt;br /&gt;
&lt;br /&gt;
==2008-01-17==&lt;br /&gt;
Attendees: Jim, Katie, Sebastien, Stephen, Luis, Steve, Wendy, Will&lt;br /&gt;
&lt;br /&gt;
* Luis and Bill Hoffman are making progress in making ITK installation relocatable.  This is needed to finish the work on building plugins from an installation.&lt;br /&gt;
* What's in VTK 5.2?&lt;br /&gt;
** Infovis - Tables, Graphs, Views, IO&lt;br /&gt;
** Refinements to WWidgets. Client/Server connections within the widgets. Event translation. New widgets (text, caption, affine, checkerboard, rectilinear wipe, annotation, key frame, contour, measurement, point/placer, plot)&lt;br /&gt;
** Build now? Or wait until 5.2 released?&lt;br /&gt;
** Repository freeze in March&lt;br /&gt;
** Release on April 1, 2008&lt;br /&gt;
* ITK release&lt;br /&gt;
** Patches to ITK 3.4&lt;br /&gt;
*** Nine component/six component tensor conversion in IO has been patched to ITK 3.4&lt;br /&gt;
** 1/19-2/1 moving contributions on Insight Journal for ITK 3.6&lt;br /&gt;
** Move items from Review directory to main tree (QuadMesh, TransformIO) for ITK 3.6&lt;br /&gt;
** Freeze repository 2/29 for ITK 3.6&lt;br /&gt;
** Slicer3 will need to build against the Review directory.&lt;br /&gt;
* CMake release&lt;br /&gt;
** Version 2.6 on the horizon - release candidate in 3 weeks.&lt;br /&gt;
* Tcl/Tk 8.5&lt;br /&gt;
** Sebastien has a Windows build&lt;br /&gt;
** Steve will try it out&lt;br /&gt;
** Wait to switch to 8.5 until we have a good reason&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Sebastien - working on CMake issues on building modules as loadable modules&lt;br /&gt;
** Terry - working on loading modules and reworking Slicer3.cxx&lt;br /&gt;
* [[Slicer3:EventBroker | Event Broker]]&lt;br /&gt;
* DWI DICOM as part of the Load Volume.  Xiaodong is working on it.&lt;br /&gt;
* ITKFactories directory in build and installs to hold ImageIO plugin libraries. Should increase the speed of executable plugins on the Mac.&lt;br /&gt;
* OpenIGTLink&lt;br /&gt;
** Protocol on the wiki (message format)&lt;br /&gt;
** Put code in Sandbox, SourceForge, NITRC, Google Code???&lt;br /&gt;
* Will schedule a time to go over the Project Week results&lt;br /&gt;
&lt;br /&gt;
==2008-01-10==&lt;br /&gt;
No tcon due to AHM&lt;br /&gt;
&lt;br /&gt;
==2008-01-03==&lt;br /&gt;
* Attendees: Jim, Steve, Will, Brad Davis&lt;br /&gt;
* Topics:&lt;br /&gt;
** Jim and Will talked about leading the Monday and Friday sessions, and who would do what.&lt;br /&gt;
** We are going to send out reminders to the project leads to ensure that their project descriptions are up to date&lt;br /&gt;
** We discussed the software process project to make sure that we have a chance to address the Slicer build process, dashboards, etc.&lt;br /&gt;
** We decided not to hold the project wrap-up presentation at AHM; we will do that later at subsequent TCons. (We decided that we needed the time to actually work. We are concerned that we are starting to see too many break-outs and not enough time to work.)&lt;br /&gt;
** We keenly missed Tina and hope that she and her family are doing well.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=23898</id>
		<title>Engineering:TCON 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Engineering:TCON_2008&amp;diff=23898"/>
		<updated>2008-04-17T19:20:05Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* 2008-04-17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[TCON:Main|TCON:Main]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== Slicer 3 Dartboard ==&lt;br /&gt;
Link to the Slicer 3 Dartboard [http://dart.na-mic.org/Slicer3/Dashboard/ here]&lt;br /&gt;
&lt;br /&gt;
==2008-04-17==&lt;br /&gt;
&lt;br /&gt;
Attendees: Jim, Tina, Steve, Katie, Jeff, Sebastien, Vince&lt;br /&gt;
&lt;br /&gt;
Topics:&lt;br /&gt;
&lt;br /&gt;
*[[2008_Annual_Scientific_Report]]&lt;br /&gt;
*[[2008_Summer_Project_Week]]&lt;br /&gt;
*VTK (5.2) and CMake (2.6) release schedules&lt;br /&gt;
**VTK Plan on branching next week&lt;br /&gt;
**CMake is on RC8, guessing will branch in 1-2 weeks&lt;br /&gt;
*VTK (5.2) performance issues when rendering&lt;br /&gt;
**In the meshing project we have seen a significant reduction in the rendering of a large number of vtkSphereSource and vtkPointWidgets in 5.2 as compared to 5.0&lt;br /&gt;
***100x performance hit in debug mode on Linux&lt;br /&gt;
***Jeff added code to make sure the check doesn't happen more than once/sec.&lt;br /&gt;
***Still 25% slower, but not 100x slower&lt;br /&gt;
**Rendering time has been increased by an order of magnitude&lt;br /&gt;
* OK for Kitware to put Slicer3 screenshots on Flickr? (see [http://flickr.com/photos/kitware/ Kitware's Flickr account])&lt;br /&gt;
&lt;br /&gt;
==2008-04-03==&lt;br /&gt;
&lt;br /&gt;
Jim, Curt, Tina, Nicole, Wendy, Steve, Brad, Xiaodong, Vince, Ron, Nathan&lt;br /&gt;
&lt;br /&gt;
Agenda&lt;br /&gt;
* discussion of xcede web services and mBIRN&lt;br /&gt;
* [[2008_Engineering_review_at_Utah:FollowUp]]&lt;br /&gt;
* New! [[Slicer3:DTMRI |glyphs on slices movie!]]&lt;br /&gt;
** made using wink from http://www.debugmode.com/wink/&lt;br /&gt;
** add something like the following to your wiki page after uploading the .swf file to the wiki&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;flash&amp;gt;file=dti_glyphs.swf|width=800|height=600|quality=best|loop=true|play=true&amp;lt;/flash&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* CMake 2.6 release candidates have been cut with .rpm and .deb output targets!&lt;br /&gt;
** Will will work with Katie on this&lt;br /&gt;
* Jim is going to visit Kitware to talk about BSpline registration&lt;br /&gt;
&lt;br /&gt;
==2008-03-27==&lt;br /&gt;
Attendees: Steve, Will, Xiaodong, Nathan, Katie, Wendy, Tina, Nicole, Marco, Sebastien&lt;br /&gt;
* Nathan will discuss presentation of fluid mechanics projects.&lt;br /&gt;
* Update from Core 1 + Core 2 [[2008_Engineering_review_at_Utah | meetings in Utah]] earlier this week.&lt;br /&gt;
* [[Slicer3:Chain_CLMs | Discussion of Module Chaining]] (Marco and All)&lt;br /&gt;
** Requested by Core 1 to systematize common use case&lt;br /&gt;
** Need several steps in an analysis process to act like a single command&lt;br /&gt;
** Would like something akin to the EMSegment workflow wizard, but as command line module rather than built-in module&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
&lt;br /&gt;
Nathan's overview: discussing visualization options for his fluid velocity vector fields for tractography algorithm. Steve mentions a few options: &lt;br /&gt;
* A LDDMM module in Slicer2 that does animated vector field visualization (work done in collaboration with Johns Hopkins: Anthony Kolasny, Mike Miller, et al.). &lt;br /&gt;
* Another option would be to try using ParaView as a way to flesh out specifics, and then build a more custom tool for tractography later. Will will point Nathan to documentation for file formats, data formats, etc. or help with any questions, and Nathan will try this out.&lt;br /&gt;
&lt;br /&gt;
Discussion of these topics at the engineering review in Utah:&lt;br /&gt;
&lt;br /&gt;
* chaining modules together&lt;br /&gt;
* grid wizard (Marco) for grid and batch computing&lt;br /&gt;
* Bspline registration&lt;br /&gt;
* setting up repositories for collecting slicer modules (as technology transition mechanism)&lt;br /&gt;
* how this will fit into the slicer build process&lt;br /&gt;
* diffusion weighted imaging, shape analysis, and segmentation&lt;br /&gt;
* dicom to nrrd converter...&lt;br /&gt;
&lt;br /&gt;
Milestones were set for April-end, Project week, and AHM.&lt;br /&gt;
&lt;br /&gt;
Module chaining discussion (see link above):&lt;br /&gt;
&lt;br /&gt;
* Java version as first goal -- eventually C++ implementation. &lt;br /&gt;
* Discussion about module discovery process and how will chained modules be packaged: (c++ stub programs? or &lt;br /&gt;
or discovery find chain-descriptor xml files? shell scripts? (cross-platform issues)...)&lt;br /&gt;
* Goal: By project week in June we would like to be able to chain modules developed by Core 1.&lt;br /&gt;
&lt;br /&gt;
Sebastien's update on module building: Wiki will be updated today with status. (link)&lt;br /&gt;
&lt;br /&gt;
==2008-03-20==&lt;br /&gt;
Attendees: Tina, Jim, Will, Wendy, Xiaodong, Nathan, Martin, Marco&lt;br /&gt;
* [[2008_Annual_Scientific_Report|Progress Report]] - read over the assignments. We will look for progress from June 1, 2007 to May 30, 2008.&lt;br /&gt;
* June 23-27 is the summer project week.  We will make first pass on projects in late April.&lt;br /&gt;
* Module discussion: Martin wanted to understand the state of module creation and usage within Slicer. Sebastien is working on modules that are built against an installed module. Terry is working on built-in modules for Slicer. Jim is working on modules using CMake in the NTRIC repository.&lt;br /&gt;
* Nathan- write a command line, Slicer module that is a wrapper to a web service. Nathan thinks he can get this done prior to the June AHM. We referred to Jim's presentation at the Utah SLC Core 1/Core 2 meeting.&lt;br /&gt;
* We will talk about grid wizard next week at SLC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2008-03-13==&lt;br /&gt;
Attendees: Jim, Nicole, Dan, Xiaodong, Vince, Sebastian, Alex, Curt, Steve, Will, Terry&lt;br /&gt;
* Update on [[Slicer3:Loadable_Modules |Loadable Modules]] project (Terry) and [[Slicer3:Build/Modules | CMake updates for module builds]] (Sebastien)&lt;br /&gt;
* [[2008_Engineering_review_at_Utah | Engineering trip to Utah]]&lt;br /&gt;
* We are starting to use Categories to bin our pages.  [[SuggestedCategories]] - suggestions?&lt;br /&gt;
&lt;br /&gt;
==2008-03-06==&lt;br /&gt;
Attendees: Steve, Jim, Katie, Nicole, Tina, Xiaodong, Marco, Ron&lt;br /&gt;
&lt;br /&gt;
Highlights:&lt;br /&gt;
*Slicer page on wikipedia - http://en.wikipedia.org/wiki/3DSlicer.  All engineering core members should visit this page and edit as needed.  ASAP.&lt;br /&gt;
*dicom to nrrd converter in progress.  Xiaodong working on it and expecting to complete in a few weeks.&lt;br /&gt;
* [[2008_Engineering_review_at_Utah|March 24-26 Meeting in Utah]]&lt;br /&gt;
&lt;br /&gt;
==2008-02-28==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Jim, Steve, Wendy, Katie, Tina, Jeff, and Marco (Grid Wizard Guy)&lt;br /&gt;
* Discussion on time series analysis (viewer, scene markup). Initial viewer will be a general tool for comparing images.&lt;br /&gt;
* Avalanche of new features in [http://gridwizard.org/gwe/index.html grid wizard and GSlicer3]&lt;br /&gt;
** Proxy around Command Line Modules&lt;br /&gt;
** Extends command line with specifications for ranges of values as well as specify remote resources (data) that need to be transferred to/from the grid.&lt;br /&gt;
** Uses Velocity for parameter template engine&lt;br /&gt;
** Grid selection and authentication still being refined for Slicer&lt;br /&gt;
** Could be extended to other grid types (LSF, etc.)&lt;br /&gt;
** Lots of information on the website.  Instructions for installation.  A bit daunting for non-grid people.  Some of us will have to work through the instructions step by step to evaluate.&lt;br /&gt;
&lt;br /&gt;
==2008-02-21==&lt;br /&gt;
&lt;br /&gt;
* Attendees: Xiaodong, Jim, Katie, Nicole, Will, Steve, Nathan, Tina, Ron, Padma, Marco&lt;br /&gt;
&lt;br /&gt;
- Nathan brought us up to date on fluid mechanics tractography&lt;br /&gt;
&lt;br /&gt;
- Padma Sundaram: SCIrun environment supports EEG processing&lt;br /&gt;
&lt;br /&gt;
- Marco is releasing Grid Wizard alpha version&lt;br /&gt;
&lt;br /&gt;
- Nathan brought up the helical digital phantom web service. Currently the thinking is that it can be accessed through a web service. We suggested that Nathan write a wrapper, consistent with Slicer's execution module, to invoke the web service. However, since it is not available in source form, NAMIC cannot accept it as part of the NAMIC Kit proper. We can guide Nathan in the execution of this module.&lt;br /&gt;
&lt;br /&gt;
==2008-02-14==&lt;br /&gt;
* Attendees: Xiaodong, Katie, Will, Sebastien, Steve, Mike, Wendy, Haiyi, Dan, Curt, Tina &lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
16 - CPack (Katie): Slicer3 compiles and packs using the new C-tools with some bug fixes. Using CMake to select desired modules, using something similar to cygwin. Official Slicer3 snapshot tagged. Different Tcl/Tk versions are currently used for different platform. This need to be addressed.&lt;br /&gt;
&lt;br /&gt;
17 - Slicer GUI Style Guide and Cookbook {Wendy}: This will be a long term effort. During the programming week, the design and implementation details were discussed. The Cookbook will be launched from Slicer, act like KWWidget tour.  &lt;br /&gt;
&lt;br /&gt;
18 - Volume rendering (Steve): UI is fairly stable.&lt;br /&gt;
 &lt;br /&gt;
19 - Volume rendering using Cuda (Steve):  &lt;br /&gt;
&lt;br /&gt;
20 - 3D W Widgets and Picking (Will): found a list of candidates of widgets for Slicer. A few bug fixes for VTK.&lt;br /&gt;
&lt;br /&gt;
21 - XNAT Integration (Dan): Requirements were gathered for a XNAT application that organizes files and caches files from XNAT repositories. Some XML format issues have been addressed.  &lt;br /&gt;
&lt;br /&gt;
22 - KWWidgets Roadmap (Sebastien): Gathered requirements. Been working down the list of the feature requirements.&lt;br /&gt;
&lt;br /&gt;
=== External Collaboration ===&lt;br /&gt;
&lt;br /&gt;
1 - Astronomical coordinate system support [Harvard IIC] (Mike): Astronomical datasets are quite different from medical dataset. Wendy helped with re-centering data. Made progress in converting between coordinate systems (Cartesian to Spherical).&lt;br /&gt;
&lt;br /&gt;
2 - New Meshing Techniques into NA-MIC [Univ. of Iowa]&lt;br /&gt;
 &lt;br /&gt;
3 - Meshing Workflow into Slicer [Univ. of Iowa] (Curt): Will be integrated into Slicer soon. Command line program using VTK. &lt;br /&gt;
 &lt;br /&gt;
4 - Evaluating NA-MIC Tools for Small Animal Imaging Workflows [NCI] (Curt): &lt;br /&gt;
 &lt;br /&gt;
5 - IGSTK-Slicer [Georgetown] (Haiyi): Successful tracking data using IGSTK.&lt;br /&gt;
&lt;br /&gt;
6 - Japanese Intelligent Surgical Instrument Project [AIST]&lt;br /&gt;
 &lt;br /&gt;
7 - GoFigure:High-Level Microscopy Image analysis Application and Algorithms [CalTech-Harvard Medical School] &lt;br /&gt;
&lt;br /&gt;
8 - Doing microscopy image analysis with Slicer3 [The Ohio State University] &lt;br /&gt;
&lt;br /&gt;
9 - fMRI Analysis with Slicer 3 [The Ohio State University]&lt;br /&gt;
&lt;br /&gt;
10 - Resampling DTIs with Slicer 3 [BWH]&lt;br /&gt;
 &lt;br /&gt;
11 - Analyzing fMRI and concurrent EEG with Slicer and SCIRun [BWH] &lt;br /&gt;
 &lt;br /&gt;
12 - Bayesian hierarchical models for fMRI variance components analysis [BWH]&lt;br /&gt;
&lt;br /&gt;
==2008-02-07==&lt;br /&gt;
* Attendees: Ron, Will, Steve, Wendy, Nicole, David G, Mark S., Casey, Sebastien, Curt, Luca&lt;br /&gt;
&lt;br /&gt;
* Look at [http://www.vtk.org/Wiki/VTK_Widget_Examples upcoming VTK 3D widgets]&lt;br /&gt;
* Review of projects from SLC AHM 2008 http://wiki.na-mic.org/Wiki/index.php/2008_Winter_Project_Week&lt;br /&gt;
&lt;br /&gt;
===DBPs===&lt;br /&gt;
&lt;br /&gt;
1 - Stochastic Tractography in Schizophrenia (need to be invited to follow-up TCon) &lt;br /&gt;
&lt;br /&gt;
2 - Cortical thickness analysis - testing EM segmenter to their data.  They estimated parameters and tested during the week.  The goal now is to compare ITK-MS and EM segment module to see how these two tools compare for cortical thickness.  They are reviewing the tools using the same patient data.  &lt;br /&gt;
&lt;br /&gt;
3 - (Mark Scully) Legion segmentation using EM segmenter and other options - worked with Brad using 2 channels of data.  Flare as 3rd channel caused problems.  Desired to have T1/T2/Flair together as three channel dataset.  Marcel is going to deliver his segmentation algorithm software to them to compare results. &lt;br /&gt;
&lt;br /&gt;
4 - Robotic Prostate Interventions - (David Gobbi) Working on transrectal biopsy module for Slicer.  They had a previous module for transcranial biopsies.  One of the most exciting developments was a new prototol &amp;quot;open IGT-Link&amp;quot; which will replace navitrack inside Slicer.  Image transfer is working over this protocol.  A simulator is being developed for the robot.  A few VTK bugs may have been discovered during this process, but it isn't on the top priority list right now. &lt;br /&gt;
&lt;br /&gt;
5 - Prostate Cancer - Wrote new ITK filter that has been submitted to the Sandbox.  They are looking at spherical wavelets for shape segmentation.  The wiki page will be updated soon.&lt;br /&gt;
&lt;br /&gt;
=== Other NA-MIC Projects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 - Groupwise Registration - (Casey) New Bspline registration method is being developed here.  It has been used for another project by Casey (#6).   Page needs to be updated. &lt;br /&gt;
&lt;br /&gt;
2 -  (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
3 - (Need to be invited to follow-up TCon)) &lt;br /&gt;
&lt;br /&gt;
4 - (Need to be invited to follow-up TCon).  Page needs to be updated&lt;br /&gt;
&lt;br /&gt;
5 - Incorporating DTI tools into NAMIC toolkit - They are gathering a dataset that has both structural and DTI data in agreement.  Previous dataset was missing part of cortex.  UNCDB2 dataset has full coverage of the brain.  Resolution is a bit lower, but full coverage is an advantage.  Page is close to up to data.  Just submitted a paper to ISBI 2008 and working on MICCAI paper, as well.  &lt;br /&gt;
&lt;br /&gt;
* NITRIC is g-forge and would be a good place for automated build process for Slicer modules.  This could make it easier to configure Slicer in client labs without need to build from source. This is still being developed by the NA-MIC core team.  There is an entry on the collaboration section of the NA-MIC website.  Also www.slicer.org/Documentation link. &lt;br /&gt;
&lt;br /&gt;
6 - (Casey) Worked with Serdar using groupwise registration tool.  They are currently evaluating results of this study.  More images will be added.  &lt;br /&gt;
&lt;br /&gt;
7 - (John Melanakos) Spent last week working with collaborators on the MICCAI paper.  Project page is well filled. &lt;br /&gt;
&lt;br /&gt;
8 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
9 - (Need to be invited to follow-up TCon)&lt;br /&gt;
&lt;br /&gt;
10 - MRML scenes for execution model.  Some of the issues Brad was having have been resolved.  Alex is making adjustments to MRML library as needed for the EM segmentation model. &lt;br /&gt;
&lt;br /&gt;
11  - (Curt) Unstructured Grids in Slicer - Finite Element modeling process was originally in a standalone VTK application.  The first Slicer module integration did not use MRML based storage.  We are now creating subclasses of Model and Unstructured grid data for storage and display in Slicer.  Some minor issues need to be worked out, but the MRML extensions for UnstructuredGrid datatypes are working. &lt;br /&gt;
&lt;br /&gt;
12 - Python (Luca) MatPlotLib plots are close to happening within Slicer.  Steve believes it is 80% complete.  Python command line modules are working now. Multiple arguments had to be worked by Luca.  He has developed Python-based CLI modules.   The event broker is discussed here because it affects the interaction with Python, because a Mutex lock has to be placed on the MRML scene.   Dan has been helping with metamodules - a single Python module which calls other mothers  (hierarchical execution, recipes, etc.).  &lt;br /&gt;
&lt;br /&gt;
* Ron asked about using this scripting technique for the ModelMaker.  Some of the parameter setting, etc. could be set in the top module.   Nicole will look at this.  Kilian said that he wanted to call the &amp;quot;modelmaker&amp;quot; from another module.  &lt;br /&gt;
&lt;br /&gt;
* A need was identified for new wiki pages:  (1) scripted modules, (2) metamodules, (2) python scripted modules&lt;br /&gt;
&lt;br /&gt;
13 - (Luca) Transform hardening - Sometimes images are not XYZ alligned.  How will command line modules treat an object if it is the child of a transform.  The module needs to be able to apply xforms to data (after hierarchy is flattened) to get xformed data.  Jim and Steve talked through this lately becomes of the transforms access two-directions (from parents / to parents, etc.)  They are looking at how to change the model. &lt;br /&gt;
&lt;br /&gt;
14 - (Steve) MRML support for out-of-core processing - Steve put a link to a new page.  Dan, Jim, Wendy, Steve, etc.  working through NAC renewal grant (5 years).  Multiresolution and asynchronous data are likely targets for this effort, but it will be a long-term effort.  &lt;br /&gt;
&lt;br /&gt;
15 - Event Broker discussion - Steve has made process on this, but this wiki page is older.  See the event broker page.  (look at link under Objective).  New term &amp;quot;observation&amp;quot; :  completely introspectable.  A full dependency between objects is implemented.  When a subject issues a &amp;quot;modified&amp;quot; event,  Delete events are maintained.  Complete &amp;quot;relationship&amp;quot; management of the interaction between objects.  This helps by allowing asynchronous event processing.  MRML has been converted to use the event broker with asynchronous events managed by the Slicer GUI (async events invoked after GUI events are done).  This hasn't broken anything so far, but should improve scalability.   Dot logfile format can be generated for inter-object dependencies.  This can be used to help provide &amp;quot;who called who&amp;quot; traces.    Some special magic is done in MRML Display nodes.  They set &amp;quot;observation nodes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
Continue through project review.  Request missing project members to attend.  Review wiki pages.&lt;br /&gt;
&lt;br /&gt;
==2008-01-31==&lt;br /&gt;
Attendees: Jim, Steve, Stephen, Wendy, Xiaodong, Nicole, Katie, Ron&lt;br /&gt;
* Project week follow-up&lt;br /&gt;
** Half of tcon on Feb 7&lt;br /&gt;
** Half of tcon on Feb 14&lt;br /&gt;
* Registration&lt;br /&gt;
** Viola-Wells optimizations need to be enabled&lt;br /&gt;
** Stephen needs to check-in and publish recent changes&lt;br /&gt;
** Stephen needs to update the wiki&lt;br /&gt;
** Luis continues to make optimizations (main focus is memory reduction)&lt;br /&gt;
* BatchMake&lt;br /&gt;
** Grid Wizard - meeting on Monday&lt;br /&gt;
** Integration with Slicer delivered via getbuildtest2&lt;br /&gt;
* New webpages&lt;br /&gt;
** http://slicer.org&lt;br /&gt;
** Uses wiki-to-web&lt;br /&gt;
** Feel free to edit/improve&lt;br /&gt;
* Slicer-specific wiki&lt;br /&gt;
** Migrating appropriate info from Na-mic to slicer&lt;br /&gt;
** Hold off on adding to Slicer-wiki until notified&lt;br /&gt;
*** Continue using Na-mic wiki&lt;br /&gt;
* New Nitrc project&lt;br /&gt;
** Jim Miller is leading&lt;br /&gt;
** &amp;quot;Slicer3 plug-in examples&amp;quot; project&lt;br /&gt;
** http://nitrc.org - search for slicer3&lt;br /&gt;
*** Includes demo/stub for ITK filtering data, etc.&lt;br /&gt;
** Collection associated with an ITK course being taught&lt;br /&gt;
** Requires CVS version of ITK&lt;br /&gt;
** Works with Slicer build and Slicer install&lt;br /&gt;
** Steve P is the liaison with NITRC&lt;br /&gt;
* Slicer tutorial at UNC, April 14th&lt;br /&gt;
** Working with UNC's BRIC (http://www.bric.unc.edu)&lt;br /&gt;
** Sonja, Randy, Martin, Stephen&lt;br /&gt;
* User-level Slicer training - Feb 20 at BWH&lt;br /&gt;
** 1249 Boyleston&lt;br /&gt;
** Release version of Slicer3 &lt;br /&gt;
&lt;br /&gt;
==2008-01-24==&lt;br /&gt;
Attendees: Jim, Steve, Wendy, Xiaodong, Nicole, Katie, Alex, Luis, Ron, Will&lt;br /&gt;
* Project week follow-up (Next week?)&lt;br /&gt;
** Will will send email invitations for first half of projects for next week's tcon&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Alex and Terry are rearranging Slicer3.cxx to support loadable modules&lt;br /&gt;
** Separate branch for built-in module discovery process&lt;br /&gt;
** Sebastien is working on build issues for modules whose code is outside Slicer3&lt;br /&gt;
* GenerateCLP - Thanks Hans for changes to support building modules&lt;br /&gt;
** Hans is running a class this semester where the students will build Slicer CLI modules.&lt;br /&gt;
** Jim is working on an ExampleModule for people to use as a template for building modules outside of Slicer3.  Perhaps NITRC.&lt;br /&gt;
* XML library&lt;br /&gt;
** What to do with libaries that are too big to include in the source directory?&lt;br /&gt;
* AHM 2009, Jan 5-9, 2009&lt;br /&gt;
* Summer Project Week, Jun 23-27, 2008&lt;br /&gt;
* New server architecture for wiki, svn, publication database&lt;br /&gt;
&lt;br /&gt;
==2008-01-17==&lt;br /&gt;
Attendees: Jim, Katie, Sebastien, Stephen, Luis, Steve, Wendy, Will&lt;br /&gt;
&lt;br /&gt;
* Luis and Bill Hoffman are making progress in making ITK installation relocatable.  This is needed to finish the work on building plugins from an installation.&lt;br /&gt;
* What's in VTK 5.2?&lt;br /&gt;
** Infovis - Tables, Graphs, Views, IO&lt;br /&gt;
** Refinements to WWidgets. Client/Server connections within the widgets. Event translation. New widgets (text, caption, affine, checkerboard, rectilinear wipe, annotation, key frame, contour, measurement, point/placer, plot)&lt;br /&gt;
** Build now? Or wait until 5.2 released?&lt;br /&gt;
** Repository freeze in March&lt;br /&gt;
** Release on April 1, 2008&lt;br /&gt;
* ITK release&lt;br /&gt;
** Patches to ITK 3.4&lt;br /&gt;
*** Nine component/six component tensor conversion in IO has been patched to ITK 3.4&lt;br /&gt;
** 1/19-2/1 moving contributions on Insight Journal for ITK 3.6&lt;br /&gt;
** Move items from Review directory to main tree (QuadMesh, TransformIO) for ITK 3.6&lt;br /&gt;
** Freeze repository 2/29 for ITK 3.6&lt;br /&gt;
** Slicer3 will need to build against the Review directory.&lt;br /&gt;
* CMake release&lt;br /&gt;
** Version 2.6 on the horizon - release candidate in 3 weeks.&lt;br /&gt;
* Tcl/Tk 8.5&lt;br /&gt;
** Sebastien has a Windows build&lt;br /&gt;
** Steve will try it out&lt;br /&gt;
** Wait to switch to 8.5 until we have a good reason&lt;br /&gt;
* Loadable modules&lt;br /&gt;
** Sebastien - working on CMake issues on building modules as loadable modules&lt;br /&gt;
** Terry - working on loading modules and reworking Slicer3.cxx&lt;br /&gt;
* [[Slicer3:EventBroker | Event Broker]]&lt;br /&gt;
* DWI DICOM as part of the Load Volume.  Xiaodong is working on it.&lt;br /&gt;
* ITKFactories directory in build and installs to hold ImageIO plugin libraries. Should increase the speed of executable plugins on the Mac.&lt;br /&gt;
* OpenIGTLink&lt;br /&gt;
** Protocol on the wiki (message format)&lt;br /&gt;
** Put code in Sandbox, SourceForge, NITRC, Google Code???&lt;br /&gt;
* Will schedule a time to go over the Project Week results&lt;br /&gt;
&lt;br /&gt;
==2008-01-10==&lt;br /&gt;
No tcon due to AHM&lt;br /&gt;
&lt;br /&gt;
==2008-01-03==&lt;br /&gt;
* Attendees: Jim, Steve, Will, Brad Davis&lt;br /&gt;
* Topics:&lt;br /&gt;
** Jim and Will talked about leading the Monday and Friday sessions, and who would do what.&lt;br /&gt;
** We are going to send out reminders to the project leads to ensure that their project descriptions are up to date&lt;br /&gt;
** We discussed the software process project to make sure that we have a chance to address the Slicer build process, dashboards, etc.&lt;br /&gt;
** We decided not to hold the project wrap-up presentation at AHM; we will do that later at subsequent TCons. (We decided that we needed the time to actually work. We are concerned that we are starting to see too many break-outs and not enough time to work.)&lt;br /&gt;
** We keenly missed Tina and hope that she and her family are doing well.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_Winter_Project_Week:KWWidgets&amp;diff=23882</id>
		<title>2008 Winter Project Week:KWWidgets</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_Winter_Project_Week:KWWidgets&amp;diff=23882"/>
		<updated>2008-04-17T18:48:30Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|[[Image:NAMIC-SLC.jpg|thumb|320px|Return to [[2008_Winter_Project_Week]] ]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[Image:KWWIdgetsLogo.png |thumb|320px|KWWidgets GUI Toolkit]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Key Investigators===&lt;br /&gt;
* Kitware: Sebastien Barre&lt;br /&gt;
* BWH: Wendy Plesniak, Katie Hayes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Objective&amp;lt;/h1&amp;gt;&lt;br /&gt;
Evaluate the [http://www.kwwidgets.org/Wiki/KWWidgets/Roadmap current roadmap], determine which items need to be added to achieve specific Slicer3 goals, review pending problems like UI testing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Approach, Plan &amp;lt;/h1&amp;gt;&lt;br /&gt;
Discussion is open to everyone with a specific need to be addressed in the current KWWidgets widget set. We will also discuss various [http://www.kwwidgets.org/Wiki/KWWidgets/GUI_Testing GUI Testing/Tracing] frameworks.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Progress&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes&lt;br /&gt;
** Filebrowser on 64 bits Unix. '''[REQUIRES Tcl/Tk 8.5]''' =&amp;gt; VTK/CMake/KWW Updated.&lt;br /&gt;
** Double-click in multicolumn fields (Unix). '''[REQUIRES]''' disabling Visual Effecting in Gnome&lt;br /&gt;
** Garbled icons on some Linux systems. '''[REQUIRES]''' disabling Visual Effecting in Gnome&lt;br /&gt;
&lt;br /&gt;
* Feature Requests&lt;br /&gt;
** Wendy: [http://wiki.na-mic.org/Wiki/index.php/2008_Winter_ProjectWeek:SlicerCookbook Cookbook UI]. '''[DESIGNED]'''&lt;br /&gt;
** Andy/Ron: Range widget =&amp;gt; ability to change the color of both ends. '''[DONE]'''&lt;br /&gt;
** Ron: new color picker, with color presets/favs. '''[DONE]''', see [http://public.kitware.com/Wiki/KWWidgets/Color_Picker KWWidgets/Color Picker].&lt;br /&gt;
** Steve: Range widget =&amp;gt; Control/Shift key to increment by 1/10, 1/100 of the current increment. Rational: the range may be numerically large but visually small on screen, making 1 pixel increment too big. '''[DONE]'''&lt;br /&gt;
** Jim: Spinbox widget =&amp;gt; ability to change the default increment (either with Shift/Control, or menu). '''[DONE]'''&lt;br /&gt;
** Douglas: support for NaN. '''[REQUIRES]''' changes in VTK.&lt;br /&gt;
** Ron: The Slicer3 Volume UI is slow =&amp;gt; a lot of UI are getting created, for DTI, DWI, etc., all at the beginning; they should be created only when needed. '''[PASSED]''' to Alex, who started cleaning it up in SLC.&lt;br /&gt;
* GUI Testing&lt;br /&gt;
** See the [http://www.kwwidgets.org/Wiki/KWWidgets/GUI_Testing GUI Testing/Tracing] wiki, lots of products were evaluated.&lt;br /&gt;
** None of them inspects deep enough to support KWWidgets.&lt;br /&gt;
** None of the few OpenSource can be reasonably extended.&lt;br /&gt;
** We need to roll our own, we now have the list of features and what UI should look like.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
* to be entered here&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23575</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23575"/>
		<updated>2008-04-02T19:58:51Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* The modular approach */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Wednesday 02/04/08: Steve Pieper, Terry G Lorber 2nd, Sebastien BARRE.&lt;br /&gt;
** Steve to create a new SVN repository for modules,&lt;br /&gt;
** Terry to finish converting GradientAnisotropicDiffusionFilter,&lt;br /&gt;
** Sebastien to make sure GradientAnisotropicDiffusionFilter can be build against Slicer3 using the FIND_PACKAGE() framework, then use it as first example of modules discovered/downloaded/configured/built.&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
&lt;br /&gt;
Tentative workflow:&lt;br /&gt;
# download Slicer3 base,&lt;br /&gt;
# configure Slicer3,&lt;br /&gt;
## configure Slicer3 base itself, so that the export files are created (and used by the modules using FIND_PACKAGE()).&lt;br /&gt;
## configure the modules automatically, create the targets to download, configure (i.e. run a CMake instance on each module separately with a parameter pointer at the Slicer3 directory to help FIND_PACKAGE), and build the modules.&lt;br /&gt;
## link the targets together so that 'make modules' will download/config/build each module&lt;br /&gt;
&lt;br /&gt;
At the end of the day, 'make all' should build Slicer3 with default modules, but one should be able to type 'make configure_modules' to turn modules ON/OFF (which will eventually download more modules).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create USE_FOOBAR options for all modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_create_use_modules_options(&amp;quot;${modules}&amp;quot;)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
&lt;br /&gt;
# Find the unresolved dependencies, and the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_unresolved_modules_dependencies(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; unresolved_dependencies)&lt;br /&gt;
slicer_get_resolved_modules(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets for the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&lt;br /&gt;
  &amp;quot;${resolved_modules}&amp;quot; &amp;quot;${SLICER_DOWNLOADED_SOURCES_DIRECTORY}&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule2/TestModule2.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/TestModule2/TestModule2.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;TestModule2&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Segmentation&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;Test module #2&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;Sandbox/barre/slicer3/TestModule2&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Version&amp;gt;1.0&amp;lt;/Version&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;TestModule1&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;Sebastien BARRE&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e. the name of the module is ''TestModule2'', part of the ''Segmentation'' group, and described as ''Test module #2''; it can be retrieved by checking out the CVS Module ''Sandbox/barre/slicer3/TestModule2'' from the CVS repository '':pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox''; its home page is ''http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules''; Version ''1.0'' depends on the module ''TestModule1''; it was written by ''Sebastien BARRE'', with help ''Kitware, Inc.''.&lt;br /&gt;
&lt;br /&gt;
Note: this is likely to change for a more readable format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: TestModule2&lt;br /&gt;
Group: Segmentation&lt;br /&gt;
Description: Test module #2&lt;br /&gt;
SourceLocation: :pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&lt;br /&gt;
CVSModule: Sandbox/barre/slicer3/TestModule2&lt;br /&gt;
HomePage: http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&lt;br /&gt;
Version: 1.0&lt;br /&gt;
Dependency: TestModule1&lt;br /&gt;
Author: Sebastien BARRE&lt;br /&gt;
Acknowledgement: Kitware, Inc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
# slicer_get_module_source_tag: get a module source tag.&lt;br /&gt;
# slicer_get_module_cache_directory: get a module cache directory.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_parse_modules_directory: parse modules sub-directories in a directory.&lt;br /&gt;
# slicer_get_parsed_modules: get the list of parsed modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
# slicer_create_use_modules_options: create options to use specific modules.&lt;br /&gt;
# slicer_get_used_modules: get the list of used modules.&lt;br /&gt;
# slicer_get_unresolved_modules_dependencies: get the unresolved modules dependencies for specific modules &lt;br /&gt;
# slicer_get_resolved_modules: get the list of resolved modules for specific modules &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
slicer_get_resolved_modules(&amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23574</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23574"/>
		<updated>2008-04-02T19:38:41Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* News */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Wednesday 02/04/08: Steve Pieper, Terry G Lorber 2nd, Sebastien BARRE.&lt;br /&gt;
** Steve to create a new SVN repository for modules,&lt;br /&gt;
** Terry to finish converting GradientAnisotropicDiffusionFilter,&lt;br /&gt;
** Sebastien to make sure GradientAnisotropicDiffusionFilter can be build against Slicer3 using the FIND_PACKAGE() framework, then use it as first example of modules discovered/downloaded/configured/built.&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create USE_FOOBAR options for all modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_create_use_modules_options(&amp;quot;${modules}&amp;quot;)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
&lt;br /&gt;
# Find the unresolved dependencies, and the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_unresolved_modules_dependencies(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; unresolved_dependencies)&lt;br /&gt;
slicer_get_resolved_modules(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets for the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&lt;br /&gt;
  &amp;quot;${resolved_modules}&amp;quot; &amp;quot;${SLICER_DOWNLOADED_SOURCES_DIRECTORY}&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule2/TestModule2.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/TestModule2/TestModule2.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;TestModule2&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Segmentation&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;Test module #2&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;Sandbox/barre/slicer3/TestModule2&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Version&amp;gt;1.0&amp;lt;/Version&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;TestModule1&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;Sebastien BARRE&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e. the name of the module is ''TestModule2'', part of the ''Segmentation'' group, and described as ''Test module #2''; it can be retrieved by checking out the CVS Module ''Sandbox/barre/slicer3/TestModule2'' from the CVS repository '':pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox''; its home page is ''http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules''; Version ''1.0'' depends on the module ''TestModule1''; it was written by ''Sebastien BARRE'', with help ''Kitware, Inc.''.&lt;br /&gt;
&lt;br /&gt;
Note: this is likely to change for a more readable format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: TestModule2&lt;br /&gt;
Group: Segmentation&lt;br /&gt;
Description: Test module #2&lt;br /&gt;
SourceLocation: :pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&lt;br /&gt;
CVSModule: Sandbox/barre/slicer3/TestModule2&lt;br /&gt;
HomePage: http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&lt;br /&gt;
Version: 1.0&lt;br /&gt;
Dependency: TestModule1&lt;br /&gt;
Author: Sebastien BARRE&lt;br /&gt;
Acknowledgement: Kitware, Inc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
# slicer_get_module_source_tag: get a module source tag.&lt;br /&gt;
# slicer_get_module_cache_directory: get a module cache directory.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_parse_modules_directory: parse modules sub-directories in a directory.&lt;br /&gt;
# slicer_get_parsed_modules: get the list of parsed modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
# slicer_create_use_modules_options: create options to use specific modules.&lt;br /&gt;
# slicer_get_used_modules: get the list of used modules.&lt;br /&gt;
# slicer_get_unresolved_modules_dependencies: get the unresolved modules dependencies for specific modules &lt;br /&gt;
# slicer_get_resolved_modules: get the list of resolved modules for specific modules &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
slicer_get_resolved_modules(&amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23392</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23392"/>
		<updated>2008-03-27T21:51:19Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create USE_FOOBAR options for all modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_create_use_modules_options(&amp;quot;${modules}&amp;quot;)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
&lt;br /&gt;
# Find the unresolved dependencies, and the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_unresolved_modules_dependencies(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; unresolved_dependencies)&lt;br /&gt;
slicer_get_resolved_modules(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets for the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&lt;br /&gt;
  &amp;quot;${resolved_modules}&amp;quot; &amp;quot;${SLICER_DOWNLOADED_SOURCES_DIRECTORY}&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule2/TestModule2.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/TestModule2/TestModule2.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;TestModule2&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Segmentation&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;Test module #2&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;Sandbox/barre/slicer3/TestModule2&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Version&amp;gt;1.0&amp;lt;/Version&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;TestModule1&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;Sebastien BARRE&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e. the name of the module is ''TestModule2'', part of the ''Segmentation'' group, and described as ''Test module #2''; it can be retrieved by checking out the CVS Module ''Sandbox/barre/slicer3/TestModule2'' from the CVS repository '':pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox''; its home page is ''http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules''; Version ''1.0'' depends on the module ''TestModule1''; it was written by ''Sebastien BARRE'', with help ''Kitware, Inc.''.&lt;br /&gt;
&lt;br /&gt;
Note: this is likely to change for a more readable format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: TestModule2&lt;br /&gt;
Group: Segmentation&lt;br /&gt;
Description: Test module #2&lt;br /&gt;
SourceLocation: :pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&lt;br /&gt;
CVSModule: Sandbox/barre/slicer3/TestModule2&lt;br /&gt;
HomePage: http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&lt;br /&gt;
Version: 1.0&lt;br /&gt;
Dependency: TestModule1&lt;br /&gt;
Author: Sebastien BARRE&lt;br /&gt;
Acknowledgement: Kitware, Inc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
# slicer_get_module_source_tag: get a module source tag.&lt;br /&gt;
# slicer_get_module_cache_directory: get a module cache directory.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_parse_modules_directory: parse modules sub-directories in a directory.&lt;br /&gt;
# slicer_get_parsed_modules: get the list of parsed modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
# slicer_create_use_modules_options: create options to use specific modules.&lt;br /&gt;
# slicer_get_used_modules: get the list of used modules.&lt;br /&gt;
# slicer_get_unresolved_modules_dependencies: get the unresolved modules dependencies for specific modules &lt;br /&gt;
# slicer_get_resolved_modules: get the list of resolved modules for specific modules &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
slicer_get_resolved_modules(&amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23391</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23391"/>
		<updated>2008-03-27T21:46:03Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Quick Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create USE_FOOBAR options for all modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_parsed_modules(modules)&lt;br /&gt;
slicer_create_use_modules_options(&amp;quot;${modules}&amp;quot;)&lt;br /&gt;
slicer_get_used_modules(&amp;quot;${modules}&amp;quot; used_modules)&lt;br /&gt;
&lt;br /&gt;
# Find the unresolved dependencies, and the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_get_unresolved_modules_dependencies(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; unresolved_dependencies)&lt;br /&gt;
slicer_get_resolved_modules(&lt;br /&gt;
  &amp;quot;${used_modules}&amp;quot; resolved_modules)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets for the resolved modules&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&lt;br /&gt;
  &amp;quot;${resolved_modules}&amp;quot; &amp;quot;${SLICER_DOWNLOADED_SOURCES_DIRECTORY}&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule2/TestModule2.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/TestModule2/TestModule2.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;TestModule2&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Segmentation&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;Test module #2&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;Sandbox/barre/slicer3/TestModule2&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Version&amp;gt;1.0&amp;lt;/Version&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;TestModule1&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;Sebastien BARRE&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e. the name of the module is ''TestModule2'', part of the ''Segmentation'' group, and described as ''Test module #2''; it can be retrieved by checking out the CVS Module ''Sandbox/barre/slicer3/TestModule2'' from the CVS repository '':pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox''; its home page is ''http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules''; Version ''1.0'' depends on the module ''TestModule1''; it was written by ''Sebastien BARRE'', with help ''Kitware, Inc.''.&lt;br /&gt;
&lt;br /&gt;
Note: this is likely to change for a more readable format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: TestModule2&lt;br /&gt;
Group: Segmentation&lt;br /&gt;
Description: Test module #2&lt;br /&gt;
SourceLocation: :pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&lt;br /&gt;
CVSModule: Sandbox/barre/slicer3/TestModule2&lt;br /&gt;
HomePage: http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&lt;br /&gt;
Version: 1.0&lt;br /&gt;
Dependency: TestModule1&lt;br /&gt;
Author: Sebastien BARRE&lt;br /&gt;
Acknowledgement: Kitware, Inc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_get_modules_list: get the list of parsed/known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a no-op at the moment, but once a module is turned ON, it will likely solve its dependencies automatically and bring the corresponding modules in.&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23335</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23335"/>
		<updated>2008-03-27T17:12:07Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets&lt;br /&gt;
# &amp;quot;make update_modules&amp;quot; will download and update everything&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(${SLICER_DOWNLOADED_SOURCES_DIRECTORY})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule2/TestModule2.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/TestModule2/TestModule2.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;TestModule2&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Segmentation&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;Test module #2&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;Sandbox/barre/slicer3/TestModule2&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Version&amp;gt;1.0&amp;lt;/Version&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;TestModule1&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;Sebastien BARRE&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e. the name of the module is ''TestModule2'', part of the ''Segmentation'' group, and described as ''Test module #2''; it can be retrieved by checking out the CVS Module ''Sandbox/barre/slicer3/TestModule2'' from the CVS repository '':pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox''; its home page is ''http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules''; Version ''1.0'' depends on the module ''TestModule1''; it was written by ''Sebastien BARRE'', with help ''Kitware, Inc.''.&lt;br /&gt;
&lt;br /&gt;
Note: this is likely to change for a more readable format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: TestModule2&lt;br /&gt;
Group: Segmentation&lt;br /&gt;
Description: Test module #2&lt;br /&gt;
SourceLocation: :pserver:anoncvs:@public.kitware.com:/cvsroot/Sandbox&lt;br /&gt;
CVSModule: Sandbox/barre/slicer3/TestModule2&lt;br /&gt;
HomePage: http://na-mic.org/Wiki/index.php/Slicer3:Build/Modules&lt;br /&gt;
Version: 1.0&lt;br /&gt;
Dependency: TestModule1&lt;br /&gt;
Author: Sebastien BARRE&lt;br /&gt;
Acknowledgement: Kitware, Inc.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_get_modules_list: get the list of parsed/known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a no-op at the moment, but once a module is turned ON, it will likely solve its dependencies automatically and bring the corresponding modules in.&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23325</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=23325"/>
		<updated>2008-03-27T15:13:35Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
* Given the growing complexity of Slicer3 (Python, really?), let's focus on the modules only, not the core libraries or the core Slicer; modules will be downloaded/configured/built against a Slicer3 that is built or installed already. We will tackle Slicer3 later.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets&lt;br /&gt;
# &amp;quot;make update_modules&amp;quot; will download and update everything&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(${SLICER_DOWNLOADED_SOURCES_DIRECTORY})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/KWWidgets/KWWidgets.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/KWWidgets/KWWidgets.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;KWWidgets&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Core&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;KWWidgets, a free, cross-platform and open-license GUI toolkit&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@www.kwwidgets.org:/cvsroot/KWWidgets&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;KWWidgets&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;CVSBranch&amp;gt;Slicer-3-0&amp;lt;/CVSBranch&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://kwwidgets.org&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;VTK&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_get_modules_list: get the list of parsed/known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a no-op at the moment, but once a module is turned ON, it will likely solve its dependencies automatically and bring the corresponding modules in.&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=23201</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=23201"/>
		<updated>2008-03-25T14:16:16Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Day 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
*Still tentative, approval pending&lt;br /&gt;
&lt;br /&gt;
*When: June 16/17&lt;br /&gt;
*Where: Germany, specific location TBD&lt;br /&gt;
&lt;br /&gt;
== Venue and Logistics==&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Currently our plan is to arrive already on Sunday the 15th such that the workshop can start on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. Besides the program the letter will contain a form that need to be filled out and sent back to the DFG in order to get reimbursed for travel and accommodation costs.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This curriculum is intended as an introduction for scientists with engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is suited for academic or commercial activities.&lt;br /&gt;
&lt;br /&gt;
The curriculum provides an overview over the technologies, toolkits and applications which are available in the NA-MIC kit. It is a hands-on curriculum and will require participants to attend with a suitable laptop, preloaded with software and sample data.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* This workshop is a hands-on workshop!&lt;br /&gt;
* '''A working knowledge of C++ is a prerequisite''' for benefiting from the full curriculum.&lt;br /&gt;
* You will be expected bring a computer with you with a minimum of 1 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory. The NA-MIC kit is running on Linux, Windows XP and Mac OSX.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
Due to the fact that the workshop is mainly supported by the [http://www.dfg.de/ DFG] only applications of German citizens can be taken into account. Multiple applications from single institutes are possible but the primary intention is to achieve a wide spread distribution over many institutes. Finally each person attending will have to pay xxx for participating.&lt;br /&gt;
&lt;br /&gt;
The applications should include:&lt;br /&gt;
* Cover letter&lt;br /&gt;
** Field of reaserch/work&lt;br /&gt;
** Previous experiences with the NA-MIC kit&lt;br /&gt;
** Expectations of the participant&lt;br /&gt;
* Currivulum vitae&lt;br /&gt;
&lt;br /&gt;
=Schedule=&lt;br /&gt;
* March - Web site, Call for application &lt;br /&gt;
* April - announcement in Nassir's talk&lt;br /&gt;
* April 20 - deadline for application, selection Workshop&lt;br /&gt;
* May 5 - DFG deadline for list of participants&lt;br /&gt;
* Workshop: (arrival on the 15th) 16 and 17&lt;br /&gt;
&lt;br /&gt;
=Requirement=&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
==Day 1==&lt;br /&gt;
* '''Morning'''&lt;br /&gt;
* Welcome (Navab, Kikinis)&lt;br /&gt;
* Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK] (Jomier)&lt;br /&gt;
** [http://public.kitware.com/VTK/index.php VTK] (Barre)&lt;br /&gt;
** [http://www.xnat.org XNAT]&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]] (Jomier)&lt;br /&gt;
&lt;br /&gt;
* '''Afternoon'''&lt;br /&gt;
* [[media:2008_NA-MIC_AHM_Slicer3.ppt|Slicer 3 introduction &amp;amp; capabilities]] (Pieper, Pujol, Pace?)&lt;br /&gt;
** [[media:Slicer_3-beta-2007-01-10.ppt|Slicer 3 architecture]]&lt;br /&gt;
** [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]]&lt;br /&gt;
** [[Slicer3:EM|The EM segmenter in Slicer]]&lt;br /&gt;
&lt;br /&gt;
==Day 2==&lt;br /&gt;
* '''Morning'''&lt;br /&gt;
* Slicer 3 IGT capabilities (Hata, Pace, Pieper)&lt;br /&gt;
** Workflow (Pace)&lt;br /&gt;
** I/O to trackers, devices, and scanners: Open IGT Link (Hata)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (Pace)&lt;br /&gt;
** CUDA based volume rendering (Hata)&lt;br /&gt;
** Application specific modules (Neuro, MRIg Prostate, Cardiac 3D US)&lt;br /&gt;
&lt;br /&gt;
* '''Afternoon'''&lt;br /&gt;
* Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs&lt;br /&gt;
** [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a hello world plug-in]]&lt;br /&gt;
* Closing remarks (Navab, Kikinis)&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
* [http://www.slicer.org/ Slicer 3]&lt;br /&gt;
* [http://www.cmake.org/HTML/index.html CMake]&lt;br /&gt;
* Working [http://www.itk.org/HTML/Download.htm ITK] environment&lt;br /&gt;
* Working [http://www.vtk.org/get-software.php VTK] environment&lt;br /&gt;
* Common test database - TBD&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
=Local Host=&lt;br /&gt;
# Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Planning meeting=&lt;br /&gt;
&lt;br /&gt;
==T-con==&lt;br /&gt;
Phone: (001) 1-218-936-1100, &lt;br /&gt;
PIN: 23869 #&lt;br /&gt;
&lt;br /&gt;
==Minutes==&lt;br /&gt;
#[[Jun-Germany/022608tcon | Feb 26, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/030508tcon | March 5, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/031708tcon | March 17, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/032408tcon | March 24, 2008 T-con, Nassier on-site]]&lt;br /&gt;
&lt;br /&gt;
=Sponsors=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/nac Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=23170</id>
		<title>2008 June Workshop Germany</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2008_June_Workshop_Germany&amp;diff=23170"/>
		<updated>2008-03-24T20:17:59Z</updated>

		<summary type="html">&lt;p&gt;Barre: minor typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
*Still tentative, approval pending&lt;br /&gt;
&lt;br /&gt;
*When: June 16/17&lt;br /&gt;
*Where: Germany, specific location TBD&lt;br /&gt;
&lt;br /&gt;
== Venue and Logistics==&lt;br /&gt;
The workshop will take place at the [http://www.ihk-muenchen.de/trz/trz/inhalte/Westerham/index.html IHK Akademie Westerham] on June the 16th and 17th, 2008 which is [http://maps.google.de/maps?f=q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=ihk+akademie+westerham&amp;amp;sll=47.911308,11.826535&amp;amp;sspn=0.006357,0.013475&amp;amp;ie=UTF8&amp;amp;ei=LVXiR7XCKJGC3AKO5aXsDQ&amp;amp;sig2=6FMUFysSnMQylBd70Em9dw&amp;amp;cd=1&amp;amp;cid=47908296,11830927,18245121051090319374&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m located] south-east of Munich. Currently our plan is to arrive already on Sunday the 15th such that the workshop can start on time on Monday morning.&lt;br /&gt;
&lt;br /&gt;
All participants will receive a letter of invitation from the DFG. Besides the program the letter will contain a form that need to be filled out and sent back to the DFG in order to get reimbursed for travel and accommodation costs.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This curriculum is intended as an introduction for scientists with engineering background who are considering using the NA-MIC kit as their software platform for research. The NA-MIC kit consists of free open source software without restrictions on use and without a give-back requirement. The NA-MIC kit is suited for academic or commercial activities.&lt;br /&gt;
&lt;br /&gt;
The curriculum provides an overview over the technologies, toolkits and applications which are available in the NA-MIC kit. It is a hands-on curriculum and will require participants to attend with a suitable laptop, preloaded with software and sample data.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* This workshop is a hands-on workshop!&lt;br /&gt;
* '''A working knowledge of C++ is a prerequisite''' for benefiting from the full curriculum.&lt;br /&gt;
* You will be expected bring a computer with you with a minimum of 1 GB of RAM and a dedicated graphic accelerator with 128 MB of on board graphic memory. The NA-MIC kit is running on Linux, Windows XP and Mac OSX.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
Due to the fact that the workshop is mainly supported by the [http://www.dfg.de/ DFG] only applications of German citizens can be taken into account. Multiple applications from single institutes are possible but the primary intention is to achieve a wide spread distribution over many institutes. Finally each person attending will have to pay xxx for participating.&lt;br /&gt;
&lt;br /&gt;
The applications should include:&lt;br /&gt;
* Cover letter&lt;br /&gt;
** Field of reaserch/work&lt;br /&gt;
** Previous experiences with the NA-MIC kit&lt;br /&gt;
** Expectations of the participant&lt;br /&gt;
* Currivulum vitae&lt;br /&gt;
&lt;br /&gt;
=Schedule=&lt;br /&gt;
* March - Web site, Call for application &lt;br /&gt;
* April - announcement in Nassir's talk&lt;br /&gt;
* April 20 - deadline for application, selection Workshop&lt;br /&gt;
* May 5 - DFG deadline for list of participants&lt;br /&gt;
* Workshop: (arrival on the 15th) 16 and 17&lt;br /&gt;
&lt;br /&gt;
=Requirement=&lt;br /&gt;
&lt;br /&gt;
=Program=&lt;br /&gt;
==Day 1==&lt;br /&gt;
* '''Morning'''&lt;br /&gt;
* Welcome (Navab, Kikinis)&lt;br /&gt;
* Engineering methodology: (Jomier, Barre)&lt;br /&gt;
** Extreme programming&lt;br /&gt;
** What is a software engineering methodology, do I need one?&lt;br /&gt;
** The components of the NA-MIC kit software engineering tools: CMAKE, CTEST, CPACK, Dashboards&lt;br /&gt;
* How to use ITK, VTK, XNAT and Batchmake&lt;br /&gt;
** [http://www.itk.org/ItkSoftwareGuide.pdf ITK]&lt;br /&gt;
** [http://public.kitware.com/VTK/index.php VTK]&lt;br /&gt;
** [http://www.xnat.org XNAT]&lt;br /&gt;
** [[Media:NA-MIC-AHM08-BatchMake.ppt|Batchmake]]&lt;br /&gt;
&lt;br /&gt;
* '''Afternoon'''&lt;br /&gt;
* [[media:2008_NA-MIC_AHM_Slicer3.ppt|Slicer 3 introduction &amp;amp; capabilities]] (Pieper, Pujol)&lt;br /&gt;
** [[media:Slicer_3-beta-2007-01-10.ppt|Slicer 3 architecture]]&lt;br /&gt;
** [[Media:Slicer3Training LoadingAndVisualization.ppt|Loading, Visualization]]&lt;br /&gt;
** [[Slicer3:EM|The EM segmenter in Slicer]]&lt;br /&gt;
&lt;br /&gt;
==Day 2==&lt;br /&gt;
* '''Morning'''&lt;br /&gt;
* Slicer 3 IGT capabilities (Hata, Pace, Pieper)&lt;br /&gt;
** Workflow (Pace)&lt;br /&gt;
** I/O to trackers, devices, and scanners: Open IGT Link (Hata)&lt;br /&gt;
** [[LEGO_IGT_and_Medical_Robotics_Tutorial|Lego robot tutorial]] as an example of robot control (Pace)&lt;br /&gt;
** CUDA based volume rendering (Hata)&lt;br /&gt;
** Application specific modules (Neuro, MRIg Prostate, Cardiac 3D US)&lt;br /&gt;
&lt;br /&gt;
* '''Afternoon'''&lt;br /&gt;
* Plug-ins for Slicer 3 (Pujol)&lt;br /&gt;
** Introduction: Plug-ins as a way to interface external programs&lt;br /&gt;
** [[2008_Winter_Project_Week_Plug-ins_for_Slicer3|How-to make a hello world plug-in]]&lt;br /&gt;
* Closing remarks (Navab, Kikinis)&lt;br /&gt;
&lt;br /&gt;
= Prerequisites: Hardware and Software=&lt;br /&gt;
* [http://www.slicer.org/ Slicer 3]&lt;br /&gt;
* [http://www.cmake.org/HTML/index.html CMake]&lt;br /&gt;
* Working [http://www.itk.org/HTML/Download.htm ITK] environment&lt;br /&gt;
* Working [http://www.vtk.org/get-software.php VTK] environment&lt;br /&gt;
* Common test database - TBD&lt;br /&gt;
&lt;br /&gt;
=Faculty=&lt;br /&gt;
# Ron Kikinis&lt;br /&gt;
# Steve Pieper&lt;br /&gt;
# Noby Hata&lt;br /&gt;
# Sonia Pujol&lt;br /&gt;
# Danielle Pace&lt;br /&gt;
# Sebastien Barre&lt;br /&gt;
# Julien Jomier&lt;br /&gt;
&lt;br /&gt;
=Local Host=&lt;br /&gt;
# Nassir Navab&lt;br /&gt;
&lt;br /&gt;
=Planning meeting=&lt;br /&gt;
&lt;br /&gt;
==T-con==&lt;br /&gt;
Phone: (001) 1-218-936-1100, &lt;br /&gt;
PIN: 23869 #&lt;br /&gt;
&lt;br /&gt;
==Minutes==&lt;br /&gt;
#[[Jun-Germany/022608tcon | Feb 26, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/030508tcon | March 5, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/031708tcon | March 17, 2008 T-con]]&lt;br /&gt;
#[[Jun-Germany/032408tcon | March 24, 2008 T-con, Nassier on-site]]&lt;br /&gt;
&lt;br /&gt;
=Sponsors=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:NAMIC 380x463.jpg|[http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
Image:Nac.png|[http://nac.spl.harvard.edu/nac Neuroimage Analysis Center]&lt;br /&gt;
Image:NCIGTlogo.gif|[http://www.ncigt.org National Center for Image Guided therapy]&lt;br /&gt;
Image:LogoBIRN.jpg|[http://www.nbirn.net/ BIRN]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Loadable_Modules&amp;diff=22897</id>
		<title>Slicer3:Loadable Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Loadable_Modules&amp;diff=22897"/>
		<updated>2008-03-13T19:29:56Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
* User experience&lt;br /&gt;
**	Run slicer&lt;br /&gt;
**	File-&amp;gt;Get Modules&lt;br /&gt;
***	Web browser http://modules.slicer.org/&amp;lt;version #&amp;gt;&lt;br /&gt;
***	Archived of precompiled shared libraries (platform specific)&lt;br /&gt;
**	Select modules&lt;br /&gt;
**	Modules are downloaded and unpacked into Slicer build tree (install directory)&lt;br /&gt;
**	Restart Slicer&lt;br /&gt;
**	Can remove modules&lt;br /&gt;
&lt;br /&gt;
* Developer&lt;br /&gt;
**	make slicer build tree locally&lt;br /&gt;
**	create module from a template (GUI, Logic, MRML) see GAD&lt;br /&gt;
**	test locally on their platform&lt;br /&gt;
**	create project in NITRC (source forge)&lt;br /&gt;
**	 submit module to a “build farm”&lt;br /&gt;
***	Register svn with slicer.org (Kitware, TBD)&lt;br /&gt;
**	Nightly build gets uploaded to slicer.org &lt;br /&gt;
&lt;br /&gt;
* Phase 1: Slicer internals [[Slicer3:Loadable_Modules:Phase1]]&lt;br /&gt;
**	runtime module discovery&lt;br /&gt;
**	module template&lt;br /&gt;
**	like CommandLineModuleFactory&lt;br /&gt;
&lt;br /&gt;
* Phase 2: web development, deployment&lt;br /&gt;
**	prototype on wiki&lt;br /&gt;
**	versions, download,&lt;br /&gt;
**	upload&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
* Sebastien: let's try to coordinate our [http://wiki.na-mic.org/Wiki/index.php/Slicer3:Build/Modules#Modules XML module descriptions]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html Eclipse module architecture]&lt;br /&gt;
* [https://addons.mozilla.org/en-US/firefox/browse/type:1 Mozilla extensions for Firefox]&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22893</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22893"/>
		<updated>2008-03-13T19:03:23Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
''these are all configurable using the slicer_variables2.tcl script''&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script, ''can you explain this one? -SP''&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc. ''UPDATE'': you need a CMake updated as of March 12th, 2008.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse core modules&lt;br /&gt;
&lt;br /&gt;
foreach(module ITK KWWidgets Slicer3 Teem VTK)&lt;br /&gt;
  slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/${module}&amp;quot;)&lt;br /&gt;
endforeach(module)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets&lt;br /&gt;
# &amp;quot;make update_modules&amp;quot; will download and update everything&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(${SLICER_DOWNLOADED_SOURCES_DIRECTORY})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* build Slicer3,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/KWWidgets/KWWidgets.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/KWWidgets/KWWidgets.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;KWWidgets&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Core&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;KWWidgets, a free, cross-platform and open-license GUI toolkit&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@www.kwwidgets.org:/cvsroot/KWWidgets&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;KWWidgets&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;CVSBranch&amp;gt;Slicer-3-0&amp;lt;/CVSBranch&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://kwwidgets.org&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;VTK&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_get_modules_list: get the list of parsed/known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a no-op at the moment, but once a module is turned ON, it will likely solve its dependencies automatically and bring the corresponding modules in.&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22891</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22891"/>
		<updated>2008-03-13T18:45:23Z</updated>

		<summary type="html">&lt;p&gt;Barre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Tursday 03/13/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE et al.&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
In an effort to streamline the process of downloading, building, maintaining, testing and installing the Slicer3 project we are aiming at &amp;quot;deconstructing&amp;quot; the current &amp;lt;tt&amp;gt;[http://www.na-mic.org/ViewVC/index.cgi/trunk/Scripts/getbuildtest2.tcl?view=markup getbuildtest2.tcl]&amp;lt;/tt&amp;gt; Tcl script into a set of smaller, re-usable and documented CMake scripts. This new framework will act as a backend to provide the same functionalities as &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; and extend it to support a new modular approach and additional features. &lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can do===&lt;br /&gt;
&lt;br /&gt;
* download all libraries,&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;([http://cmake.org CMake], [http://tcl.tk Tcl/Tk], IncrTcl/Tk, IWidgets, BLT, [http://python.org Python], numpy, scipy, freetype2+matplotlib, [http://vtk.org VTK], [http://kwwidgets.org KWWidgets], [http://itk.org ITK], Teem, [http://igstk.org IGSTK], NaviTrack, DCMTK, [http://batchmake.org BatchMake], cmCurl)&amp;lt;/small&amp;gt;&lt;br /&gt;
* update all libraries,&lt;br /&gt;
* configure all libraries,&lt;br /&gt;
* buid (and/or clean) all libraries,&lt;br /&gt;
* build Slicer3 (debug or release),&lt;br /&gt;
* test Slicer3,&lt;br /&gt;
* create (and upload) an installer for Slicer3,&lt;br /&gt;
* create the Slicer3 Doxygen documentation.&lt;br /&gt;
&lt;br /&gt;
===What &amp;lt;tt&amp;gt;getbuildtest2.tcl&amp;lt;/tt&amp;gt; can't do (so well)===&lt;br /&gt;
&lt;br /&gt;
* it doesn't provide an easy, user-friendly way to specify your own support libraries, i.e.&lt;br /&gt;
** a specific version/tag, &lt;br /&gt;
** a local source tree, &lt;br /&gt;
** a local build tree, &lt;br /&gt;
** a local installation.&lt;br /&gt;
* it doesn't mesh so great within the CMake/CTest/CDash framework as a Tcl script,&lt;br /&gt;
* it requires Tcl knowledge for part of the build process, whereas most support/external libraries and the rest of Slicer3 is using CMake.&lt;br /&gt;
&lt;br /&gt;
===What we would like to do===&lt;br /&gt;
&lt;br /&gt;
While we would like to address all the requirements above, some new concerns have also arisen over the past year as the Slicer3 project significantly grew up in size and exposure:&lt;br /&gt;
* the larger number of dependencies and support libraries provides a significant challenge in term of build process and maintenance,&lt;br /&gt;
* the larger number of external developers makes it increasingly difficult to make sure everyone can ''easily'' plug their own code/module inside Slicer3 with ''minimal'' impact on the application's stability and ''minimal'' knowledge of either Tcl and/or CMake.&lt;br /&gt;
&lt;br /&gt;
===The modular approach===&lt;br /&gt;
&lt;br /&gt;
In order to address the issues described so far, we are currently experimenting with the following concepts and creating the corresponding backend in CMake:&lt;br /&gt;
* treat support libs and external code as ''modules'',&lt;br /&gt;
* provide a simple way to describe a module and its dependencies in term of other modules,&lt;br /&gt;
* provide CMake scripts/functions to:&lt;br /&gt;
** parse a module description (local or remote),&lt;br /&gt;
** download the corresponding source repository (CVS or SVN) or specify your own,&lt;br /&gt;
** update the corresponding source repository,&lt;br /&gt;
** retrieve its dependencies automatically,&lt;br /&gt;
** allow modules to be enabled/disabled,&lt;br /&gt;
** configure all enabled modules,&lt;br /&gt;
** build all enabled modules,&lt;br /&gt;
** build, test, install and pack Slicer3 and its modules.&lt;br /&gt;
&lt;br /&gt;
Scripts will be provided to allow developers to create various front-ends (see [http://na-mic.org/Wiki/index.php/Slicer3:Build_Instructions#SBuild SBuild]) and provide control at each step of the process (i.e., turn some modules ON/OFF through a list of checkboxes, solve dependencies locks, pick a specific version of a module, etc).&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
Experiments with the new BuildSystem and downloadable modules can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem] directory.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
Slicer3 is one of the most complex application CMake is currently being used on. As such, we found ourselves adding new CMake functionalities and fixing new bugs, which will hopefully benefit others projects. This however means that you will need the latest and greatest CMake version to play with this example (i.e. the current [http://cmake.org/HTML/Download.html#cvs CMake CVS HEAD]). New features include the FILE(DOWNLOAD...) and LIST(REMOVE_DUPLICATES...) subcommands, better SET/GET_PROPERTY support, cleaner scoping through FUNCTION, etc.&lt;br /&gt;
&lt;br /&gt;
===Quick Example===&lt;br /&gt;
&lt;br /&gt;
Here is an excerpt from the  [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMakeLists.txt?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMakeLists.txt] file. It will be updated as more functionalities are added to the scripts.&lt;br /&gt;
&lt;br /&gt;
This example is pretty simplistic and has been tested on Linux and Win32 (nmake mode). It will automatically download and/or update several modules and external libraries from different locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set(SLICER_LOCAL_MODULES_PATH &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/Modules&amp;quot;)&lt;br /&gt;
set(SLICER_DOWNLOADED_SOURCES_DIRECTORY &amp;quot;${CMAKE_CURRENT_BINARY_DIR}/Sources&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Bring the macros&lt;br /&gt;
&lt;br /&gt;
include(SlicerParseModule)&lt;br /&gt;
include(SlicerEnableModule)&lt;br /&gt;
include(SlicerDownloadModule)&lt;br /&gt;
&lt;br /&gt;
# Parse core modules&lt;br /&gt;
&lt;br /&gt;
foreach(module ITK KWWidgets Slicer3 Teem VTK)&lt;br /&gt;
  slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/${module}&amp;quot;)&lt;br /&gt;
endforeach(module)&lt;br /&gt;
&lt;br /&gt;
# Parse a remote module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/TestModule1/TestModule1.xml?root=NAMICSandBox&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Parse a local module&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_file(&amp;quot;${SLICER_LOCAL_MODULES_PATH}/TestModule2/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Create all download/update targets&lt;br /&gt;
# &amp;quot;make update_modules&amp;quot; will download and update everything&lt;br /&gt;
&lt;br /&gt;
slicer_create_download_and_update_modules_targets(${SLICER_DOWNLOADED_SOURCES_DIRECTORY})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run CMake on this &amp;lt;tt&amp;gt;BuildSystem&amp;lt;/tt&amp;gt; source directory, from a new build-directory, then type:&lt;br /&gt;
   make update_modules&lt;br /&gt;
&lt;br /&gt;
===Roadmap===&lt;br /&gt;
&lt;br /&gt;
Development is likely to speed up as we learned how to stretch CMake capabilities and expand some of its features accordingly. Building blocks have been committed (see the 'References' section below), and we are building upon them. &lt;br /&gt;
&lt;br /&gt;
* resolution of inter-modules dependencies will be shown soon (not committed yet),&lt;br /&gt;
* simple frontend example from the CMake GUI itself: select module ON/OFF, show/hide experimental modules, etc. (soon),&lt;br /&gt;
* configuration of all modules,&lt;br /&gt;
* build all modules,&lt;br /&gt;
* build Slicer3,&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
Modules XML descriptions can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/?root=NAMICSandBox NAMICSandBox/BuildSystem/Modules] directory. Each module description is kept in a separate subdirecty (as more files *may* crop up, per module). Keep in mind that the module description here is separate from the module source code itself, especially for those modules or external libraries that we do not have control of, for example.&lt;br /&gt;
&lt;br /&gt;
CMake can parse a module description either from a string, a local file or a remote file. Later on, it is possible we maintain a ''module index'' either in the main Slicer3 SVN or online, which will point to different modules locations (think of it as a master index, the same way [http://cygwin.com/ Cygwin]'s setup.exe retrieves its list of packages). External developers should be able to expose their modules that way.&lt;br /&gt;
&lt;br /&gt;
Here is the contents of the KWWidgets module description, which can be found in the [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/Modules/KWWidgets/KWWidgets.xml?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/Modules/KWWidgets/KWWidgets.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;KWWidgets&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;Core&amp;lt;/Group&amp;gt;&lt;br /&gt;
&amp;lt;Description&amp;gt;KWWidgets, a free, cross-platform and open-license GUI toolkit&amp;lt;/Description&amp;gt;&lt;br /&gt;
&amp;lt;SourceLocation&amp;gt;:pserver:anoncvs:@www.kwwidgets.org:/cvsroot/KWWidgets&amp;lt;/SourceLocation&amp;gt;&lt;br /&gt;
&amp;lt;CVSModule&amp;gt;KWWidgets&amp;lt;/CVSModule&amp;gt;&lt;br /&gt;
&amp;lt;CVSBranch&amp;gt;Slicer-3-0&amp;lt;/CVSBranch&amp;gt;&lt;br /&gt;
&amp;lt;HomePage&amp;gt;http://kwwidgets.org&amp;lt;/HomePage&amp;gt;&lt;br /&gt;
&amp;lt;Dependency&amp;gt;VTK&amp;lt;/Dependency&amp;gt;&lt;br /&gt;
&amp;lt;Acknowledgement&amp;gt;Kitware, Inc.&amp;lt;/Acknowledgement&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Introspecting a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerSetGetModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerSetGetModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_set_module_value: set a module value.&lt;br /&gt;
# slicer_get_module_value: get a module value.&lt;br /&gt;
# slicer_unset_module_value: unset a module value.&lt;br /&gt;
# slicer_is_module_unknown: check if a module is unknown.&lt;br /&gt;
# slicer_get_module_short_description: get a module short description.&lt;br /&gt;
# slicer_get_module_source_repository_type: get a module source repository type.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_set_module_value(TestModule Author &amp;quot;John Doe&amp;quot;)&lt;br /&gt;
slicer_get_module_value(TestModule Author authors)&lt;br /&gt;
message(&amp;quot;Author(s): ${author}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_set_module_value(TestModule MyList Elem1 Elem2 Elem3)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parsing a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerParseModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerParseModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_parse_module: parse a module.&lt;br /&gt;
# slicer_parse_module_file: parse a module from a file.&lt;br /&gt;
# slicer_parse_module_url: parse a module from a remote file.&lt;br /&gt;
# slicer_get_modules_list: get the list of parsed/known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_get_module_value(TestModule Name name)&lt;br /&gt;
message(&amp;quot;Module name: ${name}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://www.na-mic.org/modules/test/test.xml&amp;quot; TestModule)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Downloading a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerDownloadModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerDownloadModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_download_module_target: create a download module target.&lt;br /&gt;
# slicer_get_download_module_target: get the name of a download module target.&lt;br /&gt;
# slicer_create_update_module_target: create an update module target.&lt;br /&gt;
# slicer_get_update_module_target: get the name of a update module target.&lt;br /&gt;
# slicer_create_download_and_update_modules_targets: create download and update&lt;br /&gt;
targets for all known modules.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that most of the smaller functions can be safely ignored but act as helper functions for higher-level commands. For example, one does not need to create each download and update targets for each module: &amp;lt;tt&amp;gt;slicer_create_download_and_update_modules_targets&amp;lt;/tt&amp;gt; will do it for you, for all modules. But still, a finer granularity can't hurt and is exposed for frontends.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_parse_module_url(&amp;quot;http://foo/bar/module/module.xml&amp;quot; TestModule2)&lt;br /&gt;
...&lt;br /&gt;
slicer_create_download_and_update_modules_targets(&amp;quot;/src&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling a module===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/CMake/SlicerEnableModule.cmake?root=NAMICSandBox&amp;amp;view=markup NAMICSandBox/BuildSystem/CMake/SlicerEnableModule.cmake] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slicer_create_use_module_option: create an option to use a module.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slicer_parse_module_file(&amp;quot;C:/foo/TestModule/TestModule.xml&amp;quot; TestModule)&lt;br /&gt;
slicer_create_use_module_option(TestModule USE_TEST_MODULE)&lt;br /&gt;
if(USE_TEST_MODULE)&lt;br /&gt;
  ...&lt;br /&gt;
endif(USE_TEST_MODULE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a no-op at the moment, but once a module is turned ON, it will likely solve its dependencies automatically and bring the corresponding modules in.&lt;br /&gt;
&lt;br /&gt;
===Module XML Description===&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
===Module Groups===&lt;br /&gt;
&lt;br /&gt;
* Core (for support libraries)&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22243</id>
		<title>Slicer3:Build/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Slicer3:Build/Modules&amp;diff=22243"/>
		<updated>2008-02-14T19:55:18Z</updated>

		<summary type="html">&lt;p&gt;Barre: /* Downloadable Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==News==&lt;br /&gt;
&lt;br /&gt;
* TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE&lt;br /&gt;
&lt;br /&gt;
==Preliminary Design==&lt;br /&gt;
&lt;br /&gt;
Things that the module's (XML) description should be able to tell:&lt;br /&gt;
* Name&lt;br /&gt;
* Group&lt;br /&gt;
* Description&lt;br /&gt;
* Source Location&lt;br /&gt;
* Home Page&lt;br /&gt;
* Dependencies (on other Groups or Modules and what versions and/or options)&lt;br /&gt;
* Version #&lt;br /&gt;
[and maybe:]&lt;br /&gt;
* Icon&lt;br /&gt;
* Author(s)&lt;br /&gt;
* Acknowledgment(s)&lt;br /&gt;
&lt;br /&gt;
==Module Groups==&lt;br /&gt;
&lt;br /&gt;
* Base&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Registration&lt;br /&gt;
* Filtering&lt;br /&gt;
* Diffusion Imaging/Tractography&lt;br /&gt;
* Modeling&lt;br /&gt;
* Meshing&lt;br /&gt;
* Image Guided Therapy&lt;br /&gt;
* Rendering&lt;br /&gt;
* Radiation Treatment&lt;br /&gt;
* Microscopy&lt;br /&gt;
* Astronomy&lt;br /&gt;
* Utilities&lt;br /&gt;
* Databases (XCEDE?)&lt;br /&gt;
* Other&lt;br /&gt;
&lt;br /&gt;
==Misc.==&lt;br /&gt;
&lt;br /&gt;
Options users might want to specify when building:&lt;br /&gt;
&lt;br /&gt;
* src install vs. binary download&lt;br /&gt;
* version #'s of libs (e.g. cvs tags or branches to use)&lt;br /&gt;
* release build vs debug build&lt;br /&gt;
* clean rebuild&lt;br /&gt;
* update/refresh libraries&lt;br /&gt;
* run tests and submit to dashboard&lt;br /&gt;
* make an installation package&lt;br /&gt;
* upload to web site&lt;br /&gt;
&lt;br /&gt;
==Downloadable Modules==&lt;br /&gt;
&lt;br /&gt;
XML files describing modules will be retrieved online automatically. A new CMake sub-command [http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/cmFileCommand.h?root=CMake&amp;amp;r1=1.32&amp;amp;r2=1.33 was added] in the CVS HEAD: [http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/cmFileCommand.h?root=CMake&amp;amp;view=markup FILE] DOWNLOAD:&lt;br /&gt;
  file(DOWNLOAD url file [TIMEOUT timeout] [STATUS status] [LOG log])&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE(DOWNLOAD &lt;br /&gt;
     &amp;quot;http://rss.slashdot.org/Slashdot/slashdot&amp;quot; &lt;br /&gt;
     &amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/slashdot_rss.xml&amp;quot; &lt;br /&gt;
     STATUS status)&lt;br /&gt;
&lt;br /&gt;
LIST(GET status 0 status_code)&lt;br /&gt;
LIST(GET status 1 status_string)&lt;br /&gt;
&lt;br /&gt;
MESSAGE(&amp;quot;STATUS Code = ${status_code}, STATUS string = ${status_string}&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should display: &amp;lt;tt&amp;gt;STATUS Code = 0, STATUS String = &amp;quot;no error&amp;quot;&amp;lt;/tt&amp;gt; and output the contents of the [http://slashdot.org/ Slashdot.org] RSS [http://rss.slashdot.org/Slashdot/slashdot feed] in the &amp;lt;tt&amp;gt;slashdot_rss.xml&amp;lt;/tt&amp;gt; XML file.&lt;br /&gt;
&lt;br /&gt;
==Experiments==&lt;br /&gt;
&lt;br /&gt;
Experiments with the new BuildSystem and downloadable modules are described can be found in [http://www.na-mic.org/ViewVC/index.cgi/trunk/BuildSystem/?root=NAMICSandBox NAMICSandBox/BuildSystem]. CMake macros are committed to the Sandbox to test technical feasibility.&lt;/div&gt;</summary>
		<author><name>Barre</name></author>
		
	</entry>
</feed>