<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2FNightly%2FDevelopers%2FFAQ%2FSlicerExecutionModel</id>
	<title>Documentation/Nightly/Developers/FAQ/SlicerExecutionModel - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2FNightly%2FDevelopers%2FFAQ%2FSlicerExecutionModel"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/SlicerExecutionModel&amp;action=history"/>
	<updated>2026-04-11T23:41:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/SlicerExecutionModel&amp;diff=62772&amp;oldid=prev</id>
		<title>JChris.FillionR: Created page with &quot;&lt;noinclude&gt;{{documentation/versioncheck}}&lt;/noinclude&gt;  &lt;noinclude&gt;__TOC__  ={{#titleparts: {{PAGENAME}} | | -1 }}=&lt;/noinclude&gt;&lt;includeonly&gt;  ='''Developer FAQ: {{{1}}}'''=  &lt;/...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/SlicerExecutionModel&amp;diff=62772&amp;oldid=prev"/>
		<updated>2019-12-18T16:31:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;  &amp;lt;noinclude&amp;gt;__TOC__  ={{#titleparts: {{PAGENAME}} | | -1 }}=&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;  =&amp;#039;&amp;#039;&amp;#039;Developer FAQ: {{{1}}}&amp;#039;&amp;#039;&amp;#039;=  &amp;lt;/...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;__TOC__&lt;br /&gt;
={{#titleparts: {{PAGENAME}} | | -1 }}=&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
='''Developer FAQ: {{{1}}}'''=&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What facilities are available for third party software to interface with the NA-MIC Kit?==&lt;br /&gt;
&lt;br /&gt;
NA-MIC has committed to developing and supporting a generic batch processing interface.  This is the Slicer3 Command Line Interface (CLI). The application programming interface (API) for CLI was worked out based on interactions with the community including input from those familiar with LONI, ITK, Python and Matlab software development practices.&lt;br /&gt;
&lt;br /&gt;
We believe this API already supports all the features required by to implement batch processing with BatchMake, the LONI Pipeline, and any other systems that we may want to work with in the future.  The [[Slicer3:Execution_Model_Documentation|Slicer3 Execution Model]] provides a simple XML-based descriptor for command line arguments for input/output volumes and related parameters.&lt;br /&gt;
&lt;br /&gt;
==Which Third Party software has currently been interfaced to the NA-MIC Kit using the CLI?==&lt;br /&gt;
&lt;br /&gt;
*Batchmake (Kitware)&lt;br /&gt;
*Python&lt;br /&gt;
*Matlab&lt;br /&gt;
&lt;br /&gt;
==How do I debug my command line module?==&lt;br /&gt;
&lt;br /&gt;
See [[Slicer3:Execution_Model_Documentation:Debugging|Debugging]]&lt;br /&gt;
&lt;br /&gt;
==How do I specify a Logo?==&lt;br /&gt;
&lt;br /&gt;
You need to create a logo.h file (embedding the zipped pixel data as base64 strings in a C source code).  There is a utility bundled with kwwidgets that accomplishes this.  From a Slicer3 build directory you can do something like this:&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3 --launch ../Slicer3-lib/KWWidgets-build/bin/KWConvertImageToHeader --base64 --zlib ~/Desktop/bioimagesuite_logo_www.h ~/Desktop/bioimagesuite_logo_www.png&lt;br /&gt;
&lt;br /&gt;
The resulting .h header file can then be used as an argument to the 'generateclp' cmake macro like this:&lt;br /&gt;
&lt;br /&gt;
 generateclp(${CLP}_SOURCE ${CLP}.xml ${Slicer3_SOURCE_DIR}/Resources/bioimagesuite_logo_www.h)&lt;br /&gt;
&lt;br /&gt;
''Note: logos are limited in size: if your .h file contains a symbol like 'image_bioimagesuite_logo_www' it will work.  But if it has several symbols like 'image_bioimagesuite_logo_www_1' 'image_bioimagesuite_logo_www_2' etc then the logo was too large and needs to be downsampled for use.''&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to use the CLI outside of slicer?==&lt;br /&gt;
&lt;br /&gt;
In general CLI executables will depend on shared libraries provided by Slicer (such as ITKCommon, etc).  To be sure your run-time environment resolves to the correct versions, you should always use a form like:&lt;br /&gt;
 ./Slicer --launch &amp;lt;CLI&amp;gt;&lt;br /&gt;
or, you can start a shell from which you can run multiple CLI modules.  Something like:&lt;br /&gt;
 ./Slicer --launch xterm &amp;amp;&lt;br /&gt;
&lt;br /&gt;
We do not suggest hard-coding the runtime paths into, for example, your .bashrc since this may interfere with other programs and can make it hard to use multiple versions of slicer on the same account.&lt;/div&gt;</summary>
		<author><name>JChris.FillionR</name></author>
		
	</entry>
</feed>