<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Decomposing Embedded Images</title>
	<atom:link href="http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/</link>
	<description>Loren Shure works on design of the MATLAB language at MathWorks. She writes here about once a week on MATLAB programming and related topics.</description>
	<lastBuildDate>Thu, 16 Feb 2012 04:40:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Loren</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31075</link>
		<dc:creator>Loren</dc:creator>
		<pubDate>Fri, 12 Feb 2010 12:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31075</guid>
		<description>Huckfish-

You may want to check out &lt;a href=&quot;http://www.mathworks.com/products/image/&quot; rel=&quot;nofollow&quot;&gt;Image Processing Toolbox&lt;/a&gt;; look at the demos by following the demos link.  There should be several good ideas there for you to try.

--Loren</description>
		<content:encoded><![CDATA[<p>Huckfish-</p>
<p>You may want to check out <a href="http://www.mathworks.com/products/image/" rel="nofollow">Image Processing Toolbox</a>; look at the demos by following the demos link.  There should be several good ideas there for you to try.</p>
<p>&#8211;Loren</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Huckfish</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31073</link>
		<dc:creator>Huckfish</dc:creator>
		<pubDate>Fri, 12 Feb 2010 00:15:09 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31073</guid>
		<description>I am interested in taking a puzzle grid and then analyzing the cells so that I know where the empty space is and then coloring the empty space.  Suggestions?</description>
		<content:encoded><![CDATA[<p>I am interested in taking a puzzle grid and then analyzing the cells so that I know where the empty space is and then coloring the empty space.  Suggestions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan Hester</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31057</link>
		<dc:creator>Alan Hester</dc:creator>
		<pubDate>Mon, 08 Feb 2010 07:04:04 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-31057</guid>
		<description>can you put infomation in the interlaced images that the subconscious will pick up on and remember that can later be accessed by the conscious mind following some kind of a trigger?

Would like to know.  Please advise!</description>
		<content:encoded><![CDATA[<p>can you put infomation in the interlaced images that the subconscious will pick up on and remember that can later be accessed by the conscious mind following some kind of a trigger?</p>
<p>Would like to know.  Please advise!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jiro</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30783</link>
		<dc:creator>Jiro</dc:creator>
		<pubDate>Fri, 13 Nov 2009 14:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30783</guid>
		<description>@OysterEngineer,

I suppose you&#039;re right that the FRP for TYPECAST does not explicitly explain how the output is formatted if the input is a vector. The &lt;a href=&quot;http://www.mathworks.com/access/helpdesk/help/techdoc/ref/typecast.html&quot; rel=&quot;nofollow&quot;&gt;example 2&lt;/a&gt; in the FRP describes the behavior. Perhaps this behavior should be explicitly mentioned in the description section.

I&#039;ll pass this along. Thanks.</description>
		<content:encoded><![CDATA[<p>@OysterEngineer,</p>
<p>I suppose you&#8217;re right that the FRP for TYPECAST does not explicitly explain how the output is formatted if the input is a vector. The <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/typecast.html" rel="nofollow">example 2</a> in the FRP describes the behavior. Perhaps this behavior should be explicitly mentioned in the description section.</p>
<p>I&#8217;ll pass this along. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OysterEngineer</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30776</link>
		<dc:creator>OysterEngineer</dc:creator>
		<pubDate>Thu, 12 Nov 2009 22:16:58 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30776</guid>
		<description>My typo, I should have said reshape rather than recast.

I guess the question really is, how do you know that the 1st half of the vector is the one level of byte while the 2nd half is the other level of byte?  I understand how reshape splits the input vector to make an array.  What I don&#039;t understand is how you can count on typecast putting the pairs of bytes in each half of the output vector.  The FRP for typecast is disturbingly vague on this detail.

In reading the last paragraph of the Description in the FRP for typecast, I would conclude that the bytes in the output would be, in this case, in adjacent pairs of bytes, one per row &amp; not separated into halves of the output, shaped into a vector.</description>
		<content:encoded><![CDATA[<p>My typo, I should have said reshape rather than recast.</p>
<p>I guess the question really is, how do you know that the 1st half of the vector is the one level of byte while the 2nd half is the other level of byte?  I understand how reshape splits the input vector to make an array.  What I don&#8217;t understand is how you can count on typecast putting the pairs of bytes in each half of the output vector.  The FRP for typecast is disturbingly vague on this detail.</p>
<p>In reading the last paragraph of the Description in the FRP for typecast, I would conclude that the bytes in the output would be, in this case, in adjacent pairs of bytes, one per row &amp; not separated into halves of the output, shaped into a vector.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jiro</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30774</link>
		<dc:creator>Jiro</dc:creator>
		<pubDate>Thu, 12 Nov 2009 20:02:17 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30774</guid>
		<description>@OysterEngineer

Thanks for your comments. I&#039;m no expert in image processing, so it was certainly a learning and fun experience for me.

1. You&#039;re right. Just from the information provided by WHOS, you can&#039;t tell that it contains two 8-bit images. It says the datatype is uint16, so I&#039;m just telling you that I have stored two 8-bit data into 16-bits.

2. (I&#039;m not entirely sure what you mean by &quot;recast&quot;. I used TYPECAST and RESHAPE in my code.) &lt;a href=&quot;http://www.mathworks.com/access/helpdesk/help/techdoc/ref/typecast.html&quot; rel=&quot;nofollow&quot;&gt;TYPECAST&lt;/a&gt; puts the data starting from the least significant byte to the most significant byte (or vice versa, depending on the endiannes). When I passed a vector into TYPECAST, it did the conversion for each element (and returned a vector), so I had to RESHAPE it to put the different bytes into different columns.

3. Good point about the lack of warning in CAST. I will submit a enhancement request for this.</description>
		<content:encoded><![CDATA[<p>@OysterEngineer</p>
<p>Thanks for your comments. I&#8217;m no expert in image processing, so it was certainly a learning and fun experience for me.</p>
<p>1. You&#8217;re right. Just from the information provided by WHOS, you can&#8217;t tell that it contains two 8-bit images. It says the datatype is uint16, so I&#8217;m just telling you that I have stored two 8-bit data into 16-bits.</p>
<p>2. (I&#8217;m not entirely sure what you mean by &#8220;recast&#8221;. I used TYPECAST and RESHAPE in my code.) <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/typecast.html" rel="nofollow">TYPECAST</a> puts the data starting from the least significant byte to the most significant byte (or vice versa, depending on the endiannes). When I passed a vector into TYPECAST, it did the conversion for each element (and returned a vector), so I had to RESHAPE it to put the different bytes into different columns.</p>
<p>3. Good point about the lack of warning in CAST. I will submit a enhancement request for this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OysterEngineer</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30770</link>
		<dc:creator>OysterEngineer</dc:creator>
		<pubDate>Thu, 12 Nov 2009 03:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30770</guid>
		<description>This is a very complex topic for a layman like me.  But, I&#039;m happy to see it &amp; I&#039;m learning a bit.

A couple basic questions:

Up in near the top of the Image Decomposition section you do a whos on imData.  How do you tell from the returned data that the image contains two 8-bit images?  I don&#039;t see anything in the returned data that would even hint about this.

How does the recast operation on pixelValsConv automatically put the least &amp; most significant bytes in the appropriate columns?  Isn&#039;t the output of the recast operation just the 1st half of the input vector in the 1st column of the output &amp; the 2nd half in the 2nd column?

Finally, this post pointed out a major shortcoming of the FRP for the cast function:  It doesn&#039;t have any text to warn users that the data may be changed.</description>
		<content:encoded><![CDATA[<p>This is a very complex topic for a layman like me.  But, I&#8217;m happy to see it &amp; I&#8217;m learning a bit.</p>
<p>A couple basic questions:</p>
<p>Up in near the top of the Image Decomposition section you do a whos on imData.  How do you tell from the returned data that the image contains two 8-bit images?  I don&#8217;t see anything in the returned data that would even hint about this.</p>
<p>How does the recast operation on pixelValsConv automatically put the least &amp; most significant bytes in the appropriate columns?  Isn&#8217;t the output of the recast operation just the 1st half of the input vector in the 1st column of the output &amp; the 2nd half in the 2nd column?</p>
<p>Finally, this post pointed out a major shortcoming of the FRP for the cast function:  It doesn&#8217;t have any text to warn users that the data may be changed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Loren</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30213</link>
		<dc:creator>Loren</dc:creator>
		<pubDate>Sun, 19 Apr 2009 17:32:22 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30213</guid>
		<description>Gavin-

You can pack more than 2 images into 64 bits, but you&#039;d have to know how they are packed together.  See &lt;a href=&quot;http://blogs.mathworks.com/steve/2006/10/17/the-story-behind-the-matlab-default-image/&quot; rel=&quot;nofollow&quot;&gt;this post&lt;/a&gt; on Steve&#039;s blog for how 17 images are part of MATLAB&#039;s default image.

--Loren</description>
		<content:encoded><![CDATA[<p>Gavin-</p>
<p>You can pack more than 2 images into 64 bits, but you&#8217;d have to know how they are packed together.  See <a href="http://blogs.mathworks.com/steve/2006/10/17/the-story-behind-the-matlab-default-image/" rel="nofollow">this post</a> on Steve&#8217;s blog for how 17 images are part of MATLAB&#8217;s default image.</p>
<p>&#8211;Loren</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30212</link>
		<dc:creator>Gavin</dc:creator>
		<pubDate>Fri, 17 Apr 2009 21:16:27 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30212</guid>
		<description>Does this only work with 2 images or can it be applied to multiple layers of image?

Could for instance a 16bit tiff contain several hundred layers of 8bit images?</description>
		<content:encoded><![CDATA[<p>Does this only work with 2 images or can it be applied to multiple layers of image?</p>
<p>Could for instance a 16bit tiff contain several hundred layers of 8bit images?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jiro</title>
		<link>http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30113</link>
		<dc:creator>Jiro</dc:creator>
		<pubDate>Fri, 13 Mar 2009 01:20:44 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.mathworks.com/loren/2009/02/24/decomposing-embedded-images/#comment-30113</guid>
		<description>Glad you guys enjoyed it.

Seth, I actually didn&#039;t know about Steve&#039;s post and the default images. I knew about the little boy, but I had no idea all of these other images existed. That&#039;s really cool!</description>
		<content:encoded><![CDATA[<p>Glad you guys enjoyed it.</p>
<p>Seth, I actually didn&#8217;t know about Steve&#8217;s post and the default images. I knew about the little boy, but I had no idea all of these other images existed. That&#8217;s really cool!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

