<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title></title>
	<atom:link href="http://mycarta.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mycarta.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 Feb 2012 03:42:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mycarta.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title></title>
		<link>http://mycarta.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mycarta.wordpress.com/osd.xml" title="" />
	<atom:link rel='hub' href='http://mycarta.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A rainbow for everyone</title>
		<link>http://mycarta.wordpress.com/2012/02/23/a-rainbow-for-everyone/</link>
		<comments>http://mycarta.wordpress.com/2012/02/23/a-rainbow-for-everyone/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 01:36:19 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Color]]></category>
		<category><![CDATA[Matlab, ImageJ, et cetera]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[color blindness]]></category>
		<category><![CDATA[color confusion]]></category>
		<category><![CDATA[color palette]]></category>
		<category><![CDATA[colormap]]></category>
		<category><![CDATA[ImageJ]]></category>
		<category><![CDATA[ImageJ plugin]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[rainbow]]></category>
		<category><![CDATA[simulated color blind vision]]></category>
		<category><![CDATA[traffic light]]></category>
		<category><![CDATA[Vischeck]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1719</guid>
		<description><![CDATA[Traffic lights for everyone Stephen Westland of Colour chat recently posted about a clever new LED traffic light developed in Japan. Here&#8217;s my tweet with the link to Westland&#8217;s original blog post: I really like the idea of making a traffic light that works for everyone: for people with full color vision and people with color vision [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1719&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4 style="text-align:left;">Traffic lights for everyone</h4>
<p style="text-align:left;">Stephen Westland of <a href="http://colourware.wordpress.com/2012/02/19/colour-physics-faq/" target="_blank">Colour chat</a> recently posted about a clever new LED traffic light developed in Japan. Here&#8217;s my tweet with the link to Westland&#8217;s original blog post:</p>
<blockquote class='twitter-tweet tw-align-center' lang='en'><p>Traffic lights for everyone: <a href="http://colourware.wordpress.com/2012/02/09/traffic-lights-for-everyone/"> colourware.wordpress.com/2012/02/09/tra…</a></p>&mdash; <br />Matteo Niccoli (@My_Carta) <a href='http://twitter.com/#!/My_Carta/status/171693026224259074' data-datetime='2012-02-20T20:29:42+00:00'>February 20, 2012</a></blockquote>
<p>I really like the idea of making a traffic light that works for everyone: for people with full color vision and people with <a href="http://www.colblindor.com/2007/02/09/terminology-of-color-blindness/" target="_blank">color vision deficiencies</a>. In fact, I think we should do the same with our color palettes. Why do I say that?</p>
<h4>A rainbow for everyone</h4>
<p>Take a look at  Figure 1 below. This is a map of the Bouguer Gravity (<a href="http://www.earthsci.unimelb.edu.au/ES304/MODULES/GRAV/NOTES/gtypesum.html" target="_blank">terrain corrected Bouguer Gravity</a> to be precise)  in Southern Tuscany, colored using a rainbow palette. I intentianally left out the colorbar. For a moment ignore the sharp gradient changes at the yellow and cyan color (that is one of the topics of my upcoming series &#8220;The rainbow is dead&#8230;long live the rainbow!&#8221;). Can you tell which color is representing high values an which low? If you have used a mnemonic like ROY B GIV and can tell that highs are towards the Southwest and lows towards the Northeast, then you are right and you also have full color vision, just like me. Great, because this post is exacly for us, the &#8220;normals&#8221;.</p>
<p><strong><img class="aligncenter" title="Bouguer_rainbow_1_normal_color_vision_cp" src="http://mycarta.files.wordpress.com/2012/02/bouguer_rainbow_1_normal_color_vision_cp.png?w=630&#038;h=337" alt="" width="630" height="337" /></strong></p>
<p style="text-align:center;">Figure 1</p>
<p style="text-align:left;"><span style="color:#000000;">Take now a look at Figure 2: this is exacly the same map, but I run a simulation to show us normals how it would be seen by a person with <a href="http://www.colblindor.com/2007/04/17/deuteranopia-red-green-color-blindness/" target="_blank">Deuteranopia</a>, a form of color vision deficiency (I run the simulation using Vischeck plugin for ImageJ, see the related contents section). Can you tell now which is high and which is low? I certainly can, but I&#8217;d be wrong. Using topography as a methafor, what I see is a nice yellow mountain ridge, from which the surface slopes down to shades of brown, and then white, on either side. There&#8217;s a nice big blue lake in the the Northeast but as far as I&#8217;m concerned there&#8217;s also a low in the South.</span></p>
<p><img class="aligncenter" title="Bouguer_rainbow_1_deuteranope Simulation_cp" src="http://mycarta.files.wordpress.com/2012/02/bouguer_rainbow_1_deuteranope-simulation_cp.png?w=630&#038;h=336" alt="" width="630" height="336" /></p>
<p style="text-align:center;">Figure 2</p>
<p>In my upcoming seires &#8220;The rainbow is dead&#8230;long live the rainbow!&#8221; i will tackle these topics in depth and I will also propose some new rainbow-like color palettes that are better for everyone, no matter how many and how well you see colors. Stay tuned!</p>
<h4>RELATED POSTS (MyCarta)</h4>
<p><a href="http://mycarta.wordpress.com/2011/11/20/is-indigo-really-a-colour-of-the-rainbow/">Is Indigo really a colour of the rainbow?</a></p>
<p><a href="http://mycarta.wordpress.com/2011/11/14/is-indigo-a-color-of-the-rainbow/">Why is the hue circle circular at all?</a></p>
<h4>RELATED CONTENT (External)</h4>
<p>Color Blind Essentials <a href="http://www.colblindor.com/wp-content/images/Color-Blind-Essentials.pdf" target="_blank">eBook</a></p>
<p><a href="http://www.vischeck.com/vischeck/" target="_blank">Vischeck</a></p>
<p>Vischeck simulations using <a href="http://www.vischeck.com/downloads/" target="_blank">ImageJ plugin</a></p>
<p>Vischeck simulations <a href="http://www.vischeck.com/vischeck/vischeckImage.php" target="_blank">online</a></p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/color-2/'>Color</a>, <a href='http://mycarta.wordpress.com/category/matlab-imagej-et-cetera/'>Matlab, ImageJ, et cetera</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/color/'>color</a>, <a href='http://mycarta.wordpress.com/tag/color-blindness/'>color blindness</a>, <a href='http://mycarta.wordpress.com/tag/color-confusion/'>color confusion</a>, <a href='http://mycarta.wordpress.com/tag/color-palette/'>color palette</a>, <a href='http://mycarta.wordpress.com/tag/colormap/'>colormap</a>, <a href='http://mycarta.wordpress.com/tag/imagej/'>ImageJ</a>, <a href='http://mycarta.wordpress.com/tag/imagej-plugin/'>ImageJ plugin</a>, <a href='http://mycarta.wordpress.com/tag/led/'>LED</a>, <a href='http://mycarta.wordpress.com/tag/rainbow/'>rainbow</a>, <a href='http://mycarta.wordpress.com/tag/simulated-color-blind-vision/'>simulated color blind vision</a>, <a href='http://mycarta.wordpress.com/tag/traffic-light/'>traffic light</a>, <a href='http://mycarta.wordpress.com/tag/vischeck/'>Vischeck</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1719/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1719&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/02/23/a-rainbow-for-everyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/02/bouguer_rainbow_1_normal_color_vision_cp.png" medium="image">
			<media:title type="html">Bouguer_rainbow_1_normal_color_vision_cp</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/02/bouguer_rainbow_1_deuteranope-simulation_cp.png" medium="image">
			<media:title type="html">Bouguer_rainbow_1_deuteranope Simulation_cp</media:title>
		</media:content>
	</item>
		<item>
		<title>What Words Can&#8217;t Convey: Illustrations Promote Scientific Understanding</title>
		<link>http://mycarta.wordpress.com/2012/02/15/1794/</link>
		<comments>http://mycarta.wordpress.com/2012/02/15/1794/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 21:33:24 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://tomorrowsecology.wordpress.com/?p=98</guid>
		<description><![CDATA[Reblogged from Tomorrow&#039;s Ecology: Humankind has long used illustrations to represent complex ideas and concepts. When words just can&#8217;t quite convey our meaning images often becomes necessary. From cave paintings to modern-day microscopy our ability to understand and influence our environment has relied on our evolving ability to create read images. To quote the National [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1794&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="reblog-post">
<p class="reblog-from"><img alt='' src='http://0.gravatar.com/avatar/ee43ade9bbcc48f736b0e619403f1158?s=25&amp;d=identicon&amp;r=G' class='avatar avatar-25' height='25' width='25' /> <a href="http://tomorrowsecology.com/2012/02/15/what-words-cant-convey-illustrations-promote-scientific-understanding/">Reblogged from Tomorrow&#039;s Ecology:</a></p>
<p><a href="http://tomorrowsecology.com/2012/02/15/what-words-cant-convey-illustrations-promote-scientific-understanding/" target="_self"><img src="http://tomorrowsecology.files.wordpress.com/2012/02/cell_division_lg.jpeg?w=630" alt="Click to visit the original post" class="size-full" /></a>
<ul class="thumb-list">
<li><a href="http://tomorrowsecology.com/2012/02/15/what-words-cant-convey-illustrations-promote-scientific-understanding/" target="_self"><img src="http://tomorrowsecology.files.wordpress.com/2012/02/cucumber.jpeg?crop=1&#038;w=72&#038;h=72#038;w=72&#038;h=72" alt="Click to visit the original post" class="size-thumb" width="72" height="72" /></a></li>
<li><a href="http://tomorrowsecology.com/2012/02/15/what-words-cant-convey-illustrations-promote-scientific-understanding/" target="_self"><img src="http://tomorrowsecology.files.wordpress.com/2012/02/metabolomic_lg.jpeg?crop=1&#038;w=72&#038;h=72#038;w=72&#038;h=72" alt="Click to visit the original post" class="size-thumb" width="72" height="72" /></a></li>
</ul>
<p dir='auto'>
Humankind has long used illustrations to represent complex ideas and concepts. When words just can&#8217;t quite convey our meaning images often becomes necessary. From cave paintings to modern-day microscopy our ability to understand and influence our environment has relied on our evolving ability to create read images. To quote the National Science Foundation (NSF): Some of science&#8217;s most powerful statements are not made in words. From the diagrams of DaVinci to Rosalind Franklin&#8217;s X-rays, visualization of &hellip;
</p>
</div>
<div class="reblogger-note"><img alt='' src='http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=25&amp;d=identicon&amp;r=G' class='avatar avatar-25' height='25' width='25' />
<div class='reblogger-note-content'>
This is a fantastic initiative.</p>
<p><a href="http://www.nsf.gov/news/special_reports/scivis/challenge.jsp">http://www.nsf.gov/news/special_reports/scivis/challenge.jsp</a>
</div>
</div>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1794/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1794&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/02/15/1794/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/ee43ade9bbcc48f736b0e619403f1158?s=25&#38;d=identicon&#38;r=G" medium="image" />

		<media:content url="http://tomorrowsecology.files.wordpress.com/2012/02/cell_division_lg.jpeg?w=630" medium="image">
			<media:title type="html">Click to visit the original post</media:title>
		</media:content>

		<media:content url="http://tomorrowsecology.files.wordpress.com/2012/02/cucumber.jpeg?crop=1&#38;w=72&#38;h=72" medium="image">
			<media:title type="html">Click to visit the original post</media:title>
		</media:content>

		<media:content url="http://tomorrowsecology.files.wordpress.com/2012/02/metabolomic_lg.jpeg?crop=1&#38;w=72&#38;h=72" medium="image">
			<media:title type="html">Click to visit the original post</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=25&#38;d=identicon&#38;r=G" medium="image" />
	</item>
		<item>
		<title>Visualization tips for geoscientists &#8211; Matlab</title>
		<link>http://mycarta.wordpress.com/2012/02/09/visualization-tips-for-geoscientists-matlab/</link>
		<comments>http://mycarta.wordpress.com/2012/02/09/visualization-tips-for-geoscientists-matlab/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 02:15:45 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Color]]></category>
		<category><![CDATA[Geophysics]]></category>
		<category><![CDATA[Image processing]]></category>
		<category><![CDATA[Matlab, ImageJ, et cetera]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[gravity]]></category>
		<category><![CDATA[horizontal derivative]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[pseudo-3D]]></category>
		<category><![CDATA[residual anomaly]]></category>
		<category><![CDATA[slope]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=861</guid>
		<description><![CDATA[Introduction In my last post I described how to create a powerful, nondirectional shading for a geophysical surface using the slope of the data to assign the shading intensity (i.e. areas of greater slope are assigned darker shading). Today I will show hot to create a similar effect in Matlab. Since the data set I use is from my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=861&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4 style="text-align:left;">Introduction</h4>
<p>In my <a href="http://mycarta.wordpress.com/2012/01/25/visualization-tips-for-geoscientists-surfer/" target="_blank">last post</a> I described how to create a powerful, nondirectional shading for a geophysical surface using the slope of the data to assign the shading intensity (i.e. areas of greater slope are assigned darker shading). Today I will show hot to create a similar effect in Matlab.</p>
<p>Since the data set I use is from my unpublished thesis in Geology, I am not able to share it, and you will have to use your own data, but the Matlab code is simply adapted. The code snippets below assume you have a geophysical surface already imported in the workspace and stored in a variable called &#8220;data&#8221;, as well as the derivative in a variable called &#8220;data_slope&#8221;.</p>
<h4 class="wp-caption-dt" style="text-align:left;">Method 1 &#8211; with a slope mask and transparency</h4>
<p>Some time ago I read this interesting Image Processing <a href="http://blogs.mathworks.com/steve/2009/02/18/image-overlay-using-transparency/" target="_blank">blog post</a> by Steve Eddins at Mathworks on overlaying images using transparency. I encourage readers to take a look at this and other posts by Steve, he&#8217;s great! That particular blog post gave me the idea to use transparency and the slope to create my favorite shading in Matlab.</p>
<p>In addition to the code below you will need <a href="http://www.csse.uwa.edu.au/~pk/research/matlabfns/GreyTrans/normalise.m" target="_blank">normalise.m</a> from <a href="http://www.csse.uwa.edu.au/~pk/research/matlabfns/" target="_blank">Peter Kovesi</a>&#8216;s website, and to import the color palette <a href="http://mycarta.files.wordpress.com/2011/11/cube1.xls">cube1</a>.</p>
<pre class="wp-caption-dt" style="text-align:left;">%% alpha transparency code snippet
black = cat(3, zeros(size(data)), zeros(size(data)), ...
    zeros(size(data)));             % make a truecolor all-black image
gray=black+0.2;                     % make a truecolor all-gray image
alphaI=normalise(data_slope);       % create transparency weight matrix
                                    % using data_slope

imagesc(data);colormap(cube1);      % display data
hold on
h = imagesc(gray);                  % overlay gray image on data
hold off
set(h, 'AlphaData', alphaI);        % set transparency of gray layer using
axis equal;                         % weight matrix
axis tight;
axis off;</pre>
<p>And here is the result in Figure 1 below &#8211; not bad!</p>
<p><img class="aligncenter" title="shaded with transparency" src="http://mycarta.files.wordpress.com/2011/11/shaded-with-transparency.png?w=630&#038;h=472" alt="" width="630" height="472" /></p>
<p style="text-align:center;">Figure 1. Shaded using transparency</p>
<p class="wp-caption-dt" style="text-align:left;"><span id="more-861"></span></p>
<h4 class="wp-caption-dt" style="text-align:left;">Method 2 &#8211; using Shaded Pseudo Color</h4>
<p class="wp-caption-dt" style="text-align:left;">You will need <a href="http://www.mathworks.cn/matlabcentral/fileexchange/14157-shaded-pseudo-color" target="_blank">shadedpcolor.m</a>, a function by Jody Klymak available on the Matlab File Exchange, and again <a href="http://www.csse.uwa.edu.au/~pk/research/matlabfns/GreyTrans/normalise.m" target="_blank">normalise.m</a> and <a href="http://mycarta.files.wordpress.com/2011/11/cube1.xls">cube1</a>.</p>
<pre class="wp-caption-dt" style="text-align:left;">%% shadedpcolor code snippet
 figure;
 shadedpcolor(xe,ye,data,(1-normalise(data_slope)),[-5.9834 2.9969], ...
      [0 1],0.55,cube1,0);
 axis equal; axis off; axis tight
 shadedcolorbar([-5.9834 2.9969],0.55,cube1);</pre>
<p>The result is in Figure 2. This really looks good. I favor this over the code above it now all the time because it allows greater flexibility (for example shading brightness adjustment), and because it creates a shaded colorbar for you.</p>
<p><img class="aligncenter" title="data cubeL final shading slope" src="http://mycarta.files.wordpress.com/2011/11/data-cubel-final-shading-slope.png?w=630&#038;h=472" alt="" width="630" height="472" /></p>
<p style="text-align:center;">Figure 2. Shaded using shadedpcolor</p>
<h4><strong><strong>Method 3:</strong> 3D</strong></h4>
<p>I am trying to write some code to use transparency to apply he shading with the surf command. Another option to generate a real 3D effect much like the one shown in the <a href="http://mycarta.wordpress.com/2012/01/25/visualization-tips-for-geoscientists-surfer/" target="_blank">last post</a> in Surfer I use <a href="http://www.mathworks.com/matlabcentral/fileexchange/8563-imageshiny" target="_blank">imageshiny.m</a>, a function by Gordon Cooper available on the Matlab File Exchange. This function will create both a 2D map like the ones above and a 3D map. The 3D map for the gravity data is shown below in Figure 3.</p>
<p>Notice that for imageshiny to work properly you will have to replace all instances of imshow with imagesc in the code if you do not have the Image Processing Toolbox.</p>
<p><a href="http://mycarta.files.wordpress.com/2011/11/shiny3d.png"><img class="aligncenter  wp-image-1699" title="shiny3D" src="http://mycarta.files.wordpress.com/2011/11/shiny3d.png?w=630&#038;h=472" alt="" width="630" height="472" /></a></p>
<p style="text-align:center;">Figure 3. Plotted and shaded using imageshiny</p>
<p>It is actually very interesting to look at the ingenious solution the author of imageshiny came up with to assign the shading. When you run imageshiny, each pixel in the surface is assigned simultaneously color and shading. This is done by generating a new matrix of <a href="http://mycarta.files.wordpress.com/2011/11/hsv-wiki1.png" target="_blank">HSV</a> triplets (refer to <a href="http://en.wikipedia.org/wiki/HSL_and_HSV" target="_blank">wikipedia</a> for a review of HSV and HSL) using the data directly: the hue H is assigned with  the data (normalized to the interval 0.5 to 1 so as to translate in the color range green to red); saturation S and value V are both assigned using the slope (imageshiny calculates it for you on the fly). The new matrix HSV is then converted to a matrix of RGB triplets, and the latter is used to color the surface when using the surf command. Here below is the relevant code, modified to facilitate reading (data* is the normalized data, slope* is the calculated slope, to distinguish from the variables in my code snippets above):</p>
<pre>HSV(:,:,1)=1-data*; HSV(:,:,2)=1-slope*; HSV(:,:,3)=slope*;
RGB=hsv2rgb(HSV);
figure; clf;
surf(data,RGB);axis off; axis tight; shading flat; view(5,85);</pre>
<p>I am currently experimenting to see  if I can make this function work with different hue combinations.</p>
<h4><strong><span class="Apple-style-span">Contours</span></strong></h4>
<p>I am still working at figuring out the right approach and write my own code to drape contours over the surface in 3D. This is actually possible using the Matlab function <a href="http://www.mathworks.com/help/toolbox/map/ref/contour3m.html" target="_blank">contour3m</a>, but  you need the Mapping Toolbox.</p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/color-2/'>Color</a>, <a href='http://mycarta.wordpress.com/category/geophysics/'>Geophysics</a>, <a href='http://mycarta.wordpress.com/category/image-processing-2/'>Image processing</a>, <a href='http://mycarta.wordpress.com/category/matlab-imagej-et-cetera/'>Matlab, ImageJ, et cetera</a>, <a href='http://mycarta.wordpress.com/category/tutorial/'>Tutorial</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/data/'>data</a>, <a href='http://mycarta.wordpress.com/tag/display/'>display</a>, <a href='http://mycarta.wordpress.com/tag/gravity/'>gravity</a>, <a href='http://mycarta.wordpress.com/tag/horizontal-derivative/'>horizontal derivative</a>, <a href='http://mycarta.wordpress.com/tag/matlab/'>Matlab</a>, <a href='http://mycarta.wordpress.com/tag/pseudo-3d/'>pseudo-3D</a>, <a href='http://mycarta.wordpress.com/tag/residual-anomaly/'>residual anomaly</a>, <a href='http://mycarta.wordpress.com/tag/slope/'>slope</a>, <a href='http://mycarta.wordpress.com/tag/visualization-2/'>visualization</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=861&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/02/09/visualization-tips-for-geoscientists-matlab/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/shaded-with-transparency.png" medium="image">
			<media:title type="html">shaded with transparency</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/data-cubel-final-shading-slope.png" medium="image">
			<media:title type="html">data cubeL final shading slope</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/shiny3d.png" medium="image">
			<media:title type="html">shiny3D</media:title>
		</media:content>
	</item>
		<item>
		<title>Visualization tips for geoscientists: Surfer</title>
		<link>http://mycarta.wordpress.com/2012/01/25/visualization-tips-for-geoscientists-surfer/</link>
		<comments>http://mycarta.wordpress.com/2012/01/25/visualization-tips-for-geoscientists-surfer/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 02:03:56 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Cartography and mapping]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[Geophysics]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Bouguer]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[colormap]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[first derivative]]></category>
		<category><![CDATA[Golden Software]]></category>
		<category><![CDATA[gravity]]></category>
		<category><![CDATA[residual anomaly]]></category>
		<category><![CDATA[shadowgram]]></category>
		<category><![CDATA[Surfer]]></category>
		<category><![CDATA[terrain slope]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1397</guid>
		<description><![CDATA[I have been thinking for a while about writing on visualization of geophysical data. I finally got to it, and I am now pleased  to show you a technique I use often.  This tutorial has shaped up into 2 independent posts: in the first post I will show how to implement the technique with Surfer, in the second [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1397&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">I have been thinking for a while about writing on visualization of geophysical data. I finally got to it, and I am now pleased  to show you a technique I use often.  This tutorial has shaped up into 2 independent posts: in the first post I will show how to implement the technique with Surfer, in the second one with Matlab (you will need access to a license of Surfer 8.08 or later, and Matlab 2007a or later to replicate the work done in the tutorial).</p>
<p style="text-align:left;">I will illustrate the technique using gravity data since it is the data I developed it for. In an upcoming series of gravity exploration tutorials I will discuss in depth the acquisition, processing, enhancement, and interpretation of gravity data (see [1] and [4]). For now, suffice it to say that gravity prospecting is useful in areas where rocks with different density are laterally in contact, either stratigraphic or tectonic, producing a measurable local variation of the gravitational field. This was the case for the study area (in the Monti Romani of Southern Tuscany) from my thesis in Geology at the University of Rome [2].</p>
<p>In this part of the Apennine belt, a Paleozoic metamorphic basement (density ~2.7 g/cm<sup>3</sup>) is overlain by a thick sequence of clastic near-shore units of the Triassic-Oligocene Tuscany Nappe (density ~2.3 g/cm<sup>3</sup>). The Tuscan Nappe is in turn covered by the Cretaceous-Eocene flish units of the Liguride Complex (density ~2.1 g/cm<sup>3</sup>).</p>
<p>During the deformation of the Apennines, NE verging compressive thrusts caused doubling of the basement. The tectonic setting was later complicated by tensional block faulting with formation of horst-graben structures generally extend along NW-SE and N-S trends which were further disrupted by later and still active NE-SW normal faulting (see [2], and reference therein, for example [3]).</p>
<p>This complex tectonic history placed the basement in lateral contact with the less dense rocks of the younger formations and this is reflected in the residual anomaly map [4] of Figure 1. Roughly speaking, there is a high in the SE quadrant of ~3.0 mgal corresponding to the location of the largest basement outcrop, an NW-SE elongated high of ~0.5 mgal in the centre bound by lows on both the SW and NE (~-6.0 and ~-5.0 mgal, respectively), and finally a local high in the N.W. quadrant of ~-0.5 mGal. From this we can infer that in this area can infer that the systems of normal faults caused differential sinking of the top of basement in different blocks leaving an isolated high in the middle, which is consistent with the described tectonic history [2]. Notice that grayscale representation is smoothly varying, reflecting (and honoring) the structure inherent in the data. It does not allow good visual discrimination and comparison of differences, but from the interpretation standpoint I recommend to always start out with it: once a first impression is formed it is difficult to go back. There is time later to start changing the dispaly.</p>
<address><a href="http://mycarta.files.wordpress.com/2012/01/surfer-data.png"><img class="aligncenter size-full wp-image-1628" title="surfer data" src="http://mycarta.files.wordpress.com/2012/01/surfer-data.png?w=630&#038;h=537" alt="" width="630" height="537" /></a> Figure 1 &#8211; Grayscale residual anomalies in milligals. This version of the map was generate using the IMAGE MAP option in Surfer.</address>
<address> </address>
<p><span id="more-1397"></span></p>
<p>OK, now that we formed a first impression, what can we try to improve on this display? The first thing we can do to increase the perceptual contrast is to add color, as I have done in Figure 2. This is an improvement, now we are able to appreciate smaller changes, quickly assess differences, or conversely identify areas of similar anomaly. Adding the third dimension and perspective is a further improvement, as seen in figure 3. But there&#8217;s still something missing. Even though we&#8217;ve added color, relief, and perspective, the map looks a bit &#8220;flat&#8221;.</p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/surfer-data-color.png"><img class="aligncenter size-full wp-image-1629" title="surfer data color" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-color.png?w=630&#038;h=537" alt="" width="630" height="537" /></a></p>
<address>Figure 2 &#8211; Colored residual anomalies in milligals. This version of the map was generate using the IMAGE MAP option in Surfer.</address>
<div> </div>
<address><a href="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color.png"><img class="aligncenter size-full wp-image-1631" title="surfer data 3D color" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color.png?w=630&#038;h=600" alt="" width="630" height="600" /></a><em>Figure 3 &#8211; Colored 3D residual anomaly map in milligals. This version of the map was generate using the SURFACE MAP option in Surfer.</em></address>
<address> </address>
<p>Adding contours is a good option to further bring out details in the data, and I like the flexibility of contours in Surfer. For example, for Figure 4 I assigned (in Contour Properties, Levels tab) a dashed line style to negative residual contours, and a solid line style to positive residual contours, with a thicker line for the zero contour. This can be done by modifying the style for each level individually, or by creating two separate contours, one for the positive data, one for the negative data, which is handy when several contour levels are present. The one drawback of using contours this way is that it is redundant. We used 3 weapons  &#8211; color, relief, and contours &#8211; to dispaly one dataset, and to characterize just one property, the shape of gravity anomaly. In geoscience it is often necessary, and <a href="http://www.agilegeoscience.com/journal/2011/8/2/visual-crossplotting.html" target="_blank">desireable to show multiple (relevant) datasets in one view</a>, so this is a bit of a waste. I would rather spare the contours, for example, to overlay and compare anomalous concentrations in <a href="http://books.google.ca/books?id=PWX2GGdc-a0C&amp;pg=PA385&amp;lpg=PA385&amp;dq=gold+pathfinder+elements&amp;source=bl&amp;ots=QBgXJm2Thj&amp;sig=NMP162tWPpmCqSd2NV7KLT3Z60E&amp;hl=en&amp;sa=X&amp;ei=VAkPT9K4O6f8iQLEv_2gDQ&amp;ved=0CEYQ6AEwBA#v=onepage&amp;q=gold%20pathfinder%20elements&amp;f=false" target="_blank">gold pathfinder elements</a> on this gravity anomaly map (one of the objectives of the study, being the Monti Romani an area of active gold exploration).</p>
<address><img class="aligncenter" title="surfer data 3D color contour" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-contour.png?w=630&#038;h=599" alt="" width="630" height="599" /><em>Figure 4 &#8211; Colored 3D residual anomaly map in milligals. Contours were added with the the CONTOUR MAP option in Surfer.</em> <a href="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-light-135-60.png"><img class="aligncenter size-full wp-image-1648" title="surfer data 3D color light -135 60" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-light-135-60.png?w=630&#038;h=600" alt="" width="630" height="600" /></a> <em>Figure 5 &#8211; Colored 3D residual anomaly map in milligals with lighting (3D Surface Properties menu). Illumination is generated by a point source with -135 deg azimuth and 60 deg elevation, plus an additional 80% gray ambient light, a 30% gray diffuse light, and a 10% gray specular light</em>.</address>
<address> </address>
<div>
<p>The alternative to contours is the use of illumination, or lighting, which I used in Figure 5. Lighting is doing a really good job: now we can recognize there is a high frequency texture in the data and we see some features both in the highs and lows. But there&#8217;s a catch:  we are now introducing perceptual artifacts, in the form of bright white highlight, which is obscuring some of the details where the surface is orthogonal to the point source light.</p>
<p>There is a way to illuminate the surface without introducing artifact &#8211; and that is really wanted to show you with this tutorial &#8211; which is to use a derivative of the data to assign the shading intensity (areas of greater gradient were assigned darker shading) [5]. In this case  I choose the terrain slope, which is the slope in the direction of steepest gradient at any point in the data (calculated in a running window). The result is a very powerful shading. Here is how you can do it in Surfer:</p>
<p><strong>1) CREATE TERRAIN SLOPE GRID </strong>(let&#8217;s call this A): go to GRID &gt; CALCULUS &gt; TERRAIN SLOPE</p>
<p>Result is shown in Figure 6 below:</p>
</div>
<div> <img class="aligncenter" title="surfer data terrain slope" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-terrain-slope.png?w=630&#038;h=601" alt="" width="630" height="601" /></div>
<address><em>Figure 6 &#8211; Terrain slope of residual anomaly. Black for low gradients, white for high gradients. Displayed using IMAGE MAP option.</em></address>
<address> </address>
<p><strong>2) CREATE COMPLEMENT OF TERRAIN SLOPE AND NORMALIZE TO [1 0] RANGE</strong> (to assign darker shading to areas of greater slope. This is done with 3 operations:</p>
<p>i)     GRID &gt; MATH&gt; B=A &#8211; min(A)</p>
<p>where min(A) is the minimum value, which you can read off the grid info (for example you would double click on the map above to open the Map Properties and there&#8217;s an info button next to the Input File field) .</p>
<p>ii)    GRID &gt; MATH&gt; C=B /max(B)</p>
<p>iii)   GRID &gt; MATH&gt; D= 1-C</p>
<p>Result is shown in Figure 7 below. This looks really good, see how now the data seems almost 3D? It would work very well just as it is. However, I do like color, so I added it back in Figure 8. This is done by draping the grayscale terrain slope complement IMAGE MAP as an overlay over the colored residual anomaly SURFACE MAP, and setting the Color Modulation to BLEND in the 3D Surface Properties in the Overlay tab. I really do like this display in Figure 8, I think it is terrific. Let me know if you like it best too.</p>
<p>Finally, in Figure 9, I added a contour of the anomaly in the Gold Pathfiners, to reiterate the point I made above that contours are best spared for a second dataset.</p>
<p>In my next post I will show you how to do all of the above programmatically in Matlab (and share the code). Meanwhile, comments, suggestions, requests are welcome. Have fun mapping and visualizing!<img class="aligncenter" title="surfer data complement of normalized 0-1 terrain slope" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-complement-of-normalized-0-1-terrain-slope.png?w=630&#038;h=601" alt="" width="630" height="601" /></p>
<address><em>Figure 7 &#8211; Complement of the terrain slope. White for low gradients, black for high gradients. Displayed using IMAGE MAP option.</em></address>
<address> </address>
<address> </address>
<address><img class="aligncenter" title="surfer data 3D color and shading using terrain slope" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-and-shading-using-terrain-slope.png?w=630&#038;h=596" alt="" width="630" height="596" /></address>
<address> </address>
<address><em>Figure 8 &#8211; Complement of the terrain slope with color added back.</em><a href="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-and-shading-using-terrain-slope-andanomaly-contours.png"><img class="aligncenter size-full wp-image-1639" title="surfer data 3D color and shading using terrain slope andanomaly contours" src="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-and-shading-using-terrain-slope-andanomaly-contours.png?w=630&#038;h=596" alt="" width="630" height="596" /></a><a href="http://mycarta.files.wordpress.com/2011/12/surfer-data-3d-color-and-shading-using-terrain-slope-andanomaly-contours.png"><br />
</a></address>
<address><em>Figure 9 &#8211; Complement of the terrain slope with color added back and contour overlay of gold pathfinders in stream sediments.</em></address>
<address> </address>
<h4>GOODIES</h4>
<p>Did you lie the colormap? In future series on perceptually balanced colormaps I will tell you how I created it. For now, if you&#8217;d like to try it on your data you can download it here:</p>
<p><a href="http://mycarta.files.wordpress.com/2011/11/cube1.xls">cube1</a> - generic format with RGB triplets;</p>
<p><a href="http://mycarta.files.wordpress.com/2012/02/cube1_surfer.doc" target="_blank">Cube1_Surfer</a> - this is preformatted for Surfer with 100 RGB triplets and header line. Dowload the .doc file, open and save as plain text, then change extension to .clr;</p>
<p><a href="http://mycarta.files.wordpress.com/2012/02/cube1_surfer_inverse.doc" target="_blank">Cube1_Surfer_inverse</a> &#8211; the ability to flip color palette is not implemented in Surfer (at least not in version 8) so I am including the flipped version of above. Again, dowload the .doc file, open and save as plain text, then change extension to .clr.</p>
<h4>RELATED POSTS (MyCarta)</h4>
<p><a href="http://mycarta.wordpress.com/2012/02/09/visualization-tips-for-geoscientists-matlab/" target="_blank">Visualization tips for geoscientists: Matlab</a></p>
<p><a href="http://mycarta.wordpress.com/2011/11/29/image-processing-tips-for-geoscientists-part-1/" target="_blank">Image Processing Tips for Geoscientists - part 1</a></p>
<p><a href="http://mycarta.wordpress.com/2012/01/12/compare-lists-from-text-files-using-matlab-an-application-for-resource-exploration/" target="_blank">Compare lists from text files using Matlab &#8211; an application for resource exploration</a></p>
<h4>RELATED CONTENT (External)</h4>
<p><a href="http://www.ags.gov.ab.ca/publications/abstracts/SPE_072.html" target="_blank">Basement structure in central and southern Alberta: insights from gravity and magnetic maps</a></p>
<p><a href="http://www.denvergeo.org/data/uploads/event_400.pdf" target="_blank">Making seismic data come alive</a></p>
<p><a href="http://www.agilegeoscience.com/journal/2011/8/2/visual-crossplotting.html" target="_blank">Visual Crossplotting</a></p>
<p><a href="http://dx.doi.org/10.1190/1.2903819" target="_blank">Mapping multiple attributes to three- and four-component color models — A tutorial</a></p>
<p><a href="http://www.crewes.org/ForOurSponsors/ConferenceAbstracts/2005/CSEG/Lynch_CSEG_2005.pdf" target="_blank">Enhancing Fault Visibility Using Bump Mapped Seismic Attributes </a></p>
<h4>ACKNOWLEDGEMENTS</h4>
<p>I would like to thank Michele di Filippo at the Department of Earth Science, University of Rome La Sapienza, to whom I owe a great deal. Michele, my first mentor and a friend, taught me everything I know about the planning and implementation of a geophysical field campaign. In the process I also learned from him a great deal about geology, mapping, Surfer, and problem solving. Michele will make a contribution to the gravity exploration series.</p>
<div>
<hr align="left" size="1" width="33%" />
<div>
<h6>NOTES</h6>
<p>[1] If you would like to learn more about gravity prospecting please check these excellent <a href="http://www.earthsci.unimelb.edu.au/ES304/MODULES/GRAV/NOTEOUT/gravoutline.html" target="_blank">course notes</a>.</p>
<p>[2] Niccoli, M., 2000:  Gravity, magnetic, and geologic exploration in the Monti Romani of Southern Tuscany, unpublished field and research thesis, Department of Earth Science, University of Rome La Sapienza.</p>
<p>[3] Moretti A., Meletti C., Ottria G. (1990) &#8211; Studio stratigrafico e strutturale dei Monti Romani (GR-VT) &#8211; 1: dal Paleozoico all&#8217;Orogenesi Alpidica. Boll. Soc. Geol. It., 109, 557-581. In Italian.</p>
<p>[4] Typically reduction of the raw data is necessary before any interpretation can be attempted. The result of this process of reduction is a Bouguer anomaly map, which is conceptually equivalent to what we would measure if we stripped away everything above sea level, therefore observing the distribution of rock densities below a regular surface. It is standard practice to also detrend the Bouguer anomaly to separate the influence of basin or crustal scale effects, from local effects, as either one or the other is often the target of the survey. The result of this procedure is typically called Residuals anomaly and often shows subtler details that were not apparent due to the regional gradients. Reduction to rsiduals makes it easier to qualitatively separate mass excesses from mass deficits. For a more detailed review of gravity exploration method check agai nthe notes in [1] and refer to <a href="http://www.cseg.ca/publications/recorder/2010/10oct/Oct2010-Magnetic-and-Gravity-Methods.pdf" target="_blank">this article</a> on the CSEG Recorder and reference therein.</p>
</div>
<div>
<p>[5] Speaking in general, 3D maps without lighting often have a flat appearance, which is why light sources are added. The traditional choice is to use single or multiple directional light sources, but the result is that only linear features orthogonal to those orientations will be highlighted. This is useful when interpreting for lineaments or faults (when present), but not in all circumstances, and requires a lot of experimenting. in other cases, like this one , directional lighting introduces a bright highlight, which obscures some detail. A more generalist, and in my view more effective alternative, is to use information derived from the data itself for the shading. One way to do that is to use a high pass filtered version of the data. i will show you how to do that in matlab in the next tutorial. Another solution, which I favored in this example, is to use a first derivative of the data.</p>
</div>
</div>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/cartography-and-mapping/'>Cartography and mapping</a>, <a href='http://mycarta.wordpress.com/category/color-2/'>Color</a>, <a href='http://mycarta.wordpress.com/category/geophysics/'>Geophysics</a>, <a href='http://mycarta.wordpress.com/category/tutorial/'>Tutorial</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/3d/'>3D</a>, <a href='http://mycarta.wordpress.com/tag/bouguer/'>Bouguer</a>, <a href='http://mycarta.wordpress.com/tag/color/'>color</a>, <a href='http://mycarta.wordpress.com/tag/colormap/'>colormap</a>, <a href='http://mycarta.wordpress.com/tag/data-visualization/'>data visualization</a>, <a href='http://mycarta.wordpress.com/tag/display/'>display</a>, <a href='http://mycarta.wordpress.com/tag/first-derivative/'>first derivative</a>, <a href='http://mycarta.wordpress.com/tag/golden-software/'>Golden Software</a>, <a href='http://mycarta.wordpress.com/tag/gravity/'>gravity</a>, <a href='http://mycarta.wordpress.com/tag/residual-anomaly/'>residual anomaly</a>, <a href='http://mycarta.wordpress.com/tag/shadowgram/'>shadowgram</a>, <a href='http://mycarta.wordpress.com/tag/surfer/'>Surfer</a>, <a href='http://mycarta.wordpress.com/tag/terrain-slope/'>terrain slope</a>, <a href='http://mycarta.wordpress.com/tag/visualization-2/'>visualization</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1397/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1397&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/01/25/visualization-tips-for-geoscientists-surfer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data.png" medium="image">
			<media:title type="html">surfer data</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-color.png" medium="image">
			<media:title type="html">surfer data color</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color.png" medium="image">
			<media:title type="html">surfer data 3D color</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-contour.png" medium="image">
			<media:title type="html">surfer data 3D color contour</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-light-135-60.png" medium="image">
			<media:title type="html">surfer data 3D color light -135 60</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-terrain-slope.png" medium="image">
			<media:title type="html">surfer data terrain slope</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-complement-of-normalized-0-1-terrain-slope.png" medium="image">
			<media:title type="html">surfer data complement of normalized 0-1 terrain slope</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-and-shading-using-terrain-slope.png" medium="image">
			<media:title type="html">surfer data 3D color and shading using terrain slope</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/surfer-data-3d-color-and-shading-using-terrain-slope-andanomaly-contours.png" medium="image">
			<media:title type="html">surfer data 3D color and shading using terrain slope andanomaly contours</media:title>
		</media:content>
	</item>
		<item>
		<title>Compare lists from text files using Matlab &#8211; an application for resource exploration</title>
		<link>http://mycarta.wordpress.com/2012/01/12/compare-lists-from-text-files-using-matlab-an-application-for-resource-exploration/</link>
		<comments>http://mycarta.wordpress.com/2012/01/12/compare-lists-from-text-files-using-matlab-an-application-for-resource-exploration/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 01:58:41 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Cartography and mapping]]></category>
		<category><![CDATA[Geophysics]]></category>
		<category><![CDATA[Matlab, ImageJ, et cetera]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[cell array]]></category>
		<category><![CDATA[cellinside]]></category>
		<category><![CDATA[cellstr]]></category>
		<category><![CDATA[character array]]></category>
		<category><![CDATA[compare lists]]></category>
		<category><![CDATA[compare text files]]></category>
		<category><![CDATA[digital curves]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[gold pathfinders]]></category>
		<category><![CDATA[IF]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[logical]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[Matlab code]]></category>
		<category><![CDATA[Matlab script]]></category>
		<category><![CDATA[mining]]></category>
		<category><![CDATA[oil and gas]]></category>
		<category><![CDATA[reshape]]></category>
		<category><![CDATA[search criteria]]></category>
		<category><![CDATA[strcmpi]]></category>
		<category><![CDATA[stream sediment]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[textread]]></category>
		<category><![CDATA[UWI]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[well list]]></category>
		<category><![CDATA[xlswrite]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1547</guid>
		<description><![CDATA[INTRODUCTION With today&#8217;s post I would like to share a Matlab script I used often to compare lists of ID numbers stored in separate text files. The ID numbers can be of anything: oil and gas wells, mining diamond drill hole locations, gravity or resistivity measurement stations, outcrop locations, you name it. And the script will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1547&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4 style="text-align:left;">INTRODUCTION</h4>
<p>With today&#8217;s post I would like to share a Matlab script I used often to compare lists of ID numbers stored in separate text files. The ID numbers can be of anything: oil and gas wells, mining <a href="http://en.wikipedia.org/wiki/Exploration_diamond_drilling" target="_blank">diamond drill hole</a> locations, <a href="http://www.earthsci.unimelb.edu.au/ES304/MODULES/GRAV/NOTEOUT/gravoutline.html" target="_blank">gravity</a> or <a href="http://www.earthsci.unimelb.edu.au/ES304/MODULES/RES/NOTEOUT/resoutline.html" target="_blank">resistivity</a> measurement stations, outcrop locations, you name it. And the script will handle any combination of ASCII characters (numbers, letters, etcetera).</p>
<p>I included below here some test files for you to try with the code, which is in the next section. Please refer to the comment section in the code for usage and file description. Have fun, and if you try it on your lists, let me know how it works for you.</p>
<h4>TEST FILES</h4>
<p>These files are in doc format; they need to be downloaded and saved as plain txt files. Test1 and Test2 contain 2 short lists of (fake) Canadian Oil and Gas wells; the former is the result of a search using a criterion (wells inside a polygonal area), the latter is a list of wells that have digital <a href="http://www.glossary.oilfield.slb.com/Display.cfm?Term=wireline%20log" target="_blank">wireline logs</a>. Test3 and Test4 are short lists of (fake) diamond drill holes.</p>
<p>*** Notice that script is setup to compare list in Test2.txt against list in Test1.txt and not the other way around. If using this on your own lists, you will have to decide in advance which subset of wells you are interested in.</p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/test1.doc">Test1</a></p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/test2.doc">Test2</a></p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/test3.doc">Test3</a></p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/test41.doc">Test4</a></p>
<h4>THE SCRIPT</h4>
<p>Here is the code:</p>
<p><span id="more-1547"></span></p>
<pre>% Script to compare lists of wells from 2 text files
% (wells are identified by a well ID string)
%
%%%% INPUT
% must be text files with 1-line header
%
% Sample test files provided:
% File 1 -  test1.txt - list of wells satisfying a criteria
%           (for example wells with digital wireline logs)
%
% File 2 -  test2.txt - list of all wells within an area
%           (for example returned using polygon search)
%
% These FILES contain (dummy) oil and gas wells from Canada
% i.e. wells with a 16-digit identifier of format 1XX021611428W600
% Header line is simply  'UWI' (Unique Well Identifier)
% For example:
% UWI
% 1XX021611428W600
% 1XX023511428W600
% ...
% ...
% To use with other files either
% 1 - actual name of the files must be changed to test1.txt and test2.txt
% or
% 2 - names in line 47 and 51 must be changed to 'yourfile1.txt' and
% 'yourfile2.txt', respectively
%
%%%% OUTPUT
% script extracts wells from list 2 that satisfy criteria and saves to
% File 3 -  out.xls
%
%%%%
% To use different header line and well identifier formats n and h must be
% changed accordingly
% For example suppose we had a file of diamond drill holes from a mining
% exploration permit, containing Diamond Drill Hole IDs in this format:
% DDH-ID (header line)
% DDH-23
% DDH-57
% ...
% ...
% we would need to change both h and n to 6
% try it with test3.txt and test4.txt
%
%% import data
curves=textread('test1.txt','%c');
% open file - this is list of wells with digital wireline logs (curves)
% notice script reads each character in the file as a row
%
inside=textread('test2.txt','%c');
% open file - this is list of wells inside rectangle or polygon
% notice script reads each character in the file as a row
%
%% cleanup, reshape variables, convert to cell array
n=16;       % number of characters in well identifier (for example, 16)
h=3;        % number of characters in header line (for example, 3)
[r,c]=size(inside); l=(r-h)/n;          % remove characters in the header
inside1=reshape(inside((h+1):r),n,l)';  % line and reshape
cellinside=cellstr(inside1);            % create cell array from char array
%
[t,s]=size(curves); f=(t-h)/n;          % remove characters in the header
curves1=reshape(curves((h+1):t),n,f)';  % line and reshape
cellcurves=cellstr(curves1);            % create cell array from char array
%
%% compare lists
for k=1:l
    for j=1:f
TF(k,j) = strcmpi(cellinside(k),cellcurves(j));
    end
end
% this is the kernel of the script:
% compare list of wells with logs (curves) vs. list of wells inside area
%
% From Matlab help: the command TF = strcmpi(s1,s2)
% compares the strings s1 and s2 and returns logical 1 (true) if they are
% the same (ignoring case), and returns logical 0 (false) otherwise
%
%% extract matching UWI and save output to Excel file
TTFF=max(int8(TF)')';
vi=logical(TTFF);
exp=cellinside(vi);
xlswrite('out.xls',exp);
%
%% optional house cleaning
clear inside curves n h r c l t s f TF TTFF j k vi</pre>
<p>You could achieve the same result in Excel using a formula like this (applied to a single spreadsheet with lists in 2 columns, A and B):</p>
<pre> <em>=IF(ISERROR(VLOOKUP(B2,$A$2:$A$999,1,FALSE)),0,VLOOKUP(B2,$A$2:$A$999,1,FALSE))</em></pre>
<p>However I like Excel a lot less because the automation (with Macros, visual basic) is more cumbersome, and because it is more prone to errors that are less easy to QC (contrary to Matlab, which will give you error messages and has a straightforward debugger). When Excel is really necessary is in those instances in which in addition to finding a subset of wells using the 2 lists you want to extract information from other columns, such as coordinates, ground elevation, date drilled, operator, common well name, etcetera; then VLOOKUP is the right tool. I will show you how to do just that in a future post.</p>
<h4>AN AFTERTHOUGHT</h4>
<p>Since a picture is worth a thousand words I thought I&#8217;d add a pictorial example. Below is a geological map from a mining exploration area in Tuscany, Italy, where high grade asbestos was mined in the past, and gold exploration is under way. I added to this map black square symbols to  indicate locations where stream sediments were collected during a <a href="http://www.seas.upenn.edu/~sys502/arcview/Projects/Cobalt_2/Geochemical_Prospecting.pdf" target="_blank">geochemical prospecting</a> campaign in the &#8217;80s (samples derived from the sediments are analyzed for concentrations in <a href="http://books.google.ca/books?id=PWX2GGdc-a0C&amp;pg=PA385&amp;lpg=PA385&amp;dq=gold+pathfinder+elements&amp;source=bl&amp;ots=QBgXJm2Thj&amp;sig=NMP162tWPpmCqSd2NV7KLT3Z60E&amp;hl=en&amp;sa=X&amp;ei=VAkPT9K4O6f8iQLEv_2gDQ&amp;ved=0CEYQ6AEwBA#v=onepage&amp;q=gold%20pathfinder%20elements&amp;f=false" target="_blank">gold pathfinder elements</a>). Suppose we had 2 lists: List1 contains all locations with anomalous concentrations in 1 or more of the pathfinder elements (I marked these locations with red diamond symbols). List2 contains all locations (I marked those with green cross symbols) with outcropping <a href="http://pages.uoregon.edu/millerm/Srcontacts.html" target="_blank">fault contact</a> between the metamorphic basement and the more recent sedimentary rock formations (faults bounding <a href="http://earthquake.usgs.gov/learn/glossary/?term=horst" target="_blank">horst structures</a> formed in extensional settings are believed to act as conduits for gold bearing fluids). If we run the Matlab script using List1 and List2 it would return a list of locations with fault contact AND anomalous pathfinder concentrations. Those are indicated by arrows on the map -  the location with just the green cross and those with just the red diamond would not be included.</p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/mining3.png"><img class="aligncenter size-full wp-image-1589" title="mining3" src="http://mycarta.files.wordpress.com/2012/01/mining3.png?w=630&#038;h=384" alt="" width="630" height="384" /></a></p>
<p>Sources (through the Regione Toscana): for map, University of Siena, Department of Earth Science, Geological Map of the Regione Toscana scale 1:10,000, sheet 343070;  for Stream Sediment data: ENI/RIMIN, unpublished Industry Report, 1989</p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/cartography-and-mapping/'>Cartography and mapping</a>, <a href='http://mycarta.wordpress.com/category/geophysics/'>Geophysics</a>, <a href='http://mycarta.wordpress.com/category/matlab-imagej-et-cetera/'>Matlab, ImageJ, et cetera</a>, <a href='http://mycarta.wordpress.com/category/tutorial/'>Tutorial</a> Tagged: <a href='http://mycarta.wordpress.com/tag/cell-array/'>cell array</a>, <a href='http://mycarta.wordpress.com/tag/cellinside/'>cellinside</a>, <a href='http://mycarta.wordpress.com/tag/cellstr/'>cellstr</a>, <a href='http://mycarta.wordpress.com/tag/character-array/'>character array</a>, <a href='http://mycarta.wordpress.com/tag/compare-lists/'>compare lists</a>, <a href='http://mycarta.wordpress.com/tag/compare-text-files/'>compare text files</a>, <a href='http://mycarta.wordpress.com/tag/digital-curves/'>digital curves</a>, <a href='http://mycarta.wordpress.com/tag/excel/'>Excel</a>, <a href='http://mycarta.wordpress.com/tag/gold-pathfinders/'>gold pathfinders</a>, <a href='http://mycarta.wordpress.com/tag/if/'>IF</a>, <a href='http://mycarta.wordpress.com/tag/iserror/'>ISERROR</a>, <a href='http://mycarta.wordpress.com/tag/logical/'>logical</a>, <a href='http://mycarta.wordpress.com/tag/macro/'>macro</a>, <a href='http://mycarta.wordpress.com/tag/matlab-code/'>Matlab code</a>, <a href='http://mycarta.wordpress.com/tag/matlab-script/'>Matlab script</a>, <a href='http://mycarta.wordpress.com/tag/mining/'>mining</a>, <a href='http://mycarta.wordpress.com/tag/oil-and-gas/'>oil and gas</a>, <a href='http://mycarta.wordpress.com/tag/reshape/'>reshape</a>, <a href='http://mycarta.wordpress.com/tag/search-criteria/'>search criteria</a>, <a href='http://mycarta.wordpress.com/tag/strcmpi/'>strcmpi</a>, <a href='http://mycarta.wordpress.com/tag/stream-sediment/'>stream sediment</a>, <a href='http://mycarta.wordpress.com/tag/string/'>string</a>, <a href='http://mycarta.wordpress.com/tag/textread/'>textread</a>, <a href='http://mycarta.wordpress.com/tag/uwi/'>UWI</a>, <a href='http://mycarta.wordpress.com/tag/vlookup/'>VLOOKUP</a>, <a href='http://mycarta.wordpress.com/tag/well-list/'>well list</a>, <a href='http://mycarta.wordpress.com/tag/xlswrite/'>xlswrite</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1547/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1547&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/01/12/compare-lists-from-text-files-using-matlab-an-application-for-resource-exploration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/mining3.png" medium="image">
			<media:title type="html">mining3</media:title>
		</media:content>
	</item>
		<item>
		<title>Digital cartography picks</title>
		<link>http://mycarta.wordpress.com/2012/01/09/digital-cartography-picks/</link>
		<comments>http://mycarta.wordpress.com/2012/01/09/digital-cartography-picks/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 22:42:09 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Cartography and mapping]]></category>
		<category><![CDATA[Geophysics]]></category>
		<category><![CDATA[Image processing]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[Apollo digital data]]></category>
		<category><![CDATA[digital cartography]]></category>
		<category><![CDATA[geography literacy]]></category>
		<category><![CDATA[Google Earth]]></category>
		<category><![CDATA[Hawaii]]></category>
		<category><![CDATA[Imus Geographics]]></category>
		<category><![CDATA[Lunar Mapper]]></category>
		<category><![CDATA[Moon crater search]]></category>
		<category><![CDATA[NASA]]></category>
		<category><![CDATA[Relief shading]]></category>
		<category><![CDATA[United States Geography]]></category>
		<category><![CDATA[USGS]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1492</guid>
		<description><![CDATA[My top pick is NASA&#8217;s new integration of the Apollo Zone Digital data. It was done at Ames Research Centre thanks to a newly developed software system for orbital imagery. The software allows fully automated image mosaicking and terrain modeling of data taken from different positions, with different exposure and resolution, and even selects best image when multiple [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1492&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My top pick is NASA&#8217;s new integration of the Apollo Zone Digital data. It was done at Ames Research Centre thanks to a newly developed software system for orbital imagery. The software allows fully automated image mosaicking and terrain modeling of data taken from different positions, with different exposure and resolution, and even selects best image when multiple coverage exists. You can read about this exiting new development in the article <a href="http://www.nasa.gov/topics/solarsystem/features/apollo-zone-map.html" target="_blank">Powerful Pixels: Mapping the &#8220;Apollo Zone&#8221;</a> which has links to the open source software libraries <a href="http://irg.arc.nasa.gov/ngt/stereo">Ames Stereo Pipeline</a>, <a href="http://irg.arc.nasa.gov/ngt">Neo-Geography Toolkit</a> and <a href="http://irg.arc.nasa.gov/nasa-vision-workbench">NASA Vision Workbench</a>. You can click <a href="http://byss.ndc.nasa.gov/stereopipeline/dataviz/apollo_metric.kml" target="_blank">here</a> to download a kml file for viewing the image mosaic and digital elevation model in Google Earth. I tried it out and it looks great. Check these screen captures below:<br />
<img class="aligncenter" title="digital image model" src="http://mycarta.files.wordpress.com/2012/01/digital-image-model.png?w=630&#038;h=466" alt="" width="630" height="466" /></p>
<p><span id="more-1492"></span></p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/dem-google-earth.png"><img class="aligncenter" title="dem google earth" src="http://mycarta.files.wordpress.com/2012/01/dem-google-earth.png?w=630&#038;h=466" alt="" width="630" height="466" /></a></p>
<div> A more advanced interface &#8211; the Lunar Mapper &#8211; is available online at the Lunar Mapping and Modeling Project <a href="http://pub.lmmp.nasa.gov/LMMPUI/LMMP_CLIENT/LMMP.html" target="_blank">site</a> (in the tools menu). I tried it last night and I was very impressed. It has an intuitive interface, easy access to layer with data from the various Apollo missions. Here&#8217;s an example:</div>
<div></div>
<p><a href="http://mycarta.files.wordpress.com/2012/01/layers.png"><img class="aligncenter size-full wp-image-1493" title="layers" src="http://mycarta.files.wordpress.com/2012/01/layers.png?w=630&#038;h=419" alt="" width="630" height="419" /></a></p>
<p>You can switch to polar view with a single click. Below here I am showing the average temperature.  It is great to have the option to use opacity (in this example I applied an opacity of 0.4) but on the down side I could not find a colorbar to turn on.</p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/n-pole-average-temp-opacity-04.png"><img class="aligncenter size-full wp-image-1516" title="N pole average temp opacity 04" src="http://mycarta.files.wordpress.com/2012/01/n-pole-average-temp-opacity-04.png?w=630&#038;h=453" alt="" width="630" height="453" /></a></p>
<p>A great feature is the crater search:</p>
<p><a href="http://mycarta.files.wordpress.com/2012/01/search1.png"><img class="aligncenter size-full wp-image-1517" title="search" src="http://mycarta.files.wordpress.com/2012/01/search1.png?w=630&#038;h=452" alt="" width="630" height="452" /></a></p>
<p>There&#8217;s a video demo available: <a href="http://pub.lmmp.nasa.gov/redmine/attachments/403/Lunar_Mapper_LMMP_Demo_final.mov">Lunar Mapper LMMP Demo final.mov</a></p>
<p>==============================================================================================<a href="http://mycarta.files.wordpress.com/2012/01/layers2.png"><br />
</a></p>
<p>My second pick is  The Essential Geography of the United States of America from <a href="http://www.facebook.com/EssentialGeography?sk=app_6009294086" target="_blank">David Imus</a>. Imus put together an innovative new map of the United States, which is really good news. Why is this a big deal?  There&#8217;s an excellent <a href="http://mobile.slate.com/articles/arts/culturebox/2012/01/the_best_american_wall_map_david_imus_the_essential_geography_of_the_united_states_of_america_.html" target="_blank">article</a> about it on Slate magazine so I point you to that   for a full review .</p>
<p>What I think is worth mentioning &#8211; and I like a lot in this map is that Imus used (simplified) <a href="http://www.reliefshading.com/" target="_blank">Relief Shading</a> to render the terrain, without sacrificing any of the requirements of a commercial cartographical product (labels, boundaries, etcetera). Here&#8217;s a quick comparison I did of a Bathymetry Map of the Hawaiian archipelago from <a href="http://geopubs.wr.usgs.gov/i-map/i2809/" target="_blank">USGS</a> (top, converted to grayscale) and the provided for Hawaii on Imus Geographics <a href="https://imusgeographics.com/" target="_blank">website</a> (bottom, also converted to grayscale).</p>
<p><img title="compare Imus and USGS DEM" src="http://mycarta.files.wordpress.com/2012/01/compare-imus-and-usgs-dem.png?w=588&#038;h=806" alt="" width="588" height="806" /></p>
<p>I would encourage you to take a look at  Imus&#8217; very instructive <a href="https://imusgeographics.com/sites/default/files/assets/files/Essential%20Geography%20Booklet%20110810.05.pdf" target="_blank">Booklet</a> on advancing geographic literacy in classrooms, and to watch his YouTube interview.</p>
<span style="text-align:center; display: block;"><a href="http://mycarta.wordpress.com/2012/01/09/digital-cartography-picks/"><img src="http://img.youtube.com/vi/AatQI-wCbj4/2.jpg" alt="" /></a></span>
<pre></pre>
<p>==============================================================================================<a href="http://mycarta.files.wordpress.com/2012/01/layers2.png"><br />
</a>Bronze medal goes to the paper <a href="http://geomorphometry.org/system/files/Gallant2011geomorphometry.pdf" target="_blank">Adaptive smoothing for noisy DEMs</a> which was posted on <a href="http://gisandscience.com/2011/12/09/adaptive-smoothing-for-noisy-dems/" target="_blank">GIS and Science blog</a> in December. I think it would be very interesting to try the method on geophysical data (for example structure maps from reflection seismic), where often the noise level is spatially variable.</p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/cartography-and-mapping/'>Cartography and mapping</a>, <a href='http://mycarta.wordpress.com/category/geophysics/'>Geophysics</a>, <a href='http://mycarta.wordpress.com/category/image-processing-2/'>Image processing</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/apollo-digital-data/'>Apollo digital data</a>, <a href='http://mycarta.wordpress.com/tag/digital-cartography/'>digital cartography</a>, <a href='http://mycarta.wordpress.com/tag/geography-literacy/'>geography literacy</a>, <a href='http://mycarta.wordpress.com/tag/google-earth/'>Google Earth</a>, <a href='http://mycarta.wordpress.com/tag/hawaii/'>Hawaii</a>, <a href='http://mycarta.wordpress.com/tag/imus-geographics/'>Imus Geographics</a>, <a href='http://mycarta.wordpress.com/tag/lunar-mapper/'>Lunar Mapper</a>, <a href='http://mycarta.wordpress.com/tag/moon-crater-search/'>Moon crater search</a>, <a href='http://mycarta.wordpress.com/tag/nasa/'>NASA</a>, <a href='http://mycarta.wordpress.com/tag/relief-shading/'>Relief shading</a>, <a href='http://mycarta.wordpress.com/tag/united-states-geography/'>United States Geography</a>, <a href='http://mycarta.wordpress.com/tag/usgs/'>USGS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1492/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1492/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1492&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/01/09/digital-cartography-picks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://pub.lmmp.nasa.gov/redmine/attachments/403/Lunar_Mapper_LMMP_Demo_final.mov" length="229002159" type="video/quicktime" />
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/digital-image-model.png" medium="image">
			<media:title type="html">digital image model</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/dem-google-earth.png" medium="image">
			<media:title type="html">dem google earth</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/layers.png" medium="image">
			<media:title type="html">layers</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/n-pole-average-temp-opacity-04.png" medium="image">
			<media:title type="html">N pole average temp opacity 04</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/search1.png" medium="image">
			<media:title type="html">search</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2012/01/compare-imus-and-usgs-dem.png" medium="image">
			<media:title type="html">compare Imus and USGS DEM</media:title>
		</media:content>
	</item>
		<item>
		<title>MyCarta &#8211; 2011 in review</title>
		<link>http://mycarta.wordpress.com/2012/01/01/mycarta-2011-in-review/</link>
		<comments>http://mycarta.wordpress.com/2012/01/01/mycarta-2011-in-review/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 18:12:25 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1459</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: A San Francisco cable car holds 60 people. This blog was viewed about 2,400 times in 2011 [NOTE: blog started on September 31st]. If it were a cable car, it would take about 40 trips to carry that many [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1459&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<p><a href="/2011/annual-report/"><img src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" alt="" width="100%" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>A San Francisco cable car holds 60 people. This blog was viewed about <strong>2,400</strong> times in 2011 [NOTE: blog started on September 31st]. If it were a cable car, it would take about 40 trips to carry that many people.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1459/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1459/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1459/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1459&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2012/01/01/mycarta-2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" medium="image" />
	</item>
		<item>
		<title>An example of Forensic Image Processing in ImageJ</title>
		<link>http://mycarta.wordpress.com/2011/12/14/an-example-of-forensic-image-processing-in-imagej/</link>
		<comments>http://mycarta.wordpress.com/2011/12/14/an-example-of-forensic-image-processing-in-imagej/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 03:17:27 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Submission]]></category>
		<category><![CDATA[Image processing]]></category>
		<category><![CDATA[Matlab, ImageJ, et cetera]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[image analysis]]></category>
		<category><![CDATA[forensics]]></category>
		<category><![CDATA[ImageJ]]></category>
		<category><![CDATA[convolution]]></category>
		<category><![CDATA[forensic science]]></category>
		<category><![CDATA[minutiae]]></category>
		<category><![CDATA[fingerprint matching]]></category>
		<category><![CDATA[fingerprint]]></category>
		<category><![CDATA[ridge]]></category>
		<category><![CDATA[bifurcation]]></category>
		<category><![CDATA[scheletonization]]></category>
		<category><![CDATA[feature detection]]></category>
		<category><![CDATA[macro]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1324</guid>
		<description><![CDATA[In a previous post I introduced ImageJ, a very powerful open source  image processing software. ImageJ allows users to display, edit, analyze, process, and filter images, and its capabilities are greatly increased by hundreds of plugins. In a future post I will be showing how to use the watershed transform in ImageJ for medical image analysis and advanced geoscience map [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1324&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://mycarta.wordpress.com/2011/11/13/lending-you-a-hand-with-impage-processing-introduction-to-imagej/" target="_blank">previous post</a> I introduced ImageJ, a very powerful open source  image processing software. ImageJ allows users to display, edit, analyze, process, and filter images, and its capabilities are greatly increased by hundreds of <a href="http://rsbweb.nih.gov/ij/plugins/index.html" target="_blank">plugins</a>.</p>
<p>In a future post I will be showing how to use the <a href="http://www.mathworks.com/company/newsletters/news_notes/win02/watershed.html" target="_blank">watershed transform</a> in ImageJ for medical image analysis and advanced geoscience map interpretation.</p>
<p>Today I am posting a submission entry by guest <a href="http://www.linkedin.com/pub/ron-despain/31/638/448" target="_blank">Ron DeSpain</a>, an image and signal analysis software developer, and a fellow member from the <a href="http://www.linkedin.com/groups?home=&amp;gid=37629&amp;trk=anet_ug_hm" target="_blank">Image Processing Interest Group</a> on Linkedin. Ron&#8217;s note is about Feature Detection for Fingerprint Matching in ImageJ. I was thrilled to receive this submission as I really have a soft spot for Forensic science. Additionally, it is a nice way to introduce skeletonization, which I will be using in a future series on automatic detection of lineaments in geophysical maps. So, thanks Ron!</p>
<p>Please check <a href="http://www.crimescene-forensics.com/Fingerprint_terms.html" target="_blank">this page</a> for reference on fingerprint terminology. And if you are interested in the topic and would like to start a discussion, or make a suggestion,  please use the comment section below. You can also contact Ron directly at <a href="mailto:ron_despain@hotmail.com">ron_despain@hotmail.com</a> if you want to enquire about the code.</p>
<p><span id="more-1324"></span></p>
<p>==========================================================================================</p>
<h3>Initial Feature Detection Steps for Fingerprint Matching &#8211; by Ron DeSpain</h3>
<p style="text-align:left;" align="center">A common fingerprint pre-processing method called the crossings algorithm is used to extract from a fingerprint features called minutiae.  Minutiae are located at the end of fingerprint ridges and where the ridges split (bifurcations) as shown in Figure 1.  Once detected, minutiae are correlated with a database of known fingerprint minutiae sets.  This article discusses the very first step in detecting these minutiae in a fingerprint.</p>
<p style="text-align:center;" align="center"><a href="http://mycarta.files.wordpress.com/2011/12/12.png"><img class="aligncenter size-full wp-image-1394" title="1" src="http://mycarta.files.wordpress.com/2011/12/12.png?w=630" alt=""   /></a></p>
<p style="text-align:center;" align="center">Figure 1  Types of Fingerprint Minutiae</p>
<p style="text-align:left;">This fingerprint is available in a free database of fingerprint images at <a href="http://bias.csr.unibo.it/fvc2000/download.asp">http://bias.csr.unibo.it/fvc2000/download.asp</a></p>
<p style="text-align:left;">I got the idea for this convolution based minutiae extractor from <a href="http://www.szabist.edu.pk/NCET2004/Docs/Session%20VII%20Paper%20No%202%20(P%20141-146).pdf">http://www.szabist.edu.pk/NCET2004/Docs/Session%20VII%20Paper%20No%202%20(P%20141-146).pdf</a>  where a slightly different counting scheme is used to identify minutiae.</p>
<p style="text-align:left;">This algorithm depends on the fact that the end and bifurcation patterns have unique numbers of crossings in a 3&#215;3 local region, as depicted in Figure 2.  This means that by simply counting the crossings you could detect the minutiae.</p>
<p style="text-align:center;" align="center"><a href="http://mycarta.files.wordpress.com/2011/12/2.png"><img class="aligncenter  wp-image-1335" title="2" src="http://mycarta.files.wordpress.com/2011/12/2.png?w=376&#038;h=202" alt="" width="376" height="202" /></a></p>
<p style="text-align:center;" align="center">Figure 2 Minutiae Patterns</p>
<p style="text-align:left;">The pseudocode for this algorithm is as follows:</p>
<ol style="text-align:left;">
<li>Convert the image to binary, normalized to 0 to 1 range, floating point data</li>
<li>Skeletonize the image</li>
<li>Convolve the skeleton with the unit 3&#215;3 matrix to count the crossings</li>
<li>Multiply the skeletonized image by the convolved image = Features Image</li>
<li>Threshold the Features  image at 2 for ridge ends</li>
<li>Threshold  the Features image  at 4 for bifurcations</li>
</ol>
<p style="text-align:left;">The following imageJ macro will identify minutiae using this simple pattern recognition technique.  You can download and install ImageJ free from <a href="http://imagej.nih.gov/ij/download.html">http://imagej.nih.gov/ij/download.html</a>.  Don’t forget to get the user’s manual and macro coding guide from this site if you want to modify my macro.</p>
<pre style="text-align:left;">//Minutiae Detection Macro
open();
run("Duplicate...", "title=Skeleton");
starttime = getTime();
run("Make Binary");
run("Skeletonize");
run("32-bit");
run("Divide...", "value=255.000");
run("Enhance Contrast", "saturated=0 normalize");
run("Duplicate...", "title=Convolution");
run("Convolve...", "text1=[1 1 1\n1 1 1\n1 1 1\n] stack");
imageCalculator("Multiply create 32-bit", "Skeleton","Convolution");
endtime = getTime();
selectWindow("Result of Skeleton");
rename("Features");
run("Tile");
run("Threshold...");
print("Processing Time (ms) = "+(endtime - starttime));
setTool(11);
selectWindow("Features");
run("Sync Windows");</pre>
<p style="text-align:left;">Copy this code to a text file (.txt), drop it into the ImageJ macros folder, install and run it in ImageJ using the image at the end of this article.</p>
<p style="text-align:left;">The output of the above macro is shown in Figure 3 below:</p>
<div><a href="http://mycarta.files.wordpress.com/2011/12/3.png"><img class="aligncenter size-full wp-image-1336" title="3" src="http://mycarta.files.wordpress.com/2011/12/3.png?w=630&#038;h=354" alt="" width="630" height="354" /></a></div>
<p style="text-align:center;" align="center">Figure 3 ImageJ Macro Output</p>
<p style="text-align:left;">Setting the threshold control to show pixels with a value of 2 in red highlights will show the ridge end detections as shown in Figure 4.   Note that the noise in the image produces false detections, which have to be identified with further processing not addressed here.</p>
<p style="text-align:center;"><a href="http://mycarta.files.wordpress.com/2011/12/4.png"><img class="aligncenter  wp-image-1337" title="4" src="http://mycarta.files.wordpress.com/2011/12/4.png?w=441&#038;h=384" alt="" width="441" height="384" /></a></p>
<p style="text-align:center;" align="center">Figure 4 Ridge End Detections</p>
<p style="text-align:left;">Bifurcations are similarly found by setting the threshold to 4 as shown in Figure 5:</p>
<p style="text-align:center;"><a href="http://mycarta.files.wordpress.com/2011/12/5.png"><img class="aligncenter  wp-image-1338" title="5" src="http://mycarta.files.wordpress.com/2011/12/5.png?w=441&#038;h=383" alt="" width="441" height="383" /></a></p>
<p style="text-align:center;" align="center">Figure 5 Bifurcations Detected</p>
<p style="text-align:left;">There are two fingerprint processing macros on the Mathworks user community file exchange for Matlab users and free fingerprint verification SDK at <a href="http://www.neurotechnology.com/free-fingerprint-verification-sdk.html">http://www.neurotechnology.com/free-fingerprint-verification-sdk.html</a>  for those of you who would like to dig deeper into this subject.</p>
<p style="text-align:left;">You can copy and save the fingerprint image I used in this article directly from this document’s Figure 6 to get you started either via screen capture, or right-click the image download.</p>
<p style="text-align:center;"><a href="http://mycarta.files.wordpress.com/2011/12/6.png"><img class="aligncenter size-full wp-image-1339" title="6" src="http://mycarta.files.wordpress.com/2011/12/6.png?w=630" alt=""   /></a></p>
<p style="text-align:center;" align="center">Figure 6  Original Image</p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/image-processing-2/'>Image processing</a>, <a href='http://mycarta.wordpress.com/category/matlab-imagej-et-cetera/'>Matlab, ImageJ, et cetera</a>, <a href='http://mycarta.wordpress.com/category/submission/'>Submission</a>, <a href='http://mycarta.wordpress.com/category/tutorial/'>Tutorial</a> Tagged: <a href='http://mycarta.wordpress.com/tag/bifurcation/'>bifurcation</a>, <a href='http://mycarta.wordpress.com/tag/convolution/'>convolution</a>, <a href='http://mycarta.wordpress.com/tag/feature-detection/'>feature detection</a>, <a href='http://mycarta.wordpress.com/tag/fingerprint/'>fingerprint</a>, <a href='http://mycarta.wordpress.com/tag/fingerprint-matching/'>fingerprint matching</a>, <a href='http://mycarta.wordpress.com/tag/forensic-science/'>forensic science</a>, <a href='http://mycarta.wordpress.com/tag/forensics/'>forensics</a>, <a href='http://mycarta.wordpress.com/tag/image-analysis/'>image analysis</a>, <a href='http://mycarta.wordpress.com/tag/image-processing/'>image processing</a>, <a href='http://mycarta.wordpress.com/tag/imagej/'>ImageJ</a>, <a href='http://mycarta.wordpress.com/tag/macro/'>macro</a>, <a href='http://mycarta.wordpress.com/tag/minutiae/'>minutiae</a>, <a href='http://mycarta.wordpress.com/tag/ridge/'>ridge</a>, <a href='http://mycarta.wordpress.com/tag/scheletonization/'>scheletonization</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1324&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2011/12/14/an-example-of-forensic-image-processing-in-imagej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/12.png" medium="image">
			<media:title type="html">1</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/2.png" medium="image">
			<media:title type="html">2</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/3.png" medium="image">
			<media:title type="html">3</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/4.png" medium="image">
			<media:title type="html">4</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/5.png" medium="image">
			<media:title type="html">5</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/12/6.png" medium="image">
			<media:title type="html">6</media:title>
		</media:content>
	</item>
		<item>
		<title>Image processing tips for geoscientists &#8211; 1</title>
		<link>http://mycarta.wordpress.com/2011/11/29/image-processing-tips-for-geoscientists-part-1/</link>
		<comments>http://mycarta.wordpress.com/2011/11/29/image-processing-tips-for-geoscientists-part-1/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 04:14:47 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Geophysics]]></category>
		<category><![CDATA[Image processing]]></category>
		<category><![CDATA[Matlab, ImageJ, et cetera]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[convolution]]></category>
		<category><![CDATA[emboss]]></category>
		<category><![CDATA[etcetera]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[geology]]></category>
		<category><![CDATA[geomorphology]]></category>
		<category><![CDATA[geophysics]]></category>
		<category><![CDATA[Google Earth]]></category>
		<category><![CDATA[ImageJ]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linkzoom]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[meander]]></category>
		<category><![CDATA[seismic]]></category>
		<category><![CDATA[shift and subtract]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1217</guid>
		<description><![CDATA[Today I would like to show a way to quickly create a pseudo-3D display from this map: The map is a screen capture of a meandering river near Galena, Alaska, taken in Google Earth. I love this image; it is one of my favorite maps for several reasons. First of all it is just plainly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1217&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="mceTemp mceIEcenter" style="text-align:left;">Today I would like to show a way to quickly create a pseudo-3D display from this map:</p>
<div class="wp-caption aligncenter" style="width: 640px"><a href="http://mycarta.files.wordpress.com/2011/11/original1.png"><img class="size-full wp-image-1220" title="original" src="http://mycarta.files.wordpress.com/2011/11/original1.png?w=630&#038;h=415" alt="" width="630" height="415" /></a><p class="wp-caption-text">Original image</p></div>
<div class="mceTemp mceIEcenter" style="text-align:left;">The map is a screen capture of a meandering river near Galena, Alaska, taken in Google Earth. I love this image; it is one of my favorite maps for several reasons. First of all it is just plainly and simply a stunningly beautiful image. Secondly, and more practically, the meanders look not too dissimilar to what they would appear on a 3D <a href="http://www.glossary.oilfield.slb.com/Display.cfm?Term=time%20slice" target="_blank">seismic time slice</a> displayed in <a href="http://sepwww.stanford.edu/sep/biondo/3DSI_frame.html" target="_blank">grayscale density</a> which is great because it is difficult to get good 3D seismic examples to work with. Finally, this is a good test image from the filtering standpoint as it has a number of linear and curved features of different sizes, scales, and orientation.</div>
<div class="mceTemp mceIEcenter" style="text-align:left;">
<p>The method I will use to enhance the display is the shift and subtract operation illustrated in The Scientist and Engineer&#8217;s Guide to Digital Signal Processing along with other <a href="http://www.dspguide.com/ch24/2.htm" target="_blank">3&#215;3 edge modification</a> methods. The idea is quite simple, and yet extremely effective &#8211; we convolve the input image with a filter like this one:</p>
<pre>0  0  0
0  1  0
0  0 -1</pre>
<p><span id="more-1217"></span></p>
<p>which will create a shifted version of the image (at the -1 location) and subtract it from the original (at the 1). Quoting the author:<em>&#8221; this processing produces the optical illusion that some objects are closer or farther away than the background, making a 3D or embossed effect. The brain interprets images as if the lighting is from above, the normal way the world presents itself. If the edges of an object are bright on the top and dark on the bottom, the object is perceived to be poking out from the background&#8221;. </em></p>
<p>This is the same result you would achieve using Emboss filter in Photoshop and other similar programs. The only time I saw embossing used on seismic data was a few years ago when I took a  <a href="http://books.google.ca/books?id=Ugv1Q94HTmkC&amp;pg=PA243&amp;source=gbs_selected_pages&amp;cad=3#v=onepage&amp;q&amp;f=false">Seismic Geomorphology</a> course <a href="http://www.cseg.ca/education/doodletrain/courses/Seismic-Geomorphology.cfm" target="_blank">taught by Henry Posamentier</a> for the Canadian Society of Exploration Geophysicists (<a href="http://cseg.ca/" target="_blank">CSEG</a>). So thank you for the idea, Henry.</p>
<div>Like with derivative maps and with illumination, the outcome of this operation is not unique, in the sense that with changing the direction (or azimuth) of the process, i.e. the position of the -1, different features will be enhanced, and some in fact will be obscured as a result of the subtraction. Let&#8217;s look at a few examples below.</div>
<div></div>
<div>Here is the shift and subtract to the South, using this kernel:</div>
<div>
<pre> 0  0  0
 0  1  0
 0 -1  0</pre>
</div>
</div>
<div class="mceTemp mceIEcenter" style="text-align:left;">
<div class="mceTemp mceIEcenter" style="text-align:left;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-s1.png"><img class="size-full wp-image-1233" title="shift and subtract S" src="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-s1.png?w=630&#038;h=415" alt="" width="630" height="415" /></a></dt>
<dd class="wp-caption-dd">shift and subtract South</dd>
</dl>
</div>
<div style="text-align:left;">It looks like a good result, with most linear and curved features are enhanced. It has however suppressed features oriented N-S. For example many of the channels in the NE corner, and the &#8220;l&#8221; in Google, which is all but gone. Notice also that the pseudo-3D effect is noticeable but not as pronounced as in the shift and subtract to the Southwest below. Look at the main river on the left for instance. The reason is that when applied along the diagonals, the copied image is shifted both horizontally and vertically, as opposed to just vertically or just horizontally:</div>
<pre>0  0  0      0  0  0
0  1  0      0  1  0
0 -1  0     -1  0  0</pre>
</div>
<div class="mceTemp mceIEcenter">
<div class="mceTemp mceIEcenter" style="text-align:left;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-sw.png"><img class="size-full wp-image-1234" title="shift and subtract SW" src="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-sw.png?w=630&#038;h=414" alt="" width="630" height="414" /></a></dt>
<dd class="wp-caption-dd">shift and subtract Southwest</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter"></div>
<p class="mceTemp mceIEcenter" style="text-align:left;">The shift and subtract to the West delivers the least pseudo-3D effect. This is because not only are we applying the shift in one direction, but also that happens to be the direction a lot of the channels in the center are oriented. So directionality is a drawback of the method, but on the other hand I find very often that going through the exercise of comparing the alternatives I will learn a lot more about my data and the geological features in it than if I hadn&#8217;t, so I do it if I have the opportunity.</p>
</div>
<div class="mceTemp mceIEcenter">
<div id="attachment_1243" class="wp-caption aligncenter" style="width: 640px"><a href="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-w1.png"><img class="size-full wp-image-1243" title="shift and subtract W" src="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-w1.png?w=630&#038;h=414" alt="" width="630" height="414" /></a><p class="wp-caption-text">shift and subtract West</p></div>
</div>
<div class="mceTemp mceIEcenter"></div>
<div class="mceTemp mceIEcenter" style="text-align:left;">Try it yourself, and let me know if you agree with my conclusions. Did you find any of the remaining 5 direction better overall? The original image is <a href="http://mycarta.files.wordpress.com/2011/11/original.jpg" target="_blank">here</a>, and the code to create all filters and output displays is below:</div>
<div class="mceTemp mceIEcenter" style="text-align:left;"></div>
<div class="mceTemp mceIEcenter" style="text-align:left;">
<pre style="text-align:left;">%% Shift and subtract script
% A simple script to apply shift and subtract edge enhancement
% Additional functionality to display and QC results
%
% Reference: The Scientist and Engineer's Guide to Digital Signal Processing
% Chapter 24 - Linear Image Processing
% 3x3 Edge Modification
% http://www.dspguide.com/ch24/2.htm
%
% Acknowledgements: linkzoom function from the Matlab File Exchange
% www.mathworks.com/matlabcentral/fileexchange/21414-linkzoom-m-v1-3-aug-2009
%
%
%% 1 - dealing with input
% once imported jpeg file as galenaAlaska
%
in=zeros(1094,1664);
n=1:1:1094; k=1:1:1664;
in(n,k)=0.2989 * galenaAlaska(n,k,1) + 0.5870* galenaAlaska(n,k,2) ...
 + 0.1140 * galenaAlaska(n,k,3);
%
%
%% 2 - initializing
% this section not only create and applies the filters through convolution
% but also stores input, filters, and output in portable multi-dimentional
% arrays for ease of access
%
% input image array
IN=repmat(in,[1 1 8]);
% filtered output array
[mi,ni]=size(in);
[mf,nf]=size(flt);
OUT=zeros(mi+mf-1,ni+nf-1,8);
% filters array
flt=zeros(3,3); flt(2,2)=1;
FLT=zeros(3,3,8);
% this is the main part, populates filters, performs the filtering,
% and outputs filtered images
idx=[1,2,3,4,6,7,8,9];
for i=1:8
 s=idx(i);
 flt1=flt;flt1(s)=-1;
 FLT(:,:,i)=flt1;
 out=conv2(flt1,in);
 OUT(:,:,i)=out;
end
%
% to give you an idea of how it is done, just type at the prompt:
% flt
% which will print:
% flt =
%
%  0  0  0
%  0  1  0
%  0  0  0
% which is the initial kernel without shifted copies
%
% and then type:
% FLT
% which will print:
% FLT(:,:,1) =
%
% -1  0  0
%  0  1  0
%  0  0  0
%
%
%FLT(:,:,2) =
%
%  0  0  0
% -1  1  0
%  0  0  0
%
%
%FLT(:,:,3) =
%
%  0  0  0
%  0  1  0
% -1  0  0
%
% ...
% ...
% FLT(:,:,8) =
%
%  0  0  0
%  0  1  0
%  0  0 -1
% which are all the filters to apply shift and subtract
% in the 8 neighbors of the central pixel</pre>
<p style="text-align:left;">For plotting you try use something like these few lines, which is what I used for the three examples above:</p>
<pre style="text-align:left;">imagesc(OUT(:,:,1),[-25 25]);colormap(gray);
axis tight
axis equal
axis off</pre>
<p style="text-align:left;">and for the original:</p>
<pre style="text-align:left;">imagesc(in,[0 255]);colormap(bone);
axis tight
axis equal
axis off</pre>
<p>However, it is far better for comparison and QC to display all the directions at once together with the original, like this:</p>
<div class="mceTemp mceIEcenter"></div>
<p class="mceTemp mceIEcenter"> <a href="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-50.png"><img class="aligncenter size-full wp-image-1290" title="all shift and subtract 50" src="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-50.png?w=630&#038;h=395" alt="" width="630" height="395" /></a></p>
</div>
<div class="mceTemp mceIEcenter" style="text-align:left;"></div>
<div class="mceTemp mceIEcenter" style="text-align:left;">I did that with this additional code below. Notice that to run it you will need to download from the Matlab File Exchange the function <a href="http://www.mathworks.com/matlabcentral/fileexchange/21414-linkzoom-m-v1-3-aug-2009" target="_blank">linkzoom</a> by <a href="http://www.mathworks.com/matlabcentral/fileexchange/authors/11258" target="_blank">Carlos Vargas Aguilera</a>. Linkzoom allows synchronizing of all subplots so that when zooming or panning one of the images, all other images will zoom or pan accordingly.</div>
<pre>%% 3 - displaying
% displays the input image and all results as a matrix
% uses function linkzoom.m from Matlab File Exchange to allow
% simultaneous zooming and panning of all subplots at once
%
figure;
hold;
ax= zeros(3,3);
ax(1)=subplot(3,3,1);imagesc(OUT(:,:,1),[-25 25]);colormap(gray);
set(ax(1),'Position',[0.13,0.7093,0.2774,0.2298]);
axis tight
axis equal
axis off
title('NW','fontsize',14);
ax(2)=subplot(3,3,2);imagesc(OUT(:,:,4),[-25 25]);colormap(gray);
set(ax(2),'Position',[0.4108,0.7093,0.2774,0.2298]);
axis tight
axis equal
axis off
title('N','fontsize',14);
ax(3)=subplot(3,3,3);imagesc(OUT(:,:,6),[-25 25]);colormap(gray);
set(ax(3),'Position',[0.6916,0.7093,0.2774,0.2298]);
axis tight
axis equal
axis off
title('NE','fontsize',14);
ax(4)=subplot(3,3,4);imagesc(OUT(:,:,2),[-25 25]);colormap(gray);
set(ax(4),'Position',[0.13,0.4096,0.2774,0.2298]);
axis tight
axis equal
axis off
title('W','fontsize',14);
ax(5)=subplot(3,3,5);imagesc((in),[0 255]);colormap(bone);
set(ax(5),'Position',[0.4108,0.4096,0.2774,0.2298]);
axis tight
axis equal
axis off
title('ORIGINAL','fontsize',14);
ax(6)=subplot(3,3,6);imagesc(OUT(:,:,7),[-25 25]);colormap(gray);
set(ax(6),'Position',[0.6916,0.4096,0.2774,0.2298]);
axis tight
axis equal
axis off
title('E','fontsize',14);
ax(7)=subplot(3,3,7);imagesc(OUT(:,:,3),[-25 25]);colormap(gray);
set(ax(7),'Position',[0.13,0.11,0.2774,0.2298]);
axis tight
axis equal
axis off
title('SW','fontsize',14);
ax(8)=subplot(3,3,8);imagesc(OUT(:,:,5),[-25 25]);colormap(gray);
set(ax(8),'Position',[0.4108,0.11,0.2774,0.2298]);
axis tight
axis equal
axis off
title('S','fontsize',14);
ax(9)=subplot(3,3,9);imagesc(OUT(:,:,8),[-25 25]);colormap(gray);
set(ax(9),'Position',[0.6916,0.11,0.2774,0.2298]);
axis tight
axis equal
axis off
title('SE','fontsize',14);
linkzoom('xy');
zoom on;</pre>
<p><a href="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-zoom-50.png"><img class="aligncenter size-full wp-image-1291" title="all shift and subtract zoom 50" src="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-zoom-50.png?w=630&#038;h=395" alt="" width="630" height="395" /></a></p>
<p class="mceTemp mceIEcenter" style="text-align:left;">In future posts I will show how to get non-directional dependent results with several methods:</p>
<p>- <a href="http://www.dspguide.com/ch24/2.htm" target="_blank">edge enhancement</a> (sharpening)</p>
<p>- <a href="http://www.bytefish.de/blog/local_binary_patterns" target="_blank">local binary patterns</a></p>
<p>- using gradient to render shading (similar to <a href="http://www.crewes.org/ForOurSponsors/ConferenceAbstracts/2005/CSEG/Lynch_CSEG_2005.pdf" target="_blank">bump mapping</a>)</p>
<p>- using high pass filtered version of the data to render shading</p>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/geophysics/'>Geophysics</a>, <a href='http://mycarta.wordpress.com/category/image-processing-2/'>Image processing</a>, <a href='http://mycarta.wordpress.com/category/matlab-imagej-et-cetera/'>Matlab, ImageJ, et cetera</a>, <a href='http://mycarta.wordpress.com/category/tutorial/'>Tutorial</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/convolution/'>convolution</a>, <a href='http://mycarta.wordpress.com/tag/emboss/'>emboss</a>, <a href='http://mycarta.wordpress.com/tag/etcetera/'>etcetera</a>, <a href='http://mycarta.wordpress.com/tag/filter/'>filter</a>, <a href='http://mycarta.wordpress.com/tag/filtering/'>filtering</a>, <a href='http://mycarta.wordpress.com/tag/geology-2/'>geology</a>, <a href='http://mycarta.wordpress.com/tag/geomorphology/'>geomorphology</a>, <a href='http://mycarta.wordpress.com/tag/geophysics-2/'>geophysics</a>, <a href='http://mycarta.wordpress.com/tag/google-earth/'>Google Earth</a>, <a href='http://mycarta.wordpress.com/tag/imagej/'>ImageJ</a>, <a href='http://mycarta.wordpress.com/tag/kernel/'>kernel</a>, <a href='http://mycarta.wordpress.com/tag/linkzoom/'>Linkzoom</a>, <a href='http://mycarta.wordpress.com/tag/matlab/'>Matlab</a>, <a href='http://mycarta.wordpress.com/tag/meander/'>meander</a>, <a href='http://mycarta.wordpress.com/tag/seismic/'>seismic</a>, <a href='http://mycarta.wordpress.com/tag/shift-and-subtract/'>shift and subtract</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1217/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1217/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1217/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1217&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2011/11/29/image-processing-tips-for-geoscientists-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/original1.png" medium="image">
			<media:title type="html">original</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-s1.png" medium="image">
			<media:title type="html">shift and subtract S</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-sw.png" medium="image">
			<media:title type="html">shift and subtract SW</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/shift-and-subtract-w1.png" medium="image">
			<media:title type="html">shift and subtract W</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-50.png" medium="image">
			<media:title type="html">all shift and subtract 50</media:title>
		</media:content>

		<media:content url="http://mycarta.files.wordpress.com/2011/11/all-shift-and-subtract-zoom-50.png" medium="image">
			<media:title type="html">all shift and subtract zoom 50</media:title>
		</media:content>
	</item>
		<item>
		<title>Is Indigo really a colour of the rainbow?</title>
		<link>http://mycarta.wordpress.com/2011/11/20/is-indigo-really-a-colour-of-the-rainbow/</link>
		<comments>http://mycarta.wordpress.com/2011/11/20/is-indigo-really-a-colour-of-the-rainbow/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 19:24:53 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Color]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[hue]]></category>
		<category><![CDATA[indigo]]></category>
		<category><![CDATA[rainbow]]></category>
		<category><![CDATA[spectral]]></category>

		<guid isPermaLink="false">http://mycarta.wordpress.com/?p=1030</guid>
		<description><![CDATA[Very good question asked on Colour Chat blog, and a partial answer, at the link below: Post by @stephenwestland about the place of indigo in the rainbow. Should it be there? #visualization #color #science colourware.wordpress.com/2009/07/20/ind…&#8212; Matteo Niccoli (@My_Carta) November 14, 2011 Also: George Biernson, in 1972, wrote in the American Journal of Physics Why Did Newton See [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1030&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4>Very good question asked on Colour Chat blog, and a partial answer, at the link below:</h4>
<blockquote class='twitter-tweet'><p>Post by @<a href="https://twitter.com/stephenwestland">stephenwestland</a> about the place of indigo in the rainbow. Should it be there?  <a href="http://twitter.com/search?q=%23visualization" title="#visualization">#visualization</a> <a href="http://twitter.com/search?q=%23color" title="#color">#color</a> <a href="http://twitter.com/search?q=%23science" title="#science">#science</a> <a href="http://colourware.wordpress.com/2009/07/20/indigo-a-colour-of-the-rainbow/comment-page-1/#comment-551"> colourware.wordpress.com/2009/07/20/ind…</a>&mdash; <br />Matteo Niccoli (@My_Carta) <a href='http://twitter.com/#!/My_Carta/status/136159855818969091' data-datetime='2011-11-14T19:13:34+00:00'>November 14, 2011</a></p></blockquote>
<h4>Also:</h4>
<h4>George Biernson, in 1972, wrote in the American Journal of Physics <a href="http://dx.doi.org/10.1119/1.1986607" target="_blank">Why Did Newton See Indigo in the Spectrum?</a> and &#8220;<em>hypothesizes that Newton saw seven reasonably distinct colors in the artist&#8217;s paint mixture color circle (red, orange, yellow, green, blue, violet, and purple) and therefore assumed he could also see seven distinct colors in his crude spectral projections&#8221;. </em></h4>
<h4>Others have argued Newton was trying to add a seventh color to match the seven notes of the western world&#8217;s musical scale.</h4>
<h4>I will tackle the many problems of rainbow in my forthcoming series The rainbow is dead&#8230;long live the rainbow!!!</h4>
<h4>Stay tuned&#8230;</h4>
<br />Filed under: <a href='http://mycarta.wordpress.com/category/color-2/'>Color</a>, <a href='http://mycarta.wordpress.com/category/visualization/'>Visualization</a> Tagged: <a href='http://mycarta.wordpress.com/tag/color/'>color</a>, <a href='http://mycarta.wordpress.com/tag/colour/'>colour</a>, <a href='http://mycarta.wordpress.com/tag/hue/'>hue</a>, <a href='http://mycarta.wordpress.com/tag/indigo/'>indigo</a>, <a href='http://mycarta.wordpress.com/tag/rainbow/'>rainbow</a>, <a href='http://mycarta.wordpress.com/tag/spectral/'>spectral</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mycarta.wordpress.com/1030/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mycarta.wordpress.com/1030/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mycarta.wordpress.com/1030/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mycarta.wordpress.com&amp;blog=25346342&amp;post=1030&amp;subd=mycarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mycarta.wordpress.com/2011/11/20/is-indigo-really-a-colour-of-the-rainbow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a49ce3e11cf0488e31d2edd3bf4a3671?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mycarta</media:title>
		</media:content>
	</item>
	</channel>
</rss>
