<?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; pipeline</title>
	<atom:link href="http://hirise.lpl.arizona.edu/HiBlog/tag/pipeline/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>October 2009 PDS Release</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2009/10/08/october-2009-pds-release/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2009/10/08/october-2009-pds-release/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 18:34:02 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[ESP]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[PSP]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[safe mode]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/2009/10/08/october-2009-pds-release/</guid>
		<description><![CDATA[We have now released all HiRISE images taken prior to August&#8217;s spacecraft safe mode event!  Here are some statistics about our October 2009 release, which includes the images the HiRISE camera took of the Martian surface between Mars Reconnaissance Orbiter (MRO) orbits 14,200 to 14,499 (August 6, 2009 &#8211; August 26, 2009):

446 RDRs, 0.18 [...]]]></description>
			<content:encoded><![CDATA[<p>We have now released all HiRISE images taken prior to August&#8217;s spacecraft safe mode event!  Here are some statistics about our <a href="http://hirise.lpl.arizona.edu/releases/oct_09.php">October 2009 release</a>, which includes the images the HiRISE camera took of the Martian surface between Mars Reconnaissance Orbiter (MRO) orbits 14,200 to 14,499 (August 6, 2009 &#8211; August 26, 2009):</p>
<ul>
<li>446 RDRs, 0.18 TB</li>
<li>6238 EDRs, 0.18 TB</li>
<li>5126 RDR Extras, 0.28 TB</li>
<li>12,464 EDR Extras 2.5 GB</li>
<li>16 Anaglyphs 0.001 TB</li>
</ul>
<p><strong>Totals for this release:</strong> 24,274 images, 0.62 TB</p>
<p>This brings our total released product numbers and data volume to:</p>
<ul>
<li>23,122 RDRs, 12.2 TB</li>
<li>323,358 EDRs, 10.6 TB</li>
<li>196,058 RDR Extras, 15.6 TB</li>
<li>625,233, EDR Extras, 0.1 TB</li>
<li>1,192 Anaglyphs 0.5 TB</li>
</ul>
<p><strong>Total:</strong> 1,167,771 images, 37.7 TB</p>
<p>Just because we are not currently taking images does not mean we are slacking off. The Downlink team is busy reprocessing and validating all ESP observations. After reprocessing, these observations will all benefit from the same improvements we have made to our processing pipelines over the past several months. I also recently started reprocessing PSP observations, which is a much larger data set that will sync improvement to our processing pipelines made over the past few years! We are keeping busy and we are even getting help from the Uplink team while they wait for the go ahead to start taking new images of the Martian surface. Of course we all want that to happen as quickly as possible!</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2009/10/08/october-2009-pds-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Race Is On</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/12/24/the-race-is-on/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/12/24/the-race-is-on/#comments</comments>
		<pubDate>Sun, 24 Dec 2006 15:15:38 +0000</pubDate>
		<dc:creator>GuyMac</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[EDRgen]]></category>
		<category><![CDATA[HiDog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[race condition]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=67</guid>
		<description><![CDATA[The HiRISE project has developed a fairly significant amount of software. I&#8217;ve been privileged to play a part in that development, which continues even as we get deeper into the primary mission. So, rather than space science or operations, this post will discuss one of the nittier, grittier aspects of our work.
The processing pipelines have [...]]]></description>
			<content:encoded><![CDATA[<p>The HiRISE project has developed a fairly significant amount of software. I&#8217;ve been privileged to play a part in that development, which continues even as we get deeper into the primary mission. So, rather than space science or operations, this post will discuss one of the nittier, grittier aspects of our work.</p>
<p>The processing pipelines have been introduced in earlier entries. Thanks to the efforts of HiRISE developers (mostly before my time with the project) these have provided a very solid foundation for our automated ground data system. There has been very little need for trouble-shooting or fine-tuning of the core software.</p>
<p>One issue that did come up earlier in PSP however was a strange failure that happened periodically, though not predictably. If you are a programmer, there is nothing so dreadful as a bizarre, non-repeatable bug&#8230; not counting Monday morning meetings, of course.</p>
<p><span id="more-67"></span></p>
<p>This particular bug happened when a new observation came down. Each processing pipeline needs to make a new directory, a new folder in the file system where it can store a log of its work. Starting with the transition phase, most of our pipelines have two or more instances running in parallel on a small Linux cluster, each working on part of the observation.</p>
<p>The bug was that, occasionally, the directory creation would fail. Someone from downlink would have to investigate and take corrective action. Or, if the way forward was unclear, to call in somebody from the software development crew.</p>
<p>In this case, the problems seemed to happen downstream from &#8220;my&#8221; pipelines: I was blissfully unaware that it could effect HiDog and EDRgen as well.</p>
<p>Then on Thursday, Rich emails to say that the workarounds put in place by two other developers seemed to have helped their pipelines, could I add them to my code as well?</p>
<p>A little shocked, I replied (no doubt too haughtily) that I&#8217;d rather understand the problem than apply some hasty workarounds. It had all the classic hallmarks of a multi-threaded problem: notoriously hard to repeat &amp; difficult to debug, but always when two processes were going after the same thing.</p>
<p>The particular bit of code&mdash;a subroutine shared by each pipeline to create a log directory&mdash;looked absolutely fine on first inspection. It uses the perl language and invokes a function called <tt>mkdir</tt>. That really should be no problem, I thought. Perhaps if there were a permissions problem. But this succeeded more often than not.</p>
<p>So that evening, I decided to try a little test: a small program that I&#8217;d run simultaneously in two windows. Each one would try to make the same directory, whose name would contain the current time in seconds. Since the <tt>mkdir</tt> operation should take much less than a second, there should be frequent &#8220;collisions&#8221;&mdash;if that was really what the problem was.</p>
<p>As a developer, you grow accustomed to the fact that almost nothing works right on the first try; you have to take small steps and constantly check yourself. So I first tried a test in just a single window. It looked like this:</p>
<pre><code><tt>
% <b>while 1</b>
? <b>perl -e 'print "mkdir failed!" unless(mkdir $ARGV[0]);' `date '+%S'`</b>
? <b>end</b>
</tt></code></pre>
<p>That should succeed every time, I thought, then I&#8217;ll move on to trying it in two terminal windows at the same time. But lo and behold, I pressed return and started getting many failure messages!</p>
<p>In the blinding flash of the obvious, I realized what I should have known: that <tt>mkdir</tt> returns false, indicating it failed to make the directory, <i>because it already been created</i>. My test script was interfering with itself, succeeding when it was a new second and failing every other time.</p>
<p>This explained the bug. It was what is called a <a href="http://en.wikipedia.org/wiki/Race_condition">race condition</a>. The condition in this case was the creation of a directory. Two pipelines were racing to create the same directory. Occasionally they were close enough that they were calling the same subroutine, and both bypassed its initial check that the directory already existed. One got to the <tt>mkdir</tt> step a fraction of a second ahead of the other, probably due to a slightly heavier load on the machine, or other variables.</p>
<p>Compounding the problem, the workarounds that had been added in several previous versions (retrying up to five times with random delays) failed to check properly. A single check after <tt>mkdir</tt> would remove the race condition. Testing this (in parallel) works as expected.</p>
<p>Or a simpler way is to call the Linux <tt>mkdir</tt> command with an option so that it does what I (and perhaps the other developers) thought it should: to return true (success) if the directory exists or was created.</p>
<p>Tracking down a mystery like this is a fun part of the job. But only if it happens infrequently. <tt> <img src='http://hirise.lpl.arizona.edu/HiBlog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </tt></p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/12/24/the-race-is-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stitch</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/12/10/stitch/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/12/10/stitch/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 23:05:21 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CCD]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[HiCal]]></category>
		<category><![CDATA[HiccdStitch]]></category>
		<category><![CDATA[HiStitch]]></category>
		<category><![CDATA[JPEG2000]]></category>
		<category><![CDATA[mosaic]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[SPICE]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=64</guid>
		<description><![CDATA[To conclude our exploration of the pipelines that take raw channel files and create a beautiful, unmapped mosaic, let me introduce the Stitch pipelines:  HiStitch and HiccdStitch.
The HiStitch pipeline combines the matching HiCal products for the same CCD into one more-or-less lined up CCD cube file.  HiccdStitch combines these HiStitch cubes into RED, [...]]]></description>
			<content:encoded><![CDATA[<p>To conclude our exploration of the pipelines that take raw channel files and create a beautiful, unmapped mosaic, let me introduce the Stitch pipelines:  HiStitch and HiccdStitch.</p>
<p>The HiStitch pipeline combines the matching HiCal products for the same CCD into one more-or-less lined up CCD cube file.  HiccdStitch combines these HiStitch cubes into RED, IR, and BG mosaics.</p>
<p>Both pipelines take some time, as overlapping pixels are accounted for and brought together.  After these mosaics are created, additional steps create smaller jpeg files for easier viewing, and full-sized jpeg2000 files.  We use these jpeg2000 files for validating our images.</p>
<p>There are later pipelines, but we first validate the HiccdStitch products:  Did the previous pipelines work correctly?  Did the uplink team command the camera correctly?  Is there haze or clouds obscuring our view of the surface?</p>
<p>If everything looks good, and we have received the correct reconstructed SPICE ephemeris data, then the geometry pipelines are invoked.  These pipelines project the images mathematically to a model of Mars and add geometry data to the images so that each pixel becomes a point on Mars with latitude and longitude coordinates.</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/12/10/stitch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cleaning Channel Cubes</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/11/26/cleaning-cubes/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/11/26/cleaning-cubes/#comments</comments>
		<pubDate>Sun, 26 Nov 2006 20:03:25 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Operations]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[browse]]></category>
		<category><![CDATA[calibration]]></category>
		<category><![CDATA[channel]]></category>
		<category><![CDATA[cube]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[flatfield]]></category>
		<category><![CDATA[gain]]></category>
		<category><![CDATA[HiCal]]></category>
		<category><![CDATA[hiclean]]></category>
		<category><![CDATA[hidestripe]]></category>
		<category><![CDATA[hipical]]></category>
		<category><![CDATA[HiStitch]]></category>
		<category><![CDATA[ISIS]]></category>
		<category><![CDATA[Meridiani]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[raw]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[Victoria Crater]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=58</guid>
		<description><![CDATA[The raw HiRISE image data needs to be cleaned up, and the HiCal pipeline is where this work is done.  Now that the raw image data has been converted to a *.cub file format, ISIS tools can be used.  These include hiclean, hipical, and hidestripe.
Hiclean does just what is says.  Noise introduced [...]]]></description>
			<content:encoded><![CDATA[<p>The raw HiRISE image data needs to be cleaned up, and the HiCal pipeline is where this work is done.  Now that the raw image data has been converted to a *.cub file format, ISIS tools can be used.  These include hiclean, hipical, and hidestripe.</p>
<p>Hiclean does just what is says.  Noise introduced into the image data by spacecraft electronics is corrected.  Noise can show up as vertical and horizontal lines in the raw image and other periodic manifestations.</p>
<p>Hipical is a newer tool that performs calibration on the image data.  For example, flatfield and gain corrections are performed by hipical.  Hipical will be upgraded as we learn more about our instrument in its environment around Mars.</p>
<p>Hidestripe corrects a known striping pattern in HiRISE images.</p>
<p>We use other tools to collect even more statistical data about the newly calibrated image data.  The HiCal pipeline will continue to be upgraded as our software matures.  New statistics will be collected while corrections are added or improved.</p>
<p>After cleanup has been completed and a new *.hical.cub channel product created, HiCal creates a variety of jpeg browse and thumbnail images.  The cleaned up channels are large, and for quick previews, these smaller jpegs come in handy.</p>
<p>Finally, HiCal lets the next pipeline – HiStitch – know that cleaned up channels are ready to be stitched together into CCD products.</p>
<p>Below is an example of raw data, prior to going through the HiCal pipeline.  This image sample was taken from <a href="http://hiroc.lpl.arizona.edu/images/TRA/TRA_000873_1780/victoria.html">TRA_000873_1780</a>; &#8220;Victoria Crater&#8221; at Meridiani Planum.</p>
<p><img alt="Sample of raw image data prior to cleaning in the HiCal pipeline" src="http://pirlwww.lpl.arizona.edu/~rleis/graphics/PreClean.jpg" /></p>
<p>Below is the same image sample after going through the HiCal pipeline (notice that the bright vertical line in the center and the faint vertical lines throughout the image have been correctly removed by HiCal):</p>
<p><img alt="A sample of an image after it has been processed by the HiCal Pipeline" src="http://pirlwww.lpl.arizona.edu/~rleis/graphics/PostClean.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/11/26/cleaning-cubes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cube</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/11/18/cube/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/11/18/cube/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 20:53:52 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[calibration]]></category>
		<category><![CDATA[cube]]></category>
		<category><![CDATA[EDR]]></category>
		<category><![CDATA[EDR_Stats]]></category>
		<category><![CDATA[gap]]></category>
		<category><![CDATA[HiCal]]></category>
		<category><![CDATA[ISIS]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=56</guid>
		<description><![CDATA[After a channel of raw data has been downloaded and converted into an *.IMG file, we need one more conversion before cleanup of the image can begin.
The EDR_Stats pipeline creates a *.cub file from the *.IMG file.  These cube files are the file type used in ISIS 3.0, an image processing software package provided [...]]]></description>
			<content:encoded><![CDATA[<p>After a channel of raw data has been downloaded and converted into an *.IMG file, we need one more conversion before cleanup of the image can begin.</p>
<p>The EDR_Stats pipeline creates a *.cub file from the *.IMG file.  These cube files are the file type used in <a href="http://isis.astrogeology.usgs.gov/">ISIS 3.0</a>, an image processing software package provided for planetary science missions by the United States Geological Survey (USGS).  This package contains an entire suite of useful tools, many of which are used by our pipelines.</p>
<p>During the creation of a cube, a variety of statistics are gathered.  For example, the number of gaps, saturated pixels, calibration pixels, and other pixels are counted. Image mean, standard deviation, and other statistics are also calculated.  EDR_Stats takes these results and uploads them to our database.  The resulting cube is archived in our storage directory.</p>
<p>The final EDR_Stats pipeline step lets the next pipeline – HiCal – know that an image channel cube file is ready for calibration processing.  Let the cleanup of image data begin!</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/11/18/cube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating EDRs</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/11/12/generating-edrs/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/11/12/generating-edrs/#comments</comments>
		<pubDate>Sun, 12 Nov 2006 18:04:24 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[EDR]]></category>
		<category><![CDATA[EDR_Stats]]></category>
		<category><![CDATA[HiDog]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=55</guid>
		<description><![CDATA[The Planetary Society has an excellent article entitled &#8220;HiRISE Image Processing&#8221; based on Tuvas&#8217; HiBlog post &#8220;Processing images at HiROC&#8220;.  Both articles explain the EDRgen pipeline very well.
It is important to note that while there are a multitude of image formats available, Experimental Data Records (EDRs) are a standardized way of packaging planetary science [...]]]></description>
			<content:encoded><![CDATA[<p>The Planetary Society has an excellent article entitled &#8220;<a href="http://www.planetary.org/explore/topics/mars_reconnaissance_orbiter/hirise_processing.html">HiRISE Image Processing</a>&#8221; based on Tuvas&#8217; HiBlog post &#8220;<a href="http://hirise.lpl.arizona.edu/HiBlog/?p=45">Processing images at HiROC</a>&#8220;.  Both articles explain the EDRgen pipeline very well.</p>
<p>It is important to note that while there are a multitude of image formats available, Experimental Data Records (EDRs) are a standardized way of packaging planetary science data sets for release to the world while ensuring future access to said data.  In the case of HiRISE images, there are two components to an EDR product:  (1) the image data and (2) the label.</p>
<p>The EDRgen pipeline uses a program called HiRISE_Observation to create an EDR from the original channel raw data.  The image data is converted into a file type with the extension *.IMG and important information about the observation is attached to this *.IMG file in the form of a text label.  This label includes information about this mission; the observation name, commanding, time, and temperatures parameters; and other useful information.</p>
<p>After the EDR is created, it is archived in our storage directory hierarchy (we follow a hierarchy that includes mission phase, orbit range, and observation ID).  Finally, the database sources table for the next pipeline – EDR_Stats – is updated with the location of the new EDR.  Further processing of this EDR, in a different format, is necessary to start cleaning up the image.</p>
<p>How long do each of these pipelines take?  HiDog generally downloads a new channel file in a few minutes or less.  EDRgen can create a new *.IMG file in a few minutes or less, and we have a few EDRgen pipelines working in parallel.  The fact is, most of the pipelines are incredibly fast on our processing cluster.  Later pipelines that stitch and mosaic take significantly longer, but rapid progress in computer technology have blown away early conservative estimates of how long HiRISE image processing would take.</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/11/12/generating-edrs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Dogs</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/the-dogs/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/the-dogs/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 04:46:26 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CCD]]></category>
		<category><![CDATA[channel]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[DSN]]></category>
		<category><![CDATA[HiDog]]></category>
		<category><![CDATA[HiROC]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[Watchdog]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=54</guid>
		<description><![CDATA[We mention our automated pipelines a lot, so I might as well jump in and provide some more information about them, on top of what might already have been mentioned before.  I will start with the first one &#8211; HiDog &#8211; in a moment, but first, let me introduce Watchdog.
You should know by now [...]]]></description>
			<content:encoded><![CDATA[<p>We mention our automated pipelines a lot, so I might as well jump in and provide some more information about them, on top of what might already have been <a href="#more-45">mentioned before</a>.  I will start with the first one &#8211; <strong>HiDog</strong> &#8211; in a moment, but first, let me introduce <strong>Watchdog</strong>.</p>
<p>You should know by now the route our data takes: from the HiRISE camera on MRO to storage to spacecraft radiation to the Deep Space Network radio telescopes here on Earth to the ground data system network to JPL in Pasadena, CA to the University of Arizona campus network to our servers in the HiRISE Operations Center.  Our Watchdog software, well, watches the JPL servers for new HiRISE raw image data.  When it sees a new raw channel file (2 channels per CCD, up to 14 CCDs per observation), Watchdog flags that file as ready to be downloaded by HiDog.</p>
<p>HiDog is the first automated pipeline.  It wakes up every few minutes to see if the Watchdog has flagged any new files (basically, it is checking a sources table in our database).  If there is nothing new in the sources table, then it goes back to sleep.  If there <em>is</em> something new, HiDog wags its tail, rapidly downloads the file, checks to see if there are any gaps in the data, and then tells the next pipeline that a new image channel has arrived in Tucson, ready for further processing.  Then, it checks to see if there are any more files ready for downloading, and goes back to sleep if there are not.  Sweet dreams, little doggy.</p>
<p>Over and over again, 24 hours a day, 7 days a week, the Dogs are ready and waiting for the latest HiRISE data from Mars.</p>
<p>Next time&#8230;the EDRgen pipeline.</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/the-dogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Arriving, Release As Soon As Possible</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/data-arriving-release-as-soon-as-possible/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/data-arriving-release-as-soon-as-possible/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 04:16:29 +0000</pubDate>
		<dc:creator>RichardLeis</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[browse]]></category>
		<category><![CDATA[caption]]></category>
		<category><![CDATA[ExpressView]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[JPEG2000]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[SPICE]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=53</guid>
		<description><![CDATA[The first HiRISE image data of the Primary Science Phase (PSP) arrived in Tucson last night sometime around 9 PM.  Although we thought the first data might not arrive until early this morning, I was a little antsy and took a look from home around 9:40 PM to see a complete first observation ready [...]]]></description>
			<content:encoded><![CDATA[<p>The first HiRISE image data of the Primary Science Phase (PSP) arrived in Tucson last night sometime around 9 PM.  Although we thought the first data might not arrive until early this morning, I was a little antsy and took a look from home around 9:40 PM to see a complete first observation ready for validation.</p>
<p>We are waiting for reconstructed <a href="http://naif.jpl.nasa.gov/naif/">SPICE</a> ephemeris data, which comes out every Wednesday &#8211; starting next week &#8211; before sending these data through our geometry pipelines, and ultimately releasing them to the scientific community and public.  Last time, we forced images through our geometry pipelines using predicted SPICE kernels; we do not want to double our workload by continuing that practice.  The SPICE kernels released next Wednesday will cover some of the images captured this week.</p>
<p>Once the images have been visually and statistically validated and the matching SPICE kernels have arrived, one of the downlink folks will send the images through the geometry pipelines.  We also need to get a select group of captions written and automatic caption information generated for the rest.</p>
<p>We are producing JPEG2000 products now in addition to smaller jpeg browse images, to be ready for our viewing client when it is ready for public release.  However, there are many different JPEG2000 viewers and plugins already out there to start practicing with.  One example is <a href="http://www.lizardtech.com/download/dl_options.php?page=viewers">ExpressView</a> from LizardTech.</p>
<p>Once we are on a roll, the data release will be steady and no one will be able to keep up with the wealth of Mars data coming in.  Until the first public release of PSP images, we will try to provide here on HiBlog more details about the many tasks that must still be completed.</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/11/08/data-arriving-release-as-soon-as-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing images at HiROC</title>
		<link>http://hirise.lpl.arizona.edu/HiBlog/2006/10/13/processing-images-at-hiroc/</link>
		<comments>http://hirise.lpl.arizona.edu/HiBlog/2006/10/13/processing-images-at-hiroc/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 17:26:37 +0000</pubDate>
		<dc:creator>Tuvas</dc:creator>
				<category><![CDATA[Downlink]]></category>
		<category><![CDATA[HiRISE]]></category>
		<category><![CDATA[Images & Science]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[caption]]></category>
		<category><![CDATA[CCD]]></category>
		<category><![CDATA[DSN]]></category>
		<category><![CDATA[EDR]]></category>
		<category><![CDATA[gap]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[HiCal]]></category>
		<category><![CDATA[HiccdStitch]]></category>
		<category><![CDATA[HiStitch]]></category>
		<category><![CDATA[Internet 2]]></category>
		<category><![CDATA[ISIS]]></category>
		<category><![CDATA[JPEG2000]]></category>
		<category><![CDATA[MER]]></category>
		<category><![CDATA[mosaic]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[PDS]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[projection]]></category>
		<category><![CDATA[PSP]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[rover]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SPICE]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[Victoria Crater]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://hirise.lpl.arizona.edu/HiBlog/?p=45</guid>
		<description><![CDATA[Some of you out there may be asking: what happens to a HiRISE image between the time that it is taken and the time that it is released to the public? Well, I&#8217;d like to give a summary here.


The image is taken by the HiRISE camera, and is stored in up to 28 channels, two [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you out there may be asking: what happens to a HiRISE image between the time that it is taken and the time that it is released to the public? Well, I&#8217;d like to give a summary here.</p>
<p><span id="more-45"></span></p>
<ol>
<li>The image is taken by the HiRISE camera, and is stored in up to 28 channels, two for each of the 14 CCD arrays of the camera. Each channel covers about half of the image. Of the 14 CCDs, 10 are red CCDs, two are blue-green, and two are near-infrared. The color CCDs are aligned with the center red CCDs.</li>
<li>The image is placed inside a buffer on MRO, awaiting transmission to Earth, along with science data from the other instruments on MRO.</li>
<li>The image is received in packets by the Deep Space Network (<a title="Deep Space Network" href="http://deepspace.jpl.nasa.gov/dsn/">DSN</a>).</li>
<li>After 4 hours of collecting data at the DSN, the Jet Propulsion Laboratory (<a title="JPL website" href="http://www.jpl.nasa.gov/">JPL</a>) puts the packets together for what is known as a &#8220;quick look&#8221;. The entire image generally has not yet been received by this point in time, but it is enough of the image that it can be processed to take a quick look at it. Subsequently, JPL puts together all of the data it has received every 4 hours and makes it available to the computers at HiROC.</li>
<li>After the files have been put together by JPL, then one of the computers at HiROC looks and sees that there is data on the JPL server and copies<strong> </strong>the data to our system at HiROC. This is the start of what is known as the pipeline, the system of programs at HiROC which process the images. This usually happens either via a direct connection to JPL (slower), or through the <a href="http://www.internet2.edu/">Internet 2</a>(Faster, but sometimes can be bogged down).</li>
<li>The images are put together into a viewable format, using the minimum processing possible, and create what&#8217;s known as an EDR, or Experimental Data Record. This is done without calibration, stitching together the channels, or any other processing, aside from putting the image together.  For an image which uses all 14 CCDs, there will be 28 EDRs. These generally speaking are of mainly scientific interest, but they will be released to the general public via the Planetary Database System (<a title="PDS website" href="http://pds.jpl.nasa.gov/">PDS</a>). They will be in the<strong> </strong>standard PDS format<strong>.</strong></li>
<li>After the EDRs have been created, they are converted to another format for ISIS. <a title="ISIS website" href="http://isis.astrogeology.usgs.gov/">ISIS</a>, the Integrated Software for Imagers and Spectrometers  is a suite of tools used for processing images for most interplanetary missions, that was developed by the United States Geological Society (<a title="USGS website" href="http://www.usgs.gov/">USGS</a>). Most of the tools that we use at HiROC for processing our images are written for ISIS files.</li>
<li>After the ISIS files have been created, they are calibrated via a program called HiCal. This reduces the inherent noise of the camera to be more consistent with what is being photographed. All digital cameras create some level of noise, and while HiRISE is an extremely good instrument, it still generates a low level of noise<strong>.</strong></li>
<li>After the individual channels are calibrated, then they proceed to a program called HiStitch, which puts<strong> </strong>the two channels of the same CCD together. As they are a part of the same CCD, this requires little processing.</li>
<li>Next, after each CCD been stitched together, the full CCD images run through a program called HiccdStitch. This program puts the different ccds together, making a mosaic for each color band. This requires some processing, as the ccds slightly overlap, and it can sometimes be difficult to match the different arrays exactly.</li>
<li>If the image has not been completely received, then at this point, the pipeline stops, until JPL has received the entire image, or if there are a few confirmed gaps in the image which we haven&#8217;t been able to recover. Transmission over the vast distance between Earth and Mars is not easy, and even the best systems have some small error.</li>
<li>After the image has been completely stitched together, then the image is geometrically projected. To understand this, realize that the images that HiRISE takes are flat, while Mars is actually round. Geometrical Projection alters the image so that the image points in compass directions, while correcting any distortions that are created by the ellipsoidal shape of Mars. With the geometrical projection images and the right software tools, such as qview for ISIS, the exact distance can be found between two point on the image. In order for this to happen, we must wait for information to be gathered on the exact position of the spacecraft. This is done by the nagivational team, based off of the downlink frequency. This takes two weeks after the picture has been taken, so Geometric Projection might take a while. This is the longest wait point of the operation. An image can be released from predicted information, however, most images will wait for the correct SPICE kernels to be calculated, in order to get the best information. If an image is geometrically projected from predicted information, it will be calculated with the correct info after it has been received.</li>
<li>The images are then validated by a team of students known as the HiRISE Validators. They check to make sure that everything in the pipeline worked perfectly, see if there are any gaps in the images, and other similar tasks. If they notice a problem, they contact the HiRISE Operators, who will take steps to resolve the problems, which may include passing part or all of the image through the pipeline again, or tweaking the software to make it work perfectly.</li>
<li>The image is converted to a format that the general public can use. Currently that format is JPG, or TIFF, but eventually we will use JPEG 2000.</li>
<li>After all of this, the science team members of HiRISE will look at an image to see if there is anything noteworthy. If there is, it is given a caption, and perhaps a press release. If not, it will be posted on the <a href="http://hirise.lpl.arizona.edu/">HiRISE website. </a>They are also posted on the <a title="Planetary Photojournal" href="http://mars.jpl.nasa.gov/mro/">MRO website</a>, and occasionally on others.</li>
</ol>
<p>This process may take as long as a week or two to complete, depending on the load of MRO, scheduling concerns, load at HiROC, etc. The first image took about 9 hours to be completely processed after it was taken by HiRISE. The Victoria Crater picture, taken during a much busier time on MRO, took about 36 hours to make its way to our hands. This was in part due to the larger size of the image, as well as the cache of images already awaiting transmission on MRO to earth. The captions for the images taken during Transition imaging took anywhere from a few hours to a few weeks to write, and this will likely continue to hold. We at HiROC want to release the images we take as fast as possible to the public, and we are doing everything we can to realize this goal. Several shortcuts were taken during the Transistion imaging phase that allowed for images to be released quicker. For Primary Science Phase, this will take a bit longer because these shortcuts will not be taken, but we expect that we will release most images within two weeks after them being taken, shortly after we have finished receiving, processing, and captioning the image.</p>
<p>There are some variations to this process, for example, the Victoria Crater picture was released in a press conference jointly with the Mars Exploration Rovers (MER) team. Also, color images require extensive calibration and take a lot more time. However, this is the general idea. Currently the entire system, except for writing the captions and adding the images to our website, is essentially completely automatic for receiving and processing HiRISE images, due to years of preparation by the HiTECH and HiOPS teams.</p>
]]></content:encoded>
			<wfw:commentRss>http://hirise.lpl.arizona.edu/HiBlog/2006/10/13/processing-images-at-hiroc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

