<?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/"
	>

<channel>
	<title>HiBlog: HiRISE Team Blog &#187; color bands</title>
	<atom:link href="http://hirise.lpl.arizona.edu/HiBlog/tag/color-bands/feed/" rel="self" type="application/rss+xml" />
	<link>http://hirise.lpl.arizona.edu/HiBlog</link>
	<description>High Resolution Imaging Science Experiment</description>
	<lastBuildDate>Tue, 08 Nov 2011 23:39:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New, Improved Color</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2008/04/10/new-improved-color/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2008/04/10/new-improved-color/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 05:20:26 +0000</pubDate>
		<dc:creator>GuyMac</dc:creator>
				<category><![CDATA[Color]]></category>
		<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[color bands]]></category>
		<category><![CDATA[Extras]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[IRB]]></category>
		<category><![CDATA[JP2]]></category>
		<category><![CDATA[NOMAP]]></category>
		<category><![CDATA[quicklook]]></category>
		<category><![CDATA[RDR]]></category>
		<category><![CDATA[RGB]]></category>
		<category><![CDATA[stretch]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=173</guid>
		<description><![CDATA[Today, our software group provided a set of major updates to our downlink operations team. It was the first major update in many months. One of the most anticipated features is smarter &#8220;stretch&#8221; algorithm for our color products (RDR Extras). As discussed in a previous post, a stretch (in image processing terms), is a mapping [...]]]></description>
			<content:encoded><![CDATA[<p>Today, our software group provided a set of major updates to our downlink operations team. It was the first major update in many months. One of the most anticipated features is smarter &#8220;stretch&#8221; algorithm for our color products (RDR Extras). As discussed in a previous post, a stretch (in image processing terms), is a mapping between one range of pixel values and another. In our case, it provides our viewers with a better-looking image up-front, with less need to adjust parameters in display software such as IAS (though this is still often very helpful when zoomed in). As always, the full range of original data is preserved in the RDR JP2.</p>
<p>Our former algorithm for the NOMAP and Quicklook products said that the pixel values above the brightest 0.1% and below the darkest 0.1% would be mapped to the extreme values, with a linear fit in between. For a majority of images, this was a good choice that showed excellent contrast but prevented too much saturation. </p>
<p>However, 0.1% (a thousandth) of a two Gigapixel image is still two million pixels. So if there were a particularly bright spot, like a rocky outcrop amid a field of dunes, or a particularly dark spot, like a cavern opening in a plain of boulders, then all the saturation would occur in that one area, washing it out completely, and lowering contrast everywhere else in the image. So the algorithm needed to be more adaptable. After a good deal of experimentation, the algorithm we settled on looks at the brightest and darkest pixels in a thumbnail version of the image, and uses those values for the extremes, instead of the values at 0.1%. We shrink a copy of each color band to 1/11th the original scale. Pixel values in the original below the darkest in the thumbnail are mapped to pure black, while pixel values above the highest are mapped to pure white. The stretched bands are then merged to make the color image. Hence, a bright or dark spot smaller than 1/11th x 1/11th of the image size will no longer dominate the stretch.</p>
<p>What this ultimately means is, our RDR Extras now show more detail in areas that would be completely washed out by the old algorithm. </p>
<p>For example, in this &#8216;cave&#8217; image, the left is from the original RGB.NOMAP.JP2, while the right is the same product using the new algorithm. As you can see, previously you could not tell if there was a floor to the hole or if it sloped away to greater depths.</p>
<p><a href='/HiBlog/wp-content/uploads/2008/04/psp_005770_1745_rgb_crop.png' title='psp_005770_1745_rgb_crop.png'><img src='/HiBlog/wp-content/uploads/2008/04/psp_005770_1745_rgb_crop_t.png' alt='psp_005770_1745_rgb_crop.png' width='525'/></a></p>
<p>The new algorithm is used strictly for the JP2&#8217;s; the browse and thumb are already scaled down enough that it would not make a substantial difference with them. The new algorithm went into effect today; coincidentally we just started orbit 8000. Images with the new stretch will likely appear in upcoming weekly releases and we plan to reprocess everything with this change (and improved calibration)  during the summer.</p>
<p><span id="more-173"></span></p>
<p>Here is a more specific description of our old and new stretch algorithms.</p>
<hr />
<h3>Old Algorithm</h3>
<p>Determine the min and max DN value corresponding to the following cumulative<br />
percents into the histogram.</p>
<table border="1" cellpadding="7" cellspacing="0">
<tr>
<th>Product Type</th>
<th>JP2 Product</th>
<th>Low %</th>
<th>High %</th>
</tr>
<tr>
<th rowspan="5">Extras</th>
<th>RED.NOMAP</th>
<td>           0.1  </td>
<td>   99.99</td>
</tr>
<tr>
<th>IRB.NOMAP</th>
<td>           0.1   </td>
<td>  99.99</td>
</tr>
<tr>
<th>RGB.NOMAP</th>
<td>           0.1   </td>
<td>  99.99</td>
</tr>
<tr>
<th>RED RDR Quicklook</th>
<td>   0.1   </td>
<td>  99.99</td>
</tr>
<tr>
<th>Color RDR Quicklook</th>
<td> 0.1   </td>
<td>  99.99</td>
</tr>
<tr>
<th rowspan="2">RDR</th>
<th>RED RDR</th>
<td>             0.0001 </td>
<td> 99.9999</td>
</tr>
<tr>
<th>Color RDR</th>
<td>           0.0001 </td>
<td> 99.9999</td>
</tr>
</table>
<p>For the full RDRs, the stretch is linear and the output is 10-bit and<br />
preserves the special pixel values: 0 = NULL, 1 = Low Representation Saturation, 2 = Low Instrument Saturation , 1022 = High Instrument Saturation, 1023 = High Representation Saturation.</p>
<p>For everything else, the stretch is linear, 8-bits per band and each band<br />
is done independently. Special pixels are not preserved.</p>
<hr />
<h3>New Algorithm</h3>
<p>The JPG products (browse and thumb) are be made with the original algorithm, with the following exception.</p>
<ul>
<li>The Color JPGs use the same stretch as the IRB JPGs. (Otherwise, the black area around the rotated image change the stretch).
</li>
</ul>
<p>The JP2 products are stretched as described above, with the following changes:</p>
<ul>
<li>The min and max for the stretch are determined not from a cumulative percentage<br />
but from the min and max DN taken by reducing the image or band by a factor of</p>
<p>    <tt>11 * ( binning / binning of red band )</tt></p>
<p>. The reduction averages pixels. </li>
</ul>
<hr />
<h4>Notes</h4>
<ol>
<li>Due to PDS format restrictions, the 3 bands of the color RDR (IR-RED-BG) are not<br />
stretched independently.</li>
<li>The ISIS applications hirdrgen and isis2raw are used for stretching. The latter for<br />
RDR quicklooks and NOMAPs.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2008/04/10/new-improved-color/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

