<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Spatial transformations: Three-dimensional rotation</title>
	<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/</link>
	<description>Steve Eddins manages the Image &#38; Geospatial development team at &#60;a href="http://www.mathworks.com/"&#62;The MathWorks&#60;/a&#62; and coauthored &#60;a href="http://www.mathworks.com/support/books/book5291.html?category=-1&#38;language=-1"&#62;Digital Image Processing Using MATLAB&#60;/a&#62;. He writes here about image processing concepts, algorithm implementations, and MATLAB.&#60;br&#62;&#60;br&#62;&#60;img&#62;</description>
	<pubDate>Sun, 22 Nov 2009 22:59:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22181</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 05 Oct 2009 15:16:11 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22181</guid>
		<description>Reji&#8212;Since rotation involves interpolation, you can't expect to get the original image back exactly except for angles that are multiples of 90 degrees.</description>
		<content:encoded><![CDATA[<p>Reji&mdash;Since rotation involves interpolation, you can&#8217;t expect to get the original image back exactly except for angles that are multiples of 90 degrees.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: reji A p</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22170</link>
		<dc:creator>reji A p</dc:creator>
		<pubDate>Mon, 05 Oct 2009 04:53:51 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22170</guid>
		<description>hai,
    I have rotated an image through 45 ,then to obtain the original image I rotated through -45.I'm not getting the exact original image.How can I get the original image back?
                                             reji</description>
		<content:encoded><![CDATA[<p>hai,<br />
    I have rotated an image through 45 ,then to obtain the original image I rotated through -45.I&#8217;m not getting the exact original image.How can I get the original image back?<br />
                                             reji</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22118</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Tue, 15 Sep 2009 13:21:43 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22118</guid>
		<description>Imon&#8212;Form an affine transformation matrix that rotates and shifts the image appropriately, and then use &lt;tt&gt;imtransform&lt;/tt&gt; to warp the image.  Alternatively, just rotate the image using &lt;tt&gt;imrotate&lt;/tt&gt;, display the image superimposed on your plot, and give the image object the appropriate XData and YData properties so that it appears in the desired location.</description>
		<content:encoded><![CDATA[<p>Imon&mdash;Form an affine transformation matrix that rotates and shifts the image appropriately, and then use <tt>imtransform</tt> to warp the image.  Alternatively, just rotate the image using <tt>imrotate</tt>, display the image superimposed on your plot, and give the image object the appropriate XData and YData properties so that it appears in the desired location.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Imon</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22111</link>
		<dc:creator>Imon</dc:creator>
		<pubDate>Mon, 14 Sep 2009 01:57:24 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22111</guid>
		<description>Hi,

I am working on trajectory analysis. Let's say I already have the trajectory corresponding to a car moving on the ground. I can plot the trajectory by plot(x,y). Now I want to create a small JPEG of the car and superimpose it on the trajectory plot to see the position of the car. For this, I need to insert the JPEG multiple number of times onto the (x,y) plot and also rotate it. Imagine a car going round in a circle, and you have to plot its position and orientation say, every 1 second. Can you help?</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I am working on trajectory analysis. Let&#8217;s say I already have the trajectory corresponding to a car moving on the ground. I can plot the trajectory by plot(x,y). Now I want to create a small JPEG of the car and superimpose it on the trajectory plot to see the position of the car. For this, I need to insert the JPEG multiple number of times onto the (x,y) plot and also rotate it. Imagine a car going round in a circle, and you have to plot its position and orientation say, every 1 second. Can you help?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22020</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 29 Jul 2009 11:17:24 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22020</guid>
		<description>Mark&#8212;I don't know anything about that, but it sounds like something that could be implemented using a 3-D affine transform.</description>
		<content:encoded><![CDATA[<p>Mark&mdash;I don&#8217;t know anything about that, but it sounds like something that could be implemented using a 3-D affine transform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22016</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Tue, 28 Jul 2009 11:47:55 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-22016</guid>
		<description>Hi Steve, 

Using tformarray, I am able to reformat axial slices of my CT data to obtain coronal and sagittal views. However, I would like to reformat my axial slices along an oblique axis (say 15 degrees from the horizontal) to simulate gantry tilt. How can I do this? 

Thanks</description>
		<content:encoded><![CDATA[<p>Hi Steve, </p>
<p>Using tformarray, I am able to reformat axial slices of my CT data to obtain coronal and sagittal views. However, I would like to reformat my axial slices along an oblique axis (say 15 degrees from the horizontal) to simulate gantry tilt. How can I do this? </p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21968</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 13 Jul 2009 13:07:31 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21968</guid>
		<description>Jan&#8212;What kind of &lt;tt&gt;tform&lt;/tt&gt; are you using?  Does it have a forward mapping?  You can find out by trying to use &lt;tt&gt;tformfwd&lt;/tt&gt;.  If your &lt;tt&gt;tform&lt;/tt&gt; does not have a forward mapping, then it's much harder for &lt;tt&gt;findbounds&lt;/tt&gt; to figure out where the transformed image is going to "land" in output space; it has to use a search method.</description>
		<content:encoded><![CDATA[<p>Jan&mdash;What kind of <tt>tform</tt> are you using?  Does it have a forward mapping?  You can find out by trying to use <tt>tformfwd</tt>.  If your <tt>tform</tt> does not have a forward mapping, then it&#8217;s much harder for <tt>findbounds</tt> to figure out where the transformed image is going to &#8220;land&#8221; in output space; it has to use a search method.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21961</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Fri, 10 Jul 2009 10:15:09 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21961</guid>
		<description>Thanks for the answer, Steve. I thought I had some kind of a solution by estimating the bounds using the function &lt;pre&gt;findbounds&lt;/pre&gt;. By pre- or postpadding of the 3D array, recalculating the &lt;pre&gt;
TFORM&lt;/pre&gt; structure (based on a new translation due to padding) I tried to fit the entire volume. Yet sometimes this does not work (strangely enough in the Z-direction). Part of my volume is still out of bound. Is this due to the approximation of the findbounds algorithm? Or am I doing something wrong?

Thanks

Jan.</description>
		<content:encoded><![CDATA[<p>Thanks for the answer, Steve. I thought I had some kind of a solution by estimating the bounds using the function
<pre>findbounds</pre>
</p><p>. By pre- or postpadding of the 3D array, recalculating the
<pre>
TFORM</pre>
</p><p> structure (based on a new translation due to padding) I tried to fit the entire volume. Yet sometimes this does not work (strangely enough in the Z-direction). Part of my volume is still out of bound. Is this due to the approximation of the findbounds algorithm? Or am I doing something wrong?</p>
<p>Thanks</p>
<p>Jan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21947</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 06 Jul 2009 15:28:11 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21947</guid>
		<description>Jan&#8212;The function &lt;tt&gt;tformarray&lt;/tt&gt; does not have the convenience syntaxes of &lt;tt&gt;imtransform&lt;/tt&gt; for setting up alternative coordinate system mappings.  Any coordinate system scaling or translating that you might need, for example to shift the image over in order to capture all of it, have to be incorporated into the spatial transformation function itself.</description>
		<content:encoded><![CDATA[<p>Jan&mdash;The function <tt>tformarray</tt> does not have the convenience syntaxes of <tt>imtransform</tt> for setting up alternative coordinate system mappings.  Any coordinate system scaling or translating that you might need, for example to shift the image over in order to capture all of it, have to be incorporated into the spatial transformation function itself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan</title>
		<link>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21929</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Wed, 01 Jul 2009 17:21:58 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2006/08/17/spatial-transformations-three-dimensional-rotation/#comment-21929</guid>
		<description>Hi Steve

Very useful code, yet what if I parts of my rotated+translated object are outside the original boundaries? How can I define the boundaries as such that the output object (suggest I want to rotate a long cylinder for 45 degrees and obviously, one of the dimensions is becoming larger but standard tformarray is going to cut that part, no?) is incorporated entirely in the new volume? I can find the expected outbounds of the volume (findbounds), but how feeding them to tformarray? I tried to pad the 3D array with zeros (depending on the outcome of findbounds), but I think I am doing things wrong ... Because when I pad the matrix, my center position changes and as such my tform changes too ... 

Thanks in advance 

Jan.</description>
		<content:encoded><![CDATA[<p>Hi Steve</p>
<p>Very useful code, yet what if I parts of my rotated+translated object are outside the original boundaries? How can I define the boundaries as such that the output object (suggest I want to rotate a long cylinder for 45 degrees and obviously, one of the dimensions is becoming larger but standard tformarray is going to cut that part, no?) is incorporated entirely in the new volume? I can find the expected outbounds of the volume (findbounds), but how feeding them to tformarray? I tried to pad the 3D array with zeros (depending on the outcome of findbounds), but I think I am doing things wrong &#8230; Because when I pad the matrix, my center position changes and as such my tform changes too &#8230; </p>
<p>Thanks in advance </p>
<p>Jan.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
