<?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=Bpflug</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=Bpflug"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Bpflug"/>
	<updated>2026-05-26T01:28:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6490</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6490"/>
		<updated>2008-09-18T18:56:28Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation-3.2&amp;diff=7493</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation-3.2</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation-3.2&amp;diff=7493"/>
		<updated>2008-09-18T18:56:28Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6489</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6489"/>
		<updated>2008-09-18T18:54:20Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6488</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6488"/>
		<updated>2008-09-18T18:53:47Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[:PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6487</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6487"/>
		<updated>2008-09-18T18:52:53Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6486</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6486"/>
		<updated>2008-09-18T18:52:33Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6485</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6485"/>
		<updated>2008-09-18T18:51:55Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[image:PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6484</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6484"/>
		<updated>2008-09-18T18:48:28Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Source code &amp;amp; Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Moreover to this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
[[file:PrivacyCMakeLists.txt]]&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyCMakeLists.txt&amp;diff=6483</id>
		<title>File:PrivacyCMakeLists.txt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyCMakeLists.txt&amp;diff=6483"/>
		<updated>2008-09-18T18:43:49Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Makefile for privacy project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Makefile for privacy project&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6482</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6482"/>
		<updated>2008-09-18T17:39:53Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Fuzzy Surface Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment! (only exception is the median value which considers all surface values of one row)&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6481</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6481"/>
		<updated>2008-09-18T17:38:31Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Preprocessing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defining the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
Second part of the pre-processing is the usage of the Orient Image Filter to adjust the image that the anterior direction of the human is always looking to the top of the image. This guarantees that the fuzzy surface algorithm works always with the front of the patient.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6300</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6300"/>
		<updated>2008-09-04T19:19:09Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defines the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6299</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6299"/>
		<updated>2008-09-04T18:48:45Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Preprocessing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The aim of this step is to provide a label map defines the human as good as possible. Particulary important for the success of the algorithm is a very good detection of the surface and the reduction of noise outside the human. The Otsu - Threshold - Filter is used as it provides quite good segmentation results on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6294</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6294"/>
		<updated>2008-09-04T18:31:54Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;150&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6293</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6293"/>
		<updated>2008-09-04T18:27:42Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;200&amp;quot; widths=&amp;quot;650&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;250&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6292</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6292"/>
		<updated>2008-09-04T18:26:27Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; heights=&amp;quot;200&amp;quot; widths=&amp;quot;600&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300&amp;quot; widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6291</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6291"/>
		<updated>2008-09-04T18:25:27Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; widths=&amp;quot;600&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6290</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6290"/>
		<updated>2008-09-04T18:23:30Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; widths=&amp;quot;550&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalDataSlice.png|Original&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|Manipulated&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyOriginalDataSlice.png&amp;diff=6289</id>
		<title>File:PrivacyOriginalDataSlice.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyOriginalDataSlice.png&amp;diff=6289"/>
		<updated>2008-09-04T18:22:34Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6288</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6288"/>
		<updated>2008-09-04T18:20:55Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; widths=&amp;quot;450&amp;quot;&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginalData2D.png|Original dataset before manipulation&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|one slice view&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6287</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6287"/>
		<updated>2008-09-04T18:15:08Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|left|framed|600px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|left|framed|600px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|one slice view&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6286</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6286"/>
		<updated>2008-09-04T18:14:24Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|framed|800px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|framed|800px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|one slice view&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6285</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6285"/>
		<updated>2008-09-04T18:07:45Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|framed|800px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyFuzzyData2D.png|dataset after manipulation&lt;br /&gt;
  Image:PrivacyFuzzyDataSlice.png|one slice view&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6284</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6284"/>
		<updated>2008-09-04T18:02:14Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|400px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|left|400px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|none|180px|one slice view]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6283</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6283"/>
		<updated>2008-09-04T18:01:05Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|left|400px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|left|400px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|none|180px|one slice view]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6282</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6282"/>
		<updated>2008-09-04T17:51:06Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|left|thumb|400px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|left|thumb|400px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|none|thumb|180px|one slice view]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6281</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6281"/>
		<updated>2008-09-04T17:49:54Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|left|thumb|280px|Original dataset before manipulation]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|left|thumb|280px|dataset after manipulation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|none|thumb|280px|one slice view]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6280</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6280"/>
		<updated>2008-09-04T17:46:14Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView1.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View1.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View1.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
  Image:PrivacyOriginal3DView2.png|3D view before manipulation&lt;br /&gt;
  Image:PrivacyManipulated1View2.png|3D view after manipulation&lt;br /&gt;
  Image:PrivacyManipulated2View2.png|3D view after another manipulation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6279</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6279"/>
		<updated>2008-09-04T17:35:41Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginal3DView1.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
[[Image:PrivacyManipulated1View1.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
[[Image:PrivacyManipulated2View1.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginal3DView2.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
[[Image:PrivacyManipulated1View2.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
[[Image:PrivacyManipulated2View2.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6278</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6278"/>
		<updated>2008-09-04T17:33:42Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png]]&lt;br /&gt;
&lt;br /&gt;
After execution of the privacy module there is a additional surface visible on the front of the head surface.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyData2D.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyFuzzyDataSlice.png]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginal3DView1.png]]&lt;br /&gt;
[[Image:PrivacyManipulated1View1.png]]&lt;br /&gt;
[[Image:PrivacyManipulated2View1.png]]&lt;br /&gt;
&lt;br /&gt;
From another point of view:&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginal3DView2.png]]&lt;br /&gt;
[[Image:PrivacyManipulated1View2.png]]&lt;br /&gt;
[[Image:PrivacyManipulated2View2.png]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyFuzzyDataSlice.png&amp;diff=6277</id>
		<title>File:PrivacyFuzzyDataSlice.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyFuzzyDataSlice.png&amp;diff=6277"/>
		<updated>2008-09-04T17:33:15Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyFuzzyData2D.png&amp;diff=6276</id>
		<title>File:PrivacyFuzzyData2D.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyFuzzyData2D.png&amp;diff=6276"/>
		<updated>2008-09-04T17:31:08Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyManipulated2View2.png&amp;diff=6275</id>
		<title>File:PrivacyManipulated2View2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyManipulated2View2.png&amp;diff=6275"/>
		<updated>2008-09-04T17:28:19Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Dataset after manipulation with privacy module with parameters:
surface divisor = 2;
middle divisor = 2;
median disabled;
Overflow cutoff disabled;
infilltrationdepth = 12;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dataset after manipulation with privacy module with parameters:&lt;br /&gt;
surface divisor = 2;&lt;br /&gt;
middle divisor = 2;&lt;br /&gt;
median disabled;&lt;br /&gt;
Overflow cutoff disabled;&lt;br /&gt;
infilltrationdepth = 12;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyManipulated1View2.png&amp;diff=6274</id>
		<title>File:PrivacyManipulated1View2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyManipulated1View2.png&amp;diff=6274"/>
		<updated>2008-09-04T17:26:52Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Dataset after manipulation with privacy module with parameters:
surface divisor = 2;
middle divisor = 2;
median disabled;
Overflow cutoff disabled;
infilltrationdepth = 12;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dataset after manipulation with privacy module with parameters:&lt;br /&gt;
surface divisor = 2;&lt;br /&gt;
middle divisor = 2;&lt;br /&gt;
median disabled;&lt;br /&gt;
Overflow cutoff disabled;&lt;br /&gt;
infilltrationdepth = 12;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyOriginal3DView2.png&amp;diff=6273</id>
		<title>File:PrivacyOriginal3DView2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyOriginal3DView2.png&amp;diff=6273"/>
		<updated>2008-09-04T17:25:36Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Human head sample dataset before manipulation in slicer 3D view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Human head sample dataset before manipulation in slicer 3D view&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6272</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6272"/>
		<updated>2008-09-04T17:22:31Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.png]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginal3DView1.png]]&lt;br /&gt;
[[Image:PrivacyManipulated1View1.png]]&lt;br /&gt;
[[Image:PrivacyManipulated2View1.png]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyManipulated2View1.png&amp;diff=6271</id>
		<title>File:PrivacyManipulated2View1.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyManipulated2View1.png&amp;diff=6271"/>
		<updated>2008-09-04T17:22:11Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Dataset after manipulation with privacy module with parameters:
surface divisor = 2;
middle divisor = 2;
median disabled;
Overflow cutoff disabled;
infilltrationdepth = 12;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dataset after manipulation with privacy module with parameters:&lt;br /&gt;
surface divisor = 2;&lt;br /&gt;
middle divisor = 2;&lt;br /&gt;
median disabled;&lt;br /&gt;
Overflow cutoff disabled;&lt;br /&gt;
infilltrationdepth = 12;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyManipulated1View1.png&amp;diff=6270</id>
		<title>File:PrivacyManipulated1View1.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyManipulated1View1.png&amp;diff=6270"/>
		<updated>2008-09-04T17:20:56Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Dataset after manipulation with privacy module with parameters:
surface divisor = 2;
middle divisor = 4;
median disabled;
Overflow cutoff disabled;
infilltrationdepth = 12;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dataset after manipulation with privacy module with parameters:&lt;br /&gt;
surface divisor = 2;&lt;br /&gt;
middle divisor = 4;&lt;br /&gt;
median disabled;&lt;br /&gt;
Overflow cutoff disabled;&lt;br /&gt;
infilltrationdepth = 12;&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyOriginal3DView1.png&amp;diff=6269</id>
		<title>File:PrivacyOriginal3DView1.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyOriginal3DView1.png&amp;diff=6269"/>
		<updated>2008-09-04T17:16:05Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Human head sample dataset before manipulation in slicer 3D view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Human head sample dataset before manipulation in slicer 3D view&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyOriginalData2D.png&amp;diff=6268</id>
		<title>File:PrivacyOriginalData2D.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyOriginalData2D.png&amp;diff=6268"/>
		<updated>2008-09-04T17:14:55Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Human head dataset before manipulation in slicer 2 D view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Human head dataset before manipulation in slicer 2 D view&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6267</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6267"/>
		<updated>2008-09-04T17:13:50Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
For the following example an image dataset of a human head was used.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.jpg]]&lt;br /&gt;
&lt;br /&gt;
This example shows the data in the 3D view in slicer before and after the usage of two different parameter settings in the module.&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyOriginalData2D.jpg]]&lt;br /&gt;
[[Image:PrivacyOriginalData2D.jpg]]&lt;br /&gt;
[[Image:PrivacyOriginalData2D.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzySurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6266</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6266"/>
		<updated>2008-09-04T15:03:36Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module is splitted into two C++ files:&lt;br /&gt;
&lt;br /&gt;
* '''''itkFuzzSurface'''''&lt;br /&gt;
:This class is a subclass of itkImageToImageFilter and handles the fuzzy surface creation. It's a fully functional itk filter and can be embedded in every appropriate itk image processing pipeline. This structure makes the algorithm abstract from it's preprocessing, provides better separation between functional independent parts and offers better maintenance and reusability.&lt;br /&gt;
&lt;br /&gt;
* '''''Privacy'''''&lt;br /&gt;
:This file includes the main function and therefore the execution of the module. It first calls the preprocessing steps (Otsu Threshold) and afterwards the fuzzySurfaceFilter. Additionally all required parameters for the algorithms are set.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; Documentation===&lt;br /&gt;
&lt;br /&gt;
Except this wiki page there is documentation available in the source code. I tried to structure the files as good as possible and also to document any necessary part. I did this especially for people who are not really familiar with ITK, generic programming and Slicer. Therefore the files may seem a little bit overdocumented for sophisticated developers.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
The development took place in the Surgical Planning Laboratory, Harvard Medical School and Brigham and Women's Hospital, under the supervision of Mr. Steve Pieper Ph.D.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6265</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6265"/>
		<updated>2008-09-04T14:33:20Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Fuzzy Surface Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Privacy Module in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6264</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6264"/>
		<updated>2008-09-04T14:32:34Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Fuzzy Surface Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6263</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6263"/>
		<updated>2008-09-04T14:31:46Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
[[Image:PrivacyModuleProperties.png|thumb|280px|Right]]&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:PrivacyModuleProperties.png&amp;diff=6262</id>
		<title>File:PrivacyModuleProperties.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:PrivacyModuleProperties.png&amp;diff=6262"/>
		<updated>2008-09-04T14:30:16Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: Screenshot of privacy module in Slicer with default parameter settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of privacy module in Slicer with default parameter settings&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6261</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6261"/>
		<updated>2008-09-04T14:25:51Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|Before]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''''Surface-, Middle-, Median value'''''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
* '''''Enable overflow cut'''''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
:The infiltration depth defines the number of voxels the algorithm goes into the detected surface structure to overlap original voxels with the new created ones. The deeper the algorithm goes into the object the more information will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infilling random range'''''&lt;br /&gt;
:For the intensity of the added voxels an average value of the underneath voxels (5 by default) from the surface value is determined. For adding the new surface this value including a random created value is used for intensity estimation. The random range parameter defines the range for the random created value.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6260</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6260"/>
		<updated>2008-09-04T13:58:34Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|Before]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* ''Infilling random range''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Surface-, Middle-, Median value'''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. They define the consideration of the calculated value and there aggregation to the final additional height.The parameters serve as divisors, so the lower they are set the more they are considered. The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice. Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Enable overflow cut'''&lt;br /&gt;
:By checking the overflow cut box every value above the created additional surface is set to zero. This improves the fuzzy effect because especially values which are not detected by the Otsu Threhold Preprocessing like especially skin which wouldn't be influenced otherwise can be removed. But this also means that all information above the created surface will be lost.&lt;br /&gt;
&lt;br /&gt;
* '''''Infiltration Depth'''''&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6259</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6259"/>
		<updated>2008-09-04T13:50:11Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|Before]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* Infilling random range&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Surface-, Middle-, Median value'''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. &lt;br /&gt;
:They define the consideration of the calculated value and there aggregation to the final additional height.&lt;br /&gt;
:The parameters serve as divisors, so the lower they are set the more they are considered.&lt;br /&gt;
:The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point&lt;br /&gt;
:to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice.&lt;br /&gt;
:Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6258</id>
		<title>Slicer3:Module:Fuzzy Surface Creation-Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Module:Fuzzy_Surface_Creation-Documentation&amp;diff=6258"/>
		<updated>2008-09-04T13:48:52Z</updated>

		<summary type="html">&lt;p&gt;Bpflug: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation|Return to Slicer Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Fuzzy Surface Creation===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:VBHF.png|thumb|280px|The panel for this module]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|Before]]&lt;br /&gt;
|[[Image:screenshotBlank.png|thumb|280px|After]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
&lt;br /&gt;
Data sharing became a big issue in the last few years. Unfortunately for research data sharing is a difficult undertaking because of patient privacy protection.&lt;br /&gt;
This constricts the exchange of patient secific data between different research groups and faculties.&lt;br /&gt;
&lt;br /&gt;
MRI and CT data itself wouldn't be that delicate since the identification of a patient isn't obvious.&lt;br /&gt;
But the rendering of the data into a 3D view reveals a lot of information about the skin and skull structure of a patient and therefore makes a patient easily identifiable.&lt;br /&gt;
&lt;br /&gt;
The aim of this module is therefore to hide as much surface information of the patient as possible but also to keep internal structures untouched.&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Privacy Protection&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Bernhard Pflug, University for medical informatics and technology, Tyrol, Austria&lt;br /&gt;
* Contact: Bernhard Pflug, bernhard.pflug@gmail.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
&lt;br /&gt;
The purpose of this module is to hide as much surface details of a patient as possible. Therefore it adds&lt;br /&gt;
an additional surface to the '''front''' of the object in the image depending on different calulated parameters.&lt;br /&gt;
&lt;br /&gt;
As a first step the module detects the object in the image. Subsequent it adds additional data on the detected surface&lt;br /&gt;
depending on several calculated parameters. As a result it creates an additional surface on the object which hides skin&lt;br /&gt;
and skull details so that patient identification isn't obvious any more.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This module is a CLI Module for Slicer. It is mainly seperated into two parts:&lt;br /&gt;
&lt;br /&gt;
* '''Preprocessing'''&lt;br /&gt;
* '''Fuzzy Surface Creation'''&lt;br /&gt;
&lt;br /&gt;
==== Preprocessing ====&lt;br /&gt;
The first step is meant to be the pre-processing step. The Otsu - Threshold - Filter is used as it provides quite good segmentation results&lt;br /&gt;
on the object in the image and is considerably robust against noise, especially if it is not connected to the object.&lt;br /&gt;
&lt;br /&gt;
The pre-processing task defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''bright objects''&lt;br /&gt;
* ''number of histogram bins''&lt;br /&gt;
* ''face connected''&lt;br /&gt;
* ''minimum object size''&lt;br /&gt;
&lt;br /&gt;
For further information about these parameters check the Otsu - Threhold - Filter in Slicer3.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzy Surface Creation ====&lt;br /&gt;
&lt;br /&gt;
The second step is the actual creation of the fuzzy surface. &lt;br /&gt;
Important to mention is that this algorithm works local, so it creates the additional surface for each&lt;br /&gt;
voxel without considering the environment!&lt;br /&gt;
&lt;br /&gt;
It defines the following parameters:&lt;br /&gt;
&lt;br /&gt;
* ''Surface value''&lt;br /&gt;
** ''Enable surface value''&lt;br /&gt;
** ''Surface value divisor''&lt;br /&gt;
* ''Middle value''&lt;br /&gt;
** ''Enable middle value''&lt;br /&gt;
** ''Middle value divisor''&lt;br /&gt;
* ''Median value''&lt;br /&gt;
** ''Enable median value''&lt;br /&gt;
** ''Median value divisor''&lt;br /&gt;
* ''Enable overflow cut''&lt;br /&gt;
* ''Infiltration depth''&lt;br /&gt;
* Infilling random range&lt;br /&gt;
&lt;br /&gt;
* '''Surface-, Middle-, Median value'''&lt;br /&gt;
:These parameters are calculated and used to compute the height of the added surface. &lt;br /&gt;
:They define the consideration of the calculated value and there aggregation to the final additional height.&lt;br /&gt;
:The parameters serve as divisors, so the lower they are set the more they are considered.&lt;br /&gt;
:The surface parameter defines the distance of a surface point to the border of the image, the middle value the distance from the point&lt;br /&gt;
:to the center of the z-axis and the median value the distance between the point and the median of all surface values of the current slice.&lt;br /&gt;
:Furthermore every value can be en- or disabled by the respective check box.&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
Best results without median&lt;br /&gt;
* Note use cases for which this module is especially appropriate, and/or link to examples.&lt;br /&gt;
* Link to examples of the module's use&lt;br /&gt;
* Link to any existing tutorials&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
List all the panels in your interface, their features, what they mean, and how to use them. For instance:&lt;br /&gt;
&lt;br /&gt;
* '''Input panel:'''&lt;br /&gt;
* '''Parameters panel:'''&lt;br /&gt;
* '''Output panel:'''&lt;br /&gt;
* '''Viewing panel:'''&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
This module can be splitted in two generic parts:&lt;br /&gt;
&lt;br /&gt;
* '''Image preprocessing'''&lt;br /&gt;
* '''Fuzzy surface creation'''&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
Other modules or packages that are required for this module's use.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;/div&gt;</summary>
		<author><name>Bpflug</name></author>
		
	</entry>
</feed>