<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yzhang</id>
	<title>NAMIC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yzhang"/>
	<link rel="alternate" type="text/html" href="https://www.na-mic.org/wiki/Special:Contributions/Yzhang"/>
	<updated>2026-05-17T01:50:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Slicer4_miAnnotation_data.zip&amp;diff=55122</id>
		<title>File:Slicer4 miAnnotation data.zip</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Slicer4_miAnnotation_data.zip&amp;diff=55122"/>
		<updated>2010-06-24T19:06:13Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=55121</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=55121"/>
		<updated>2010-06-24T19:05:40Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
* [[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
* Using the [[Media:Slicer4_miAnnotation.ppt | module]] with corresponding data ([[Media:Slicer4_miAnnotation_data.zip | sample data]] )&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
100% Daniel Haehn (UPENN)&lt;br /&gt;
&lt;br /&gt;
=Past Contributors=&lt;br /&gt;
Yong Zhang (IBM) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/24/10&lt;br /&gt;
** Compiling without KWWidgets on Mac OS is now possible.&lt;br /&gt;
** Starting to include the functionality of KWWidgets in pure QT code.&lt;br /&gt;
** Daniel Haehn took over project from Yong Zhang.&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** Hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
** delete text in the property dialog may crash Slicer3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=55120</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=55120"/>
		<updated>2010-06-24T19:05:24Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
* [[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
* Using the [[Media:Slicer4_miAnnotation.ppt | module]] with corresponding data ([[Media:Slicer4_miAnnotation_data.zip | sample data]])&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
100% Daniel Haehn (UPENN)&lt;br /&gt;
&lt;br /&gt;
=Past Contributors=&lt;br /&gt;
Yong Zhang (IBM) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/24/10&lt;br /&gt;
** Compiling without KWWidgets on Mac OS is now possible.&lt;br /&gt;
** Starting to include the functionality of KWWidgets in pure QT code.&lt;br /&gt;
** Daniel Haehn took over project from Yong Zhang.&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** Hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
** delete text in the property dialog may crash Slicer3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54749</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54749"/>
		<updated>2010-06-21T05:28:41Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** Hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
** delete text in the property dialog may crash Slicer3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54747</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54747"/>
		<updated>2010-06-21T05:27:36Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** Hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
** delete text in the property dialog may crash Slicer3&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54647</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54647"/>
		<updated>2010-06-20T09:09:59Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** Hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54646</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54646"/>
		<updated>2010-06-20T09:09:44Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** hide and lock functions apply to all fiducials in the viewers instead of single selected fiducial.&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54645</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54645"/>
		<updated>2010-06-20T09:03:34Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54644</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54644"/>
		<updated>2010-06-20T06:42:17Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
** resetting viewer button is not implemented.&lt;br /&gt;
** mouse mode buttons are not implemented.&lt;br /&gt;
** icons are not saved properly in the HTML report.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54643</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54643"/>
		<updated>2010-06-20T06:40:21Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** Initial values are incorrectly shown in the property dialog (only shown correctly after changing the annotation in the viewers).&lt;br /&gt;
** Screen shots options are not implemented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54642</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54642"/>
		<updated>2010-06-20T05:24:16Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54641</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54641"/>
		<updated>2010-06-20T05:23:51Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created thereafter (this bug occurs when slicer3 is updated to the latest version, ruler node works fine with the old version of Slicer3).&lt;br /&gt;
** &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54640</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54640"/>
		<updated>2010-06-20T05:18:53Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
** When a new ruler node is created, it is not shown in the viewer. It is shown only when another annotation is created thereafter (this is a new bug when slicer3 is updated, never occurred before).&lt;br /&gt;
** &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54639</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54639"/>
		<updated>2010-06-20T05:16:04Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Yong */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* List of Bugs&lt;br /&gt;
** Fiducial is using FiducialListNode instead of using vtkMRMLAnnotationFiducialNode&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54638</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54638"/>
		<updated>2010-06-20T05:11:11Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** GetAnnotationMeasurement is modified to return multiple measurements.&lt;br /&gt;
** ROI annotation is modified to display extension measurements.&lt;br /&gt;
** Bidimensional annotation is modified to display bi-line measurements.&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54637</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=54637"/>
		<updated>2010-06-20T05:06:54Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/18/10&lt;br /&gt;
** Tutorial is created.&lt;br /&gt;
** &lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=53864</id>
		<title>Projects:ARRA:miAnnotation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Projects:ARRA:miAnnotation&amp;diff=53864"/>
		<updated>2010-06-15T00:23:04Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projects:ARRASuplements|Back to Slicer ARRA home page]]&lt;br /&gt;
= Aim =&lt;br /&gt;
Medical images often contain a wealth of information, such as anatomy and pathology, not explicitly accessible. One way to address this issue is via image annotation and markup. We propose to create a comprehensive framework for annotation and markup within 3D Slicer, enabling users to capture structured information easily. Furthermore, we will develop schemas for saving and recovering this information into and from XNAT, allowing queries of larger data sets of medical scans. This tool will provide clinicians with a relatively simple way to capture information latent in medical scans, and also to select micro-cohorts of medical scans for studying diseases.&lt;br /&gt;
&lt;br /&gt;
= Research Plan =&lt;br /&gt;
3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information contained in images and data sets. We propose to address this issue by expanding Slicer's mark up and annotation capabilities. New features will include: &lt;br /&gt;
* a rich set of geometric objects for improved visual differentiation between annotations&lt;br /&gt;
* markers for measuring anatomical characteristics, such as the volume of an annotated region, to provide patient specific information difficult to extract from visual inspection&lt;br /&gt;
* entry fields beyond free-text, such as graphics and external data, to capture comprehensive information and support for emerging domain specific ontologiesand &lt;br /&gt;
* a full integration of these capabilities with the mrml tree to support Scenesnapshots, load, save both to disk and XNAT.&lt;br /&gt;
&lt;br /&gt;
We will implement these features by developing two different modules. The first module, called Marker Module, creates different types of markers based on current ITK technology. The user defines the appearance of the marker by specifying its color, size, and shape, such as points and 3D boxes. The user also labels each marker with tags and specifies its function, such as measuring the volume of a region.&lt;br /&gt;
&lt;br /&gt;
The Annotation Module, the second module, provides the interface for annotating images with these markers. Users place the markers on the image and further specify the semantic information through free text, plots, and references to ontology and internet. The annotations are shown both in 3D and 2D viewers. The module also allows annotating entire scenes by linking annotations across images, as well as within an image. All annotations are stored in a database targeted towards medical imaging, called XNAT. The structure of the database is automatically defined by the tags of the markers. Thus, users can query across large image data sets by looking for specific tag values. &lt;br /&gt;
&lt;br /&gt;
Both modules are accompanied by training materials and documentation to ensure usability.&lt;br /&gt;
=Design of Module=&lt;br /&gt;
* Current [[Media:AMI-GUI-Design.ppt | GUI ]] outline - [[Media:SlicerAM QtAnnotation.png | Screenhot]] in Slicer &lt;br /&gt;
* Suggested [[Media:AMI_MRMLMarkUpNode.ppt | MRML ]] outline&lt;br /&gt;
= Documentation=&lt;br /&gt;
[[ miAnnotation_Documentation | Documentation ]] of the module&lt;br /&gt;
&lt;br /&gt;
=Key Personnel=&lt;br /&gt;
60% Kilian Pohl &amp;lt;BR&amp;gt;&lt;br /&gt;
95% Yong Zhang&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
* 05/18/10 [[Media:miAnnotation_May2010_Yong.pdf | Presentation]] at the Department of Healthcare Informatics, IBM, Almaden&lt;br /&gt;
* 12/16/09 - 12/17/09 [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]]&lt;br /&gt;
* 01/06/10 [[AHM2010:AnnotationBreakout | Break out session]] at AHM 2010&lt;br /&gt;
* 01/19/10 Biweekly Annotation Tcon from 4:00 - 5:00 pm EST (next meeting 2/9): Tel: (218) 862-1115 Conference ID: 348265#, [https://www.lotuslive.com/join?schedid=4572317 Desktop Sharing ]&lt;br /&gt;
&lt;br /&gt;
=Progress=&lt;br /&gt;
* 06/11/10&lt;br /&gt;
** Documentation page is created.&lt;br /&gt;
** Bugs for property dialog are fixed.&lt;br /&gt;
** Constructions of Bidimensional and Spline annotations are modified using proper control point initialization.&lt;br /&gt;
** Bugs for showing values for some annotation types are fixed. &lt;br /&gt;
* 06/04/10&lt;br /&gt;
** vtkSlicerAnnotationROIManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationTextManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationSplineManager is implemented.&lt;br /&gt;
** vtkSlicerAnnotationBidimensionalManager is implemented.&lt;br /&gt;
* 05/28/10&lt;br /&gt;
** vtkMRMLAnnotationROINode is added;&lt;br /&gt;
** vtkMRMLAnnotationBiDimensionalNode is added;&lt;br /&gt;
** vtkMRMLAnnotationSplineNode is added.&lt;br /&gt;
** Logic and ModuleWidget are modified to include new Nodes&lt;br /&gt;
* 05/21/10&lt;br /&gt;
** ROI, Text, BiDimensional, and Spline Annotations are initialized.&lt;br /&gt;
** fixed BUG: HTML report cannot be saved properly.&lt;br /&gt;
* 05/14/10&lt;br /&gt;
** fixed BUG: When opening display properties from Sticky note -&amp;gt; reduce frame and enlarge it again by pressing triangle next to title : value and coordinates appear&lt;br /&gt;
** fixed BUG: fiducial manager is added.&lt;br /&gt;
** fixed BUG: AnnotationMouseModePick/Place are updated.&lt;br /&gt;
* 05/07/10&lt;br /&gt;
** fixed BUG: Lock does not lock the position of a widget in the 3D Viewer&lt;br /&gt;
** fixed BUG: changing coordinates to AngleNode does not have any effects on the Angle Widget.&lt;br /&gt;
** fixed BUG: fix coloring for annotation selection&lt;br /&gt;
*04/30/10&lt;br /&gt;
** fixed BUG: changing control points cannot be done when property dialog is open.&lt;br /&gt;
** fixed BUG: annotation is not highlighted when selected.&lt;br /&gt;
** fixed BUG: starting from the 2nd annotation, changing the location of the left point for ruler or center point for angle does not update the table properly.&lt;br /&gt;
** fixed Bug : changing the center point of angle node does not update table properly&lt;br /&gt;
* 04/23/10&lt;br /&gt;
** Created a ruler widget manager &lt;br /&gt;
* 04/16/10&lt;br /&gt;
** Created the new annotation type sticky note, which allows you to enter text independent from the viewer&lt;br /&gt;
* 04/09/10&lt;br /&gt;
** Modified source code to be compliant with VTK 5.6&lt;br /&gt;
** Grid out your buttons  (Create Frame)&lt;br /&gt;
** Fixed BUG: When changing line color in Display Properties it changes the Text Color&lt;br /&gt;
** Added script for testing color setting &lt;br /&gt;
** Fixed BUG: Label of line color changes in property window when defining a unselected color&lt;br /&gt;
&lt;br /&gt;
* 04/02/10&lt;br /&gt;
** Fixed BUG: Nothing happens when Property Window is open and you press the edit button for another annotation&lt;br /&gt;
** Restructured Annotation MRML&lt;br /&gt;
** Fixed Bug: Resetting of Lines and Points does not work correctly GetNumberOfLines &amp;gt; 0   &lt;br /&gt;
&lt;br /&gt;
* 03/26/10&lt;br /&gt;
** The property restoration is now implemented properly.&lt;br /&gt;
** Property Modification is re-designed to simplify the operation.&lt;br /&gt;
** Removed bug: ruler/angle disappear after adding fiducials &lt;br /&gt;
** Removed BUG: in property dialog, when editing the text, the character is entered from right to left.&lt;br /&gt;
** include lock annotation into option button (use same logic as for new (De)select All button)&lt;br /&gt;
** For each annotation type provide list outlining which display property can be changed, which cannot , and which one you do not know &lt;br /&gt;
** Resolved BUG: When saving a report with a file name that already exists then the following message appears in the command shell &amp;quot;Error: cannot make directory&amp;quot; and directory with files is not updated&lt;br /&gt;
** Resolved BUG: Annotation Properties: (Un)selected color is initially white even though widget in 3D viewer is different&lt;br /&gt;
** Resolved BUG: Select Color window does not show the correct color&lt;br /&gt;
** Resolved BUG: Selected and Unselected Color are switched&lt;br /&gt;
** Define Tooltips for fiducial, angle, ruler,report, save mrml button&lt;br /&gt;
** In table: Add proper tool tip for visualization and edit button&lt;br /&gt;
** Resolved BUG: when saving report with out ending html to the file name - icons will not be saved under Linux&lt;br /&gt;
** Created Test Module for testing miAnnotation logic&lt;br /&gt;
** In collaboration with  Nicole Aucoin figured out line display bug in 3D Viewer &lt;br /&gt;
** Use the Kitware slider and colorPicker under Display Property&lt;br /&gt;
** Fixed BUG: Slicer crashes when creating an annotation while Display properties is open, and when closing the property window and then pressing edit for the new annotation&lt;br /&gt;
&lt;br /&gt;
* 03/19/10&lt;br /&gt;
** In the property window display properties are shown via collapsed frame by default&lt;br /&gt;
** List all attributes for text/point/line and implement those that can be modified&lt;br /&gt;
** Fixed BUG: When pressing the property button warning messages pop up in my command shell &lt;br /&gt;
** Annotation Properties: For Angle and Ruler Widget also shows now values of AnnotationDisplayNode and AnnotationControlPointsNode&lt;br /&gt;
** Change design of html report &lt;br /&gt;
** Implemented text edition and update for ruler and angle widgets.&lt;br /&gt;
** Changed the default mouse mode icon to MousePick.&lt;br /&gt;
** Modified Report Dialog to avoid horizontal slider when screen shot is included in the report.&lt;br /&gt;
** Removed multiple warning messages.&lt;br /&gt;
** Fixed Bug in Report: empty text fields are displayed without boundaries &lt;br /&gt;
** Ruler Distance is now displayed just in mm &lt;br /&gt;
** After talking to BWH changed name of tool from Reporting to miAnnotation&lt;br /&gt;
* 03/12/10&lt;br /&gt;
** Created icons for:&lt;br /&gt;
*** edit conditioning for all annotation types (done), &lt;br /&gt;
*** mouse mode icons, pause, play, cancel, ok/done, (Un)lock (done)&lt;br /&gt;
*** new the annotation types poly line, spline with control points, volume information extractor, and sticky note (done)&lt;br /&gt;
*** Modify fiducial icon just to show one star and change save annotation icon  (done)&lt;br /&gt;
*** Modify save annotation and save scene icons (done)&lt;br /&gt;
*** Modify move up/down delete icons (done)&lt;br /&gt;
** Write 5 page, double column, AMIA paper about Reporting&lt;br /&gt;
* 03/05/10&lt;br /&gt;
** Removed Warning Messages when compiling&lt;br /&gt;
** Fixed Bug: When entering text in property box (under linux) it is entered from right to left instead left to right &lt;br /&gt;
** Fixed Bug: Annotation Property: funny behavior with selecting set of digits in a numerical value  and typing in a numeric value - only the first digit gets change.&lt;br /&gt;
** Fixed Bug: Value of Angle node is not update in table&lt;br /&gt;
** Fixed Bug: Updating the value in the table slows down the operations&lt;br /&gt;
** Changed the default ruler from 1mm to 500mm.&lt;br /&gt;
** Angle Widget is added by manually clicking three points on the viewer. The angle value is now shown in the table. The behavior of the angle button is in the &amp;quot;toggle down&amp;quot; state until all three control points are set&lt;br /&gt;
** When selecting annotation in table, color of annotation in 3D Viewer changes to selected color &lt;br /&gt;
** Revised &amp;quot;add ruler&amp;quot; button to click-style instead of toggle-style&lt;br /&gt;
** When creating a new annotation, set this entry to selected and all other table entries to unselected&lt;br /&gt;
** (De) Select All button: change as discussed with Wendy Plesniak, BWH, to option button with proper logic&lt;br /&gt;
** Setting color/selected color for individual Ruler and Angle widgets in property dialog&lt;br /&gt;
** Fixed Bug: hiding/unhiding ruler and angle annotations&lt;br /&gt;
** Change display property for each annotation individually&lt;br /&gt;
** Lots of warning messages when compiling code&lt;br /&gt;
* 02/26/10&lt;br /&gt;
** Created pop up window showing screen shot&lt;br /&gt;
** Manual editing of coordinates via &amp;quot;Property Window&amp;quot;&lt;br /&gt;
** Resolved column width problem in table ([http://wiki.na-mic.org/Wiki/index.php/File:Screenshot-Form.JPG  original problem], [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV2.png second screen shot problem])&lt;br /&gt;
** Fixed bug where hide icon changed size in table&lt;br /&gt;
** Include icons when saving html report in a directory with the same name as the html file&lt;br /&gt;
** [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_GUI.png Reorganized GUI] based on feedback from Wendy Plesniak, BWH  &lt;br /&gt;
** Include screen shots (if any) in the report (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_ReportV1.png an example])&lt;br /&gt;
** Fixed the following bug: After resizing the 3D Window taking a screen shot only displays the window with the original size (see [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Window.png screen shot]) &lt;br /&gt;
** Fixed Bug: Value update of ruler widget is slow &lt;br /&gt;
** Text defined in property box now shows up in table&lt;br /&gt;
** Integrated vtkMRMLAnnotationAngleNode with AngleWidget&lt;br /&gt;
** Added new buttons to create frame based on feedback from BWH &lt;br /&gt;
* 02/19/10 &lt;br /&gt;
** Implement a general structure for vtkMRMLAnnotation*Node&lt;br /&gt;
** Work together with Kitware to resolve QT Table layout problem &lt;br /&gt;
** Allow defining long text annotations for each widget&lt;br /&gt;
** Improve user interaction through pop up windows when trying to modify an existing annotation &lt;br /&gt;
** Creating and removing ruler now works correctly &lt;br /&gt;
** Use correct label format to display measurement values in Annotation Property window &lt;br /&gt;
** Created a &amp;quot;Save annotation&amp;quot; Window&lt;br /&gt;
** Fixed changing icon size in table (see original [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_Table-IconProblem.png screen shot] )&lt;br /&gt;
** Fixed slicer crashing closing the property window &lt;br /&gt;
** Renamed and resized columns in Table&lt;br /&gt;
*02/12/10 removed bugs related to table buttons, linked button to angle widget and ruler widget&lt;br /&gt;
*02/05/10 implemented &amp;quot;Save Annotation Report&amp;quot; button and &amp;quot;Move up/down&amp;quot; buttons; added extra column in the report table for visibility; modified annotation property dialog; implemented button-click in the table.&lt;br /&gt;
*01/29/10 implemented functionality for &amp;quot;Annotation Property Modification&amp;quot; button, &amp;quot;Create Report&amp;quot; button, and integrated new icons for buttons.&lt;br /&gt;
*01/22/10 Set up the source control for the reporting module; implemented functionality for &amp;quot;Select All&amp;quot; button, &amp;quot;Visible&amp;quot; button, and &amp;quot;Delete&amp;quot; button in the GUI; created new icons for buttons&lt;br /&gt;
*01/15/10 Organized biweekly Tcon &lt;br /&gt;
*01/08/10 Participated in all week All Hands Meeting in Utah; Expanded QT interface with functionality to set seeds in images; Defined a final MRML Structure for storing annotation.  &lt;br /&gt;
*01/01/10 Generated a [[Media:SlicerAM QtAnnotation.png | GUI interface]] via QT for the annotation module. [[Projects:ARRA:SlicerAM#Widget_related_action_items | Reviewed ]] all VTK Widgets related to annotation.  &lt;br /&gt;
*12/25/09 Created [[ 2010_Winter_Project_Week_mComment | project ]] and organized [[ AHM2010:AnnotationBreakout | break out session ]] at AHM meeting. Coordinated efforts with BWH team in preparation of the meeting. &lt;br /&gt;
*12/18/09 Held workshop to integrate AMI into 3D Slicer. Hired new person to implement AMI in Slicer.   &lt;br /&gt;
*12/11/09 [[ Projects:ARRA:SlicerAM_RSNA09Report | Summary ]] of tools demoed at RSNA &lt;br /&gt;
*12/04/09 Visited RSNA to review annotation tools by GE, Siemens &amp;amp;  Phillips. Connected to caBIG AIM project to see how we can make use of their data scheme &lt;br /&gt;
*11/29/09 Created GUI for MarkUp module  &lt;br /&gt;
*11/20/09 Design MRML Structure of Annotation and MarkUp Module&lt;br /&gt;
*11/13/09 Organize [[Dec-2009-SlicerAIMBrainstorming | Annotation Brain Storming]] Session&lt;br /&gt;
*11/06/09 Designed User Interface , Meet with Julien Finet and Jean-Christophe Fillion-Robin from Kitware to discuss integration of Qt in 3D Slicer&lt;br /&gt;
*10/30/09 Participated in Qt-Tcon, Interviewed candidate at Almaden, coordinated efforts with Nicole Aucoin &lt;br /&gt;
*10/23/09 Organized onsite interview , got in contact with Steve Pieper to discuss next steps, installed Slicer3&lt;br /&gt;
*10/17/09 Started interviewing postdoc as well as solving several HR issues for hiring personal&lt;br /&gt;
&lt;br /&gt;
= Feature Request =&lt;br /&gt;
== KW Widgets ==&lt;br /&gt;
* For further detail go [[ Projects:ARRA:SlicerAM:KWWidgets | here ]]&lt;br /&gt;
&lt;br /&gt;
== QT Related ==&lt;br /&gt;
* Submit bugs and feature request via [http://na-mic.org/Mantis/search.php?project_id=1&amp;amp;category=QtGUI&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=90  Mantis]&lt;br /&gt;
*  Feature requests that may open discussions can be added [http://wiki.slicer.org/slicerWiki/index.php/Slicer3:Developers:Projects:QtSlicer/OpenDiscussions  here]&lt;br /&gt;
&lt;br /&gt;
== Yong ==&lt;br /&gt;
* Major&lt;br /&gt;
** define functionality for the following buttons: &lt;br /&gt;
*** mouse mode status icon&lt;br /&gt;
*** radio button with play and pause, cancel, done&lt;br /&gt;
** define functionality for the info extractor button which will be a option button that displays all volume nodes -&amp;gt; you select the node to extract the info from the header =&amp;gt; annotation is displayed in pop up window (similar to sticky node)&lt;br /&gt;
** Save the view with the annotation it was last time modified in the 3D viewer&lt;br /&gt;
** put options for screen capture into new screen capture pop window  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minor &lt;br /&gt;
** Turn Screen Capture button into option button with options:  Active viewer, All viewer, slicer window - by default last action  &lt;br /&gt;
** Fiducial button: put label under button (after click on) what to do next such as setting seeds in 3D window &lt;br /&gt;
** Create a Slicer widget for a multi column list with convenience button that we currently have - have options for making them visible or not  &lt;br /&gt;
** Combine move up and down button into one option button which shows the last action (up or down) by default&lt;br /&gt;
** Create window showing volume tab when pressing Adjust Volume Properties&lt;br /&gt;
** Show current mouse behavior on mouse behavior button - also show menu to change mouse behavior - use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Show options in Change Viewer Layout use [http://qt.nokia.com/doc/4.6/qpushbutton.html#setMenu QPushButton::setMenu() ] &lt;br /&gt;
** Generate testscript to interactively test various widgets and GUI elements&lt;br /&gt;
** create local copy of the doxygen file using getbuildtest.tcl --no-slicer-update -doxy&lt;br /&gt;
&lt;br /&gt;
* Not Important&lt;br /&gt;
** Have text field in table to fill out space also when changing size of window (see current [http://wiki.na-mic.org/Wiki/index.php/File:ARRA_SlicerAM_Screenshot_TableV3.png screen shot] )  &lt;br /&gt;
*** Yong: this requires a re-design of the resizeEvent() of the QTableWidget, do we really need to do it?&lt;br /&gt;
** BUG: When saving a report with a file name without html extension the save window will check for the existence of that file name instead of the file name + .html&lt;br /&gt;
*** Yong: tried but cannot fix it unless go into the QFileDialog source code, it is recommended to include the extension name when using in Linux.&lt;br /&gt;
&lt;br /&gt;
== Kilian ==&lt;br /&gt;
* investigate vtkMRMLHierarchicalModelNode for annotations&lt;br /&gt;
&lt;br /&gt;
== Wendy ==&lt;br /&gt;
* Extend the Save Data Widget API to display one data type and hide save options&lt;br /&gt;
== Steve ==&lt;br /&gt;
* Bug: Ruler still visible in 2D window after pressing hide button. This bug has been reported to Mantis http://na-mic.org/Mantis/view.php?id=760&lt;br /&gt;
* For compiling Slicer3 in windows OS, has to use &amp;quot;SET PYTHON OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Julien / JC ==&lt;br /&gt;
* BUG: When pressing save button reporting module is replaced with last module visited before: an email is sent to report the issue to Julien and JC.&amp;lt;BR&amp;gt;&lt;br /&gt;
Mar 02: Work around : go to File-&amp;gt; Load Scene-&amp;gt; Cancel&lt;br /&gt;
&lt;br /&gt;
== Nicole ==&lt;br /&gt;
Mar 02: Adding SeedWidget to Reporting Module - Nicole is waiting for the integration of the new Vtk version into Slicer&lt;br /&gt;
&lt;br /&gt;
== Karthik Krishnan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolved ==&lt;br /&gt;
&lt;br /&gt;
= Display Properties of Widgets =&lt;br /&gt;
* Unavailable / Unknown:&lt;br /&gt;
** Set text colors for Ruler and Angle Widget &lt;br /&gt;
** Get/Set glyph scale / point size for point display node&lt;br /&gt;
** Get/Set text opacity/ambient/diffuse/specular from text display node  &lt;br /&gt;
** Color of &amp;quot;angle line&amp;quot; cannot be defined  &lt;br /&gt;
* Available:&lt;br /&gt;
** Get/Set text colors from display node&lt;br /&gt;
** Get/Set text scale from display node&lt;br /&gt;
** Get/Set point colors from point display node&lt;br /&gt;
** Get/Set point opacity/ambient/diffuse/specular from point display node&lt;br /&gt;
** Get/Set line colors from line display node&lt;br /&gt;
** Get/Set line width/opacity/ambient/diffuse/specular from line display node&lt;br /&gt;
** Get text format for angle and ruler&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53564</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53564"/>
		<updated>2010-06-09T01:02:32Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Acknowledgment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
miAnnotation is not part of Slicer3.6. To use the module, you have to use the trunk version of the Slicer3.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkSlicermiAnnotationModuleLogicTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationPointDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLineDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleNodeTest1.cxx&lt;br /&gt;
* qSlicermiAnnotationModuleAnnotationPropertyDialogTest1.cxx&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/QTModules/miAnnotation/&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is supported by an ARRA supplement to the Neuroimage Analysis Center (NAC), an NCRR Resource Center, NIH NCRR grant P41 RR13218. &lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005419.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53563</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53563"/>
		<updated>2010-06-09T01:01:55Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Source code &amp;amp; documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
miAnnotation is not part of Slicer3.6. To use the module, you have to use the trunk version of the Slicer3.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkSlicermiAnnotationModuleLogicTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationPointDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLineDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleNodeTest1.cxx&lt;br /&gt;
* qSlicermiAnnotationModuleAnnotationPropertyDialogTest1.cxx&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/QTModules/miAnnotation/&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53562</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53562"/>
		<updated>2010-06-09T01:00:52Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
miAnnotation is not part of Slicer3.6. To use the module, you have to use the trunk version of the Slicer3.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkSlicermiAnnotationModuleLogicTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationRulerNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationPointDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLinesNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationLineDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationFiducialNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationDisplayNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationControlPointsNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleStorageNodeTest1.cxx&lt;br /&gt;
* vtkMRMLAnnotationAngleNodeTest1.cxx&lt;br /&gt;
* qSlicermiAnnotationModuleAnnotationPropertyDialogTest1.cxx&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53561</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53561"/>
		<updated>2010-06-09T00:57:17Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Notes from the Developer(s) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
miAnnotation is not part of Slicer3.6. To use the module, you have to use the trunk version of the Slicer3.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53560</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53560"/>
		<updated>2010-06-09T00:55:51Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Importing Lists into a Spreadsheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53559</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53559"/>
		<updated>2010-06-09T00:55:36Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Loading and Saving Lists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53558</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53558"/>
		<updated>2010-06-09T00:54:08Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53557</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53557"/>
		<updated>2010-06-09T00:53:45Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|280px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|280px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|280px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MRML.jpg&amp;diff=53556</id>
		<title>File:MiAnnotation-MRML.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MRML.jpg&amp;diff=53556"/>
		<updated>2010-06-09T00:53:11Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: uploaded a new version of &amp;quot;File:MiAnnotation-MRML.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-HTML.jpg&amp;diff=53555</id>
		<title>File:MiAnnotation-HTML.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-HTML.jpg&amp;diff=53555"/>
		<updated>2010-06-09T00:52:48Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MRML.jpg&amp;diff=53554</id>
		<title>File:MiAnnotation-MRML.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MRML.jpg&amp;diff=53554"/>
		<updated>2010-06-09T00:51:47Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Screenshot.jpg&amp;diff=53553</id>
		<title>File:MiAnnotation-Screenshot.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Screenshot.jpg&amp;diff=53553"/>
		<updated>2010-06-09T00:51:31Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53552</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53552"/>
		<updated>2010-06-09T00:51:17Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*Save screen shot&lt;br /&gt;
*Save entire MRML structure&lt;br /&gt;
*Save HTML&lt;br /&gt;
|[[Image:miAnnotation-Screenshot.jpg|thumb|560px|Save Screen Shot]]&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|560px|Save MRML Structure]]&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|560px|Save HTML Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53551</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53551"/>
		<updated>2010-06-09T00:48:26Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
* '''Save Annotations''':&lt;br /&gt;
**Save screen shot&lt;br /&gt;
[[Image:miAnnotation-Screenshot.jpg|thumb|560px|Save Screen Shot]]&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
[[Image:miAnnotation-MRML.jpg|thumb|560px|Save MRML Structure]]&lt;br /&gt;
**Save HTML&lt;br /&gt;
[[Image:miAnnotation-HTML.jpg|thumb|560px|Save HTML Format]]&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Lock.jpg&amp;diff=53550</id>
		<title>File:MiAnnotation-Lock.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Lock.jpg&amp;diff=53550"/>
		<updated>2010-06-09T00:45:05Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Visibility.jpg&amp;diff=53549</id>
		<title>File:MiAnnotation-Visibility.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Visibility.jpg&amp;diff=53549"/>
		<updated>2010-06-09T00:44:51Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53548</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53548"/>
		<updated>2010-06-09T00:44:36Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''Edit annotation table''':&lt;br /&gt;
** Click hide/unhide icon [[File:miAnnotation-Visibility.jpg]] to hide and unhide a single annotation in the viewers&lt;br /&gt;
** Click lock/unlock icon [[File:miAnnotation-Lock.jpg]] to lock and unlock a single annotation in the viewers to enable and disable the user interaction&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53547</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53547"/>
		<updated>2010-06-09T00:40:50Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''miAnnotation Main Panel''':&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53546</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53546"/>
		<updated>2010-06-09T00:39:39Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
miAnnotation Main Panel:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53545</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53545"/>
		<updated>2010-06-09T00:39:25Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
miAnnotation Main Panel:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MainPanel.jpg&amp;diff=53544</id>
		<title>File:MiAnnotation-MainPanel.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-MainPanel.jpg&amp;diff=53544"/>
		<updated>2010-06-09T00:38:59Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53543</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53543"/>
		<updated>2010-06-09T00:38:00Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
miAnnotation Main Panel:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
|[[Image:miAnnotation-MainPanel.jpg|thumb|560px|Main Panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53542</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53542"/>
		<updated>2010-06-09T00:37:17Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
miAnnotation Main Panel:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Upper Panel:'''&lt;br /&gt;
**8 different annotation types&lt;br /&gt;
**controls for mouse modes&lt;br /&gt;
* '''Middle Panel:'''&lt;br /&gt;
**A table contains all annotations&lt;br /&gt;
**Edit annotation properties&lt;br /&gt;
**Edit annotation table&lt;br /&gt;
* '''Lower Panel:'''&lt;br /&gt;
**Save as text format&lt;br /&gt;
**Save screen shot&lt;br /&gt;
**Save entire MRML structure&lt;br /&gt;
**Save report as HTML format&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[Image:Slicer3.6MeasurementsRulerGUI.jpg|thumb|280px|Ruler User Interface]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53541</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53541"/>
		<updated>2010-06-09T00:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Ruler Widget panel:'''&lt;br /&gt;
**'''Modify All Ruler Nodes panel'''&lt;br /&gt;
***Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.&lt;br /&gt;
***Delete all ruler nodes from the scene.&lt;br /&gt;
***Generate Report: saves basic information about all rulers in the scene to a file on disk (distance, position, annotation). If a CSV (comma separated value) format is chosen, the information is separated by commas, if .txt is chosen, the information is separated by tabs.&lt;br /&gt;
**'''Modify Selected Ruler Node panel'''&lt;br /&gt;
***Ruler Node Select: create a new ruler node, show the parameters of a previously created ruler node, delete or rename a ruler node&lt;br /&gt;
***Distance: the distance between the end points of the current ruler, updated as the end points move.&lt;br /&gt;
***The next two rows of icons correspond to the two end points:&lt;br /&gt;
****End Point Color: set the color used to show the ruler end point&lt;br /&gt;
****Constraint: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.&lt;br /&gt;
***'''Display Options'''&lt;br /&gt;
|[[Image:Slicer3.6MeasurementsRulerGUI.jpg|thumb|280px|Ruler User Interface]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53540</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53540"/>
		<updated>2010-06-09T00:34:34Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Ruler Widget panel:'''&lt;br /&gt;
**'''Modify All Ruler Nodes panel'''&lt;br /&gt;
***Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.&lt;br /&gt;
***Delete all ruler nodes from the scene.&lt;br /&gt;
***Generate Report: saves basic information about all rulers in the scene to a file on disk (distance, position, annotation). If a CSV (comma separated value) format is chosen, the information is separated by commas, if .txt is chosen, the information is separated by tabs.&lt;br /&gt;
**'''Modify Selected Ruler Node panel'''&lt;br /&gt;
***Ruler Node Select: create a new ruler node, show the parameters of a previously created ruler node, delete or rename a ruler node&lt;br /&gt;
***Distance: the distance between the end points of the current ruler, updated as the end points move.&lt;br /&gt;
***The next two rows of icons correspond to the two end points:&lt;br /&gt;
****End Point Color: set the color used to show the ruler end point&lt;br /&gt;
****Constraint: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.&lt;br /&gt;
***'''Display Options'''&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53539</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53539"/>
		<updated>2010-06-09T00:33:23Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
Annotated GUI layout: (see below for a detailed description of each element, listed by panel.)&lt;br /&gt;
* '''Ruler Widget panel:'''&lt;br /&gt;
**'''Modify All Ruler Nodes panel'''&lt;br /&gt;
***Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.&lt;br /&gt;
***Delete all ruler nodes from the scene.&lt;br /&gt;
***Generate Report: saves basic information about all rulers in the scene to a file on disk (distance, position, annotation). If a CSV (comma separated value) format is chosen, the information is separated by commas, if .txt is chosen, the information is separated by tabs.&lt;br /&gt;
**'''Modify Selected Ruler Node panel'''&lt;br /&gt;
***Ruler Node Select: create a new ruler node, show the parameters of a previously created ruler node, delete or rename a ruler node&lt;br /&gt;
***Distance: the distance between the end points of the current ruler, updated as the end points move.&lt;br /&gt;
***The next two rows of icons correspond to the two end points:&lt;br /&gt;
****End Point Color: set the color used to show the ruler end point&lt;br /&gt;
****Constraint: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.&lt;br /&gt;
***'''Display Options'''&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53538</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53538"/>
		<updated>2010-06-09T00:33:08Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
Annotated GUI layout: (see below for a detailed description of each element, listed by panel.)&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Ruler Widget panel:'''&lt;br /&gt;
**'''Modify All Ruler Nodes panel'''&lt;br /&gt;
***Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.&lt;br /&gt;
***Delete all ruler nodes from the scene.&lt;br /&gt;
***Generate Report: saves basic information about all rulers in the scene to a file on disk (distance, position, annotation). If a CSV (comma separated value) format is chosen, the information is separated by commas, if .txt is chosen, the information is separated by tabs.&lt;br /&gt;
**'''Modify Selected Ruler Node panel'''&lt;br /&gt;
***Ruler Node Select: create a new ruler node, show the parameters of a previously created ruler node, delete or rename a ruler node&lt;br /&gt;
***Distance: the distance between the end points of the current ruler, updated as the end points move.&lt;br /&gt;
***The next two rows of icons correspond to the two end points:&lt;br /&gt;
****End Point Color: set the color used to show the ruler end point&lt;br /&gt;
****Constraint: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.&lt;br /&gt;
***'''Display Options'''&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53537</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53537"/>
		<updated>2010-06-09T00:32:23Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Quick Tour of Features and Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
Annotated GUI layout: (see below for a detailed description of each element, listed by panel.)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Ruler Widget panel:'''&lt;br /&gt;
**'''Modify All Ruler Nodes panel'''&lt;br /&gt;
***Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.&lt;br /&gt;
***Delete all ruler nodes from the scene.&lt;br /&gt;
***Generate Report: saves basic information about all rulers in the scene to a file on disk (distance, position, annotation). If a CSV (comma separated value) format is chosen, the information is separated by commas, if .txt is chosen, the information is separated by tabs.&lt;br /&gt;
**'''Modify Selected Ruler Node panel'''&lt;br /&gt;
***Ruler Node Select: create a new ruler node, show the parameters of a previously created ruler node, delete or rename a ruler node&lt;br /&gt;
***Distance: the distance between the end points of the current ruler, updated as the end points move.&lt;br /&gt;
***The next two rows of icons correspond to the two end points:&lt;br /&gt;
****End Point Color: set the color used to show the ruler end point&lt;br /&gt;
****Constraint: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.&lt;br /&gt;
***'''Display Options'''&lt;br /&gt;
****Visibility: if the eye is open, this ruler is visible, if it is closed, this ruler is invisible. Click on it to toggle the state.&lt;br /&gt;
****Line Color: set the color used to show the ruler line&lt;br /&gt;
****Annotation Color: set the color used to show the distance annotation text &lt;br /&gt;
****Distance Annotation Visibility: if the eye is open, show the distance in mm between the end points along the line, if the eye is closed, hide the distance annotation text. Click on the icon to toggle the state.&lt;br /&gt;
****Standard Annotation Formats: a drop down menu allowing you to choose standard formatting strings for the annotation text. It will over ride any current entries in the Distance Annotation Format box. &lt;br /&gt;
*****1 decimal&lt;br /&gt;
*****0 decimals&lt;br /&gt;
*****2 decimals&lt;br /&gt;
*****Scientific Notation&lt;br /&gt;
****Distance Annotation Format: how to display the distance annotation, use string formatting strings, %g for an auto formatted floating point, %.2f to show two decimal places. Any text is allowed, defaults to mm (millimeters). Please see the following [http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/ link] for more info about formatting options.&lt;br /&gt;
****Distance Annotation Scale: how large to render the distance annotation text&lt;br /&gt;
|[[Image:Slicer3.6MeasurementsRulerGUI.jpg|thumb|280px|Ruler User Interface]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* '''Angle Widget panel:'''&lt;br /&gt;
**'''Modify All Angle Nodes panel:'''&lt;br /&gt;
***Select the visibility of all angle nodes. Set all angles invisible or set all angles visible.&lt;br /&gt;
***Delete all angle nodes.&lt;br /&gt;
**'''Modify Selected Angle Node panel:'''&lt;br /&gt;
***Angle Node Select: create a new angle node, show the parameters of a previously created angle node, delete or rename an angle&lt;br /&gt;
***Angle: the angle between the rays of the current ruler, updated as the end points move. In degrees.&lt;br /&gt;
***The next three rows of widgets refer to the three end points that make up the angle, first, center, second:&lt;br /&gt;
****Set End Point Color: set the colour used to show the angle end point&lt;br /&gt;
****Constraint: constrain the motion of the angle end points to be on the surface of the selected model or volume slice plane. In order to get the end points of the angle to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.&lt;br /&gt;
****Position: angle point positions, updates when the angle handles are moved in 3D, and can be used to update the points by typing in a value.&lt;br /&gt;
***'''Display Options:'''&lt;br /&gt;
****Visibility: if the eye is open, this angle is visible, if it is closed, this angle is invisible. Click on it to toggle the state. &lt;br /&gt;
****Line Color: set the color used to show the angle lines&lt;br /&gt;
****Text Color: set the color used to show the angle annotation text&lt;br /&gt;
****Ray visibility: toggle visibility for the two rays that make up the angle. If the eye is open, this ray is visible, if it is closed, this ray is invisible. Click on it to toggle the state. The first ray is from the first point to the center point, the second ray is from the second point to the center point.&lt;br /&gt;
****Arc Visibility: If the eye is open, show the arc between the two angle arms. If it is close, the arc is invisible. Click on it to toggle the state.&lt;br /&gt;
****Arc Color: set the color used to show the arc between the rays.&lt;br /&gt;
****Standard Annotation Formats: a drop down menu allowing you to choose standard formatting strings for the annotation text. It will over ride any current entries in the Distance Annotation Format box. &lt;br /&gt;
*****0 decimals&lt;br /&gt;
*****1 decimal&lt;br /&gt;
*****2 decimals&lt;br /&gt;
****Angle Annotation Format: how to display the angle annotation, use string formatting strings, %g for an auto formatted floating point, %.2f to show two decimal places. Any text is allowed after the numerical specification. The angle is in degrees. Please see the following [http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/ link] for more info about formatting options. &lt;br /&gt;
****Angle Annotation Scale: how large to render the angle annotation text&lt;br /&gt;
|[[Image:Slicer3.6MeasurementsAngleGUI.jpg|thumb|280px|Angle User Interface]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53536</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53536"/>
		<updated>2010-06-09T00:27:46Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial (coming soon)&lt;br /&gt;
* Data Set (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
Annotated GUI layout: (see below for a detailed description of each element, listed by panel.)&lt;br /&gt;
&lt;br /&gt;
[[Image:UIDesignSlicer3.4FiducialsGUIDraft5Anno.png]]&lt;br /&gt;
&lt;br /&gt;
* '''Modify All Fiducial Lists &amp;amp; Their Fiducial Points panel:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsModifyAllPanel-3.4.png]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | '''Global Control of Fiducial Lists''' icons.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Image:SlicerFiducialListsSelectAll-3.4.png]] Select all fiducial points from all lists.&lt;br /&gt;
| [[Image:SlicerFiducialListsSelectNone-3.4.png]] Deselect all fiducial points from all lists.&lt;br /&gt;
| [[image:SlicerFiducialListsDeleteAll-3.4.png]] Delete all fiducials lists and the fiducials they contain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:SlicerHideExposeAllFiducialLists-3.4.png]] Hide or expose all fiducial lists (preserve fiducial visibility settings).&lt;br /&gt;
| [[Image:SlicerLockOrUnlock.png]] Lock or unlock all fidicuial lists so that they cannot or can be moved in 3D.&lt;br /&gt;
| [[Image:SlicerVisibleOrInvisible.png]] Set visibility on all fiducials in all fiducial lists (preserve hide/expose settings).&lt;br /&gt;
|}&lt;br /&gt;
* '''Modify a Selected Fiducial List &amp;amp; Its Fiducials panel:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[Image:SlicerFiducialListDisplayPanelCollapsed-3.4.png]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | '''Control a Selected List''' icons&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Image:SlicerHideFiducialList.png]] [[Image:SlicerExposeFiducialList.png]] Hide or expose the selected fiducial list (preserves fiducial visibility settings)&lt;br /&gt;
| [[Image:SlicerFiducialListLock-3.4.png]] [[Image:SlicerFiducialListUnlock-3.4.png]] Lock or unlock the selected fiducial list.&lt;br /&gt;
| [[Image:SlicerVisibleOrInvisible.png]] Set visibility on all fiducials in the selected list&lt;br /&gt;
| [[Image:SlicerDeleteFiducialList-3.4.png]] Delete all fiducial points in the selected list and then delete the list.&lt;br /&gt;
|}&lt;br /&gt;
* '''Add and Modify Individual Fiducials panel:'''&lt;br /&gt;
You can reset the positions of the fiducials in the table that appears in the Add, Configure and Delete section of the Fiducials GUI. &lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsAddModifyIndividualFiducials-3.4.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | '''Add &amp;amp; Modify Individual Fiducials''' icons.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[image:SlicerFiducialsSelectAllInList-3.4.png]] Select all fiducial points from this fiducial list.&lt;br /&gt;
| [[image:SlicerFiducialsSelectNoneInList-3.4.png]] Deselect all fiducial points from this fiducial list.&lt;br /&gt;
| [[Image:SlicerFiducialsAddNew-3.4.jpg]] Add a fiducial point to the current fiducial list, at (0,0,0).&lt;br /&gt;
| [[Image:SlicerFiducialsUp.png]] Move last clicked fiducial up one in the list.&lt;br /&gt;
| [[Image:SlicerFiducialsDown.png]] Move last clicked fiducial down one in the list.&lt;br /&gt;
|-&lt;br /&gt;
| [[image:SlicerFiducialsDeleteLastClicked-3.4.png]] Delete the last fiducial that was clicked on in the table.&lt;br /&gt;
| [[image:SlicerFiducialsDeleteAll-3.4.png]] Delete all fiducial points from this fiducial list.&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot;| [[Image:SlicerFiducialsListBox-3.4.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| '''Selected''': flag set to checked if this fiducial is selected&lt;br /&gt;
|- &lt;br /&gt;
| '''Visible''' : icon set to an open eye if this fiducial is visible, close if invisible.&lt;br /&gt;
|-&lt;br /&gt;
| '''Name''': text to be displayed at this fiducial location&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' : X axis location of this fiducial, corresponding to R in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Y''' : Y axis location of this fiducial, corresponding to A in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Z''' : Z axis location of this fiducial, corresponding to S in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Locked''' : icon set to a closed lock if this fiducial is locked&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsDistance-3.6.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| '''Distance''': distance between first two selected fiducials, updated as selection changes and fiducials are moved.&lt;br /&gt;
|-&lt;br /&gt;
| '''List Distance''': distance between all selected fiducials in list, updated as selection changes and fiducials are moved.&lt;br /&gt;
|-&lt;br /&gt;
| '''Renumber Fiducials''': Renumber the fiducials in this list. Removes any numbers from the ends of the labels and then appends a number denoting the current place in the list, starting from entered value, 0 if none. Note: does not affect the auto name generation for the next added fiducial.&lt;br /&gt;
| '''Rename Fiducials''': Rename the fiducials in this list. Preserves any numbers at the end of the labels. Note: does not affect the auto name generation for the next added fiducial - change the list name from the node selector.&lt;br /&gt;
|-&lt;br /&gt;
| '''Numbering Scheme''': Set the numbering scheme used to assign integers to the next added fiducial in the list. UseID uses the point ID, UseIndex uses the list index of the point, UsePrevious increments the number at the end of the previous point.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Click on a value and hit the 'Enter' key (or double click) on one of the X, Y, or Z position values to edit it manually. You can do the same on the fiducial name to change it. The default name is generated from the name of the list, which can be changed in the Data Module.&lt;br /&gt;
&lt;br /&gt;
The distance between the first two selected fiducials in the list will be computed automatically and appear in a label below the list of fiducials. This distance is in milimetres.&lt;br /&gt;
&lt;br /&gt;
To align slices with fiducials, move the fiducial while holding down the Control key. You can use the '`' (backtick) key to jump to the next fiducial, Control-` to jump backwards through the list.&lt;br /&gt;
&lt;br /&gt;
Use the backspace or delete key to delete a fiducial over which you are hovering in 2D. &lt;br /&gt;
&lt;br /&gt;
Argument Lists: Fiducials can be passed as a list of points to a command line module, for example to do ACPC registration. Only the points that are selected in the list are passed to the command line module, so you can adjust which points are used for calculating the output. &lt;br /&gt;
&lt;br /&gt;
* '''Other List Display Properties panel:'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot;| [[Image:SlicerFiducialListDisplayPanelExpanded-3.4.png]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Glyph Type''': Select the glyph used to represent this point in 3D. There is a long list of glyph types available, each list can have a different glyph type, as well as colour and size properties. The default is the 2D starburst, but 3D glyphs are also available. &lt;br /&gt;
&lt;br /&gt;
[[Image:FiducialsGlyphTypes.jpg]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Selected Color''': Select the color used to represent the fiducials when they are selected.&lt;br /&gt;
|-&lt;br /&gt;
| '''Unselected Color''': Select the color used to represent the fiducials when they are not selected.&lt;br /&gt;
|- &lt;br /&gt;
| '''Glyph Scale''': Select the scale of the glyph. For the 3d glyphs (Sphere and Diamond3D), 1 corresponds to 1mm in diameter.&lt;br /&gt;
|-&lt;br /&gt;
| '''Text Scale''': Select the scale of the fiducial label text.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opacity''': Select the opacity of the fiducial glyph and text. 0 = invisible.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ambient''': Set the ambient material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Diffuse''': Set the diffuse material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Specular''': Set the specular material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Power''': Set the power material property for the fiducial glyph.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following image shows what these types of glyphs look like in 3D:&lt;br /&gt;
[[image:SlicerFiducialsGlyphs3D-3.4.jpg]]&lt;br /&gt;
&lt;br /&gt;
and in 2D (the 3D glyphs default to a star burst in 2D):&lt;br /&gt;
[[Image:SlicerFiducialsGlyphs2D-3.4.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53535</id>
		<title>Annotation Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=Annotation_Documentation&amp;diff=53535"/>
		<updated>2010-06-09T00:27:14Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerAM Return to miAnnotation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===miAnnotation===&lt;br /&gt;
miAnnotation (Medical Image Annotation)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:miAnnotation-GUI.jpg|thumb|560px|GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: Interactive&lt;br /&gt;
&lt;br /&gt;
Category: Base &lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Kilian Pohl: pohl@csail.mit.edu&lt;br /&gt;
* Yong Zhang: yzhang@bwh.harvard.edu&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
The miAnnotation Module is designed for users to annotate medical images to capture information latent in the scans.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Eight (8) different types of annotations can be created in the following ways:&lt;br /&gt;
&lt;br /&gt;
*Region Of Interest (ROI): Click on the ROI Icon [[File:miAnnotation-ROI.jpg]] on the middle panel of the miAnnotation main panel, a new ROI annotation will then be created on the right-hand-side 3D view. There are seven (7) control points on the ROI annotation for the user to interact with. The six (6) control points located on the six surface of the ROI box can be dragged using mouse left-button to enlarge or shrink the box. The one (1) control point located in the center of the box can be dragged using mouse left-button to relocate the box in the 3D view. A new ROI entry will also be created in the annotation table. The properties of the ROI annotation can be edited by clicking the edit icon [[File:miAnnotation-EditROI.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Text: Click on the text Icon [[File:miAnnotation-text.jpg]] on the middle panel of the miAnnotation main panel, a new text annotation will then be created on the right-hand-side 3D view. The default location of the new text annotation is on the bottom left corner of the viewer. The user can move the text annotation to any other locations by clicking and dragging the text annotation using the mouse middle-button. A new text entry will also be created in the annotation table. The content of the text annotation can be edited from the entry in the annotation table. The properties of the text annotation can be edited by clicking the edit icon [[File:miAnnotation-EditText.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Ruler: Click on the ruler Icon [[File:miAnnotation-ruler.jpg]] on the middle panel of the miAnnotation main panel, a new ruler annotation will then be created on the right-hand-side 3D view. The default location of the new ruler annotation is in the middle of the viewer spanned from left to right. The user can click and drag any one of the two control points of the ruler annotation to interact with it. A new ruler entry will also be created in the annotation table. The value of the ruler measurement can be automatically updated when the user interact with the ruler. The properties of the ruler annotation can be edited by clicking the edit icon [[File:miAnnotation-EditRuler.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Angle: Click on the angle Icon [[File:miAnnotation-angle.jpg]] on the middle panel of the miAnnotation main panel, a new angle annotation will then be initialized on the right-hand-side 3D view. The users are required to manually click three (3) times in the 3D viewer using mouse left-button to create the real angle annotation. After creating the angle annotation, the user can click and drag any one of the three control points of the angle annotation to interact with it. A new angle entry will also be created in the annotation table. The value of the angle measurement can be automatically updated when the user interact with the angle. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditAngle.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Fiducial: Click on the fiducial Icon [[File:miAnnotation-point.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in any of the 2D viewers using mouse left-button to create a new fiducial annotation. The new annotation will also be displayed in the 3D viewer. After creating the annotation, the user can click and drag it to interact with it. A new fiducial entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPoint.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Bidimensional Lines: Click on the bidimensional lines Icon [[File:miAnnotation-Polyline.jpg]] on the middle panel of the miAnnotation main panel, then the users are required to manually click in the 3D viewers using mouse left-button to create two lines. These two lines are automatically orthogonal. After creating the annotation, the user can click and drag any of the four control points to interact with it. A new bidimensional line entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditPolyline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Spline: Click on the spline Icon [[File:miAnnotation-Spline.jpg]] on the middle panel of the miAnnotation main panel, then a new spline annotation point is created right in the center of the 3d viewer. The users are able to manually click and drag the spline point using mouse left-button to other locations in the 3D viewer. Up to five (5) points can be clicked and dragged from the initial location of the spline annotation. After creating the annotation, the user can click and drag any of the five control points to form different splines to fit their needs. Or the user can click and drag the entire spline annotation to move it as a whole. A new spline entry will also be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditSpline.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
*Sticky Note: Click on the stick note Icon [[File:miAnnotation-Note.jpg]] on the middle panel of the miAnnotation main panel, then a new stick note is created. There are no displays of the note in any of the 2D or 3D viewers. After creating the annotation, a new sticky note entry will be created in the annotation table. The properties of the annotation can be edited by clicking the edit icon [[File:miAnnotation-EditNote.jpg]] in the annotation table.&lt;br /&gt;
&lt;br /&gt;
===Use Cases, Examples===&lt;br /&gt;
&lt;br /&gt;
This module is especially appropriate for these use cases:&lt;br /&gt;
&lt;br /&gt;
* Use Case 1: This module is useful for basic measurements of volume, area, length, angle.&lt;br /&gt;
* Use Case 2: Use eight different annotations to annotate medical images.&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
Links to tutorials explaining how to use this module:&lt;br /&gt;
&lt;br /&gt;
* Tutorial 1 (coming soon)&lt;br /&gt;
** Data Set 1 (coming soon)&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
Annotated GUI layout: (see below for a detailed description of each element, listed by panel.)&lt;br /&gt;
&lt;br /&gt;
[[Image:UIDesignSlicer3.4FiducialsGUIDraft5Anno.png]]&lt;br /&gt;
&lt;br /&gt;
* '''Modify All Fiducial Lists &amp;amp; Their Fiducial Points panel:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsModifyAllPanel-3.4.png]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | '''Global Control of Fiducial Lists''' icons.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Image:SlicerFiducialListsSelectAll-3.4.png]] Select all fiducial points from all lists.&lt;br /&gt;
| [[Image:SlicerFiducialListsSelectNone-3.4.png]] Deselect all fiducial points from all lists.&lt;br /&gt;
| [[image:SlicerFiducialListsDeleteAll-3.4.png]] Delete all fiducials lists and the fiducials they contain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:SlicerHideExposeAllFiducialLists-3.4.png]] Hide or expose all fiducial lists (preserve fiducial visibility settings).&lt;br /&gt;
| [[Image:SlicerLockOrUnlock.png]] Lock or unlock all fidicuial lists so that they cannot or can be moved in 3D.&lt;br /&gt;
| [[Image:SlicerVisibleOrInvisible.png]] Set visibility on all fiducials in all fiducial lists (preserve hide/expose settings).&lt;br /&gt;
|}&lt;br /&gt;
* '''Modify a Selected Fiducial List &amp;amp; Its Fiducials panel:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[Image:SlicerFiducialListDisplayPanelCollapsed-3.4.png]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | '''Control a Selected List''' icons&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Image:SlicerHideFiducialList.png]] [[Image:SlicerExposeFiducialList.png]] Hide or expose the selected fiducial list (preserves fiducial visibility settings)&lt;br /&gt;
| [[Image:SlicerFiducialListLock-3.4.png]] [[Image:SlicerFiducialListUnlock-3.4.png]] Lock or unlock the selected fiducial list.&lt;br /&gt;
| [[Image:SlicerVisibleOrInvisible.png]] Set visibility on all fiducials in the selected list&lt;br /&gt;
| [[Image:SlicerDeleteFiducialList-3.4.png]] Delete all fiducial points in the selected list and then delete the list.&lt;br /&gt;
|}&lt;br /&gt;
* '''Add and Modify Individual Fiducials panel:'''&lt;br /&gt;
You can reset the positions of the fiducials in the table that appears in the Add, Configure and Delete section of the Fiducials GUI. &lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsAddModifyIndividualFiducials-3.4.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | '''Add &amp;amp; Modify Individual Fiducials''' icons.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[image:SlicerFiducialsSelectAllInList-3.4.png]] Select all fiducial points from this fiducial list.&lt;br /&gt;
| [[image:SlicerFiducialsSelectNoneInList-3.4.png]] Deselect all fiducial points from this fiducial list.&lt;br /&gt;
| [[Image:SlicerFiducialsAddNew-3.4.jpg]] Add a fiducial point to the current fiducial list, at (0,0,0).&lt;br /&gt;
| [[Image:SlicerFiducialsUp.png]] Move last clicked fiducial up one in the list.&lt;br /&gt;
| [[Image:SlicerFiducialsDown.png]] Move last clicked fiducial down one in the list.&lt;br /&gt;
|-&lt;br /&gt;
| [[image:SlicerFiducialsDeleteLastClicked-3.4.png]] Delete the last fiducial that was clicked on in the table.&lt;br /&gt;
| [[image:SlicerFiducialsDeleteAll-3.4.png]] Delete all fiducial points from this fiducial list.&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot;| [[Image:SlicerFiducialsListBox-3.4.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| '''Selected''': flag set to checked if this fiducial is selected&lt;br /&gt;
|- &lt;br /&gt;
| '''Visible''' : icon set to an open eye if this fiducial is visible, close if invisible.&lt;br /&gt;
|-&lt;br /&gt;
| '''Name''': text to be displayed at this fiducial location&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' : X axis location of this fiducial, corresponding to R in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Y''' : Y axis location of this fiducial, corresponding to A in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Z''' : Z axis location of this fiducial, corresponding to S in RAS&lt;br /&gt;
|-&lt;br /&gt;
| '''Locked''' : icon set to a closed lock if this fiducial is locked&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| [[Image:SlicerFiducialsDistance-3.6.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| '''Distance''': distance between first two selected fiducials, updated as selection changes and fiducials are moved.&lt;br /&gt;
|-&lt;br /&gt;
| '''List Distance''': distance between all selected fiducials in list, updated as selection changes and fiducials are moved.&lt;br /&gt;
|-&lt;br /&gt;
| '''Renumber Fiducials''': Renumber the fiducials in this list. Removes any numbers from the ends of the labels and then appends a number denoting the current place in the list, starting from entered value, 0 if none. Note: does not affect the auto name generation for the next added fiducial.&lt;br /&gt;
| '''Rename Fiducials''': Rename the fiducials in this list. Preserves any numbers at the end of the labels. Note: does not affect the auto name generation for the next added fiducial - change the list name from the node selector.&lt;br /&gt;
|-&lt;br /&gt;
| '''Numbering Scheme''': Set the numbering scheme used to assign integers to the next added fiducial in the list. UseID uses the point ID, UseIndex uses the list index of the point, UsePrevious increments the number at the end of the previous point.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Click on a value and hit the 'Enter' key (or double click) on one of the X, Y, or Z position values to edit it manually. You can do the same on the fiducial name to change it. The default name is generated from the name of the list, which can be changed in the Data Module.&lt;br /&gt;
&lt;br /&gt;
The distance between the first two selected fiducials in the list will be computed automatically and appear in a label below the list of fiducials. This distance is in milimetres.&lt;br /&gt;
&lt;br /&gt;
To align slices with fiducials, move the fiducial while holding down the Control key. You can use the '`' (backtick) key to jump to the next fiducial, Control-` to jump backwards through the list.&lt;br /&gt;
&lt;br /&gt;
Use the backspace or delete key to delete a fiducial over which you are hovering in 2D. &lt;br /&gt;
&lt;br /&gt;
Argument Lists: Fiducials can be passed as a list of points to a command line module, for example to do ACPC registration. Only the points that are selected in the list are passed to the command line module, so you can adjust which points are used for calculating the output. &lt;br /&gt;
&lt;br /&gt;
* '''Other List Display Properties panel:'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot;| [[Image:SlicerFiducialListDisplayPanelExpanded-3.4.png]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Glyph Type''': Select the glyph used to represent this point in 3D. There is a long list of glyph types available, each list can have a different glyph type, as well as colour and size properties. The default is the 2D starburst, but 3D glyphs are also available. &lt;br /&gt;
&lt;br /&gt;
[[Image:FiducialsGlyphTypes.jpg]]&lt;br /&gt;
|- &lt;br /&gt;
| '''Selected Color''': Select the color used to represent the fiducials when they are selected.&lt;br /&gt;
|-&lt;br /&gt;
| '''Unselected Color''': Select the color used to represent the fiducials when they are not selected.&lt;br /&gt;
|- &lt;br /&gt;
| '''Glyph Scale''': Select the scale of the glyph. For the 3d glyphs (Sphere and Diamond3D), 1 corresponds to 1mm in diameter.&lt;br /&gt;
|-&lt;br /&gt;
| '''Text Scale''': Select the scale of the fiducial label text.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opacity''': Select the opacity of the fiducial glyph and text. 0 = invisible.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ambient''': Set the ambient material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Diffuse''': Set the diffuse material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Specular''': Set the specular material property for the fiducial glyph.&lt;br /&gt;
|-&lt;br /&gt;
| '''Power''': Set the power material property for the fiducial glyph.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following image shows what these types of glyphs look like in 3D:&lt;br /&gt;
[[image:SlicerFiducialsGlyphs3D-3.4.jpg]]&lt;br /&gt;
&lt;br /&gt;
and in 2D (the 3D glyphs default to a star burst in 2D):&lt;br /&gt;
[[Image:SlicerFiducialsGlyphs2D-3.4.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Loading and Saving Lists===&lt;br /&gt;
&lt;br /&gt;
Fiducial lists can be written out to disk using the File menu, Save option. The files can be loaded into Slicer via the File menu, Add Data interface.&lt;br /&gt;
&lt;br /&gt;
Fiducial list files are plain text, with the extension ''fcvs''. &lt;br /&gt;
&lt;br /&gt;
An example file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fiducial List file /home/username/L.fcsv&lt;br /&gt;
# name = L&lt;br /&gt;
# numPoints = 5&lt;br /&gt;
# symbolScale = 5.5&lt;br /&gt;
# symbolType = 11&lt;br /&gt;
# visibility = 1&lt;br /&gt;
# textScale = 12.5&lt;br /&gt;
# color = 0.4,1,1&lt;br /&gt;
# selectedColor = 0.807843,0.560784,1&lt;br /&gt;
# opacity = 1&lt;br /&gt;
# ambient = 0&lt;br /&gt;
# diffuse = 1&lt;br /&gt;
# specular = 0&lt;br /&gt;
# power = 1&lt;br /&gt;
# locked = 0&lt;br /&gt;
# columns = label,x,y,z,sel,vis&lt;br /&gt;
L-P,-58.0508,64.4069,0,1,1&lt;br /&gt;
L-P1,31.7797,-1.69492,0,1,1&lt;br /&gt;
L-P2,-2.11864,-49.1527,0,0,1&lt;br /&gt;
L-P3,-72.4576,-54.2374,0,1,0&lt;br /&gt;
L-P4,-63.1356,3.38984,0,1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lines are commented out by placing a hash mark (#) at the beginning of the line. There is an optional header section that lists display options. If no display options are included, the defaults are used when the list is read into Slicer. The header line formats follow the description of the point format.&lt;br /&gt;
&lt;br /&gt;
The points are listed one per line in the following format:&lt;br /&gt;
&lt;br /&gt;
  pointName,X,Y,Z,selected,visibility&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|pointName&lt;br /&gt;
|a text string that is displayed at the location of the fiducial.&lt;br /&gt;
|-&lt;br /&gt;
|X,Y,Z&lt;br /&gt;
| 3 floating points that represent the 3D RAS location of the fiducial, in mm.&lt;br /&gt;
|-&lt;br /&gt;
|selected&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is selected or not.&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|an integer value, either 0 or 1, denoting if the fiducial is visible or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header section of the fiducial list file consists of lines starting with a hash mark and a space (# ). A keyword = value pair follows the space. The keyword is parsed and compared against the list of known keywords:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Fiducial List file header &lt;br /&gt;
|Fiducial List file &lt;br /&gt;
|Path to the fiducial list file when it was last saved from Slicer.  &lt;br /&gt;
|-&lt;br /&gt;
| name &lt;br /&gt;
| A name for the list, new points will be named according to this string and the point number&lt;br /&gt;
|- &lt;br /&gt;
| numPoints &lt;br /&gt;
| The number of points in the list, skipped for now, as the list is built up by adding a point for each line in the points section of the file&lt;br /&gt;
|-&lt;br /&gt;
|symbolScale&lt;br /&gt;
|Floating point, used to scale the glyphs for all the fiducial points.&lt;br /&gt;
|-&lt;br /&gt;
|symbolType&lt;br /&gt;
|Integer selected from the range representing glyph types, default is 11 for a star burst. &amp;lt;pre&amp;gt;0    Vertex2D&lt;br /&gt;
1    Dash2D&lt;br /&gt;
2    Cross2D&lt;br /&gt;
3    ThickCross2D&lt;br /&gt;
4    Triangle2D&lt;br /&gt;
5    Square2D&lt;br /&gt;
6    Circle2D&lt;br /&gt;
7    Diamond2D&lt;br /&gt;
8    Arrow2D&lt;br /&gt;
9    ThickArrow2D&lt;br /&gt;
10   HookedArrow2D&lt;br /&gt;
11   StarBurst2D&lt;br /&gt;
12   Sphere3D&lt;br /&gt;
13   Diamond3D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|visibility&lt;br /&gt;
|Integer, 0 means the list as a whole is invisible, 1 means that any visible fiducial points are visible.&lt;br /&gt;
|-&lt;br /&gt;
|textScale&lt;br /&gt;
|Floating point number that is used to scale the label text for all the fiducial points&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is not selected.&lt;br /&gt;
|-&lt;br /&gt;
|selectedColor&lt;br /&gt;
|Three comma separated floating point numbers that give the red, green, blue values to be used for the glyph and text when the fiducial is selected.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|diffuse&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|specular&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|power&lt;br /&gt;
|Floating point number 0.0-1.0, material property on the glyph&lt;br /&gt;
|-&lt;br /&gt;
|locked&lt;br /&gt;
|Integer, 1 means the list as a whole is locked (points can't be moved in the 2d or 3d windows), 0 means the list as a whole is unlocked. &lt;br /&gt;
|-&lt;br /&gt;
|columns&lt;br /&gt;
|This entry gives you the flexibility to reorder your data for each point, the default is &amp;lt;pre&amp;gt;label,x,y,z,sel,vis&amp;lt;/pre&amp;gt;. It's a comma separated list of keywords giving the format of the following lines for each point. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing Lists into a Spreadsheet== &lt;br /&gt;
&lt;br /&gt;
To import a fiducial list into OpenOffice.org's Calc, version 3.1.1:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the File, Save dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Open OpenOffice.org's Calc&lt;br /&gt;
#Click on ''File, Open'' &lt;br /&gt;
#Expand the File type menu&lt;br /&gt;
#Select '''Text CSV''' as the file type&lt;br /&gt;
#Make sure '''All Files''' is selected for the directory listing filter&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#The Text Import window will pop up&lt;br /&gt;
#In the Separator options, set it so that only comma is selected (the color and selectedColor comment lines will get separated into columns, but so will the column s comment to give headers for the rows of points)&lt;br /&gt;
#Click ''Open'' and the import will finish, with the fiducial points starting on row 18&lt;br /&gt;
&lt;br /&gt;
To open a list in Excel 2007:&lt;br /&gt;
&lt;br /&gt;
#In Slicer3, open the ''File, Save'' dialog and select the fiducial list to save. &lt;br /&gt;
#Set the file name, ending with .fcsv, and the directory in which to save it&lt;br /&gt;
#Click on the symbol in the top left to open the menu, select ''Open'' (if ''Import'' is an option, use it instead)&lt;br /&gt;
#Set the filter to '''All Files (*.*)'''&lt;br /&gt;
#Browse to the directory in which you saved your .fcsv file and select it, then click ''Open''&lt;br /&gt;
#Text Import Wizard will open&lt;br /&gt;
#In Original Data Type, select '''Delimited'''&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#In Delimiters, select '''Comma''' only&lt;br /&gt;
#Click ''Next''&lt;br /&gt;
#The Column data format should be fine as '''General'''&lt;br /&gt;
#Click ''Finish''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Notes from the Developer(s)===&lt;br /&gt;
&lt;br /&gt;
From Slicer3.5 to Slicer3.6, the underlying implementation of the fiducials in the 3D scene has been changed to use vtkSeedWidgets.&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
No other modules or packages are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Tests===&lt;br /&gt;
&lt;br /&gt;
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:&lt;br /&gt;
&lt;br /&gt;
* vtkMRMLFiducialListNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListNodeTest1.cxx] &lt;br /&gt;
* vtkMRMLFiducialListStorageNodeTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx  Libs/MRML/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx]&lt;br /&gt;
* Slicer3FiducialsTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducials.tcl Base/GUI/Testing/TestFiducials.tcl]&lt;br /&gt;
* Slicer3FiducialsTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAdd.tcl Base/GUI/Testing/TestFiducialsAdd.tcl] &lt;br /&gt;
* Slicer3FiducialsTestGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsGlyphs.tcl Base/GUI/Testing/TestFiducialsGlyphs.tcl]&lt;br /&gt;
* Slicer3FiducialsTestChangeGlyphs [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl Base/GUI/Testing/TestFiducialsAddSymbolScale.tcl]&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.cxx vtkSlicerFiducialsGUI.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialsGUI.h vtkSlicerFiducialsGUI.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.cxx vtkSlicerFiducialListWidget.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerFiducialListWidget.h vtkSlicerFiducialListWidget.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.cxx vtkSlicerSeedWidgetClass.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/GUI/vtkSlicerSeedWidgetClass.h vtkSlicerSeedWidgetClass.h]&lt;br /&gt;
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.cxx vtkSlicerFiducialsLogic.cxx], [http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/Logic/vtkSlicerFiducialsLogic.h vtkSlicerFiducialsLogic.h]&lt;br /&gt;
&lt;br /&gt;
Links to documentation generated by doxygen:&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsGUI.html vtkSlicerFiducialsGUI]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialListWidget.html vtkSlicerFiducialListWidget]&lt;br /&gt;
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkSlicerFiducialsLogic.html vtkSlicerFiducialsLogic]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-EditNote.jpg&amp;diff=53534</id>
		<title>File:MiAnnotation-EditNote.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-EditNote.jpg&amp;diff=53534"/>
		<updated>2010-06-09T00:21:30Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Note.jpg&amp;diff=53533</id>
		<title>File:MiAnnotation-Note.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-Note.jpg&amp;diff=53533"/>
		<updated>2010-06-09T00:20:47Z</updated>

		<summary type="html">&lt;p&gt;Yzhang: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yzhang</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:MiAnnotation-EditSpline.jpg&amp;diff=53532</id>
		<title>File:MiAnnotation-EditSpline.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:MiAnnotation-EditSpline.jpg&amp;diff=53532"/>
		<updated>2010-06-09T00:19:48Z</updated>

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