<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.commontk.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kikinis</id>
	<title>Commontk - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.commontk.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kikinis"/>
	<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Special:Contributions/Kikinis"/>
	<updated>2026-04-13T11:09:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2055</id>
		<title>Documentation/CLI In Context</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2055"/>
		<updated>2013-11-27T16:09:20Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* First Interoperability tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists some example and notes on different integration of CLI modules in different frameworks including CTK (see [[Documentation/Command_Line_Interface]]). The first interoperability testing was done during the [http://www.creatis.insa-lyon.fr/Interoperability_workshop third] VPH NoE Imaging workshop hold in Lyon, France on October 22-23, 2012. It will be continued in consecutive hackfests. The aim is to try to plug in CLI modules in CLI compatible frameworks and come up with possible improvement of the CLI standard, advice to CLI module and CLI framework developers.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
* [[CTK-Hackfest-Nov-2011|CTK Hackfest]] in Sophia Antipolis, France in November 2011&lt;br /&gt;
** Preliminary work to integrate CLI into GIMIAS&lt;br /&gt;
* [[CTK-Hackfest-Jul-2012|CTK Hackfest]] in Boston, USA in July 2012&lt;br /&gt;
** Preliminary work to integrate CLI into MITK&lt;br /&gt;
* [http://www.creatis.insa-lyon.fr/Interoperability_workshop 3rd VPH NoE Imaging workshop] in Lyon, France on October 22-23, 2012&lt;br /&gt;
** [[#First_Interoperability_tests|First Interoperability tests]] with CTK, GIMIAS, NiftyView and Slicer&lt;br /&gt;
* [[CTK-Hackfest-Dec-2012|CTK Hackfest]] in Bologna, Italy on December, 2012&lt;br /&gt;
** Preliminary work to integrate CLI into medInria, MAF3&lt;br /&gt;
** Semi-Automatic framework CLI integration tests&lt;br /&gt;
* [[CTK-Hackfest-Nov-2013|CTK Hackfest]] in London, UK on November, 2013&lt;br /&gt;
** [[#Second_Interoperability_tests|Second Interoperability tests]]: GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer, CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
== First Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
These first tests mainly concern the integration of niftyreg (registration algorithms from UCL). The different stages of integration are: load, execute and results. Meaning that the CLI module can be loaded. executed and provides the same results as if it was run only from the command line. The problems we encountered were:&lt;br /&gt;
&lt;br /&gt;
* GIMIAS does not support to have a `default` element different that `None` for the output, not sure about the `advanced` option for the `parameters` element &lt;br /&gt;
* niftyreg was using `fileExtensions` with stars (`*.nii`) which is not supported by neither GIMIAS nor Slicer (the star is directly used in the file name)&lt;br /&gt;
* The default output folder should be set to the user folder and not the running one, otherwise the CLI module can crash because they were denied access to write in that folder (for example `Program Files` under Windows)&lt;br /&gt;
* What to do with CLI modules that have dependencies on shared libraries with the platform but of different versions? Platforms should have the option to only use the libraries shipped with the CLI module&lt;br /&gt;
* Platforms should align the way they treat data since if two load data differently, the same CLI module could give different results&lt;br /&gt;
&lt;br /&gt;
It would be interesting to create test CLI modules for these integration tests. For example one that exposes all possible types of options, one running a simple algorithm without any dependencies (as niftyreg) and one with dependencies.&lt;br /&gt;
&lt;br /&gt;
Some thoughts on the tested platforms:&lt;br /&gt;
* Niftyview has nice controls on the way CLI modules are found and loaded (control on the `XML` validation)&lt;br /&gt;
* Slicer has a nice display of the loaded and non loaded CLI modules (appear in red, there could be more explanation why the loading failed)&lt;br /&gt;
&lt;br /&gt;
Here are the snapshots of niftyreg on the different platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;niftyreg on the different platforms&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Niftyreg-ctk.png|CTK command line module explorer &lt;br /&gt;
Image:Niftyreg-slicer.png|3D Slicer&lt;br /&gt;
Image:Niftyreg-niftyview.png|NiftyView&lt;br /&gt;
Image:Niftyreg-gimias.png|GIMIAS&lt;br /&gt;
Image:medinria-cli-niftyreg.png|MedInria &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Second Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
* GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer&lt;br /&gt;
&lt;br /&gt;
This interoperability test was done under Windows 8. Similar steps can be performed in other platforms.&lt;br /&gt;
&lt;br /&gt;
Typically, GIMIAS&#039;s Command Line Plugins (CLPs) are located in folder &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;\commandLinePlugins&#039;&#039;&#039;. However, the DLL dependencies of these CLPs are located in &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;&#039;&#039;&#039;. This is a problem when attempting to use GIMIAS&#039;s CLPs in CTK&#039;s Command Line Module Explorer (CLME), as the CLME will fail to load the CLPs. &lt;br /&gt;
&lt;br /&gt;
This can be easily solved by copying GIMIAS&#039;s CLPs in a different folder, let&#039;s say &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039;, along with its DLL dependencies (for finding out the DLL dependencies of a CLP, a program such as [http://dependencywalker.com/ Dependency Walker] can be used).&lt;br /&gt;
&lt;br /&gt;
After creating &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and copying the necessary files in it. Start CTK&#039;s CLME, go to menu &amp;quot;Module&amp;quot; and choose &amp;quot;Options&amp;quot;. In &amp;quot;Module Settings&amp;quot; go to &amp;quot;Search Paths&amp;quot;, and then add &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; to the search paths. Press &amp;quot;OK&amp;quot; and the CLME will scan &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and load the CLPs. &lt;br /&gt;
&lt;br /&gt;
If the loading process fails, you are probably missing a DLL dependency, close the CLME and go to the cache folder (&#039;&#039;&#039;&amp;lt;user_directory&amp;gt;\AppData\Local\CommonTK\CommandLineModuleExplorer\cache&#039;&#039;&#039; on MS Windows). Clear the content of that directory, add the additional DLL to &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and then start the CLME again.&lt;br /&gt;
&lt;br /&gt;
If a CLP shows up in the list with a warning sign, place the mouse on top of the CLP&#039;s name and look at the warning message. Most likely the XML that defines the CLP has a compatibility problem with the CLME, which means that is does not adhere to the [http://www.commontk.org/docs/html/ctkCmdLineModule.xsd CTK XML Schema]. See the definition of the Schema, correct the XML of the CLP, clear CLME&#039;s cache folder as described in the previous paragraph, and start the CLME again.&lt;br /&gt;
&lt;br /&gt;
After following these steps, you will be able to see and use your CLP in the CLME. &#039;&#039;&#039;This means that you can share your GIMIAS&#039;s CLP with any CTK user at any time, by just sharing your CLPs executable file and its DLL dependencies&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following image shows GIMIAS&#039;s CLPs loaded in CTK&#039;s CLME. The &amp;quot;Create a DICOM Series&amp;quot; CLP is selected. The &amp;quot;Settings&amp;quot; dialog is also shown, indicating how to add the CLPs directory to the CLME&#039;s search paths. Notice that some CLPs are shown with a warning sign, so their XML definitions has to be corrected.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CLPs_on_CTK_CLME.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
[http://www.taverna.org.uk/download/workbench/ Taverna Workbench] is an open source Workflow Management System written in Java. GIMIAS&#039;s Command Line Plugins (CLPs) can be used in Taverna Workbench for creating medical imaging workflows composed of several filters. In order to be able to do this, the &#039;&#039;&#039;Center Computational Imaging and Simulation Technologies in Biomedicine (CISTIB)&#039;&#039;&#039; at the [http://www.shef.ac.uk/ University of Sheffield] has created a Taverna Workbench plugin for GIMIAS.&lt;br /&gt;
&lt;br /&gt;
General instructions on how to install GIMIAS Command-Line Taverna Plugin can be found [https://drive.google.com/file/d/0B3kBRNGHGeP0dE53THFMYjdsdDQ/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
In this interoperability test, a CTK Command Line Module was created and tested with GIMIAS Command-Line Taverna Plugin. The sample plugin is called &#039;&#039;&#039;CopyPlugin&#039;&#039;&#039;. It is a simple code to open a VTK ASCII file containing a PolyData, and save the contents of the file on another VTK file. The plugin code can be accessed [https://drive.google.com/file/d/0B3kBRNGHGeP0bVZVWHZkS1NydnM/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
The result was successful, which means that &#039;&#039;&#039;GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined to create processing workflows in Taverna Workbench !!&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The following image shows the CopyPlugin running on CTK&#039;s Command Line Module Explorer.&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_CLME.png‎|400px]]&lt;br /&gt;
&lt;br /&gt;
The CopyPlugin Command Line Module Explorer can also be imported into GIMIAS, see the following image&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_GIMIAS.png|400px]]&lt;br /&gt;
&lt;br /&gt;
The following image shows a simple workflow that includes the CopyPlugin, after being imported using GIMIAS Command-Line Taverna Plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:CTL_CLM_TAVERNA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined into the same Taverna workflow. See the following image where a Marching Cubes GIMIAS&#039;s CLP is used along with the CopyPlugin, a CTK Command Line Module.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CTK_WORKFLOW.png|400px]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2052</id>
		<title>Documentation/CLI In Context</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2052"/>
		<updated>2013-11-27T09:03:48Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* First Interoperability tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists some example and notes on different integration of CLI modules in different frameworks including CTK (see [[Documentation/Command_Line_Interface]]). The first interoperability testing was done during the [http://www.creatis.insa-lyon.fr/Interoperability_workshop third] VPH NoE Imaging workshop hold in Lyon, France on October 22-23, 2012. It will be continued in consecutive hackfests. The aim is to try to plug in CLI modules in CLI compatible frameworks and come up with possible improvement of the CLI standard, advice to CLI module and CLI framework developers.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
* [[CTK-Hackfest-Nov-2011|CTK Hackfest]] in Sophia Antipolis, France in November 2011&lt;br /&gt;
** Preliminary work to integrate CLI into GIMIAS&lt;br /&gt;
* [[CTK-Hackfest-Jul-2012|CTK Hackfest]] in Boston, USA in July 2012&lt;br /&gt;
** Preliminary work to integrate CLI into MITK&lt;br /&gt;
* [http://www.creatis.insa-lyon.fr/Interoperability_workshop 3rd VPH NoE Imaging workshop] in Lyon, France on October 22-23, 2012&lt;br /&gt;
** [[#First_Interoperability_tests|First Interoperability tests]] with CTK, GIMIAS, NiftyView and Slicer&lt;br /&gt;
* [[CTK-Hackfest-Dec-2012|CTK Hackfest]] in Bologna, Italy on December, 2012&lt;br /&gt;
** Preliminary work to integrate CLI into medInria, MAF3&lt;br /&gt;
** Semi-Automatic framework CLI integration tests&lt;br /&gt;
* [[CTK-Hackfest-Nov-2013|CTK Hackfest]] in London, UK on November, 2013&lt;br /&gt;
** [[#Second_Interoperability_tests|Second Interoperability tests]]: GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer, CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
== First Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
These first tests mainly concern the integration of niftyreg (registration algorithms from UCL). The different stages of integration are: load, execute and results. Meaning that the CLI module can be loaded. executed and provides the same results as if it was run only from the command line. The problems we encountered were:&lt;br /&gt;
&lt;br /&gt;
* GIMIAS does not support to have a `default` element different that `None` for the output, not sure about the `advanced` option for the `parameters` element &lt;br /&gt;
* niftyreg was using `fileExtensions` with stars (`*.nii`) which is not supported by neither GIMIAS nor Slicer (the star is directly used in the file name)&lt;br /&gt;
* The default output folder should be set to the user folder and not the running one, otherwise the CLI module can crash because they were denied access to write in that folder (for example `Program Files` under Windows)&lt;br /&gt;
* What to do with CLI modules that have dependencies on shared libraries with the platform but of different versions? Platforms should have the option to only use the libraries shipped with the CLI module&lt;br /&gt;
* Platforms should align the way they treat data since if two load data differently, the same CLI module could give different results&lt;br /&gt;
&lt;br /&gt;
It would be interesting to create test CLI modules for these integration tests. For example one that exposes all possible types of options, one running a simple algorithm without any dependencies (as niftyreg) and one with dependencies.&lt;br /&gt;
&lt;br /&gt;
Some thoughts on the tested platforms:&lt;br /&gt;
* Niftyview has nice controls on the way CLI modules are found and loaded (control on the `XML` validation)&lt;br /&gt;
* Slicer has a nice display of the loaded and non loaded CLI modules (appear in red, there could be more explanation why the loading failed)&lt;br /&gt;
&lt;br /&gt;
Here are the snapshots of niftyreg on the different platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;niftyreg on the different platforms&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Niftyreg-ctk.png|CTK command line module explorer &lt;br /&gt;
Image:Niftyreg-slicer.png|3D Slicer&lt;br /&gt;
Image:Niftyreg-niftyview.png|NiftyView&lt;br /&gt;
Image:Niftyreg-gimias.png|GIMIAS&lt;br /&gt;
Image:medinria-cli-niftyreg.png|MedInria &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Second Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
* GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer&lt;br /&gt;
&lt;br /&gt;
This interoperability test was done under Windows 8. Similar steps can be performed in other platforms.&lt;br /&gt;
&lt;br /&gt;
Typically, GIMIAS&#039;s Command Line Plugins (CLPs) are located in folder &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;\commandLinePlugins&#039;&#039;&#039;. However, the DLL dependencies of these CLPs are located in &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;&#039;&#039;&#039;. This is a problem when attempting to use GIMIAS&#039;s CLPs in CTK&#039;s Command Line Module Explorer (CLME), as the CLME will fail to load the CLPs. &lt;br /&gt;
&lt;br /&gt;
This can be easily solved by copying GIMIAS&#039;s CLPs in a different folder, let&#039;s say &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039;, along with its DLL dependencies (for finding out the DLL dependencies of a CLP, a program such as [http://dependencywalker.com/ Dependency Walker] can be used).&lt;br /&gt;
&lt;br /&gt;
After creating &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and copying the necessary files in it. Start CTK&#039;s CLME, go to menu &amp;quot;Module&amp;quot; and choose &amp;quot;Options&amp;quot;. In &amp;quot;Module Settings&amp;quot; go to &amp;quot;Search Paths&amp;quot;, and then add &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; to the search paths. Press &amp;quot;OK&amp;quot; and the CLME will scan &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and load the CLPs. &lt;br /&gt;
&lt;br /&gt;
If the loading process fails, you are probably missing a DLL dependency, close the CLME and go to the cache folder (&#039;&#039;&#039;&amp;lt;user_directory&amp;gt;\AppData\Local\CommonTK\CommandLineModuleExplorer\cache&#039;&#039;&#039; on MS Windows). Clear the content of that directory, add the additional DLL to &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and then start the CLME again.&lt;br /&gt;
&lt;br /&gt;
If a CLP shows up in the list with a warning sign, place the mouse on top of the CLP&#039;s name and look at the warning message. Most likely the XML that defines the CLP has a compatibility problem with the CLME, which means that is does not adhere to the [http://www.commontk.org/docs/html/ctkCmdLineModule.xsd CTK XML Schema]. See the definition of the Schema, correct the XML of the CLP, clear CLME&#039;s cache folder as described in the previous paragraph, and start the CLME again.&lt;br /&gt;
&lt;br /&gt;
After following these steps, you will be able to see and use your CLP in the CLME. &#039;&#039;&#039;This means that you can share your GIMIAS&#039;s CLP with any CTK user at any time, by just sharing your CLPs executable file and its DLL dependencies&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following image shows GIMIAS&#039;s CLPs loaded in CTK&#039;s CLME. The &amp;quot;Create a DICOM Series&amp;quot; CLP is selected. The &amp;quot;Settings&amp;quot; dialog is also shown, indicating how to add the CLPs directory to the CLME&#039;s search paths. Notice that some CLPs are shown with a warning sign, so their XML definitions has to be corrected.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CLPs_on_CTK_CLME.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
[http://www.taverna.org.uk/download/workbench/ Taverna Workbench] is an open source Workflow Management System written in Java. GIMIAS&#039;s Command Line Plugins (CLPs) can be used in Taverna Workbench for creating medical imaging workflows composed of several filters. In order to be able to do this, the &#039;&#039;&#039;Center Computational Imaging and Simulation Technologies in Biomedicine (CISTIB)&#039;&#039;&#039; at the [http://www.shef.ac.uk/ University of Sheffield] has created a Taverna Workbench plugin for GIMIAS.&lt;br /&gt;
&lt;br /&gt;
General instructions on how to install GIMIAS Command-Line Taverna Plugin can be found [https://drive.google.com/file/d/0B3kBRNGHGeP0dE53THFMYjdsdDQ/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
In this interoperability test, a CTK Command Line Module was created and tested with GIMIAS Command-Line Taverna Plugin. The sample plugin is called &#039;&#039;&#039;CopyPlugin&#039;&#039;&#039;. It is a simple code to open a VTK ASCII file containing a PolyData, and save the contents of the file on another VTK file. The plugin code can be accessed [https://drive.google.com/file/d/0B3kBRNGHGeP0bVZVWHZkS1NydnM/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
The result was successful, which means that &#039;&#039;&#039;GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined to create processing workflows in Taverna Workbench !!&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The following image shows the CopyPlugin running on CTK&#039;s Command Line Module Explorer.&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_CLME.png‎|400px]]&lt;br /&gt;
&lt;br /&gt;
The CopyPlugin Command Line Module Explorer can also be imported into GIMIAS, see the following image&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_GIMIAS.png|400px]]&lt;br /&gt;
&lt;br /&gt;
The following image shows a simple workflow that includes the CopyPlugin, after being imported using GIMIAS Command-Line Taverna Plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:CTL_CLM_TAVERNA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined into the same Taverna workflow. See the following image where a Marching Cubes GIMIAS&#039;s CLP is used along with the CopyPlugin, a CTK Command Line Module.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CTK_WORKFLOW.png|400px]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2051</id>
		<title>Documentation/CLI In Context</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2051"/>
		<updated>2013-11-27T09:03:24Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* First Interoperability tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists some example and notes on different integration of CLI modules in different frameworks including CTK (see [[Documentation/Command_Line_Interface]]). The first interoperability testing was done during the [http://www.creatis.insa-lyon.fr/Interoperability_workshop third] VPH NoE Imaging workshop hold in Lyon, France on October 22-23, 2012. It will be continued in consecutive hackfests. The aim is to try to plug in CLI modules in CLI compatible frameworks and come up with possible improvement of the CLI standard, advice to CLI module and CLI framework developers.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
* [[CTK-Hackfest-Nov-2011|CTK Hackfest]] in Sophia Antipolis, France in November 2011&lt;br /&gt;
** Preliminary work to integrate CLI into GIMIAS&lt;br /&gt;
* [[CTK-Hackfest-Jul-2012|CTK Hackfest]] in Boston, USA in July 2012&lt;br /&gt;
** Preliminary work to integrate CLI into MITK&lt;br /&gt;
* [http://www.creatis.insa-lyon.fr/Interoperability_workshop 3rd VPH NoE Imaging workshop] in Lyon, France on October 22-23, 2012&lt;br /&gt;
** [[#First_Interoperability_tests|First Interoperability tests]] with CTK, GIMIAS, NiftyView and Slicer&lt;br /&gt;
* [[CTK-Hackfest-Dec-2012|CTK Hackfest]] in Bologna, Italy on December, 2012&lt;br /&gt;
** Preliminary work to integrate CLI into medInria, MAF3&lt;br /&gt;
** Semi-Automatic framework CLI integration tests&lt;br /&gt;
* [[CTK-Hackfest-Nov-2013|CTK Hackfest]] in London, UK on November, 2013&lt;br /&gt;
** [[#Second_Interoperability_tests|Second Interoperability tests]]: GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer, CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
== First Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
These first tests mainly concern the integration of niftyreg (registration algorithms from UCL). The different stages of integration are: load, execute and results. Meaning that the CLI module can be loaded. executed and provides the same results as if it was run only from the command line. The problems we encountered were:&lt;br /&gt;
&lt;br /&gt;
* GIMIAS does not support to have a `default` element different that `None` for the output, not sure about the `advanced` option for the `parameters` element &lt;br /&gt;
* niftyreg was using `fileExtensions` with stars (`*.nii`) which is not supported by neither GIMIAS nor Slicer (the star is directly used in the file name)&lt;br /&gt;
* The default output folder should be set to the user folder and not the running one, otherwise the CLI module can crash because they were denied access to write in that folder (for example `Program Files` under Windows)&lt;br /&gt;
* What to do with CLI modules that have dependencies on shared libraries with the platform but of different versions? Platforms should have the option to only use the libraries shipped with the CLI module&lt;br /&gt;
* Platforms should align the way they treat data since if two load data differently, the same CLI module could give different results&lt;br /&gt;
&lt;br /&gt;
It would be interesting to create test CLI modules for these integration tests. For example one that exposes all possible types of options, one running a simple algorithm without any dependencies (as niftyreg) and one with dependencies.&lt;br /&gt;
&lt;br /&gt;
Some thoughts on the tested platforms:&lt;br /&gt;
* Niftyview has nice controls on the way CLI modules are found and loaded (control on the `XML` validation)&lt;br /&gt;
* Slicer has a nice display of the loaded and non loaded CLI modules (appear in red, there could be more explanation why the loading failed)&lt;br /&gt;
&lt;br /&gt;
Here are the snapshots of niftyreg on the different platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;niftyreg on the different platforms&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;400px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Niftyreg-ctk.png|CTK command line module explorer &lt;br /&gt;
Image:Niftyreg-slicer.png|3D Slicer&lt;br /&gt;
Image:Niftyreg-niftyview.png|NiftyView&lt;br /&gt;
Image:Niftyreg-gimias.png|GIMIAS&lt;br /&gt;
Image:medinria-cli-niftyreg.png|MedInria &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Second Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
* GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer&lt;br /&gt;
&lt;br /&gt;
This interoperability test was done under Windows 8. Similar steps can be performed in other platforms.&lt;br /&gt;
&lt;br /&gt;
Typically, GIMIAS&#039;s Command Line Plugins (CLPs) are located in folder &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;\commandLinePlugins&#039;&#039;&#039;. However, the DLL dependencies of these CLPs are located in &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;&#039;&#039;&#039;. This is a problem when attempting to use GIMIAS&#039;s CLPs in CTK&#039;s Command Line Module Explorer (CLME), as the CLME will fail to load the CLPs. &lt;br /&gt;
&lt;br /&gt;
This can be easily solved by copying GIMIAS&#039;s CLPs in a different folder, let&#039;s say &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039;, along with its DLL dependencies (for finding out the DLL dependencies of a CLP, a program such as [http://dependencywalker.com/ Dependency Walker] can be used).&lt;br /&gt;
&lt;br /&gt;
After creating &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and copying the necessary files in it. Start CTK&#039;s CLME, go to menu &amp;quot;Module&amp;quot; and choose &amp;quot;Options&amp;quot;. In &amp;quot;Module Settings&amp;quot; go to &amp;quot;Search Paths&amp;quot;, and then add &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; to the search paths. Press &amp;quot;OK&amp;quot; and the CLME will scan &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and load the CLPs. &lt;br /&gt;
&lt;br /&gt;
If the loading process fails, you are probably missing a DLL dependency, close the CLME and go to the cache folder (&#039;&#039;&#039;&amp;lt;user_directory&amp;gt;\AppData\Local\CommonTK\CommandLineModuleExplorer\cache&#039;&#039;&#039; on MS Windows). Clear the content of that directory, add the additional DLL to &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and then start the CLME again.&lt;br /&gt;
&lt;br /&gt;
If a CLP shows up in the list with a warning sign, place the mouse on top of the CLP&#039;s name and look at the warning message. Most likely the XML that defines the CLP has a compatibility problem with the CLME, which means that is does not adhere to the [http://www.commontk.org/docs/html/ctkCmdLineModule.xsd CTK XML Schema]. See the definition of the Schema, correct the XML of the CLP, clear CLME&#039;s cache folder as described in the previous paragraph, and start the CLME again.&lt;br /&gt;
&lt;br /&gt;
After following these steps, you will be able to see and use your CLP in the CLME. &#039;&#039;&#039;This means that you can share your GIMIAS&#039;s CLP with any CTK user at any time, by just sharing your CLPs executable file and its DLL dependencies&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following image shows GIMIAS&#039;s CLPs loaded in CTK&#039;s CLME. The &amp;quot;Create a DICOM Series&amp;quot; CLP is selected. The &amp;quot;Settings&amp;quot; dialog is also shown, indicating how to add the CLPs directory to the CLME&#039;s search paths. Notice that some CLPs are shown with a warning sign, so their XML definitions has to be corrected.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CLPs_on_CTK_CLME.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
[http://www.taverna.org.uk/download/workbench/ Taverna Workbench] is an open source Workflow Management System written in Java. GIMIAS&#039;s Command Line Plugins (CLPs) can be used in Taverna Workbench for creating medical imaging workflows composed of several filters. In order to be able to do this, the &#039;&#039;&#039;Center Computational Imaging and Simulation Technologies in Biomedicine (CISTIB)&#039;&#039;&#039; at the [http://www.shef.ac.uk/ University of Sheffield] has created a Taverna Workbench plugin for GIMIAS.&lt;br /&gt;
&lt;br /&gt;
General instructions on how to install GIMIAS Command-Line Taverna Plugin can be found [https://drive.google.com/file/d/0B3kBRNGHGeP0dE53THFMYjdsdDQ/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
In this interoperability test, a CTK Command Line Module was created and tested with GIMIAS Command-Line Taverna Plugin. The sample plugin is called &#039;&#039;&#039;CopyPlugin&#039;&#039;&#039;. It is a simple code to open a VTK ASCII file containing a PolyData, and save the contents of the file on another VTK file. The plugin code can be accessed [https://drive.google.com/file/d/0B3kBRNGHGeP0bVZVWHZkS1NydnM/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
The result was successful, which means that &#039;&#039;&#039;GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined to create processing workflows in Taverna Workbench !!&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The following image shows the CopyPlugin running on CTK&#039;s Command Line Module Explorer.&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_CLME.png‎|400px]]&lt;br /&gt;
&lt;br /&gt;
The CopyPlugin Command Line Module Explorer can also be imported into GIMIAS, see the following image&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_GIMIAS.png|400px]]&lt;br /&gt;
&lt;br /&gt;
The following image shows a simple workflow that includes the CopyPlugin, after being imported using GIMIAS Command-Line Taverna Plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:CTL_CLM_TAVERNA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined into the same Taverna workflow. See the following image where a Marching Cubes GIMIAS&#039;s CLP is used along with the CopyPlugin, a CTK Command Line Module.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CTK_WORKFLOW.png|400px]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2050</id>
		<title>Documentation/CLI In Context</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/CLI_In_Context&amp;diff=2050"/>
		<updated>2013-11-27T09:02:37Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* First Interoperability tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists some example and notes on different integration of CLI modules in different frameworks including CTK (see [[Documentation/Command_Line_Interface]]). The first interoperability testing was done during the [http://www.creatis.insa-lyon.fr/Interoperability_workshop third] VPH NoE Imaging workshop hold in Lyon, France on October 22-23, 2012. It will be continued in consecutive hackfests. The aim is to try to plug in CLI modules in CLI compatible frameworks and come up with possible improvement of the CLI standard, advice to CLI module and CLI framework developers.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
* [[CTK-Hackfest-Nov-2011|CTK Hackfest]] in Sophia Antipolis, France in November 2011&lt;br /&gt;
** Preliminary work to integrate CLI into GIMIAS&lt;br /&gt;
* [[CTK-Hackfest-Jul-2012|CTK Hackfest]] in Boston, USA in July 2012&lt;br /&gt;
** Preliminary work to integrate CLI into MITK&lt;br /&gt;
* [http://www.creatis.insa-lyon.fr/Interoperability_workshop 3rd VPH NoE Imaging workshop] in Lyon, France on October 22-23, 2012&lt;br /&gt;
** [[#First_Interoperability_tests|First Interoperability tests]] with CTK, GIMIAS, NiftyView and Slicer&lt;br /&gt;
* [[CTK-Hackfest-Dec-2012|CTK Hackfest]] in Bologna, Italy on December, 2012&lt;br /&gt;
** Preliminary work to integrate CLI into medInria, MAF3&lt;br /&gt;
** Semi-Automatic framework CLI integration tests&lt;br /&gt;
* [[CTK-Hackfest-Nov-2013|CTK Hackfest]] in London, UK on November, 2013&lt;br /&gt;
** [[#Second_Interoperability_tests|Second Interoperability tests]]: GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer, CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
== First Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
These first tests mainly concern the integration of niftyreg (registration algorithms from UCL). The different stages of integration are: load, execute and results. Meaning that the CLI module can be loaded. executed and provides the same results as if it was run only from the command line. The problems we encountered were:&lt;br /&gt;
&lt;br /&gt;
* GIMIAS does not support to have a `default` element different that `None` for the output, not sure about the `advanced` option for the `parameters` element &lt;br /&gt;
* niftyreg was using `fileExtensions` with stars (`*.nii`) which is not supported by neither GIMIAS nor Slicer (the star is directly used in the file name)&lt;br /&gt;
* The default output folder should be set to the user folder and not the running one, otherwise the CLI module can crash because they were denied access to write in that folder (for example `Program Files` under Windows)&lt;br /&gt;
* What to do with CLI modules that have dependencies on shared libraries with the platform but of different versions? Platforms should have the option to only use the libraries shipped with the CLI module&lt;br /&gt;
* Platforms should align the way they treat data since if two load data differently, the same CLI module could give different results&lt;br /&gt;
&lt;br /&gt;
It would be interesting to create test CLI modules for these integration tests. For example one that exposes all possible types of options, one running a simple algorithm without any dependencies (as niftyreg) and one with dependencies.&lt;br /&gt;
&lt;br /&gt;
Some thoughts on the tested platforms:&lt;br /&gt;
* Niftyview has nice controls on the way CLI modules are found and loaded (control on the `XML` validation)&lt;br /&gt;
* Slicer has a nice display of the loaded and non loaded CLI modules (appear in red, there could be more explanation why the loading failed)&lt;br /&gt;
&lt;br /&gt;
Here are the snapshots of niftyreg on the different platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;niftyreg on the different platforms&amp;quot; widths=&amp;quot;400px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Niftyreg-ctk.png|CTK command line module explorer &lt;br /&gt;
Image:Niftyreg-slicer.png|3D Slicer&lt;br /&gt;
Image:Niftyreg-niftyview.png|NiftyView&lt;br /&gt;
Image:Niftyreg-gimias.png|GIMIAS&lt;br /&gt;
Image:medinria-cli-niftyreg.png|MedInria &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Second Interoperability tests ==&lt;br /&gt;
&lt;br /&gt;
* GIMIAS&#039;s Command Line Plugins in CTK&#039;s Command Line Module Explorer&lt;br /&gt;
&lt;br /&gt;
This interoperability test was done under Windows 8. Similar steps can be performed in other platforms.&lt;br /&gt;
&lt;br /&gt;
Typically, GIMIAS&#039;s Command Line Plugins (CLPs) are located in folder &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;\commandLinePlugins&#039;&#039;&#039;. However, the DLL dependencies of these CLPs are located in &#039;&#039;&#039;&amp;lt;GIMIAS_install_dir&amp;gt;&#039;&#039;&#039;. This is a problem when attempting to use GIMIAS&#039;s CLPs in CTK&#039;s Command Line Module Explorer (CLME), as the CLME will fail to load the CLPs. &lt;br /&gt;
&lt;br /&gt;
This can be easily solved by copying GIMIAS&#039;s CLPs in a different folder, let&#039;s say &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039;, along with its DLL dependencies (for finding out the DLL dependencies of a CLP, a program such as [http://dependencywalker.com/ Dependency Walker] can be used).&lt;br /&gt;
&lt;br /&gt;
After creating &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and copying the necessary files in it. Start CTK&#039;s CLME, go to menu &amp;quot;Module&amp;quot; and choose &amp;quot;Options&amp;quot;. In &amp;quot;Module Settings&amp;quot; go to &amp;quot;Search Paths&amp;quot;, and then add &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; to the search paths. Press &amp;quot;OK&amp;quot; and the CLME will scan &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and load the CLPs. &lt;br /&gt;
&lt;br /&gt;
If the loading process fails, you are probably missing a DLL dependency, close the CLME and go to the cache folder (&#039;&#039;&#039;&amp;lt;user_directory&amp;gt;\AppData\Local\CommonTK\CommandLineModuleExplorer\cache&#039;&#039;&#039; on MS Windows). Clear the content of that directory, add the additional DLL to &#039;&#039;&#039;&amp;lt;CLP_folder&amp;gt;&#039;&#039;&#039; and then start the CLME again.&lt;br /&gt;
&lt;br /&gt;
If a CLP shows up in the list with a warning sign, place the mouse on top of the CLP&#039;s name and look at the warning message. Most likely the XML that defines the CLP has a compatibility problem with the CLME, which means that is does not adhere to the [http://www.commontk.org/docs/html/ctkCmdLineModule.xsd CTK XML Schema]. See the definition of the Schema, correct the XML of the CLP, clear CLME&#039;s cache folder as described in the previous paragraph, and start the CLME again.&lt;br /&gt;
&lt;br /&gt;
After following these steps, you will be able to see and use your CLP in the CLME. &#039;&#039;&#039;This means that you can share your GIMIAS&#039;s CLP with any CTK user at any time, by just sharing your CLPs executable file and its DLL dependencies&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following image shows GIMIAS&#039;s CLPs loaded in CTK&#039;s CLME. The &amp;quot;Create a DICOM Series&amp;quot; CLP is selected. The &amp;quot;Settings&amp;quot; dialog is also shown, indicating how to add the CLPs directory to the CLME&#039;s search paths. Notice that some CLPs are shown with a warning sign, so their XML definitions has to be corrected.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CLPs_on_CTK_CLME.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* CTK&#039;s Command Line Modules in Taverna Workbench&lt;br /&gt;
&lt;br /&gt;
[http://www.taverna.org.uk/download/workbench/ Taverna Workbench] is an open source Workflow Management System written in Java. GIMIAS&#039;s Command Line Plugins (CLPs) can be used in Taverna Workbench for creating medical imaging workflows composed of several filters. In order to be able to do this, the &#039;&#039;&#039;Center Computational Imaging and Simulation Technologies in Biomedicine (CISTIB)&#039;&#039;&#039; at the [http://www.shef.ac.uk/ University of Sheffield] has created a Taverna Workbench plugin for GIMIAS.&lt;br /&gt;
&lt;br /&gt;
General instructions on how to install GIMIAS Command-Line Taverna Plugin can be found [https://drive.google.com/file/d/0B3kBRNGHGeP0dE53THFMYjdsdDQ/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
In this interoperability test, a CTK Command Line Module was created and tested with GIMIAS Command-Line Taverna Plugin. The sample plugin is called &#039;&#039;&#039;CopyPlugin&#039;&#039;&#039;. It is a simple code to open a VTK ASCII file containing a PolyData, and save the contents of the file on another VTK file. The plugin code can be accessed [https://drive.google.com/file/d/0B3kBRNGHGeP0bVZVWHZkS1NydnM/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
The result was successful, which means that &#039;&#039;&#039;GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined to create processing workflows in Taverna Workbench !!&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The following image shows the CopyPlugin running on CTK&#039;s Command Line Module Explorer.&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_CLME.png‎|400px]]&lt;br /&gt;
&lt;br /&gt;
The CopyPlugin Command Line Module Explorer can also be imported into GIMIAS, see the following image&lt;br /&gt;
&lt;br /&gt;
[[File:COPYPLUGIN_CTK_GIMIAS.png|400px]]&lt;br /&gt;
&lt;br /&gt;
The following image shows a simple workflow that includes the CopyPlugin, after being imported using GIMIAS Command-Line Taverna Plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:CTL_CLM_TAVERNA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
GIMIAS&#039;s CLPs and CTK&#039;s Command Line Modules can be combined into the same Taverna workflow. See the following image where a Marching Cubes GIMIAS&#039;s CLP is used along with the CopyPlugin, a CTK Command Line Module.&lt;br /&gt;
&lt;br /&gt;
[[File:GIMIAS_CTK_WORKFLOW.png|400px]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=The_Team&amp;diff=1438</id>
		<title>The Team</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=The_Team&amp;diff=1438"/>
		<updated>2012-02-16T17:55:38Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Projects contributing to CTK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Institutions=&lt;br /&gt;
{| cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|[[File:Dkfz_logo_en.gif|200px|link=http://www.dkfz.de]]&lt;br /&gt;
|[[File:GeorgetownUniversity_logo_en.svg|200px|link=http://www.georgetown.edu/]]&lt;br /&gt;
|[[File:Kitware_logo_en.png|200px|link=http://www.kitware.com]]&lt;br /&gt;
|[[File:Inria.jpg|200px|link=http://www.inria.fr]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Isomics_logo_en.png|200px|link=http://www.isomics.com]]&lt;br /&gt;
|[[File:Mannheim_logo_ge.png|200px|link=http://www.uni-mannheim.de]]&lt;br /&gt;
|[[File:Offis_logo_en.gif|200px|link=http://dicom.offis.de]]&lt;br /&gt;
|[[File:RadPharm_logo_en.jpg|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Siemens_logo_en.jpg|200px|link=http://www.usa.siemens.com/en/about_us/research/home.htm]]&lt;br /&gt;
|[[File:SPL_logo.gif|70px]][http://www.spl.harvard.edu Surgical Planning Laboratory]&lt;br /&gt;
|[[File:Upf_logo_it.gif|200px|link=http://www.upf.edu]]&lt;br /&gt;
|[[File:WashingtonUniversity_logo_en.png|200px|link=http://www.mir.wustl.edu/]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Pro tempore steering committee=&lt;br /&gt;
* Hans-Peter Meinzer, German Cancer Research Center, Heidelberg, Germany &#039;&#039;(Catalyst of the CTK effort)&#039;&#039;&lt;br /&gt;
* Ron Kikinis, Harvard Medical School, Boston, MA, USA &#039;&#039;(Meeting Chair)&#039;&#039;&lt;br /&gt;
* Ivo Wolf, Mannheim University of Applied Sciences, Institute for Medical Informatics, Mannheim, Germany&lt;br /&gt;
* Marco Nolden, German Cancer Research Center, Heidelberg, Germany&lt;br /&gt;
* Steve Pieper, Isomics, Cambridge, MA, USA&lt;br /&gt;
* Kevin Cleary, Georgetown University, Washington DC, USA&lt;br /&gt;
** Patrick Cheng, Georgetown University, Washington DC, USA&lt;br /&gt;
** Ziv Yaniv, Georgetown University, Washington DC, USA&lt;br /&gt;
* Lawrence Tarbox, Mallinckrodt Institute of Radiology, St.Louis, MO, USA&lt;br /&gt;
* Stephen Aylward, Kitware Inc., Carborro, NC, USA&lt;br /&gt;
** Julien Finet, Kitware Inc.&lt;br /&gt;
** Jean-Christophe Fillion-Robin, Kitware Inc.&lt;br /&gt;
** Julien Jomier, Kitware Inc. &lt;br /&gt;
* Will Schroeder, Kitware Inc., Clifton Park, NY, USA&lt;br /&gt;
* Marco Viceconti, Laboratorio di Tecnologia Medica, Bologna, Italy&lt;br /&gt;
** Daniele Giunchi, SCS - B3C , Bologna Italy&lt;br /&gt;
** Paolo Quadrani, SCS - B3C , Bologna Italy&lt;br /&gt;
* Michael Onken, OFFIS DICOM Team, Oldenburg, Germany&lt;br /&gt;
* Nicholas Ayache, Sophia Antipolis, Inria, France&lt;br /&gt;
** Olivier Clatz, Sophia Antipolis, Inria, France&lt;br /&gt;
** Maxime Sermesant, Sophia Antipolis, Inria, France&lt;br /&gt;
** Pierre Fillard, Sophia Antipolis, Inria, France&lt;br /&gt;
* Gianluca Paladini, Siemens Corporate Research, Princeton, NJ, USA&lt;br /&gt;
* David Clunie, RadPharm, Princeton, NJ, USA&lt;br /&gt;
&lt;br /&gt;
=Projects contributing to CTK=&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200px&amp;quot; perrow=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
File:3DSlicer_logo_en.png|[http://www.slicer.org 3D Slicer]&lt;br /&gt;
File:Gimias_logo_en.png|[http://www.gimias.org Gimias]&lt;br /&gt;
File:MAF3_logo_en.png|[https://www.biomedtown.org/biomed_town/maf3 Maf]&lt;br /&gt;
File:MedInria.png|[http://med.inria.fr medInria]&lt;br /&gt;
File:Mitk_logo_en.png|[http://www.mitk.org Mitk]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Grants, Fundings and Sponsors=&lt;br /&gt;
{|&lt;br /&gt;
|[[File:AFRL_logo.png|70px]] Air Force Research Laboratories under Phases I and II of the SBIR contract &amp;quot;[http://www.vtk.org/Wiki/Maverick Generating Labeled Voxelization for Numerical Simulation],&amp;quot; Topic: AF06-034, Contract #: FA8650-07-C-6756&lt;br /&gt;
|-&lt;br /&gt;
|[[File:ARRA_logo.png|70px]] [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI ARRA supplement] to [http://nac.spl.harvard.edu NAC]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:NAC_logo.gif|70px]] [http://nac.spl.harvard.edu Neuroimage Analysis Center]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:NA-MIC_logo.jpg|70px]] [http://www.na-mic.org National Alliance for Medical Image Computing]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:logo_vph_crop.jpg|70px|link=http://www.vph-noe.eu/]] [http://www.vph-noe.eu/ Virtual Physiological Human Network of Excellence]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&amp;diff=840</id>
		<title>CTK-Hackfest-Nov-2011</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&amp;diff=840"/>
		<updated>2011-10-12T11:22:56Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Event pictures ==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|&amp;lt;big&amp;gt;Previous Hackfest!&amp;lt;/big&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: this page is a work in progress -- some information subject to change&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Date:&#039;&#039;&#039; November 14-18, 2011&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; INRIA - Sophia Antipolis, France&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements:&#039;&#039;&#039; Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap.  People who do not feel qualified for this are politely not invited :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Group size:&#039;&#039;&#039; Maximum 20 participants so we can have a manageable working meeting.  The organizing committee will invite and select participants based on input from [[TheTeam]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site Hosts:&#039;&#039;&#039; Benoit Bleuze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Future Events:&#039;&#039;&#039; Future hackfests will be announced in advance, and we hope lots of people will be interested in participating.  The venue and activities at future hackfests will be determined based on the number of active participants in the project.   We welcome participation via the CTK email lists, the source code repository, and this website.&lt;br /&gt;
&lt;br /&gt;
== Attendees ==&lt;br /&gt;
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;5&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Organization&lt;br /&gt;
! Interested in grouped accommodation&lt;br /&gt;
|-&lt;br /&gt;
| Jean-Chistophe Fillion-Robin&lt;br /&gt;
| Kitware&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Julien Finet&lt;br /&gt;
| Kitware&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Steve Pieper&lt;br /&gt;
| Isomics&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Ivo Wolf&lt;br /&gt;
| Hochschule Mannheim&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Marco Nolden&lt;br /&gt;
| DKFZ, Heidelberg&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Sascha Zelzer&lt;br /&gt;
| DKFZ, Heidelberg&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Benoît Bleuzé&lt;br /&gt;
| INRIA, Sophia-Antipolis&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.&lt;br /&gt;
{| border=&amp;quot;5&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Organization&lt;br /&gt;
|-&lt;br /&gt;
| Daniele Giunchi&lt;br /&gt;
| SCS, Bologna&lt;br /&gt;
|-&lt;br /&gt;
| Paolo Quadrani&lt;br /&gt;
| SCS, Bologna&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
&lt;br /&gt;
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].&lt;br /&gt;
&lt;br /&gt;
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.&lt;br /&gt;
&lt;br /&gt;
Phone conferences have been scheduled in the weeks leading to the event:&lt;br /&gt;
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)&lt;br /&gt;
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)&lt;br /&gt;
&lt;br /&gt;
== Topics and Projects ==&lt;br /&gt;
&lt;br /&gt;
==== Roadmap development ====&lt;br /&gt;
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
*Steve&lt;br /&gt;
*Stephen&lt;br /&gt;
*Ivo&lt;br /&gt;
*Marco&lt;br /&gt;
*Ben&lt;br /&gt;
&lt;br /&gt;
==== DICOM Application Hosting ====&lt;br /&gt;
&lt;br /&gt;
Possible work items:&lt;br /&gt;
&lt;br /&gt;
* Data Exchange Interface&lt;br /&gt;
* SOAP interoperability&lt;br /&gt;
* Conformance testing&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
&lt;br /&gt;
* Benoit&lt;br /&gt;
* Michael&lt;br /&gt;
* Sascha&lt;br /&gt;
* Jc&lt;br /&gt;
&lt;br /&gt;
==== DICOM Networking ====&lt;br /&gt;
&lt;br /&gt;
Possible work items:&lt;br /&gt;
&lt;br /&gt;
See [[CtkDICOM]] for possible goals.&lt;br /&gt;
&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
&lt;br /&gt;
* Michael&lt;br /&gt;
* Steve&lt;br /&gt;
* Marco&lt;br /&gt;
&lt;br /&gt;
==== Widgets ====&lt;br /&gt;
==== Tests Framework ====&lt;br /&gt;
Working towards a unified testing method throughout the whole code base.&lt;br /&gt;
* Julien (also linked but not limited to App hosting testing)&lt;br /&gt;
&lt;br /&gt;
==== Build Systems &amp;amp; Software process ====&lt;br /&gt;
* Jc&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Travel &amp;amp; Hotel ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Local contact&#039;&#039;&#039;&lt;br /&gt;
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it&#039;s my )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Airport&#039;&#039;&#039; &lt;br /&gt;
* Nice Airport: http://en.nice.aeroport.fr/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lodging&#039;&#039;&#039; &lt;br /&gt;
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeting Location&#039;&#039;&#039; &lt;br /&gt;
* Inria Sophia Antipolis: &lt;br /&gt;
2004 route des Lucioles BP 93&lt;br /&gt;
06902 SOPHIA ANTIPOLIS Cedex - FRANCE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weather&#039;&#039;&#039;&lt;br /&gt;
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius&lt;br /&gt;
&lt;br /&gt;
== Related Events/Activities ==&lt;br /&gt;
&lt;br /&gt;
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=768</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=768"/>
		<updated>2011-09-27T14:17:23Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
*This roadmap was developed during the [[CTK-Hackfest-Nov-2011|Sophia Antipolis 2011 Hackfest]]&lt;br /&gt;
*The roadmap is based on an earlier version which can be found [[Documentation/Whitepaper|here]] and ideas for an overview which can be found [[CTK_Integration_Levels_Overview|here]].&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
==Short Term Action Items==&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=763</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=763"/>
		<updated>2011-09-26T14:06:47Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
*This roadmap was developed during the [[CTK-Hackfest-Nov-2011|Sophia Antipolis 2011 Hackfest]]&lt;br /&gt;
*It is based on an earlier version which can be found [[Documentation/Whitepaper|here]].&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=762</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=762"/>
		<updated>2011-09-26T14:06:04Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
*This roadmap was developed during the [[CTK-Hackfest-Nov-2011|Sophia Antipolis 2011 Hackfest]]&lt;br /&gt;
*It is based on an earlier version which can be found [[Whitepaper|here]].&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=760</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=760"/>
		<updated>2011-09-26T12:09:28Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
This roadmap was developed during the [[CTK-Hackfest-Nov-2011|Sophia Antipolis 2011 Hackfest]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=759</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=759"/>
		<updated>2011-09-26T12:08:52Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
This roadmap was developed during the [[CTK-Hackfest-Nov-2011|Nice 2011 Hackfest]]&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=758</id>
		<title>CTK-Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Roadmap&amp;diff=758"/>
		<updated>2011-09-26T12:05:48Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: Created page with &amp;#039;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Begin…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the roadmap for the core CTK effort. It is intended as a guideline for participants to decide whether their intended contributions fit into the CTK core. Beginning in 2012, CTK events are open to all who are willing to comply with the following two conditions:&lt;br /&gt;
&lt;br /&gt;
-Participate for the entire event (no one-day stands)&lt;br /&gt;
-Intent to write code for the CTK core roadmap (code writers only).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&amp;diff=757</id>
		<title>CTK-Hackfest-Nov-2011</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&amp;diff=757"/>
		<updated>2011-09-26T12:00:51Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Topics and Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Event pictures ==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|&amp;lt;big&amp;gt;Previous Hackfest!&amp;lt;/big&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: this page is a work in progress -- some information subject to change&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Date:&#039;&#039;&#039; November 14-18, 2011&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; INRIA - Sophia Antipolis, France&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements:&#039;&#039;&#039; Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies.  People who do not feel qualified for this are politely not invited :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Group size:&#039;&#039;&#039; Maximum 20 participants so we can have a manageable working meeting.  The organizing committee will invite and select participants based on input from [[TheTeam]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site Hosts:&#039;&#039;&#039; Benoit Bleuze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Future Events:&#039;&#039;&#039; Future hackfests will be announced in advance, and we hope lots of people will be interested in participating.  The venue and activities at future hackfests will be determined based on the number of active participants in the project.   We welcome participation via the CTK email lists, the source code repository, and this website.&lt;br /&gt;
&lt;br /&gt;
== Attendees ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
&lt;br /&gt;
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].&lt;br /&gt;
&lt;br /&gt;
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.&lt;br /&gt;
&lt;br /&gt;
== Topics and Projects ==&lt;br /&gt;
&lt;br /&gt;
==== Roadmap development ====&lt;br /&gt;
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
*Steve&lt;br /&gt;
*Stephen&lt;br /&gt;
*Ivo&lt;br /&gt;
&lt;br /&gt;
==== DICOM Application Hosting ====&lt;br /&gt;
&lt;br /&gt;
Possible work items:&lt;br /&gt;
&lt;br /&gt;
* Data Exchange Interface&lt;br /&gt;
* SOAP interoperability&lt;br /&gt;
* Conformance testing&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
&lt;br /&gt;
* Benoit&lt;br /&gt;
* Michael&lt;br /&gt;
* Sascha&lt;br /&gt;
&lt;br /&gt;
==== DICOM Networking ====&lt;br /&gt;
&lt;br /&gt;
Possible work items:&lt;br /&gt;
&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
Participants&lt;br /&gt;
&lt;br /&gt;
* Michael&lt;br /&gt;
* Steve&lt;br /&gt;
&lt;br /&gt;
==== Widgets ====&lt;br /&gt;
&lt;br /&gt;
==== Build Systems ====&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Travel &amp;amp; Hotel ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Local contact&#039;&#039;&#039;&lt;br /&gt;
* If you have any troubles during your visit, call &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Airport&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lodging&#039;&#039;&#039; &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeting Location&#039;&#039;&#039; &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weather&#039;&#039;&#039;&lt;br /&gt;
* Average min/max temperature in November in Sophia Antipolis: &lt;br /&gt;
&lt;br /&gt;
== Related Events/Activities ==&lt;br /&gt;
&lt;br /&gt;
INRIA Imaging Workshop November 21-23.&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=691</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=691"/>
		<updated>2011-05-17T11:37:27Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery widths=300 px heights=200px perrow=3&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=690</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=690"/>
		<updated>2011-05-17T11:37:01Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery widths=300 px heights=200px&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=689</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=689"/>
		<updated>2011-05-17T11:36:41Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery widths=300 px heights=300px&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=688</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=688"/>
		<updated>2011-05-17T11:36:15Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery heights=300px&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=687</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=687"/>
		<updated>2011-05-17T11:35:45Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery widths=300px&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=686</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=686"/>
		<updated>2011-05-17T11:34:06Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=685</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=685"/>
		<updated>2011-05-17T11:33:32Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
[Image:CtkActionsWidget.png|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&amp;lt;br&amp;gt;A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
Image:CtkAxesWidget.png|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&amp;lt;br&amp;gt;A widget to select an axis (RAS).&lt;br /&gt;
&lt;br /&gt;
Image:CtkCheckableHeaderView.png|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&amp;lt;br&amp;gt;A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkErrorLogWidget.html ctkErrorLogWidget]&lt;br /&gt;
|[[Image:CtkErrorLogWidget.png|300px]]&lt;br /&gt;
|A widget to show errors and logs of your application  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMAppWidget.html ctkDICOMAppWidget]&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|A DICOM widget to manage local and remote DICOM image database &lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMServerNodeWidget.html ctkDICOMServerNodeWidget]&lt;br /&gt;
|[[image:CtkDICOMServerNodeWidget.png|300px]]&lt;br /&gt;
|A widget to list/add/remove remote servers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=671</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=671"/>
		<updated>2011-03-17T14:40:24Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* DICOM/Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM/Core==&lt;br /&gt;
{|&lt;br /&gt;
| something is missing here&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|Something is missing here as well&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=670</id>
		<title>Documentation/ImageGallery</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=Documentation/ImageGallery&amp;diff=670"/>
		<updated>2011-03-17T14:39:28Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: /* DICOM/Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Widgets==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkActionsWidget.html ctkActionsWidget]&lt;br /&gt;
|[[Image:CtkActionsWidget.png|300px]]&lt;br /&gt;
|A custom QTreeView that shows the QActions (shortcuts) of an application.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkAxesWidget.html ctkAxesWidget]&lt;br /&gt;
|[[Image:CtkAxesWidget.png|300px]]&lt;br /&gt;
|A widget to select an axis (RAS).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckableHeaderView.html ctkCheckableHeaderView]&lt;br /&gt;
|[[Image:CtkCheckableHeaderView.png|300px]]&lt;br /&gt;
|A QHeaderView that support checkable sections. The checkState can be propagated to the model items.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCheckablePushButton.html ctkCheckablePushButton]&lt;br /&gt;
|[[Image:CtkCheckablePushButton.png|300px]]&lt;br /&gt;
|A QPushButton whose checkable state is controlled with a checkbox.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleButton.html ctkCollapsibleButton]&lt;br /&gt;
|[[Image:CtkCollapsibleWidget.png|300px|]]&lt;br /&gt;
|A container with a QPushButton on top that controls the visible state of the contents&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCollapsibleGroupBox.html ctkCollapsibleGroupBox]&lt;br /&gt;
|[[Image:CtkCollapsibleGroupBox.png|300px]]&lt;br /&gt;
|A QGroupBox that collapses/expands when checked/unchecked &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorDialog.html ctkColorDialog]&lt;br /&gt;
|[[Image:CtkColorDialog.png|300px]]&lt;br /&gt;
|A QColorDialog that can be customized with extra widgets(tabs)  &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkColorPickerButton.html ctkColorPickerButton]&lt;br /&gt;
|[[Image:CtkColorPickerButton.png|300px]]&lt;br /&gt;
|A QPushButton with a colorful icon, opening a color chooser dialog on click &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkComboBox.html ctkComboBox]&lt;br /&gt;
|[[Image:CtkTitleComboBox.png|300px]]&lt;br /&gt;
|An advanced QComboBox with default icon/title, persistent text...&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkCoordinatesWidget.html ctkCoordinatesWidget]&lt;br /&gt;
|[[Image:CtkCoordinatesWidget.png|300px]]&lt;br /&gt;
|A QDoubleSpinBox container that groups signals/slots of 3D vectors(i.e. X,Y,Z)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKScalarsToColorsView.html ctkVTKScalarsToColorsView]&lt;br /&gt;
|[[Image:CtkVTKScalarsToColorsView.png|300px]]&lt;br /&gt;
|A QVTKWidget that contains VTK Charts for transfer function rendering/interfacing&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDateRangeWidget.html ctkDateRangeWidget]&lt;br /&gt;
|[[Image:CtkDateRangeWidget.png|300px]]&lt;br /&gt;
|A utility widget to select a range in time.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDirectoryButton.html ctkDirectoryButton]&lt;br /&gt;
|[[Image:CtkDirectoryButton.png|300px]]&lt;br /&gt;
|A QPushButton that display a directory path and popups a QFileDialog on click. The selected directory is then displayed on the button and a signal emitted.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleRangeSlider.html ctkDoubleRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A ctkRangeSlider handling double values.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDoubleSlider.html ctkDoubleSlider]&lt;br /&gt;
|[[Image:CtkDoubleSlider.png|300px]]&lt;br /&gt;
|A slider handling doubles&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFileDialog.html ctkFileDialog]&lt;br /&gt;
|[[Image:CtkFileDialog.png|300px]]&lt;br /&gt;
|A customizable QFileDialog (extra options can be added to the file dialog).&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFittedTextBrowser.html ctkFittedTextBrowser]&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:CtkFittedTextBrowser.png|185px]]&lt;br /&gt;
|[[Image:CtkFittedTextBrowser2.png|115px]]&lt;br /&gt;
|}&lt;br /&gt;
|A QTextBrowser that returns a dynamic vertical size hint depending of it&#039;s width. &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkFlowLayout.html ctkFlowLayout]&lt;br /&gt;
|[[Image:CtkFlowLayout.png|300px]]&lt;br /&gt;
|A QLayout that dynamically lay-outs widgets based on the available width/height.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMaterialPropertyWidget.html ctkMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control material properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkMenuButton.html ctkMenuButton]&lt;br /&gt;
|[[Image:CtkMenuButton.png|300px]]&lt;br /&gt;
|A QPushButton with a dedicated area that popups a QMenu&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeSlider.html ctkRangeSlider]&lt;br /&gt;
|[[Image:CtkRangeSlider.png|300px]]&lt;br /&gt;
|A QSlider with 2 handles to select 2 values.&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkRangeWidget.html ctkRangeWidget]&lt;br /&gt;
|[[Image:CtkRangeWidget.png|300px]]&lt;br /&gt;
|A ctkDoubleRangeSlider with 2 linked spinboxes.&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkScreenshotDialog.html ctkScreenshotDialog]&lt;br /&gt;
|[[Image:CtkScreenshotDialog.png|300px]]&lt;br /&gt;
|A dialog to take screenshots of any QWidget &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkSliderWidget.html ctkSliderWidget]&lt;br /&gt;
|[[Image:CtkSliderSpinBoxWidget.png|300px]]&lt;br /&gt;
|A pair of a ctkDoubleSlider and a QDoubleSpinBox bound together &lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTransferFunctionWidget.html ctkTransferFunctionWidget]&lt;br /&gt;
|[[Image:CtkTransferFunctionWidget.png|300px]]&lt;br /&gt;
|A widget that displays [[Documentation/ctkTransferFunctionWidget|ctkTransferFunctions]]&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkTreeComboBox.html ctkTreeComboBox]&lt;br /&gt;
|[[Image:CtkTreeComboBox.png|300px]]&lt;br /&gt;
|A QComboBox that displays items in a tree view&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Visualization/VTK/Widgets==&lt;br /&gt;
{| &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKMatrixWidget.html ctkVTKMatrixWidget]&lt;br /&gt;
|[[Image:CtkVTKMatrixWidget.png|300px]]&lt;br /&gt;
|A QTableWidget specially conceived for displaying/editing matrices&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKRenderView.html ctkVTKRenderView]&lt;br /&gt;
|[[Image:CtkVTKRenderView.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget with additional utility functions&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSliceView.html ctkVTKSliceView]&lt;br /&gt;
|[[Image:CtkVTKSliceView-Lightbox.png|300px]]&lt;br /&gt;
|A QVTKRenderWidget to display 2D images (support lightbox mode)&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKSurfaceMaterialPropertyWidget.html ctkVTKSurfaceMaterialPropertyWidget]&lt;br /&gt;
|[[Image:CtkMaterialPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKTextPropertyWidget.html ctkVTKTextPropertyWidget]&lt;br /&gt;
|[[Image:CtkVTKTextPropertyWidget.png|300px]]&lt;br /&gt;
|A widget to control vtkTextProperty most common properties&lt;br /&gt;
|- &lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkVTKThumbnailView.html ctkVTKThumbnailView]&lt;br /&gt;
|[[Image:CtkVTKThumbnailView.png|300px]]&lt;br /&gt;
|A widget to show the viewport of any vtkRenderer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DICOM/Core==&lt;br /&gt;
{|&lt;br /&gt;
|[[image:CtkDICOM-hackfest-Feb-2011.png|300px]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkDICOMModel.html ctkDICOMModel]&lt;br /&gt;
|[[Image:CtkDICOMModel.png|300px]]&lt;br /&gt;
|A QAbstractItemModel to represent DICOM files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripting/Python==&lt;br /&gt;
{|&lt;br /&gt;
|[http://www.commontk.org/docs/html/classctkPythonShell.html ctkPythonShell]&lt;br /&gt;
|[[Image:CtkPythonShell.png|300px]]&lt;br /&gt;
|A console to interact with python&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=News&amp;diff=404</id>
		<title>News</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=News&amp;diff=404"/>
		<updated>2010-10-07T18:13:06Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Main Page|Back to CTK main page]]&lt;br /&gt;
&lt;br /&gt;
= 2010 =&lt;br /&gt;
&lt;br /&gt;
== April ==&lt;br /&gt;
* EXCITE Proposal Submitted&lt;br /&gt;
&lt;br /&gt;
== February ==&lt;br /&gt;
&lt;br /&gt;
= 2009 =&lt;br /&gt;
&lt;br /&gt;
== October ==&lt;br /&gt;
* [[News/CommitteeFormation | Pro Tempore Committee Established]] &#039;&#039;October 19, 2009&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
	<entry>
		<id>https://www.commontk.org/index.php?title=User:Kikinis&amp;diff=33</id>
		<title>User:Kikinis</title>
		<link rel="alternate" type="text/html" href="https://www.commontk.org/index.php?title=User:Kikinis&amp;diff=33"/>
		<updated>2010-04-14T18:20:46Z</updated>

		<summary type="html">&lt;p&gt;Kikinis: Created page with &amp;#039;For home page see http://www.spl.harvard.edu/~kikinis&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For home page see http://www.spl.harvard.edu/~kikinis&lt;/div&gt;</summary>
		<author><name>Kikinis</name></author>
	</entry>
</feed>