<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hliu</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hliu"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Hliu"/>
	<updated>2026-04-29T11:50:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=16991</id>
		<title>Announcments-3.6-Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=16991"/>
		<updated>2010-06-14T20:00:22Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to the [[Announcements:Slicer3.6|Slicer 3.6 announcement]]&lt;br /&gt;
&lt;br /&gt;
Development of Slicer 3.6 has been supported through volunteer work and through a number of funding mechanisms and sources. Please see the [http://www.slicer.org/pages/Acknowledgments Slicer Acknowledgements] page.&lt;br /&gt;
&lt;br /&gt;
Major contributors for the Slicer 3.6 release include (in alphabetic order):&lt;br /&gt;
* [http://www.orobix.com/luca Luca Antiga]: Python integration, CLI&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/nicole Nicole Aucoin]: Software development, Fiducials, Informatics&lt;br /&gt;
* [http://kitware.com/company/team/aylward.html Stephen Aylward]: Registration, ITK&lt;br /&gt;
* [http://www.kitware.com/company/team/barre.html Sébastien Barré]: GUI, KWWidgets&lt;br /&gt;
* [http://www.niral.unc.edu/people Francois Budin]: Resampling of scalar images and DTI&lt;br /&gt;
* Andriy Fedorov: ChangeTracker, FastMarching Segmentation, CropVolume, LabelDiameterEstimation, N4ITK Bias field correction, debugging&lt;br /&gt;
* [http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]: CTK, Qt&lt;br /&gt;
* [http://kitware.com/company/team/finet.html Julien Finet]: Volume rendering, CTK&lt;br /&gt;
* [http://kitware.com/company/team/galbreath.html Zack Galbreath]: CDash, Wiki, Sys Admin&lt;br /&gt;
* [http://www.kitware.com/company/team/goodlett.html Casey Goodlett]: Registration&lt;br /&gt;
* [http://www.spl.harvard.edu/~noby Nobuhiko Hata]: IGT modules&lt;br /&gt;
* [http://www.spl.harvard.edu/~hayes Kathryn Hayes]: Release engineering, software development, quality assurance&lt;br /&gt;
* [http://www.kitware.com/company/team/hoffman.html Bill Hoffman]: CMake, CTest, CPack, Software Process&lt;br /&gt;
* [http://kitware.com/company/team/ibanez.html Luis Ibanez]: Registration, Segmentation, ITK, Software Process (Testing)&lt;br /&gt;
* [http://people.csail.mit.edu/sylvain Sylvain Jaume]: SpineSegmentation, MRIBiasFieldCorrection, EMSegment&lt;br /&gt;
* [http://www.uiowa.edu Hans Johnson]: BRAINSFit, BRAINSDemonWarp, BRAINSResample, BRAINSROIAuto&lt;br /&gt;
* [http://kitware.com/company/team/jomier.html Julien Jomier]: MIDAS, CDash&lt;br /&gt;
* [http://www.spl.harvard.edu/~kikinis Ron Kikinis]: Principal Investigator, busboy&lt;br /&gt;
* [http://www.kitware.com/company/team/krishnan.html Karthik Krishnan]: 3D Widgets.&lt;br /&gt;
* [http://perk.cs.queensu.ca/profiles/lasso Andras Lasso]: ProstateNav, clinical testing &amp;amp; bugfixing&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/hliu Haiying Liu]: Tracking devices, IGT system engineering, IGT system deployment in OR, commercial surgical device integration, IGT tutorials and training, software engineering, NeuroNav&lt;br /&gt;
* [http://isp.ncifcrf.gov/abcc Yanling Liu]: Volume rendering.&lt;br /&gt;
* Mahnaz Maddah: EM Clustering of tractography&lt;br /&gt;
* [http://www.uiowa.edu Vincent Magnotta]: IA_FEM Mesh&lt;br /&gt;
* [http://wiki.na-mic.org/Wiki/index.php/User:Millerjv Jim Miller]: CLI, Registration, Lightbox, Compare View, Crosshairs&lt;br /&gt;
* [http://kitware.com/company/team/partyka.html Dave Partyka]: Cross-platform build and installation, CDash&lt;br /&gt;
* [http://www.spl.harvard.edu/~pieper Steve Pieper]: Chief architect, editor&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/wjp Wendy Plesniak]: GUI, Informatics&lt;br /&gt;
* [http://www.csail.mit.edu/~pohl Kilian Pohl]: EMSegmenter&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~spujol/ Sonia Pujol]: Workshops, Tutorials, Testing&lt;br /&gt;
* [http://kitware.com/company/team/schroeder.html Will Schroeder]: VTK, 3D widgets&lt;br /&gt;
* Xiaodong Tao: Diffusion DICOM, Skull stripping, HAMMER, MS Lesion&lt;br /&gt;
* [http://www.niral.unc.edu/people Clement Vachet]: ARCTIC cortical thickness, Shape Analysis module&lt;br /&gt;
* [http://pnl.bwh.harvard.edu/people/profiles/wassermann.html Demian Wassermann]: Diffusion MRI modules, documentation.&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~westin Carl-Fredrik Westin]: Diffusion MRI overview&lt;br /&gt;
* Andrew Wiles: IGT tool selector, collect patient fiducials&lt;br /&gt;
* [http://www.spl.harvard.edu/~alexy Alex Yarmarkovich]: MRML, DTI modules, software development&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Announcements:Slicer3.6&amp;diff=16795</id>
		<title>Announcements:Slicer3.6</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Announcements:Slicer3.6&amp;diff=16795"/>
		<updated>2010-06-10T15:36:15Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Highlights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[Documentation-3.6|Back to Documentation 3.6]]&lt;br /&gt;
[[image:Slicer3-6Announcement-v2.png|3.6 Icon large]]&lt;br /&gt;
&lt;br /&gt;
=Introduction= &lt;br /&gt;
&lt;br /&gt;
The [[Announcments-3.6-Team|community]] of Slicer developers is proud to announce the release of '''Slicer 3.6'''.&lt;br /&gt;
&lt;br /&gt;
*Click here to [http://www.slicer.org/pages/Downloads download] different versions of Slicer3 and find pointers to the source code, mailing lists and bug tracker. *Please note that Slicer continues to be a research package and is not intended for clinical use. Testing of functionality is an ongoing activity with high priority, however, some features of Slicer3 are not fully tested.&lt;br /&gt;
*The [[Training|Slicer Training page]] provides a series of courses for learning how to use Slicer3. The portfolio contains self-guided presentation and sample data sets &lt;br /&gt;
&lt;br /&gt;
The main [http://www.slicer.org slicer.org] pages provide a guided tour to the application, training materials, and the development community.  New users should start there because we try to keep the pages organized and up to date.&lt;br /&gt;
&lt;br /&gt;
=Highlights=&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Slicer v3.6 - New and Improved Modules&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3.6-Editor-2010-05-06.png|The [[Modules:Editor-Documentation-3.6|Interactive Editor]] can be used to create and edit label maps for quantitative analysis and surface model generation (Steve Pieper)&lt;br /&gt;
Image:VolumeRenderingICPE.png| [[Modules:VolumeRendering-Documentation-3.6|Volume Rendering]] (Yanling Liu, Julien Finet, Lisa Avila)&lt;br /&gt;
Image:Slicer-ColorGUI-3.6.jpg| [[Modules:Colors-Documentation-3.6|Colors]] (Nicole Aucoin)&lt;br /&gt;
Image:Slicer3.6MeasurementsRulersModel.jpg| [[Modules:Measurements-Documentation-3.6 |Measurements (rulers and angles)]] (Nicole Aucoin)&lt;br /&gt;
Image:SlicerFiducialsGlyphs-3.4.jpg| [[Modules:Fiducials-Documentation-3.6|Fiducials]] (Nicole Aucoin)&lt;br /&gt;
Image:EMSegment-Simple.png|[[Modules:EMSegment-Simple3.6|EM Segmenter, simple version]] (Kilian Pohl)&lt;br /&gt;
Image:Fastmarching-result-adjusted.jpg| [[Modules:FastMarchingSegmentation-Documentation-3.6|Fast Marching segmentation]] (Andriy Fedorov)&lt;br /&gt;
Image:RSSkidneyL.png| [[Modules:RobustStatisticsSeg-Documentation-3.6|Robust Statistical Segmentation]] (Yi Gao)&lt;br /&gt;
Image:Fiducial registration before.jpg|NEW: [[Modules:RegisterImagesMultiRes-Documentation-3.6|Multiresolution Affine registration]] (Casey Goodlett)&lt;br /&gt;
Image:B-spline-reg-detail.png|Improved: [[Modules:RegisterImages-Documentation-3.6|Expert Automated Registration]] (Casey Goodlett)&lt;br /&gt;
Image:Fiducial_registration_before.jpg|NEW: [[Modules:TransformFromFiducials-Documentation-3.6|Fiducial Registration]] (Casey Goodlett)&lt;br /&gt;
Image:Registration_BRAINSfit.png|NEW: [[Modules:BRAINSFit |BRAINSFit Registration]] (Hans Johnson)&lt;br /&gt;
Image:Registration_BRAINSdemonwarp.png|NEW: [[Modules:BRAINSDemonWarp|BRAINSDemonWarp]] (Hans Johnson)&lt;br /&gt;
Image:Plastimatch_icon.png|NEW: [[Modules:Plastimatch |Plastimatch non-rigid registration]] (Greg Sharp)&lt;br /&gt;
Image:PETCTFusion.png| [[Modules:PETCTFusion-Documentation-3.6 |PETCTFusion]] (Wendy Plesniak)&lt;br /&gt;
Image:| [[Modules:CollectFiducials-Documentation-3.6 |Collect Patient Fiducials]] (Andrew Wiles)&lt;br /&gt;
Image:| [[Modules:IGTToolSelector-Documentation-3.6 |IGT Tool Selector]] (Andrew Wiles)&lt;br /&gt;
Image:FourDImage Screenshot1.png| [[Modules:FourDImage-Documentation-3.6|4D Image Viewer]] (Junichi Tokuda)&lt;br /&gt;
Image:MRI_Bias_Field_Correction_Slicer3_close_up.png|[[Modules:MRIBiasFieldCorrection-Documentation-3.6|MRIBiasFieldCorrection]] correction of MRI intensity inhomogeneity i.e. bias field (Sylvain Jaume)&lt;br /&gt;
Image:N4 prostate bias ax.png| [[Modules:N4ITKBiasFieldCorrection-Documentation-3.6|N4 Bias Field Correction]] (Andriy Fedorov)&lt;br /&gt;
Image:Surface H c.png| [[Modules:MeshContourSegmentation-Documentation-3.6|Mesh Contour Segmentation]] (Peter Karasev)&lt;br /&gt;
Image:ModelTransform.PNG| [[Modules:ModelTransform-Documentation-3.6|Model Transform]] (Alex Yarmarkovich)&lt;br /&gt;
Image:BrainWebImageTransformed.jpg| [[Modules:ResampleScalarVectorDWIVolume-Documentation-3.6|Resample Scalar/Vector/DWI Volume]] (Francois Budin)&lt;br /&gt;
Image:ExtractSubvolume3.png| [[Modules:CropVolume-Documentation-3.6|Crop Volume]] (Andriy Fedorov)&lt;br /&gt;
Image:Endoscopy-slicer3.6.png| [[Modules:Endoscopy-Documentation-3.6|Virtual Endoscopy]] (Steve Pieper)&lt;br /&gt;
Image:ChangeTracker_Analysis-3.4.png| [[Modules:ChangeTracker-Documentation-3.6|ChangeTracker]] (Andriy Fedorov)&lt;br /&gt;
Image:BRAINSFit.png| [[Modules:BRAINSFit|BRAINSFit]] (Hans J. Johnson)&lt;br /&gt;
Image:BRAINSDemonWarp.png| [[Modules:BRAINSDemonWarp|BRAINSDemonWarp]] (Hans J. Johnson)&lt;br /&gt;
Image:BRAINSResample.png| [[Modules:BRAINSResample|BRAINSResample]] (Hans J. Johnson)&lt;br /&gt;
Image:BRAINSROIAuto.png| [[Modules:BRAINSROIAuto|BRAINSROIAuto]] (Hans J. Johnson)&lt;br /&gt;
Image:Slicer3_OpenIGTLinkIF__VolumeReslice2.png| [[Modules:OpenIGTLinkIF-Documentation-3.6|OpenIGTLinkIF]] (Junichi Tokuda)&lt;br /&gt;
Image:Slicer3_ProstateNav_TargetSelection.png| [[Modules:ProstateNav-Documentation-3.6|ProstateNav]] (Andras Lasso, Junichi Tokuda)&lt;br /&gt;
Image:slicer3.6_neuronav_OR.jpeg| [[Modules:NeuroNav-Documentation-3.6|NeuroNav]] (Haiying Liu)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slicer Extensions=&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Slicer v3.6 - Extensions&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Plastimatch_dicomrt_dose.png|The [[Modules:PlastimatchDICOMRT| Plastimatch DICOM RT reader]] allows import and conversion of data in that format. (Greg Sharp)&lt;br /&gt;
Image:ABC out3d.png|The [[Modules:ABC-Documentation-3.5|ABC Segmenter]] is based on ITK EM technology.&lt;br /&gt;
Image:FCMResultLabels-3-6.png|[[Modules:FuzzySegmentationModule|Fuzzy segmentation]]&lt;br /&gt;
Image:HammerAverage-3-6.png|[[Modules:HammerRegistration|Hammer Registration]] can be used to build statistical brain atlases&lt;br /&gt;
Image:Plastimatch image 2.png|[[Modules:Plastimatch|Plastimatch non-rigid registration]] (Greg Sharp)&lt;br /&gt;
Image:Corticalthickness.png|[[Modules:ARCTIC-Documentation-3.6|Arctic wizard]] (Automatic Regional Cortical ThICkness)&lt;br /&gt;
Image:LesionsWithVentricles.png|[[Modules:LesionSegmentationApplications-Documentation-3.6| Lupus white matter lesions segmentation]] (Jeremy Bockholt, Mark Scully)&lt;br /&gt;
Image:Shot2.png|[[Modules:EMDTIClustering-Documentation-3.6|EM DTI clustering]] (Mahnaz Maddah)&lt;br /&gt;
Image:RicianTensorCorrectionImage.png|[[Modules:RicianNoiseFilter|Rician Noise Filter]] for noise removal in DWI data&lt;br /&gt;
Image:FourDAnalysisModuleScreenShot-3.5.png|The [[Modules:FourDAnalysis-Documentation-3.6|FourD Analysis module]] was designed for time series analysis (Junichi Takuda)&lt;br /&gt;
Image:Avf 3d voronoi big.png|[[Modules:VMTKCenterlines|Centerline extraction using Voronoi diagrams]] (Luca Antiga, Daniel Haehn) &lt;br /&gt;
Image:Labeldiameterestimation1.png|[[Modules:LabelDiameterEstimation-Documentation-3.6|Label diameter estimation]] (Andriy Fedorov) &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Checklist for the [[Checklist-3.6-Release|3.6 release]]&lt;br /&gt;
&lt;br /&gt;
= Other Improvements,  Additions &amp;amp; Documentation =&lt;br /&gt;
&lt;br /&gt;
[[Image:RegPortal_Icon.png|left|30px‎|link=Slicer3:Registration]] &lt;br /&gt;
*[[Slicer3:Registration|| Registration Portal Page: overview of avail. tools &amp;amp; modules]] (Dominik Meier)&lt;br /&gt;
*[[Image:Registration DecisionMatrix.png| [[Registration:Categories| Registration Tool Feature Matrix]] (Dominik Meier)&lt;br /&gt;
*[[Image:Resampling_DecisionMatrix.png| [[Registration:Resampling| Resampling Tool Feature Matrix]] (Dominik Meier)&lt;br /&gt;
*[[Image:RegLib_Banner.png|The [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory| Slicer Registration Case Library] (Dominik Meier)&lt;br /&gt;
*[[Image:SlicerRegistrationLibrary_Ad.png|[http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement|Slicer Registration Case Library: Call for Example Datasets] (Dominik Meier)&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16658</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16658"/>
		<updated>2010-06-08T15:55:09Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
*** Now the tracking simulation data points are loaded from a file. Added another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
*** Added a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
*** Added a Frequency entry to let user specify how fast (frames per second) the tracking data should be streamed.&lt;br /&gt;
*** When in the state of navigation, turn on cross hair (slice intersections) on 2D slice windows by default.&lt;br /&gt;
*** When in the state of navigation, update slices of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
*** Fixed bugs in terms of multi-threading.&lt;br /&gt;
*** Made the module visible in the nightly build.&lt;br /&gt;
*** Made Four-up Layout as the default viewing layout.&lt;br /&gt;
*** Updated the help text.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16657</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16657"/>
		<updated>2010-06-08T15:53:18Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
*** Now the tracking simulation data points are loaded from a file. Added another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
*** Added an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
*** Added a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
*** Added a Frequency field to let user specify how fast (frames per second) the tracking data should be streamed.&lt;br /&gt;
*** When in the state of navigation, turn on cross hair (slice intersections) on 2D slice windows by default.&lt;br /&gt;
*** When in the state of navigation, update slices of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
*** Fixed bugs in terms of multi-threading.&lt;br /&gt;
*** Made the module visible in the nightly build.&lt;br /&gt;
*** Made Four-up Layout as the default viewing layout.&lt;br /&gt;
*** Updated the help text.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16656</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16656"/>
		<updated>2010-06-08T15:52:40Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
*** Now the tracking simulation data points are loaded from a file. Added another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
*** Added an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
*** Added a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
*** Added a Frequency field to let user specify how fast (frames per second) the tracking data should be streamed.&lt;br /&gt;
*** When in the state of navigation, turn on cross hair (slice intersections) on 2D slice windows by default.&lt;br /&gt;
*** When in the state of navigation, update slices of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
*** Fixed bugs in terms of multi-threading.&lt;br /&gt;
*** Made the module visible in the nightly build.&lt;br /&gt;
*** Made Four-up Layout as the default viewing layout.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16655</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16655"/>
		<updated>2010-06-08T15:51:23Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
*** Now the tracking simulation data points are loaded from a file. Added another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
*** Added an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
*** Added a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
*** Added a Frequency field to let user specify how fast (frames per second) the tracking data should be streamed.&lt;br /&gt;
*** When in the state of navigation, turn on cross hair (slice intersections) on 2D slice windows by default.&lt;br /&gt;
*** When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
*** When in the state of navigation, update slices of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
*** Fixed bugs in terms of multi-threading.&lt;br /&gt;
*** Made the module visible in the nightly build.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16654</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16654"/>
		<updated>2010-06-08T15:47:23Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
*** Now the tracking simulation data points are loaded from a file. Added another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
*** Added an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
*** Added a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
*** When in the state of navigation, turn on cross hair (slice intersections) on 2D slice windows by default.&lt;br /&gt;
*** When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
*** When in the state of navigation, update slices of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16653</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16653"/>
		<updated>2010-06-08T15:38:26Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Added auto switch from first page (loading) to second page (connection).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
* drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16652</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=16652"/>
		<updated>2010-06-08T15:34:01Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/31/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15962</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15962"/>
		<updated>2010-05-17T19:31:37Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15958</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15958"/>
		<updated>2010-05-17T19:29:50Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
*** The Connect Step has been updated: 1) Added an option to generate random tracking data points in the memory; 2) Added '''Frequency''' entry which allows user to specify how fast the data streaming s/he wants to be; and 3) Added a status reporting for the network connection.&lt;br /&gt;
&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on the feature requests.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15953</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15953"/>
		<updated>2010-05-17T19:19:47Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and the '''Feature Requests''' section has been updated.&lt;br /&gt;
*** Source code of this module has been checked into the Slicer trunk.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15950</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15950"/>
		<updated>2010-05-17T19:15:52Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 05/10/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The module has been demo-ed at the IGT group (Noby's group) meeting.&lt;br /&gt;
*** The module has been reviewed with Noby and &lt;br /&gt;
** To do list:&lt;br /&gt;
*** Work on.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate3.png&amp;diff=15949</id>
		<title>File:Slicer3 brainlabmodule navigate3.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate3.png&amp;diff=15949"/>
		<updated>2010-05-17T19:08:12Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_connect3.png&amp;diff=15948</id>
		<title>File:Slicer3 brainlabmodule connect3.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_connect3.png&amp;diff=15948"/>
		<updated>2010-05-17T19:07:53Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load3.png&amp;diff=15946</id>
		<title>File:Slicer3 brainlabmodule load3.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load3.png&amp;diff=15946"/>
		<updated>2010-05-17T19:07:36Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow4&amp;diff=15945</id>
		<title>Slicer3:BrainlabModule:Workflow4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow4&amp;diff=15945"/>
		<updated>2010-05-17T19:06:52Z</updated>

		<summary type="html">&lt;p&gt;Hliu: Created page with 'Back to '''BrainlabModule Page'''  &amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;300px&amp;quot; heights=&amp;quot;400px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt; Image:Slicer3_brainlabmodule_l…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:BrainlabModule|Back to '''BrainlabModule Page''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;300px&amp;quot; heights=&amp;quot;400px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3_brainlabmodule_load3.png|Step ONE: '''Load a MRML Scene'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_connect3.png|Step TWO: '''Connect with Tracking Source'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_navigate3.png|Step THREE: '''Navigate'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15944</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15944"/>
		<updated>2010-05-17T19:05:59Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Design of Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow4|Version 4 of workflow (as of 05/14/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Dti_vis_brainlab_bioimage_slicer3.ppt&amp;diff=15472</id>
		<title>File:Dti vis brainlab bioimage slicer3.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Dti_vis_brainlab_bioimage_slicer3.ppt&amp;diff=15472"/>
		<updated>2010-05-07T03:25:39Z</updated>

		<summary type="html">&lt;p&gt;Hliu: uploaded a new version of &amp;quot;File:Dti vis brainlab bioimage slicer3.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:System_test_brainlab_bioimage_slicer3.ppt&amp;diff=15471</id>
		<title>File:System test brainlab bioimage slicer3.ppt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:System_test_brainlab_bioimage_slicer3.ppt&amp;diff=15471"/>
		<updated>2010-05-07T03:24:43Z</updated>

		<summary type="html">&lt;p&gt;Hliu: uploaded a new version of &amp;quot;File:System test brainlab bioimage slicer3.ppt&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Brainlab_Integration&amp;diff=15470</id>
		<title>Slicer3:Brainlab Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Brainlab_Integration&amp;diff=15470"/>
		<updated>2010-05-07T03:00:25Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
Brainlab has recently introduced VV Link, an open API (but not free) to communicate with the IGT environment. This API allows to receive tracker information from the Brainlab system. This tutorial describes in detail how to interface 3D Slicer to the Brainlab system and to use it for research. Specifically, we describe steps for neurosurgeons to use Slicer3 to perform some research in DTI visualization in OR while using Brainlab as the navigation system.&lt;br /&gt;
&lt;br /&gt;
*The Brainlab system will still run as usual; we won't install any software and hardware on the computer running the Brainlab system and will not affect the FDA status of the Brainlab system. In our current scenario we are using the BioImage Suite from Yale as a &amp;quot;bridge&amp;quot;. Slicer3 and BioImage Suite  run on a different computer than the Brainlab system. These two computers need to be connected to each other using a network or router connection. During surgical procedures, the Brainlab sends real-time data from its tracking system and/or images to Slicer3 through BioImage Suite. The information from the Brainlab tracker can be used to manipulate dynamic DTI visualization in Slicer3.&lt;br /&gt;
&lt;br /&gt;
*Slicer3 is not an FDA approved product and we make no claims on specific capabilities. It is the surgeon's responsibility to ensure that Slicer3 will perform whatever tasks s/he is trying to do and to ensure that s/he is in compliance with applicable laws, rules, and regulations.&lt;br /&gt;
&lt;br /&gt;
*This tutorial is being developed and tested on Windows XP and Linux. If you are using a Mac, please share your experience with us.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 1:''' Download and Install Software Packages =&lt;br /&gt;
Slicer3 connects with Brainlab navigation system through BioImage Suite, which is an integrated image analysis software suite developed at Yale University. Thus, we will install both BioImage Suite and Slicer3 on a designated machine.&lt;br /&gt;
* Get a decent computer with a minimum of 2GB of RAM and a Graphics Card with at least 256MB of dedicated graphics memory. For Windows users, the computer should have Windows XP Pro installed. For Linux users, Ubuntu 8.04 is used as the testbed. We have used NVIDIA graphics cards with good success.&lt;br /&gt;
* Install BioImage Suite&lt;br /&gt;
** The latest binary of BioImage Suite (2.6 Release Candidate 1) can be installed from here: http://research.yale.edu/bioimagesuite/forum/index.php?topic=257.msg&lt;br /&gt;
* Install Slicer3&lt;br /&gt;
** Slicer3 binary download site: http://www.slicer.org/DownloadSlicer.php/Nightly&lt;br /&gt;
** Choose one of the available (and dated) versions for your system and download it&lt;br /&gt;
** For Windows users, run the installer to install Slicer3 on your Windows XP computer. For Linux users, unzip the binary to your preferred location&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 2:''' Set up the System =&lt;br /&gt;
* The computers running the Brainlab system and the one running Slicer3 should be connected through a Ethernet network or a router. We have been testing the system in OR with a wired router (e.g. Netgear or Linsys).&lt;br /&gt;
* Steps to set up the system can be found in [[media:system_setup_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 3:''' Test the System =&lt;br /&gt;
* Testing the individual components and the interoperation of the components should be done during setup to ensure proper operation of the research part of the setup. In order to test the clinical part of the brain lab system, please follow the vendor guidelines.&lt;br /&gt;
* Steps to test the system connectivity can be found in [[media:system_test_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 4:''' Visualize DTI in Slicer3 =&lt;br /&gt;
*The tutorial, '''Processing of Diffusion Weighted Imaging and Diffusion Tensor Imaging data in Slicer3''', and sample data sets for processing DTI images in Slicer3 can be found at http://www.na-mic.org/Wiki/index.php/Slicer3.2:Training (see module No. 1.4)&lt;br /&gt;
*The procedure to visualize DTI tractography while tracking by Brainlab is described in [[media:dti_vis_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Terminology =&lt;br /&gt;
*'''Slicer3''' [http://www.slicer.org/] is cross-platform end user application for analyzing and visualizing medical images. It contails collection of Open Source libraries for developing and deploying new image computing technologies.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Brainlab''' [http://www.brainlab.com/scripts/website_english.asp] currently offers a set of integrated OR solutions, for instance neurosurgery, orthopedic, and RT/Oncology. The Brainlab component we're working with is VectorVision Cranial Navigation System.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''BioImage Suite''' [http://www.bioimagesuite.org/] is an integrated image analysis software suite developed at Yale University.&lt;br /&gt;
*'''VectorVision Link (VVLink)''' is a custom designed client/server tool which extends functionality from the Visualization Toolkit. VV Link enables bi-directional data transfer such as image data sets, visualizations and tool positions in real time.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''OpenIGTLink''' is a simple network protocol intended for trackers, robots and other devices to send data to the main application.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Contact us =&lt;br /&gt;
If you have any comments or requests, please contact Dr. Nobuhiko Hata (hata at bwh.harvard.edu).&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Brainlab_Integration&amp;diff=15469</id>
		<title>Slicer3:Brainlab Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Brainlab_Integration&amp;diff=15469"/>
		<updated>2010-05-07T02:54:39Z</updated>

		<summary type="html">&lt;p&gt;Hliu: Created page with '&amp;lt;br&amp;gt; = Introduction = BrainLab has recently introduced VV Link, an open API (but not free) to communicate with the IGT environment. This API allows to receive tracker information…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
BrainLab has recently introduced VV Link, an open API (but not free) to communicate with the IGT environment. This API allows to receive tracker information from the BrainLab system. This tutorial describes in detail how to interface 3D Slicer to the BrainLab system and to use it for research. Specifically, we describe steps for neurosurgeons to use Slicer3 to perform some research in DTI visualization in OR while using BrainLab as the navigation system.&lt;br /&gt;
&lt;br /&gt;
*The BrainLab system will still run as usual; we won't install any software and hardware on the computer running the BrainLab system and will not affect the FDA status of the BrainLab system. In our current scenario we are using the BioImage Suite from Yale as a &amp;quot;bridge&amp;quot;. Slicer3 and BioImage Suite  run on a different computer than the BrainLab system. These two computers need to be connected to each other using a network or router connection. During surgical procedures, the BrainLab sends real-time data from its tracking system and/or images to Slicer3 through BioImage Suite. The information from the Brainlab tracker can be used to manipulate dynamic DTI visualization in Slicer3.&lt;br /&gt;
&lt;br /&gt;
*Slicer3 is not an FDA approved product and we make no claims on specific capabilities. It is the surgeon's responsibility to ensure that Slicer3 will perform whatever tasks s/he is trying to do and to ensure that s/he is in compliance with applicable laws, rules, and regulations.&lt;br /&gt;
&lt;br /&gt;
*This tutorial is being developed and tested on Windows XP and Linux. If you are using a Mac, please share your experience with us.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 1:''' Download and Install Software Packages =&lt;br /&gt;
Slicer3 connects with BrainLab navigation system through BioImage Suite, which is an integrated image analysis software suite developed at Yale University. Thus, we will install both BioImage Suite and Slicer3 on a designated machine.&lt;br /&gt;
* Get a decent computer with a minimum of 2GB of RAM and a Graphics Card with at least 256MB of dedicated graphics memory. For Windows users, the computer should have Windows XP Pro installed. For Linux users, Ubuntu 8.04 is used as the testbed. We have used NVIDIA graphics cards with good success.&lt;br /&gt;
* Install BioImage Suite&lt;br /&gt;
** The latest binary of BioImage Suite (2.6 Release Candidate 1) can be installed from here: http://research.yale.edu/bioimagesuite/forum/index.php?topic=257.msg&lt;br /&gt;
* Install Slicer3&lt;br /&gt;
** Slicer3 binary download site: http://www.slicer.org/DownloadSlicer.php/Nightly&lt;br /&gt;
** Choose one of the available (and dated) versions for your system and download it&lt;br /&gt;
** For Windows users, run the installer to install Slicer3 on your Windows XP computer. For Linux users, unzip the binary to your preferred location&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 2:''' Set up the System =&lt;br /&gt;
* The computers running the BrainLab system and the one running Slicer3 should be connected through a Ethernet network or a router. We have been testing the system in OR with a wired router (e.g. Netgear or Linsys).&lt;br /&gt;
* Steps to set up the system can be found in [[media:system_setup_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 3:''' Test the System =&lt;br /&gt;
* Testing the individual components and the interoperation of the components should be done during setup to ensure proper operation of the research part of the setup. In order to test the clinical part of the brain lab system, please follow the vendor guidelines.&lt;br /&gt;
* Steps to test the system connectivity can be found in [[media:system_test_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''STEP 4:''' Visualize DTI in Slicer3 =&lt;br /&gt;
*The tutorial, '''Processing of Diffusion Weighted Imaging and Diffusion Tensor Imaging data in Slicer3''', and sample data sets for processing DTI images in Slicer3 can be found at http://www.na-mic.org/Wiki/index.php/Slicer3.2:Training (see module No. 1.4)&lt;br /&gt;
*The procedure to visualize DTI tractography while tracking by BrainLab is described in [[media:dti_vis_brainlab_bioimage_slicer3.ppt|this file]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Terminology =&lt;br /&gt;
*'''Slicer3''' [http://www.slicer.org/] is cross-platform end user application for analyzing and visualizing medical images. It contails collection of Open Source libraries for developing and deploying new image computing technologies.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''BrainLab''' [http://www.brainlab.com/scripts/website_english.asp] currently offers a set of integrated OR solutions, for instance neurosurgery, orthopedic, and RT/Oncology. The BrainLab component we're working with is VectorVision Cranial Navigation System.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''BioImage Suite''' [http://www.bioimagesuite.org/] is an integrated image analysis software suite developed at Yale University.&lt;br /&gt;
*'''VectorVision Link (VVLink)''' is a custom designed client/server tool which extends functionality from the Visualization Toolkit. VV Link enables bi-directional data transfer such as image data sets, visualizations and tool positions in real time.&amp;lt;br&amp;gt;&lt;br /&gt;
*'''OpenIGTLink''' is a simple network protocol intended for trackers, robots and other devices to send data to the main application.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Contact us =&lt;br /&gt;
If you have any comments or requests, please contact Dr. Nobuhiko Hata (hata at bwh.harvard.edu).&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15275</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15275"/>
		<updated>2010-05-04T01:45:59Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
* Add virtual needle (e.g. locator).&lt;br /&gt;
* Add tip offset with trajectory.&lt;br /&gt;
* Add flythrough view along the virtual needle.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15274</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15274"/>
		<updated>2010-05-04T01:42:20Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
* When in the state of navigation, we need slice update of all three orthogonal orientations (Axial, Sagittal and Coronal).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15273</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15273"/>
		<updated>2010-05-04T01:36:11Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* When in the state of navigation, use the Four-up Layout as the default viewing layout.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15272</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15272"/>
		<updated>2010-05-04T00:43:06Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
* When in the state of navigation, turn on cross hair on 2D slice windows by default.&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15271</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15271"/>
		<updated>2010-05-04T00:40:36Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* Explore a way to check the data streaimg status inside BrainlabModule rather to check in Transform module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15270</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15270"/>
		<updated>2010-05-04T00:37:51Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
* Add an entry to let user specify how fast to stream tracking data out.&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15269</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15269"/>
		<updated>2010-05-04T00:11:33Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
* Now the tracking simulation data points are loaded from a file. Add another option to make tracking simulation -- generate random or circular points from memory.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15268</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15268"/>
		<updated>2010-05-04T00:05:11Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Feature Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Requests =&lt;br /&gt;
The following features will be explored or added after the dicussion between Noby and Haiying on May 3, 2010:&lt;br /&gt;
* The workflow of BrainlabModule is implemented based on widgets. Explore the possibility of auto switch from page to page (from left to right).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Hata|Hata]] 17:37, 3 May 2010 (UTC)&lt;br /&gt;
*drive the orghogonal slices, with cross-hair marker. The cross-hair should indicate the locations of the slicer of the other two slices.&lt;br /&gt;
*Ability to draw foot print (will explain)&lt;br /&gt;
*Beep in the foot prints, or our any arbitary chosen area&lt;br /&gt;
*Ability to provide endoscopic view&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15262</id>
		<title>Slicer3:BrainlabModule:Workflow3</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15262"/>
		<updated>2010-05-03T20:21:12Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:BrainlabModule|Back to '''BrainlabModule Page''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3_brainlabmodule_load2.png|Step ONE: '''Load an MRML Scene'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_connect2.png|Step TWO: '''Connect with Tracking Source'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_navigate2.png|Step THREE: '''Navigate'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15261</id>
		<title>Slicer3:BrainlabModule:Workflow3</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15261"/>
		<updated>2010-05-03T20:17:00Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:BrainlabModule|Back to '''BrainlabModule Page''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3_brainlabmodule_load2_may3.png|Step ONE: '''Load an MRML Scene'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_connect2_may3.png|Step TWO: '''Connect with Tracking Source'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_navigate2_may3.png|Step THREE: '''Navigate'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15260</id>
		<title>Slicer3:BrainlabModule:Workflow3</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15260"/>
		<updated>2010-05-03T20:16:20Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:BrainlabModule|Back to '''BrainlabModule Page''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3 brainlabmodule load2 may3.png|Step ONE: '''Load an MRML Scene'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_connect2_may3.png|Step TWO: '''Connect with Tracking Source'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_navigate2_may3.png|Step THREE: '''Navigate'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate2.png&amp;diff=15259</id>
		<title>File:Slicer3 brainlabmodule navigate2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate2.png&amp;diff=15259"/>
		<updated>2010-05-03T20:12:49Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_connect2.png&amp;diff=15258</id>
		<title>File:Slicer3 brainlabmodule connect2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_connect2.png&amp;diff=15258"/>
		<updated>2010-05-03T20:12:33Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load2.png&amp;diff=15257</id>
		<title>File:Slicer3 brainlabmodule load2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load2.png&amp;diff=15257"/>
		<updated>2010-05-03T20:11:40Z</updated>

		<summary type="html">&lt;p&gt;Hliu: uploaded a new version of &amp;quot;File:Slicer3 brainlabmodule load2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load2.png&amp;diff=15256</id>
		<title>File:Slicer3 brainlabmodule load2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_load2.png&amp;diff=15256"/>
		<updated>2010-05-03T20:09:04Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15255</id>
		<title>Slicer3:BrainlabModule:Workflow3</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule:Workflow3&amp;diff=15255"/>
		<updated>2010-05-03T20:07:59Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:BrainlabModule|Back to '''BrainlabModule Page''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;BrainlabModule Workflow&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3_brainlabmodule_load2_may3.png|Step ONE: '''Load an MRML Scene'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_connect2_may3.png|Step TWO: '''Connect with Tracking Source'''&lt;br /&gt;
Image:Slicer3_brainlabmodule_navigate2_may3.png|Step THREE: '''Navigate'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15229</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15229"/>
		<updated>2010-05-03T17:15:18Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Comprehensive Tasks Needed to Accomplish the Aim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
* BrainlabModule on simulation&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through VV Link&lt;br /&gt;
* Tutorial writing&lt;br /&gt;
* BrainlabModule with a real Brainlab system through OpenIGTLink&lt;br /&gt;
* Tutorial updating&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15228</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15228"/>
		<updated>2010-05-03T17:08:50Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Comprehensive tasks needed to accomplish the aim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive Tasks Needed to Accomplish the Aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15222</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15222"/>
		<updated>2010-05-03T16:23:00Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Research Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15221</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15221"/>
		<updated>2010-05-03T16:17:50Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Research Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15220</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15220"/>
		<updated>2010-05-03T16:15:54Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Aim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will run as a standalone application; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15219</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15219"/>
		<updated>2010-05-03T16:13:21Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Aim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to enable the communication between the VectorVision Cranial (VVC) system and external IGT applications. The VV Link, open but not free, allows bi-directional real-time data transfer such as image data sets and tool positions. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15214</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15214"/>
		<updated>2010-05-03T15:43:16Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment [NH be more specific. what is environment?]. This software API [NH spell out, API is a customized client/server environment or just a subset of it?], open but not free, allows other programs to acquire tracking information [NH information is a fuzzy word. be more specific] and images from the Brainlab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' option; 2. Removed OpenIGTLinkIF button since it's no more needed.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice(s) can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15213</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15213"/>
		<updated>2010-05-03T15:40:34Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment [NH be more specific. what is environment?]. This software API [NH spell out, API is a customized client/server environment or just a subset of it?], open but not free, allows other programs to acquire tracking information [NH information is a fuzzy word. be more specific] and images from the Brainlab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' tag; 2. Removed OpenIGTLinkIF button.&lt;br /&gt;
*** Re-implementation of Navigate step. Major changes: 1. Added Slice Control so that 2D Slice can update automatically following the seeding fiducial; 2. Added Data Module button so that the user can jump to MRML tree to drag the seeding fiducial under the transform node of the tracking simulation.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15211</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15211"/>
		<updated>2010-05-03T15:23:47Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment [NH be more specific. what is environment?]. This software API [NH spell out, API is a customized client/server environment or just a subset of it?], open but not free, allows other programs to acquire tracking information [NH information is a fuzzy word. be more specific] and images from the Brainlab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Access to OpenIGTLink module is now through C++ code rather on interface.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. Moved Port and Server entries under '''Brainlab''' tag; 2. Removed OpenIGTLinkIF button.&lt;br /&gt;
&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15208</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15208"/>
		<updated>2010-05-03T15:17:47Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment [NH be more specific. what is environment?]. This software API [NH spell out, API is a customized client/server environment or just a subset of it?], open but not free, allows other programs to acquire tracking information [NH information is a fuzzy word. be more specific] and images from the Brainlab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** Re-design of Connect step. Major changes: 1. &lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15201</id>
		<title>Slicer3:BrainlabModule</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:BrainlabModule&amp;diff=15201"/>
		<updated>2010-05-03T14:57:46Z</updated>

		<summary type="html">&lt;p&gt;Hliu: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]&lt;br /&gt;
= Aim =&lt;br /&gt;
Brainlab (http://www.brainlab.com) offers a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment [NH be more specific. what is environment?]. This software API [NH spell out, API is a customized client/server environment or just a subset of it?], open but not free, allows other programs to acquire tracking information [NH information is a fuzzy word. be more specific] and images from the Brainlab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:&lt;br /&gt;
&lt;br /&gt;
Brainlab system will still run as usual [NH awkward]; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the Brainlab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
Our workflow will include the following steps:&lt;br /&gt;
#Load a scene into Slicer&lt;br /&gt;
#Set up connection between Brainlab and Slicer&lt;br /&gt;
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab&lt;br /&gt;
&lt;br /&gt;
This will hopefully [NH no need to say hope in the technical note] help the surgeon [ the surgeon or a surgeon?] efficiently integrate Slicer with Brainlab [NH surgeons don't want integration ration. surgeons need benefit]. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between Brainlab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.&lt;br /&gt;
&lt;br /&gt;
The development of BrainlabModule will be completed in two phases. In the first phase, a simulator will be created. That is, a sequence of synthetic tracking points (not from Brainlab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real Brainlab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute. &lt;br /&gt;
&lt;br /&gt;
Both modes are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
&lt;br /&gt;
= Comprehensive tasks needed to accomplish the aim =&lt;br /&gt;
==TO BE FILLED G NOBY==&lt;br /&gt;
&lt;br /&gt;
=Design of Module=&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow|Version 1 of workflow (as of 04/02/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:ConnectStep|A working version of Connect Step (as of 04/09/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow2|Version 2 of workflow (as of 04/16/2010)]]&lt;br /&gt;
*[[Slicer3:BrainlabModule:Workflow3|Version 3 of workflow (as of 04/30/2010)]]&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
Haiying Liu&amp;lt;br&amp;gt;&lt;br /&gt;
Noby Hata &amp;lt;br&amp;gt;&lt;br /&gt;
Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* Week of 04/26/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** A new dataset for tracking simulation has been generated.&lt;br /&gt;
*** &lt;br /&gt;
** To do list:&lt;br /&gt;
*** Demo the module at the IGT group (Noby's group) meeting to get comments from the team.&lt;br /&gt;
*** Enhance the module following the team's comments.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/12/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** Since Brainlab changed its letter from Brain'''L'''ab to Brain'''l'''ab. Our module has been changed from BrainLabModule to BrainlabModule. This involved many changes in the module, including titles, file names, class names and function names. The new module compiles without any errors.&lt;br /&gt;
*** The Load Step has been implemented.&lt;br /&gt;
*** The Navigate Step has been implemented.&lt;br /&gt;
*** Bug fixing with the thread, which handles the network communication between BrainlabModule and the tracking source. Now the thread can be started and stopped anytime we wanted.&lt;br /&gt;
*** The steps inside the workflow of BrainlabModule may be re-ordered as follows: Load, Connect and Navigate.&lt;br /&gt;
*** The workflow is now working with simulator.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** Access to OpenIGTLink module needs to be programmatically through C++ code.&lt;br /&gt;
*** Dragging a fiducial list node into the child list of a transform node needs to be implemented in C++.&lt;br /&gt;
*** A better version of data for tracking simulation needs to be generated to get better visualization of DTI tractography.&lt;br /&gt;
&lt;br /&gt;
* Week of 04/05/2010&lt;br /&gt;
** Work '''DONE''':&lt;br /&gt;
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button. &lt;br /&gt;
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.&lt;br /&gt;
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.&lt;br /&gt;
** To do list:&lt;br /&gt;
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.&lt;br /&gt;
*** Implementation of Load Step and Navigate Step will be executed next week.&lt;br /&gt;
&lt;br /&gt;
* Week of 03/29/2010&lt;br /&gt;
** Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.&lt;br /&gt;
** Haiying completed the [[Slicer3:BrainLabModule:Workflow|workflow.]]&lt;br /&gt;
&lt;br /&gt;
= Dependency =&lt;br /&gt;
The following modules are required for Brainlab module to work properly:&amp;lt;br&amp;gt;&lt;br /&gt;
Fiducial&amp;lt;br&amp;gt;&lt;br /&gt;
OpenIGTLink&amp;lt;br&amp;gt;&lt;br /&gt;
DTMRI&amp;lt;br&amp;gt;&lt;br /&gt;
FiducialSeeding&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials =&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate_may3.png&amp;diff=15200</id>
		<title>File:Slicer3 brainlabmodule navigate may3.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer3_brainlabmodule_navigate_may3.png&amp;diff=15200"/>
		<updated>2010-05-03T14:44:27Z</updated>

		<summary type="html">&lt;p&gt;Hliu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hliu</name></author>
		
	</entry>
</feed>