<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moselhy</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moselhy"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Moselhy"/>
	<updated>2026-04-27T21:00:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Modules&amp;diff=54536</id>
		<title>Documentation/Nightly/Developers/FAQ/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Modules&amp;diff=54536"/>
		<updated>2017-08-23T15:37:31Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* How to modify local version of External module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;__TOC__&lt;br /&gt;
={{#titleparts: {{PAGENAME}} | | -1 }}=&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
='''Developer FAQ: {{{1}}}'''=&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Within a Slicer build-tree, where are Slicer modules located? ==&lt;br /&gt;
Slicer module executables and libraries are located in your main Slicer build directory &amp;lt;code&amp;gt;Slicer-Superbuild/Slicer-build&amp;lt;/code&amp;gt;. Refer to [[Documentation/{{documentation/version}}/Developers/DirectoryStructure|Directory Structure]] description for more details.&lt;br /&gt;
&lt;br /&gt;
== How to build module outside of Slicer source tree ==&lt;br /&gt;
&lt;br /&gt;
Follow [[Documentation/{{documentation/version}}/Developers/Build_Module|developers guide for building modules]]&lt;br /&gt;
&lt;br /&gt;
== How to modify local version of external module ==&lt;br /&gt;
&lt;br /&gt;
Some Slicer modules (such as OpenIGTLink and OpenIGTLinkIF) are built as External git projects by CMake scripts in the Slicer/SuperBuild directory.&lt;br /&gt;
The SuperBuild process may refresh from the repository unexpectedly, overwriting any local changes. To avoid this, comment out the git settings&lt;br /&gt;
in the appropriate external build file while making local edits. For example, in SuperBuild/External_OpenIGTLinkIF.cmake:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
     GIT_REPOSITORY &amp;quot;${git_protocol}://github.com/openigtlink/OpenIGTLinkIF.git&amp;quot;&lt;br /&gt;
     GIT_TAG &amp;quot;f9b65b1ffd2992862025f3c6ec5fe30e6f5dd395&amp;quot;&lt;br /&gt;
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
     # GIT_REPOSITORY &amp;quot;${git_protocol}://github.com/openigtlink/OpenIGTLinkIF.git&amp;quot;&lt;br /&gt;
     # GIT_TAG &amp;quot;f9b65b1ffd2992862025f3c6ec5fe30e6f5dd395&amp;quot;&lt;br /&gt;
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to call a CLI module from a C++ loadable module? ==&lt;br /&gt;
&lt;br /&gt;
Discussion: http://slicer-devel.65872.n3.nabble.com/Calling-CLI-module-from-a-C-loadable-module-tt4031930.html&lt;br /&gt;
&lt;br /&gt;
Example: [https://github.com/Slicer/Slicer/blob/master/Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.cxx#L318-351 vtkSlicerCropVolumeLogic.cxx#L318-351]&lt;br /&gt;
&lt;br /&gt;
== How to call a CLI module from command-line? ==&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
    Slicer.exe --launch CastScalarVolume input.mha output.mha&lt;br /&gt;
&lt;br /&gt;
Notes for windows:&lt;br /&gt;
* Full name of the Slicer executable is required (''Slicer.exe'', not just ''Slicer'')&lt;br /&gt;
* To get help on command-line arguments the CLI module supports, run:&lt;br /&gt;
&lt;br /&gt;
    Slicer.exe --launch CastScalarVolume 2&amp;gt;c:\SomeWriteAbleDirectory\usage.txt&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Modules&amp;diff=54533</id>
		<title>Documentation/Nightly/Developers/FAQ/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Modules&amp;diff=54533"/>
		<updated>2017-08-23T15:37:17Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Within a Slicer build-tree, where are located Slicer modules ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;__TOC__&lt;br /&gt;
={{#titleparts: {{PAGENAME}} | | -1 }}=&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
='''Developer FAQ: {{{1}}}'''=&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Within a Slicer build-tree, where are Slicer modules located? ==&lt;br /&gt;
Slicer module executables and libraries are located in your main Slicer build directory &amp;lt;code&amp;gt;Slicer-Superbuild/Slicer-build&amp;lt;/code&amp;gt;. Refer to [[Documentation/{{documentation/version}}/Developers/DirectoryStructure|Directory Structure]] description for more details.&lt;br /&gt;
&lt;br /&gt;
== How to build module outside of Slicer source tree ==&lt;br /&gt;
&lt;br /&gt;
Follow [[Documentation/{{documentation/version}}/Developers/Build_Module|developers guide for building modules]]&lt;br /&gt;
&lt;br /&gt;
== How to modify local version of External module ==&lt;br /&gt;
&lt;br /&gt;
Some Slicer modules (such as OpenIGTLink and OpenIGTLinkIF) are built as External git projects by CMake scripts in the Slicer/SuperBuild directory.&lt;br /&gt;
The SuperBuild process may refresh from the repository unexpectedly, overwriting any local changes. To avoid this, comment out the git settings&lt;br /&gt;
in the appropriate external build file while making local edits. For example, in SuperBuild/External_OpenIGTLinkIF.cmake:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
     GIT_REPOSITORY &amp;quot;${git_protocol}://github.com/openigtlink/OpenIGTLinkIF.git&amp;quot;&lt;br /&gt;
     GIT_TAG &amp;quot;f9b65b1ffd2992862025f3c6ec5fe30e6f5dd395&amp;quot;&lt;br /&gt;
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
     # GIT_REPOSITORY &amp;quot;${git_protocol}://github.com/openigtlink/OpenIGTLinkIF.git&amp;quot;&lt;br /&gt;
     # GIT_TAG &amp;quot;f9b65b1ffd2992862025f3c6ec5fe30e6f5dd395&amp;quot;&lt;br /&gt;
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to call a CLI module from a C++ loadable module? ==&lt;br /&gt;
&lt;br /&gt;
Discussion: http://slicer-devel.65872.n3.nabble.com/Calling-CLI-module-from-a-C-loadable-module-tt4031930.html&lt;br /&gt;
&lt;br /&gt;
Example: [https://github.com/Slicer/Slicer/blob/master/Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.cxx#L318-351 vtkSlicerCropVolumeLogic.cxx#L318-351]&lt;br /&gt;
&lt;br /&gt;
== How to call a CLI module from command-line? ==&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
    Slicer.exe --launch CastScalarVolume input.mha output.mha&lt;br /&gt;
&lt;br /&gt;
Notes for windows:&lt;br /&gt;
* Full name of the Slicer executable is required (''Slicer.exe'', not just ''Slicer'')&lt;br /&gt;
* To get help on command-line arguments the CLI module supports, run:&lt;br /&gt;
&lt;br /&gt;
    Slicer.exe --launch CastScalarVolume 2&amp;gt;c:\SomeWriteAbleDirectory\usage.txt&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SequenceRegistration&amp;diff=54530</id>
		<title>Documentation/Nightly/Modules/SequenceRegistration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SequenceRegistration&amp;diff=54530"/>
		<updated>2017-08-23T15:30:16Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= For up-to-date user guides, visit https://github.com/moselhy/SlicerSequenceRegistration =&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SequenceRegistration&amp;diff=54527</id>
		<title>Documentation/Nightly/Modules/SequenceRegistration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SequenceRegistration&amp;diff=54527"/>
		<updated>2017-08-23T15:29:23Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: Created page with &amp;quot;For up-to-date user guide, visit https://github.com/moselhy/SlicerSequenceRegistration&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For up-to-date user guide, visit https://github.com/moselhy/SlicerSequenceRegistration&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54524</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54524"/>
		<updated>2017-08-21T19:37:09Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Effect Selection for Editor module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection for Editor module===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e''' - select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' or '''Right-click''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift + Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54521</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54521"/>
		<updated>2017-08-21T19:36:58Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Segment Editor Keystrokes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection for Editor module===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' or '''Right-click''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift + Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54518</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54518"/>
		<updated>2017-08-21T19:36:36Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection for Editor module===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' or '''Right-click''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54515</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54515"/>
		<updated>2017-08-21T19:35:00Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Draw Effect Keystrokes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection for Editor module===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' or '''Right-click''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added&lt;br /&gt;
&lt;br /&gt;
=== Paint Effect Keystrokes ===&lt;br /&gt;
* '''-''' or '''_''' - shrink the current radius by 20%&lt;br /&gt;
* '''+''' or '''=''' - grow the current radius by 20%&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54512</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54512"/>
		<updated>2017-08-21T19:33:35Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Effect Selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection for Editor module===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added &lt;br /&gt;
&lt;br /&gt;
=== Paint Effect Keystrokes ===&lt;br /&gt;
* '''-''' or '''_''' - shrink the current radius by 20%&lt;br /&gt;
* '''+''' or '''=''' - grow the current radius by 20%&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54509</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54509"/>
		<updated>2017-08-21T19:32:55Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Segment Editor Keystrokes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added &lt;br /&gt;
&lt;br /&gt;
=== Paint Effect Keystrokes ===&lt;br /&gt;
* '''-''' or '''_''' - shrink the current radius by 20%&lt;br /&gt;
* '''+''' or '''=''' - grow the current radius by 20%&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''4''' - select Level tracing&lt;br /&gt;
* '''5''' - select Grow from seeds effect&lt;br /&gt;
* '''6''' - select Fill between slices effect&lt;br /&gt;
* '''7''' - select Threshold effect&lt;br /&gt;
* '''8''' - select Margin effect&lt;br /&gt;
* '''9''' - select Smoothing effect&lt;br /&gt;
* '''0''' - select Scissors effect&lt;br /&gt;
* '''Shift + 1''' - select Islands effect&lt;br /&gt;
* '''Shift + 2''' - select Logical operators effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54506</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54506"/>
		<updated>2017-08-21T19:30:22Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Segment Editor Keystrokes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added &lt;br /&gt;
&lt;br /&gt;
=== Paint Effect Keystrokes ===&lt;br /&gt;
* '''-''' or '''_''' - shrink the current radius by 20%&lt;br /&gt;
* '''+''' or '''=''' - grow the current radius by 20%&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3''' - select Eraser effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54503</id>
		<title>Documentation/4.6/Modules/SegmentEditor</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/SegmentEditor&amp;diff=54503"/>
		<updated>2017-08-21T19:30:05Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.&amp;lt;br&amp;gt;&lt;br /&gt;
Authors: &amp;lt;b&amp;gt;Csaba Pinter&amp;lt;/b&amp;gt; (PerkLab, Queen's University), &amp;lt;b&amp;gt;Andras Lasso&amp;lt;/b&amp;gt; (PerkLab, Queen's University)&lt;br /&gt;
Contacts:&lt;br /&gt;
* Csaba Pinter, &amp;lt;email&amp;gt;csaba.pinter@queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
* Andras Lasso, &amp;lt;email&amp;gt;lasso@cs.queensu.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|cco}}|{{collaborator|longname|cco}}&lt;br /&gt;
|{{collaborator|logo|sparkit}}|{{collaborator|longname|sparkit}}&lt;br /&gt;
|{{collaborator|logo|ocairo}}|{{collaborator|longname|ocairo}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
This is a module for segmentation of volumes. Segmentations (also known as contouring) delineate structures of interest. Some of the tools mimic a painting interface like photoshop or gimp, but work on 3D arrays of voxels rather than on 2D pixels. This module is the successor to the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor Editor] module. The Segment Editor contains many of the same functionalities and more.&amp;lt;br&amp;gt;&lt;br /&gt;
It is important to remember that Segment Editor does not edit labelmaps, as Editor does. It edits segmentations, and many of the new features and differences are due to using the uses the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentation] infrastructure.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New features include:&lt;br /&gt;
*Overlapping segments&lt;br /&gt;
*Conversion to model representation is automatic and real-time&lt;br /&gt;
*Segments table allows robust per-structure handling, and advanced visualization settings for segments&lt;br /&gt;
*3D brushes allow the user to pain in 3D rather than slice by slice&lt;br /&gt;
*Segment Editor widget can be embedded into any module or slicelet&lt;br /&gt;
*Master Volume Selection allows users to change the master volume during segmentation&lt;br /&gt;
*Oblique slices can be edited&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is important to remember that Segment Editor edits segmentation nodes and not labelmaps. More details can be found on the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Segmentations Segmentations] module page&lt;br /&gt;
&lt;br /&gt;
[[image:SegmentEditorUseCases.png|175px|right]]&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
Create segmentations that can be used for: &lt;br /&gt;
*Surgical/radiation therapy planning&lt;br /&gt;
*Intra-surgery navigation&lt;br /&gt;
*Volume/shape analysis&lt;br /&gt;
*3D printing&lt;br /&gt;
*Further processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and Their Uses}} &lt;br /&gt;
[[image:SegmentEditorPanel.png|right|300px|Click to expand photo]]&lt;br /&gt;
'''Segmentation:''' Choose the segmentation to edit&lt;br /&gt;
&lt;br /&gt;
'''Master volume:''' Choose the volume to segment. The master volume can be changed at any time during the segmentation process, safely&lt;br /&gt;
&lt;br /&gt;
'''Add/Remove Segment:''' Click Add to create a new segment. Select the segment you would like to delete then hit remove.&lt;br /&gt;
&lt;br /&gt;
'''Create Surface:''' Display your segmentation in the 3D Viewer. This is a toggle button. When turned on the surface is created and updated automatically as the user is segmenting. When turned off, the conversion is not ongoing so the segmentation process is faster.&lt;br /&gt;
&lt;br /&gt;
'''Segments Table:''' Displays your segments. Click the eye icon to show or hide the segment. Click and hold the button for advanced options (Show in 3D, Show in 2D as fill, Show in 2D as outline)&lt;br /&gt;
&lt;br /&gt;
'''Effects:''' Select the desired effect here. See below for more information about each effect.&lt;br /&gt;
&lt;br /&gt;
'''Options:''' Options for the selected effect will be displayed here.&lt;br /&gt;
&lt;br /&gt;
'''Masking:''' These options allow you to define the editable areas and whether or not certain segments can be overwritten.&lt;br /&gt;
*Editable area: Changes will only appear within the selected area. Options include: Inside All Segments, Inside All Visible Segments, Outside All Segments, Outside All Visible, Everywhere&lt;br /&gt;
*Editable intensity range: Only areas within the selected intensity range will show changes that are made to the segmentation&lt;br /&gt;
*Overwrite other segments: Select which segments will be overwritten rather than overlapped. Options include: All segments, Visible Segments and None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Effects}}&lt;br /&gt;
Effects operate either by clicking the Apply button in the GUI or by clicking and/or dragging in the slice view. For operations where you use the GUI, the target label map is the one in the Red slice viewer. Otherwise the target is based on which slice viewer you click in. To use, select the label value for the tools to work on. Clicking on the colored box will provide a pop-up with a selection of labels.&lt;br /&gt;
&lt;br /&gt;
===[[image:Paint.png]] Paint===&lt;br /&gt;
Paint on the selected segment with a round brush.&lt;br /&gt;
&lt;br /&gt;
* Pick the radius (in millimeters) of the brush to apply&lt;br /&gt;
* Left click to apply single circle&lt;br /&gt;
* Left click and drag to draw a curve&lt;br /&gt;
* A trace of circles is left which are applied when the mouse button is released&lt;br /&gt;
* Sphere mode applies the radius to slices above and below the current slice.&lt;br /&gt;
&lt;br /&gt;
The 'smudge' option can be used when working on the boundary between two or more regions.  In this mode, the label color is set to the value of the labelmap where the first left click occurs.  This mode allows you to quickly switch between colors.&lt;br /&gt;
&lt;br /&gt;
===[[image:Draw.png]]  Draw===&lt;br /&gt;
Draw segment outline in slice viewers.&lt;br /&gt;
&lt;br /&gt;
* Left click to lay individual points of an outline&lt;br /&gt;
* Left drag to lay down a continuous line of points&lt;br /&gt;
* 'x' key to delete the last point added&lt;br /&gt;
* Right click or 'a' key to apply outline to label map&lt;br /&gt;
&lt;br /&gt;
===[[image:Eraser.png]] Erase===&lt;br /&gt;
Left-click and drag in slice or 3D viewers to erase from the current segment with a round brush. The radius can be adjusted. Additional brush modes include sphere brush and pixel mode.&lt;br /&gt;
&lt;br /&gt;
===[[image:LevelTracing.png]]  Level Tracing===&lt;br /&gt;
Add uniform intensity region to selected segment.&lt;br /&gt;
As you move the mouse, the current background voxel is used to find a closed path that follows the same intensity value back to the starting point within the current slice. Pressing the left mouse button filles the path according to the current labeling rules. &lt;br /&gt;
&lt;br /&gt;
===[[image:Rectangle.png]] Rectangle===&lt;br /&gt;
Add a rectangular area to the selected segment&lt;br /&gt;
* Left click and drag to sweep our&lt;br /&gt;
&lt;br /&gt;
===[[image:ErodeLabel.png]] Margin===&lt;br /&gt;
Grow or shrink the selected segment by a specified margin size. A positive margin size makes the segment grow while a negative margin size makes the segment shrink.&lt;br /&gt;
&lt;br /&gt;
===[[image:GrowCutSegment.png]] GrowCut===&lt;br /&gt;
GrowCut is a powerful algorithm that uses example segmentation to create a full segmentation of the volume.  You can use multiple label colors to define regions that represent parts of anatomical structures and then let the GrowCut algorithm seek out a best labeling for adjacent pixel so they match your example.&lt;br /&gt;
&lt;br /&gt;
To use this, you first define your example segmentation using the normal paint or draw tools as described above.  Define at least two structure classes and then click Apply.  If you are not satisfied with the result, use the Undo button to go back and modify your example. &lt;br /&gt;
&lt;br /&gt;
See the [https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GrowCutSegmentation Grow Cut documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
Also see the [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut| Fast GrowCut documentation]. This is an effect that can be added by downloading the extension. It requires memory but is a fast implementation of the GrowCut method&lt;br /&gt;
&lt;br /&gt;
===[[image:Threshold.png]] Threshold===&lt;br /&gt;
* Use Threshold to determine a threshold range and click on Use for Paint&lt;br /&gt;
* Change into Paint or Draw and click on the Threshold button&lt;br /&gt;
* begin painting/drawing&lt;br /&gt;
&lt;br /&gt;
Only voxels where the background value is within the threshold range will be set to the new label value.  The range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.&lt;br /&gt;
&lt;br /&gt;
===[[image:Smoothing.png]] Smoothing===&lt;br /&gt;
Smooths the selected segment by removing extrusions and filling small holes. &lt;br /&gt;
&lt;br /&gt;
There are four smoothing modes available: &lt;br /&gt;
*'''Median:''' reduces noise while preserving edges &lt;br /&gt;
*'''Gaussian:''' reduces image detail&lt;br /&gt;
*'''Opening:''' removes extrusions &lt;br /&gt;
*'''Closing:''' fills small holes&lt;br /&gt;
&lt;br /&gt;
===[[image:LogicalOperators.png]] Logical Operators===&lt;br /&gt;
Apply logical operators on a segment or combine it with other segments.&lt;br /&gt;
Operations include:&lt;br /&gt;
*Copy from segment: Replace the selected segment by the modifier segment&lt;br /&gt;
*Union with segment: Add modifier segment to current segment&lt;br /&gt;
*Intersection with segment: only keeps those regions in the select segment that are common with the modifier segment&lt;br /&gt;
*Subtract Segment: Subtract region of modifier segment from the selected segment&lt;br /&gt;
*Clear: Clears the selected segment&lt;br /&gt;
*Fill: Completely fills the selected segment&lt;br /&gt;
&lt;br /&gt;
===[[image:IdentifyIslands.png]] Identify Islands===&lt;br /&gt;
Use this tool to create a unique label value for each connected region in the current label map.  &lt;br /&gt;
Connected regions are defined as groups of pixels which touch each other but are surrounded by zero valued voxels. If FullyConnected is selected, then only voxels that share a face are counted as connected; if unselected, then voxels that touch at an edge or a corner are considered connected.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Be aware that all non-zero label values labels values are considered equal by this filter and that the result will renumber the resulting islands in order of size.&lt;br /&gt;
'''Note:''' The output label values use the currently selected color table, but the names assigned to islands are arbitrary.  Label values are assigned in order of the size of the island starting with 1.  The value of 0 is assigned to the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Keystrokes}}&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
* '''f''' - move to next slice&lt;br /&gt;
* '''b''' - move to previous slice&lt;br /&gt;
* '''h''' - toggle the crosshair and put it into navigator mode&lt;br /&gt;
&lt;br /&gt;
===Effect Selection===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''p''' - select Paint effect&lt;br /&gt;
* '''d''' - select Draw effect&lt;br /&gt;
*'''e'''- select Eraser effect&lt;br /&gt;
* '''r''' - select Rectangle effect&lt;br /&gt;
&lt;br /&gt;
=== Draw Effect Keystrokes ===&lt;br /&gt;
* '''a''' or '''Enter''' - apply the current outline &lt;br /&gt;
* '''x''' - delete last point added &lt;br /&gt;
&lt;br /&gt;
=== Paint Effect Keystrokes ===&lt;br /&gt;
* '''-''' or '''_''' - shrink the current radius by 20%&lt;br /&gt;
* '''+''' or '''=''' - grow the current radius by 20%&lt;br /&gt;
&lt;br /&gt;
=== Segment Editor Keystrokes ===&lt;br /&gt;
* '''Escape''' - cancel current effect&lt;br /&gt;
* '''1''' - select Paint effect&lt;br /&gt;
* '''2''' - select Draw effect&lt;br /&gt;
* '''3'''- select Eraser effect&lt;br /&gt;
* '''Shift+Mousewheel''' - adjust brush/eraser size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Contribute_Extension_Description_File_using_Extension_Wizard&amp;diff=53938</id>
		<title>Documentation/Nightly/Developers/Tutorials/Contribute Extension Description File using Extension Wizard</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Contribute_Extension_Description_File_using_Extension_Wizard&amp;diff=53938"/>
		<updated>2017-08-05T01:44:43Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
This page describes how to easily contribute an extension description file using the [[Documentation/{{documentation/version}}/Developers/ExtensionWizard|ExtensionWizard]]. The wizard automates the manual steps documented [[Documentation/{{documentation/version}}/Developers/Tutorials/Contribute_Extension_Description_File|here]].&lt;br /&gt;
&lt;br /&gt;
It will automatically generate the extension description file (&amp;lt;code&amp;gt;.s4ext&amp;lt;/code&amp;gt;) based on the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; in the extension directory.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
&lt;br /&gt;
* '''Extension description file''': This is a text file with extension &amp;lt;code&amp;gt;.s4ext&amp;lt;/code&amp;gt; that fully described an extension. More details [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|here]].&lt;br /&gt;
&lt;br /&gt;
* '''ExtensionsIndex''': This is a repository containing a list of extension description files &amp;lt;code&amp;gt;*.s4ext&amp;lt;/code&amp;gt;. These description files are used by the Slicer extensions build system to build, test, package and upload extensions on the extensions server. More details [[Documentation/{{documentation/version}}/Developers/Extensions/Index|here]]&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* Extension belongs to Category 1 or Category 2 as described in [[Documentation/{{documentation/version}}/Extensions/CatalogPolicies|Slicer requirements]]&lt;br /&gt;
* Extension has been built, tested and installed on at least one platform (Linux, MacOSX or Windows)&lt;br /&gt;
&lt;br /&gt;
= Conventions =&lt;br /&gt;
&lt;br /&gt;
* Terminal command - Block like the one below indicates that the command should be executed in a terminal. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:none; border-left:thick solid darkgreen; padding-left:1em;&amp;quot;&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;On '''Windows''', Git Bash is expected (not the Windows command line). [https://help.github.com/articles/set-up-git#platform-windows Need help ?]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pre2|&amp;lt;nowiki&amp;gt;$ echo &amp;quot;This is a command&amp;quot;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Contributing a new extension / Requesting an extension update =&lt;br /&gt;
&lt;br /&gt;
Typing this command will create a pull request on ExtensionsIndex repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:none; border-left:thick solid red; padding-left:1em;&amp;quot;&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Make sure the latest changes associated with your extension have been pushed in your extension repository.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extensions built against Slicer trunk ==&lt;br /&gt;
&lt;br /&gt;
{{pre2|&amp;lt;nowiki&amp;gt;$ bin/slicerExtensionWizard --contribute ~/src/Slicer-MyExtension/&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Extensions build against Slicer {{Documentation/currentversion}} ==&lt;br /&gt;
&lt;br /&gt;
{{pre2|&amp;lt;nowiki&amp;gt;$ bin/slicerExtensionWizard --contribute --target &amp;lt;/nowiki&amp;gt;{{Documentation/currentversion}}&amp;lt;nowiki&amp;gt;  ~/src/Slicer-MyExtension/&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer-vs2013-CMakePredefinedTargets-PACKAGE.png&amp;diff=53782</id>
		<title>File:Slicer-vs2013-CMakePredefinedTargets-PACKAGE.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer-vs2013-CMakePredefinedTargets-PACKAGE.png&amp;diff=53782"/>
		<updated>2017-08-01T17:16:57Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: Moselhy uploaded a new version of File:Slicer-vs2013-CMakePredefinedTargets-PACKAGE.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:Slicer-vs2013-PACKAGE.png&amp;diff=53781</id>
		<title>File:Slicer-vs2013-PACKAGE.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:Slicer-vs2013-PACKAGE.png&amp;diff=53781"/>
		<updated>2017-08-01T17:15:54Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to find the package project&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/DicomToNrrdConverter&amp;diff=53731</id>
		<title>Documentation/4.6/Modules/DicomToNrrdConverter</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.6/Modules/DicomToNrrdConverter&amp;diff=53731"/>
		<updated>2017-07-30T20:37:59Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&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 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].&amp;lt;br&amp;gt;&lt;br /&gt;
Author: Jim Miller, GE&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Jim Miller &amp;lt;email&amp;gt;millerjv@ge.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|Image:NAMIC 380x463.jpg|NA-MIC&lt;br /&gt;
|Image:GE-logo.png|GE &lt;br /&gt;
|Image:Itk-logo.jpg|Itk&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
This module is typically used as the first step in diffusion weighted image analysis and tractography to convert diffusion weighted images in Dicom format into Nrrd format, which is recognized by Slicer4 as a legitimate diffusion weighted volume. &lt;br /&gt;
&lt;br /&gt;
In the recent development, it is extended to act as a dicom series to nrrd file converter for non-diffusion-weighted images as well.&lt;br /&gt;
&lt;br /&gt;
Supported DWI formats:&lt;br /&gt;
&lt;br /&gt;
*Philips scanner/software version combinations:&lt;br /&gt;
**Achieva 2.1.3.6&lt;br /&gt;
**Achieva 2.5.3.0&lt;br /&gt;
**Achieva 2.5.3.3&lt;br /&gt;
**Achieva 2.6.1.0&lt;br /&gt;
**Acheiva 2.6.3.4&lt;br /&gt;
**Intera 2.1.3.6&lt;br /&gt;
**Intera 2.6.3.5&lt;br /&gt;
*Siemens&lt;br /&gt;
**Trio B13&lt;br /&gt;
**Trio B15&lt;br /&gt;
**Trio B17&lt;br /&gt;
**Verio B15V&lt;br /&gt;
*GE&lt;br /&gt;
**SIGNA HDx14.0&lt;br /&gt;
**SIGNA HDxt 15.0&lt;br /&gt;
**DVMR 20.0M4&lt;br /&gt;
**DVMR 20.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Usage}}&lt;br /&gt;
A command line example for running the module is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DicomToNrrdConverter.exe --inputDicomDirectory MyDicomDir --outputVolume MyNrrdImage.nhdr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The module is currently set to quit and alert the user of gradients whose magnitudes are unreasonably small (greater than 0 and less than the smallGradientThreshold) via the '''smallGradientThreshold''' flag (default value for smallGradientThreshold: 0.2). This flag was created after encountering gradient vectors whose magnitudes were unusually small in Siemens Trio Tim B13 data due to incorrect metadata for diffusion gradient vector coordinate entries in the DICOM header public element tags.&lt;br /&gt;
&lt;br /&gt;
'''For Siemens data:''' In event of incorrect metadata for diffusion gradient vector coordinates in the DICOM header public element tags, please set the '''useBMatrixGradientDirections''' flag. When the useBMatrixGradientDirections flag is set, gradient direction coordinates and b values are derived from the '''bMatrix''' DICOM header private element tag for each gradient. In Siemens DWI data, the b matrix elements are the product of the b value and unit gradient direction vector (column vector) multiplied by the transpose of the unit gradient direction vector. Therefore, for a given gradient direction, the unit gradient direction vector coordinates are the first column of the 3x3 unitary matrix from a singular value decomposition of its b matrix, while the b value is the trace of its b matrix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels}}&lt;br /&gt;
{|&lt;br /&gt;
|{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
|[[Image:DWIDicomToNrrdGUI.png|thumb|280px|Screenshot of the UI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Debug_Instructions&amp;diff=53115</id>
		<title>Documentation/Nightly/Developers/Tutorials/Debug Instructions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Debug_Instructions&amp;diff=53115"/>
		<updated>2017-07-17T16:50:28Z</updated>

		<summary type="html">&lt;p&gt;Moselhy: /* Using Visual Studio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
==Background==&lt;br /&gt;
The executable Slicer application ''Slicer-Superbuild/Slicer-build/Slicer'' (or Slicer.exe) is the [[Documentation/{{documentation/version}}/Developers/Launcher|launcher]] of the real application binary ''Slicer-Superbuild/Slicer-build/bin/SlicerApp-real''.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
===Analyze a segmentation fault===&lt;br /&gt;
 $ ulimit -c unlimited&lt;br /&gt;
 $ ./Slicer&lt;br /&gt;
 ... make it crash&lt;br /&gt;
 $ ./Slicer --gdb ./bin/SlicerApp-real&lt;br /&gt;
 (gdb) core core&lt;br /&gt;
 (gdb) backtrace&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===GDB debug with launch arguments===&lt;br /&gt;
The Slicer app launcher provides options to start other programs with the Slicer environment settings. &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;--launch &amp;lt;executable&amp;gt; [&amp;lt;parameters&amp;gt;]&amp;lt;/code&amp;gt;: executes an arbitrary program. For example, &amp;lt;code&amp;gt;Slicer --launch /usr/bin/gnome-terminal&amp;lt;/code&amp;gt; starts gnome-terminal (then run GDB directly on SlicerQT-real)&lt;br /&gt;
*&amp;lt;code&amp;gt;--gdb&amp;lt;/code&amp;gt;: runs GDB then executes SlicerQT-real from within the debugger environment.&lt;br /&gt;
&lt;br /&gt;
===GDB debug by attaching to running process [RECOMMENDED] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Starting with Ubuntu 10.10, ptracing of non-child processes by non-root users as been disabled -ie. only a process which is a parent of another process can ptrace it for normal users.&lt;br /&gt;
  &amp;lt;ol style=&amp;quot;list-style-type:none; border-left:thick solid red; padding-left:1em;&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;You can temporarily disable this restriction by:&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;pre&amp;gt;$ echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;To permanently allow it to edit &amp;lt;code&amp;gt;/etc/sysctl.d/10-ptrace.conf&amp;lt;/code&amp;gt; and change the line:&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;pre&amp;gt;kernel.yama.ptrace_scope = 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;to read:&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;pre&amp;gt;kernel.yama.ptrace_scope = 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;For more details: http://askubuntu.com/questions/41629/after-upgrade-gdb-wont-attach-to-process&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Running Slicer with the following command line argument will allow you to easily obtain the associated PID:&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;$ ./Slicer --attach-process&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This will bring up a window with the &amp;lt;code&amp;gt;PID&amp;lt;/code&amp;gt; before loading any modules, which is also helpful for debugging the loading process.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Then, you can attach the process to &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt; using the following command:&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;$ gdb --pid $PIDABOVE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Finally type the following gdb command&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;(gdb) continue&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;If not using the &amp;lt;code&amp;gt;--attach-process&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;PID&amp;lt;/code&amp;gt; could be obtain using the following command:&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;$ ps -Afww | grep SlicerApp-real&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GDB debug by using exec-wrapper===&lt;br /&gt;
An alternative approach is to use a wrapper script to emulate the functionality of the app launcher. This will allow you to use gdb or a gdb-controlling program such as an IDE, in order to interactively debug directly from GDB without attaching.&lt;br /&gt;
&lt;br /&gt;
The general idea of the wrapper is to set all of the appropriate environment variables as they would be set by the app launcher. From SlicerLauncherSettings:&lt;br /&gt;
*[LibraryPath] contents should be in LD_LIBRARY_PATH&lt;br /&gt;
*[Paths] contents should be in PATH&lt;br /&gt;
*[EnvironmentVariables] should each be set&lt;br /&gt;
&lt;br /&gt;
See [[Slicer4:Example_Wrapper_Script|this example script]]&lt;br /&gt;
&lt;br /&gt;
Now, start gdb and do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(gdb) set exec-wrapper ./WrapSlicer4 &lt;br /&gt;
(gdb) exec-file ./bin/SlicerQT-real&lt;br /&gt;
(gdb) run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since VTK and ITK include many multithreaded filters, by default you will see lots of messages like the following from gdb during rendering and processing:&lt;br /&gt;
 [New Thread 0x7fff8378f700 (LWP 20510)]&lt;br /&gt;
 [Thread 0x7fff8b0aa700 (LWP 20506) exited]&lt;br /&gt;
&lt;br /&gt;
These can be turned off with this command:&lt;br /&gt;
 set print thread-events off&lt;br /&gt;
&lt;br /&gt;
===GDB debug in CodeLite IDE===&lt;br /&gt;
&lt;br /&gt;
[[{{FULLPAGENAME}}/CodeLite|Linux debugging with CodeLite IDE]]&lt;br /&gt;
&lt;br /&gt;
===Using QtCreator===&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Tutorials/QtCreator|QtCreator page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
=== Using Visual Studio ===&lt;br /&gt;
&lt;br /&gt;
Note: SimpleITK has to be disabled for building in debug mode. See more information at http://www.na-mic.org/Bug/view.php?id=3816 .&lt;br /&gt;
&lt;br /&gt;
For VisualStudio it's also possible to run the IDE with the correct environment to debug slicer.&lt;br /&gt;
&lt;br /&gt;
* Start VisualStudio by using the launcher. Run: Slicer.exe --VisualStudio &lt;br /&gt;
** If you use non-supported VisualStudio version (e.g., VS2010, VS2012, ...) then you may have to start the executable of the VisualStudio IDE manually with the --launch option, for example: Slicer.exe --launch &amp;quot;c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe&amp;quot;&lt;br /&gt;
* When Visual Studio is started, open the ...\Slicer-build\Slicer.sln solution&lt;br /&gt;
* Set the SlicerApp as StartUp project (right-click on SlicerApp project and select &amp;quot;Set as StartUp Project&amp;quot;)&lt;br /&gt;
* Run Slicer in debug mode by Start Debugging command (in Debug menu).&lt;br /&gt;
&lt;br /&gt;
Note that because CMake re-creates the solution file from within the build process, Visual Studio will sometimes need to stop and reload the project, requiring manual button pressing on your part (just press Yes or OK whenever you are asked).  To avoid this, you can use a script to complete the build process and then re-start the Visual Studio.&lt;br /&gt;
&lt;br /&gt;
===Using QtCreator===&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Tutorials/QtCreator|QtCreator page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
=== Using shell scripts for building/re-building Slicer ===&lt;br /&gt;
&lt;br /&gt;
==== Using batch (.bat) files ====&lt;br /&gt;
&lt;br /&gt;
Copy-paste the content below into a file called ''BuildSlicer.bat'' and run it to build or re-build Slicer. Check and if necessary update the first few lines with the actual location of source code and tools on your computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set SLICER_SOURCE_DIR=&amp;quot;c:\D\S4&amp;quot;&lt;br /&gt;
set SLICER_BIN_DIR=&amp;quot;c:\D\S4R&amp;quot;&lt;br /&gt;
set SLICER_QMAKE_EXE=&amp;quot;c:\D\Support\qt-4.8.7-64-vs2013-rel\bin\qmake.exe&amp;quot;&lt;br /&gt;
set CMAKE_EXE=&amp;quot;C:\Program Files (x86)\CMake\bin\cmake.exe&amp;quot;&lt;br /&gt;
set CTEST_EXE=&amp;quot;C:\Program Files (x86)\CMake\bin\ctest.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mkdir %SLICER_BIN_DIR%&lt;br /&gt;
cd /d %SLICER_BIN_DIR%&lt;br /&gt;
%CMAKE_EXE% %SLICER_SOURCE_DIR% -G &amp;quot;Visual Studio 12 2013 Win64&amp;quot; -DQT_QMAKE_EXECUTABLE:PATH=%SLICER_QMAKE_EXE% -DSlicer_USE_PYTHONQT_WITH_OPENSSL:BOOL=OFF -DSlicer_USE_SimpleITK:BOOL=OFF&lt;br /&gt;
%CTEST_EXE% -D Experimental&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Experimental: Using Cygwin ====&lt;br /&gt;
If you use cygwin, you can create simple shell scripts, for example in /usr/local/bin, which these several steps at once when run from the Slicer4-superbuild directory:&lt;br /&gt;
&lt;br /&gt;
* ''s4build'' (slicer4 build)&lt;br /&gt;
 (cd Slicer-build; cmake.exe -VV --debug-output . &amp;amp;&amp;amp; ./Slicer.exe --VisualStudio Slicer.sln /out buildlog.txt /build)&lt;br /&gt;
 (cd Slicer-build; ./Slicer.exe --VisualStudio Slicer.sln)&lt;br /&gt;
* ''s4sbuild'' (slicer4 super build)&lt;br /&gt;
 (cmake.exe -VV --debug-output . &amp;amp;&amp;amp; ./Slicer-build/Slicer.exe --VisualStudio Slicer.sln /out buildlog.txt /build)&lt;br /&gt;
 (cd Slicer-build; ./Slicer.exe --VisualStudio Slicer.sln)&lt;br /&gt;
&lt;br /&gt;
The ''s4build'' command re-runs cmake and then runs the build of Slicer only.  When this completes, it launches visual studio with slicer loaded for debugging.&lt;br /&gt;
&lt;br /&gt;
''s4sbuild'' is similar, but it runs the superbuild process so that all the dependency libraries are updated.  This takes longer, but is sometimes needed when there has been a change to CTK or other tools.&lt;br /&gt;
&lt;br /&gt;
Note the buildlog.txt files for checking if anything went wrong.&lt;br /&gt;
&lt;br /&gt;
== Mac (Xcode) ==&lt;br /&gt;
&lt;br /&gt;
===Using Xcode===&lt;br /&gt;
&lt;br /&gt;
[[image:Xcode-scheme-Screen Shot 2012-10-05 at 10.13.30 AM.png|thumb|right|200px]]&lt;br /&gt;
&lt;br /&gt;
As of slicer 4.2, we do not support building using Xcode, however if you build slicer using traditional unix Makefiles you can still debug using the powerful source debugging features of Xcode.  &lt;br /&gt;
&lt;br /&gt;
''Note: You need to set up a dummy project in Xcode just to enable some of the options.''  This means that Xcode will create a MacOS code template, but you won't use it directly (instead you will point to the code you build with cmake/make).&lt;br /&gt;
&lt;br /&gt;
==== Attaching to a running process ====&lt;br /&gt;
&lt;br /&gt;
You can use the Attach to Process option in the Xcode Product menu for debugging.  This will allow you to get browsable stack traces for crashes.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
# Start Slicer&lt;br /&gt;
# Start Xcode&lt;br /&gt;
# Use the Product-&amp;gt;Attach to Process... menu&lt;br /&gt;
&lt;br /&gt;
====Setting Breakpoints====&lt;br /&gt;
To set a breakpoint in code that is not crashing, you can set it via the command line interface.  For the lldb debugger, first attach to the process and break the program.  Then at the (lldb) prompt, stop at a method as follows:&lt;br /&gt;
&lt;br /&gt;
 breakpoint set -M vtkMRMLScene::Clear&lt;br /&gt;
&lt;br /&gt;
then you can single step and/or set other breakpoints in that file.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use the Product-&amp;gt;Debug-&amp;gt;Create a Symbolic Breakpoint... option.  This is generally preferable to the lldb level debugging, since it shows up in the Breakpoints pane and can be toggled/deleted with the GUI.&lt;br /&gt;
&lt;br /&gt;
====Debugging the Startup Process====&lt;br /&gt;
&lt;br /&gt;
To debug startup issues you can set up a 'Scheme' and select the Slicer.app in your Slicer-build directory (see screen shot).  You can set up multiple schemes with different command line arguments and executables (for example to debug tests).&lt;br /&gt;
&lt;br /&gt;
Since you are using a dummy project but want to debug the slicer application, you need to do the following:&lt;br /&gt;
# Start Xcode and open dummy project&lt;br /&gt;
# Pick Product-&amp;gt;Edit Scheme...&lt;br /&gt;
# Select the Run section&lt;br /&gt;
# Select the Info tab&lt;br /&gt;
# Pick Slicer.app as the Executable&lt;br /&gt;
# Click OK&lt;br /&gt;
# Now the Run button will start Slicer for debugging&lt;br /&gt;
&lt;br /&gt;
Note that you can create multiple schemes, each various command line options to pass to slicer so you can easily get back to a debugging environment.&lt;br /&gt;
&lt;br /&gt;
===Using QtCreator===&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Tutorials/QtCreator|QtCreator page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
===Profiling===&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Instruments_%28application%29 Instruments] tool is very useful for profiling.&lt;br /&gt;
&lt;br /&gt;
==Debugging a Test==&lt;br /&gt;
Once VisualStudio is open with the Slicer environment loaded, it is possible to run and debug tests.&lt;br /&gt;
To run all tests, build the ''RUN_TESTS'' project.&lt;br /&gt;
#To debug a test, find its project:&lt;br /&gt;
##Libs/MRML/Core tests are in the ''MRMLCoreCxxTests'' project&lt;br /&gt;
##CLI tests are in ''CLI_NAMETest'' project (e.g. ThresholdScalarVolumeTest) &lt;br /&gt;
##Loadable module tests are in ''qSlicerLOADABLE_NAMECxxTests'' project (e.g. qSlicerVolumeRenderingCxxTests) &lt;br /&gt;
##Module logic tests are in ''MODULE_NAMELogicCxxTests'' project (e.g. VolumeRenderingLogicCxxTests) &lt;br /&gt;
##Module widgets tests are in ''MODULE_NAMEWidgetsCxxTests'' project (e.g. VolumesWidgetsCxxTests)&lt;br /&gt;
#Go to the project debugging properties (right click -&amp;gt; Properties, then Configuration Properties/Debugging)&lt;br /&gt;
#In ''Command Arguments'', type the name of the test (e.g. &amp;lt;code&amp;gt;vtkMRMLSceneImportTest&amp;lt;/code&amp;gt; for project MRMLCoreCxxTests)&lt;br /&gt;
# If the test takes argument(s), enter the argument(s) after the test name in ''Command Arguments'' (e.g. &amp;lt;code&amp;gt;vtkMRMLSceneImportTest C:\Path\To\Slicer4\Libs\MRML\Core\Testing\vol_and_cube.mrml&amp;lt;/code&amp;gt;)&lt;br /&gt;
## You can see what arguments are passed by the dashboards by looking at the test details in [http://slicer.cdash.org/index.php?project=Slicer4 CDash].&lt;br /&gt;
## Most VTK and Qt tests support the &amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; argument, it allows the test to be run in &amp;quot;interactive&amp;quot; mode. It doesn't exit at the end of the test.&lt;br /&gt;
# Make the project ''Set As StartUp Project''&lt;br /&gt;
# ''Start Debugging (F5)''&lt;br /&gt;
&lt;br /&gt;
==Debugging Python scripts==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Python_scripting#How_can_I_use_a_visual_debugger_for_step-by-step_debugging|Python scripting page]].&lt;br /&gt;
&lt;br /&gt;
{{:Documentation/{{documentation/version}}/Developers/FAQ/Debugging|Debugging}}&lt;/div&gt;</summary>
		<author><name>Moselhy</name></author>
		
	</entry>
</feed>