<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.na-mic.org/w/index.php?action=history&amp;feed=atom&amp;title=NA-MIC%2FProjects%2FNA-MIC_Kit%2FCoordinate_Systems</id>
	<title>NA-MIC/Projects/NA-MIC Kit/Coordinate Systems - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.na-mic.org/w/index.php?action=history&amp;feed=atom&amp;title=NA-MIC%2FProjects%2FNA-MIC_Kit%2FCoordinate_Systems"/>
	<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;action=history"/>
	<updated>2026-06-23T08:54:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=97666&amp;oldid=prev</id>
		<title>Grundlett: Text replacement - &quot;http://www.slicer.org/slicerWiki/index.php/&quot; to &quot;https://www.slicer.org/wiki/&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=97666&amp;oldid=prev"/>
		<updated>2017-07-10T18:07:27Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;http://www.slicer.org/slicerWiki/index.php/&amp;quot; to &amp;quot;https://www.slicer.org/wiki/&amp;quot;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:07, 10 July 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot; &gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Slicer3/MRML'' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Slicer3/MRML'' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Non-linear/non-euclidean coordinate systems'' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Non-linear/non-euclidean coordinate systems'' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Command line module'' The [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http&lt;/del&gt;://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki/index.php&lt;/del&gt;/Slicer3:Execution_Model execution model] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Command line module'' The [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https&lt;/ins&gt;://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;/Slicer3:Execution_Model execution model] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Key Investigators =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Key Investigators =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot; &gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http&lt;/del&gt;://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki/index.php&lt;/del&gt;/Slicer3:Execution_Model Slicer3 Execution Model]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https&lt;/ins&gt;://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;/Slicer3:Execution_Model Slicer3 Execution Model]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http&lt;/del&gt;://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki/index.php&lt;/del&gt;/Slicer3:Execution_Model_Documentation Slicer3 Execution Model Documentation]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https&lt;/ins&gt;://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;/Slicer3:Execution_Model_Documentation Slicer3 Execution Model Documentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grundlett</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=31557&amp;oldid=prev</id>
		<title>Melonakos at 21:31, 5 November 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=31557&amp;oldid=prev"/>
		<updated>2008-11-05T21:31:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:31, 5 November 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot; &gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Slicer3/MRML'' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Slicer3/MRML'' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Non-linear/non-euclidean coordinate systems'' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Non-linear/non-euclidean coordinate systems'' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Command line module'' The [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;Slicer3:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Execution Model|&lt;/del&gt;execution model&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Command line module'' The [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;http://www.slicer.org/slicerWiki/index.php/&lt;/ins&gt;Slicer3:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Execution_Model &lt;/ins&gt;execution model] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Key Investigators =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Key Investigators =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot; &gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;Slicer3:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Execution Model | &lt;/del&gt;Slicer3 Execution Model&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;http://www.slicer.org/slicerWiki/index.php/&lt;/ins&gt;Slicer3:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Execution_Model &lt;/ins&gt;Slicer3 Execution Model]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation Slicer3 Execution Model Documentation]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation Slicer3 Execution Model Documentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Melonakos</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=31544&amp;oldid=prev</id>
		<title>Melonakos at 21:26, 5 November 2008</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=31544&amp;oldid=prev"/>
		<updated>2008-11-05T21:26:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:26, 5 November 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NAMIC Wiki:DTI:Nrrd format | NRRD DTI Format]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Slicer3:Execution Model | Slicer3 Execution Model]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Slicer3:Execution Model | Slicer3 Execution Model]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;Slicer3:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Execution Model Documentation|&lt;/del&gt;Slicer3 Execution Model Documentation&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;http://www.slicer.org/slicerWiki/index.php/&lt;/ins&gt;Slicer3:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Execution_Model_Documentation &lt;/ins&gt;Slicer3 Execution Model Documentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Execution Model Reference Systems]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Melonakos</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=18226&amp;oldid=prev</id>
		<title>Melonakos at 18:39, 28 November 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=18226&amp;oldid=prev"/>
		<updated>2007-11-28T18:39:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:39, 28 November 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''Objective:''' To provide the infrastructure necessary to represent, manage, and transform between the variety &lt;/del&gt;of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;coordinate frames used in medical imaging.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;= Name &lt;/ins&gt;of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Template project goes right here =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br /&amp;gt;'''Progress:''' Coordinate frame support &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;required at 3 distinct levels: low level library support via ITK and NRRD&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;application level support in Slicer3 via MRML&lt;/del&gt;, and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;execution model support via &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;command line modules&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Our objective &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to provide the infrastructure necessary to represent&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;manage&lt;/ins&gt;, and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transform between &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;variety of coordinate frames used in medical imaging&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame]. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;= Description =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:'''Non-linear/non-euclidean coordinate systems.''' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:'''Command line module.''' The [[Slicer3:Execution Model|execution model]] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Key Investigators&lt;/del&gt;:'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Coordinate frame support is required at 3 distinct levels: low level library support via ITK and NRRD, application level support in Slicer3 via MRML, and execution model support via the command line modules.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''ITK/NRRD'' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame]. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''Slicer3/MRML&lt;/ins&gt;'' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'Non-linear/non-euclidean coordinate systems'' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate&lt;/ins&gt;: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Command line module&lt;/ins&gt;'&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;' The [[Slicer3:Execution Model|execution model]] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;= Key Investigators =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* GE Research: Bill Lorensen, Jim Miller&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* GE Research: Bill Lorensen, Jim Miller&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Isomics: Steve Pieper&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Isomics: Steve Pieper&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;Links&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:'''&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;= &lt;/ins&gt;Links &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.itk.org/Wiki/Proposals:Orientation Image Orientation in ITK]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Melonakos</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9683&amp;oldid=prev</id>
		<title>Mhalle at 20:17, 24 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9683&amp;oldid=prev"/>
		<updated>2007-04-24T20:17:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:17, 24 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:'''Non-linear/non-euclidean coordinate systems.''' Applications such as astronomy and ultrasound use non-linear or non-euclidean coordinate systems to represent the physical/angular position of data voxels.  Use cases for these transforms include readout of voxel positions located under a mouse or cursor, and drawing of coordinate systems overlays representing the equivalent of latitude and longitude.  Because these coordinate systems can be domain-specific and computationally complex, a direction cosine represention is inadequate: the ideal solution is the creation of an opaque transform that can wrap native coordinate system libraries and be passed down an itk pipeline to Slicer.  Currently, there is no supported solution to this coordinate system issue in vtk, itk, or Slicer.  The NA-MIC team has proposed a possible solution based on loading a transform into the metadata dictionary.  An prototype astronomy data reader as been developed to test this idea, but the itk pipeline support has not been implemented.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The [[Slicer3:Execution Model|execution model]] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The [[Slicer3:Execution Model|execution model]] infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mhalle</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9520&amp;oldid=prev</id>
		<title>Millerjv at 20:21, 20 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9520&amp;oldid=prev"/>
		<updated>2007-04-20T20:21:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:21, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Because ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 explictly manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Slicer3:Execution Model|&lt;/ins&gt;execution model&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Key Investigators:'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Key Investigators:'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Millerjv</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9518&amp;oldid=prev</id>
		<title>Millerjv at 20:19, 20 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9518&amp;oldid=prev"/>
		<updated>2007-04-20T20:19:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:19, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Since &lt;/del&gt;ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Because &lt;/ins&gt;ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;explictly &lt;/ins&gt;manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Millerjv</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9517&amp;oldid=prev</id>
		<title>Millerjv at 20:19, 20 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9517&amp;oldid=prev"/>
		<updated>2007-04-20T20:19:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:19, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/del&gt;uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages the ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Millerjv</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9516&amp;oldid=prev</id>
		<title>Millerjv at 20:18, 20 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9516&amp;oldid=prev"/>
		<updated>2007-04-20T20:18:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:18, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame as well as the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK is uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/ins&gt;ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK is uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Millerjv</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9515&amp;oldid=prev</id>
		<title>Millerjv at 20:18, 20 April 2007</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=NA-MIC/Projects/NA-MIC_Kit/Coordinate_Systems&amp;diff=9515&amp;oldid=prev"/>
		<updated>2007-04-20T20:18:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:18, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;'''Progress:''' Coordinate frame support is required at 3 distinct levels: low level library support via ITK and NRRD, application level support in Slicer3 via MRML, and execution model support via the command line modules.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;'''Progress:''' Coordinate frame support is required at 3 distinct levels: low level library support via ITK and NRRD, application level support in Slicer3 via MRML, and execution model support via the command line modules.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;but also &lt;/del&gt;the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''ITK/NRRD.''' A new image class, itk::OrientedImage, has been developed and added to ITK. This image class caches the image direction cosines. ITK's IO mechanisms have been updated to read and write orientation information. Filters which implictly manipulate orientation (flip, resample, etc.) have been modified to explictly modify the cached image orientation. NRRD support has been expanded to include specification of the patient coordinate frame &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;as well as &lt;/ins&gt;the gradient coil [http://teem.sourceforge.net/nrrd/format.html#measurementframe measurement frame].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK is uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Slicer3/MRML.''' Slicer3 employs an RAS coordinate frame and manages coordinate frame relationships between various data using transform nodes in the MRML scene. [[NA-MIC/Projects/NA-MIC Kit/IO Unification|Slicer3 leverages ITK IO factory mechanism]] to provide a variety of image file formats. Since ITK is uses an LPS coordinate frame (matching DICOM conventions), Slicer3 manages conversions from RAS &amp;lt;-&amp;gt; LPS during IO.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:'''Command line module.''' The execution model infrastructure in Slicer3 communicates all data between the Slicer3 MRML scene and the Slicer3 plugin (also referred to as a command line module).  The execution model supports two types of plugins.  The first is a command line executable.  The second is a shared object module or DLL.  In the former, some data is written to disk to be passed to the module while other data is passed directly on the command line.  In the latter, scalar image data (to be expanded to include vector and tensor image data) is passed via memory to the module while other types of data are passed via files or directly on the command line.  In all cases and permutations, Slicer3 and the module must agree on the coordinate conventions, either defined in the requirements or specified with the data. This is an area needing further specification and development. Currently some data types are converted from RAS &amp;lt;-&amp;gt; LPS when transferred to a plugin module while other data is assumed to be in a RAS coordinate frame.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Millerjv</name></author>
		
	</entry>
</feed>