<?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: Finding the right level of documentation</title>
	<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/</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:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21815</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 01 Jun 2009 14:40:52 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21815</guid>
		<description>Dave&#8212;What error message are you getting?  You might try looking at the book &lt;em&gt;Digital Image Processing Using MATLAB&lt;/em&gt;. Also, if you have the Image Processing Toolbox you can look at the code for &lt;tt&gt;deconvwnr&lt;/tt&gt;.</description>
		<content:encoded><![CDATA[<p>Dave&mdash;What error message are you getting?  You might try looking at the book <em>Digital Image Processing Using MATLAB</em>. Also, if you have the Image Processing Toolbox you can look at the code for <tt>deconvwnr</tt>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21762</link>
		<dc:creator>dave</dc:creator>
		<pubDate>Thu, 14 May 2009 10:35:32 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21762</guid>
		<description>Hi Steve,
This is an excellent series you're conducting. Referring to your introductory paper and the basic equation for the degraded image in terms of the PSF and noise, I wanted to implement (without using the built-in matlab functions for it) the weiner filtering of any imported blurred image to the workspace. I'm following the steps outlined and the mathematical equations given on pgs 350 and 355 of Prof Raphael Gonzalez's 'Digital Image Processing'text; found the fft2 of the image and typed in the function H(u,v)on pg350 into the matlab workspace, tried to multiply them directly (in freq.domain multiplication), kept getting an error message. I suspect there is something wrong in terms of mismatched data-type. Could you explain to me what i should do to simply get from a simple mathematical expression for the Fourier transform of H(u,v)to a data type that can be multipled with the image fft, to give the degraded image G(u,v)? My aim ultimately is to obtain a coded representation for the expression on pg355, so that i can input any blurred, noisy image to get an acceptable original.</description>
		<content:encoded><![CDATA[<p>Hi Steve,<br />
This is an excellent series you&#8217;re conducting. Referring to your introductory paper and the basic equation for the degraded image in terms of the PSF and noise, I wanted to implement (without using the built-in matlab functions for it) the weiner filtering of any imported blurred image to the workspace. I&#8217;m following the steps outlined and the mathematical equations given on pgs 350 and 355 of Prof Raphael Gonzalez&#8217;s &#8216;Digital Image Processing&#8217;text; found the fft2 of the image and typed in the function H(u,v)on pg350 into the matlab workspace, tried to multiply them directly (in freq.domain multiplication), kept getting an error message. I suspect there is something wrong in terms of mismatched data-type. Could you explain to me what i should do to simply get from a simple mathematical expression for the Fourier transform of H(u,v)to a data type that can be multipled with the image fft, to give the degraded image G(u,v)? My aim ultimately is to obtain a coded representation for the expression on pg355, so that i can input any blurred, noisy image to get an acceptable original.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21735</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 06 May 2009 12:39:20 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21735</guid>
		<description>David&#8212;Thanks for your feedback, that's useful to know. Hey, I taught Computer Vision a couple of times way back in my previous life.  The first time I was assigned to teach it, I felt like I spent the whole term learning it about 60 minutes in advance of the class.  ;-)</description>
		<content:encoded><![CDATA[<p>David&mdash;Thanks for your feedback, that&#8217;s useful to know. Hey, I taught Computer Vision a couple of times way back in my previous life.  The first time I was assigned to teach it, I felt like I spent the whole term learning it about 60 minutes in advance of the class.  ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Young</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21734</link>
		<dc:creator>David Young</dc:creator>
		<pubDate>Wed, 06 May 2009 12:30:00 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21734</guid>
		<description>I struggled trying to understand imregionalmax etc. and I too found the documentation unhelpful - and I teach Computer Vision. I got there in the end, but only after searching the web, looking at the code (which really shouldn't be needed) and a lot of head scratching. So better documentation would be most welcome. The top priority in my view is clear statements of the algorithms, rather than a tutorial introduction, though that would be useful too.

However, I don't think this represents a general problem. I haven't had this experience with other IPT functions - there's either clear documentation, or like dilation for example they implement well-known operations. So I see imregionalmax (and its family) as a particular lapse, which I hope you can fix, rather than as a symptom of a systematic issue.

I agree about PUBLISH!</description>
		<content:encoded><![CDATA[<p>I struggled trying to understand imregionalmax etc. and I too found the documentation unhelpful - and I teach Computer Vision. I got there in the end, but only after searching the web, looking at the code (which really shouldn&#8217;t be needed) and a lot of head scratching. So better documentation would be most welcome. The top priority in my view is clear statements of the algorithms, rather than a tutorial introduction, though that would be useful too.</p>
<p>However, I don&#8217;t think this represents a general problem. I haven&#8217;t had this experience with other IPT functions - there&#8217;s either clear documentation, or like dilation for example they implement well-known operations. So I see imregionalmax (and its family) as a particular lapse, which I hope you can fix, rather than as a symptom of a systematic issue.</p>
<p>I agree about PUBLISH!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luis</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21725</link>
		<dc:creator>Luis</dc:creator>
		<pubDate>Fri, 01 May 2009 02:29:30 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21725</guid>
		<description>Steve,

I came to "imextendedmax" by way of one of your earlier examples.  Since you are part of Mathworks, I like to think that you are providing additional reference information.
More, I think that in looking at the functions available and the options available for each of the functions, there is plenty to absorb.  One can always benefit of more...
Perhaps a MatLab wiki would be helpful because other people who know can always chip-in.

Just for instance, I went crazy looking for a way to get the location of imellipses that I had drawn.  I had too many to create a handler for each ... my luck, there was a note somewhere in the site with the info I needed.

Last, I enjoy your blogs (and the links to other sites you provide).

Cheers.</description>
		<content:encoded><![CDATA[<p>Steve,</p>
<p>I came to &#8220;imextendedmax&#8221; by way of one of your earlier examples.  Since you are part of Mathworks, I like to think that you are providing additional reference information.<br />
More, I think that in looking at the functions available and the options available for each of the functions, there is plenty to absorb.  One can always benefit of more&#8230;<br />
Perhaps a MatLab wiki would be helpful because other people who know can always chip-in.</p>
<p>Just for instance, I went crazy looking for a way to get the location of imellipses that I had drawn.  I had too many to create a handler for each &#8230; my luck, there was a note somewhere in the site with the info I needed.</p>
<p>Last, I enjoy your blogs (and the links to other sites you provide).</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver Woodford</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21656</link>
		<dc:creator>Oliver Woodford</dc:creator>
		<pubDate>Sat, 04 Apr 2009 15:35:12 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21656</guid>
		<description>Many thanks for the explanation, Steve.

I guess the moral of this story is that while rand will produce a useful test case for many operations, there are some for which it isn't suitable, i.e. doesn't cover all scenarios.</description>
		<content:encoded><![CDATA[<p>Many thanks for the explanation, Steve.</p>
<p>I guess the moral of this story is that while rand will produce a useful test case for many operations, there are some for which it isn&#8217;t suitable, i.e. doesn&#8217;t cover all scenarios.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21655</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 04 Apr 2009 15:17:17 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21655</guid>
		<description>Oliver&#8212;&lt;tt&gt;imregionalmax&lt;/tt&gt; is implementing a more complex operation than your &lt;tt&gt;imdilate&lt;/tt&gt; solution.  Compare the output of the two solutions with this one-dimensional input:

&lt;pre&gt;
1 2 3 4 4 4 4 4 4 5 6 7 8 8 7 6 5
&lt;/pre&gt;

Those middle 4's are not considered to be a regional maximum. From that location, if you travel to the right, you can continue uphill.  The &lt;tt&gt;imdilate&lt;/tt&gt; solution mark those locations as maxima.</description>
		<content:encoded><![CDATA[<p>Oliver&mdash;<tt>imregionalmax</tt> is implementing a more complex operation than your <tt>imdilate</tt> solution.  Compare the output of the two solutions with this one-dimensional input:</p>
<pre>
1 2 3 4 4 4 4 4 4 5 6 7 8 8 7 6 5
</pre>
<p>Those middle 4&#8217;s are not considered to be a regional maximum. From that location, if you travel to the right, you can continue uphill.  The <tt>imdilate</tt> solution mark those locations as maxima.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver Woodford</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21654</link>
		<dc:creator>Oliver Woodford</dc:creator>
		<pubDate>Sat, 04 Apr 2009 15:11:19 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21654</guid>
		<description>I have once again learned something new at a very opportune time from a TMW blog post. I recently implemented 2-d maxima finding using a method I found mentioned in MATLAB FEX submission 14498:
&#62;&#62; A = rand(1000);
&#62;&#62; tic; B = imdilate(A, ones(3)) == A; toc
Elapsed time is 0.346276 seconds.

However, before switching to imregionalmax (after reading this post) I thought I'd compare it with my current method, and this is what I got:
&#62;&#62; tic; C = imregionalmax(A); toc
Elapsed time is 0.410890 seconds.
&#62;&#62; disp(isequal(B, C))
     1</description>
		<content:encoded><![CDATA[<p>I have once again learned something new at a very opportune time from a TMW blog post. I recently implemented 2-d maxima finding using a method I found mentioned in MATLAB FEX submission 14498:<br />
&gt;&gt; A = rand(1000);<br />
&gt;&gt; tic; B = imdilate(A, ones(3)) == A; toc<br />
Elapsed time is 0.346276 seconds.</p>
<p>However, before switching to imregionalmax (after reading this post) I thought I&#8217;d compare it with my current method, and this is what I got:<br />
&gt;&gt; tic; C = imregionalmax(A); toc<br />
Elapsed time is 0.410890 seconds.<br />
&gt;&gt; disp(isequal(B, C))<br />
     1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21653</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 04 Apr 2009 13:14:55 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21653</guid>
		<description>Bård&#8212;Thanks for sharing your thoughts.  I love PUBLISH, too!  And good luck with your product.</description>
		<content:encoded><![CDATA[<p>Bård&mdash;Thanks for sharing your thoughts.  I love PUBLISH, too!  And good luck with your product.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bård Skaflestad</title>
		<link>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21652</link>
		<dc:creator>Bård Skaflestad</dc:creator>
		<pubDate>Sat, 04 Apr 2009 09:40:41 +0000</pubDate>
		<guid>http://blogs.mathworks.com/steve/2009/04/03/finding-the-right-level-of-documentation/#comment-21652</guid>
		<description>Steve,

Thank you for this very interesting blog entry.  The company I work for just released a Toolbox-style package of M-files for simulating (simple) porous media flow.  Granted, this is our first release so the package clearly isn't as polished as it could be were it produced by, say, The MathWorks.

Still, the package does contain a number of fairly advanced features--some of which have never been released in code before.  At least to our knowledge.  For documentation we chose to use 'help'-style descriptions of parameters and return values for the individual functions--often accompanied by simple usage examples.  However, we deemed this kind of documentation to be too succinct for new users so we included several fully worked examples demonstrating the features in context.  By the way: The PUBLISH function is wonderful!

Overall, I think we have found a fair balance between technical description and tutorials--at least for a first release.  We're considering writing more detailed, i.e., DOC-style, documentation for the individual package functions, but this will have to wait until the next release.


Best regards,

Bård Skaflestad
SINTEF ICT, Applied Mathematics</description>
		<content:encoded><![CDATA[<p>Steve,</p>
<p>Thank you for this very interesting blog entry.  The company I work for just released a Toolbox-style package of M-files for simulating (simple) porous media flow.  Granted, this is our first release so the package clearly isn&#8217;t as polished as it could be were it produced by, say, The MathWorks.</p>
<p>Still, the package does contain a number of fairly advanced features&#8211;some of which have never been released in code before.  At least to our knowledge.  For documentation we chose to use &#8216;help&#8217;-style descriptions of parameters and return values for the individual functions&#8211;often accompanied by simple usage examples.  However, we deemed this kind of documentation to be too succinct for new users so we included several fully worked examples demonstrating the features in context.  By the way: The PUBLISH function is wonderful!</p>
<p>Overall, I think we have found a fair balance between technical description and tutorials&#8211;at least for a first release.  We&#8217;re considering writing more detailed, i.e., DOC-style, documentation for the individual package functions, but this will have to wait until the next release.</p>
<p>Best regards,</p>
<p>Bård Skaflestad<br />
SINTEF ICT, Applied Mathematics</p>
]]></content:encoded>
	</item>
</channel>
</rss>
