LizardTech.com

Tiles and precincts and progression orders, oh my!

May 6th, 2008 by Michael P. Gerlek

The JPEG 2000 standard provides for a variety of encoding options available: depending on where you sit, this makes for either a very cool experience or a very daunting experience. For the geospatial realm, where we deal with very large images, this plethora of choices is particularly important, because the choices you make at encode time can significantly affect both encode and decode performance, for both memory usage and CPU time. And, unfortunately, it’s often the case that fast encodes can make for slow decodes, and vice versa.

We’ve designed GeoExpress to default to a reasonable compromise in its choice of encoding options, and we’ve also provided a few “profiles” (predetermined encoder settings) based on NGA’s recommendations for workflows with particular requirements. Nonetheless, I’d be the first to admit that the subtle tradeoffs among tile sizes, precinct sizes, codeblock size, progression orders, quality layers, ad inf., can be truly bewildering. I give talks and write high-level articles on this JP2 stuff pretty regularly, but I’ve never quite had the time to do a stand-alone white paper discussing specifically JP2 performance and profiles using the internal benchmarking we’ve done inside here at the LizardTech Labs.

Happily — for those technically inclined, anyway — Margaret Lepley of MITRE Corp. has just done the work for me, publishing an article showing some good benchmarking analyses of these performance issues at http://link.aip.org/link/?PSI/6943/69431B/1. It is not downloadable for free, but if you’re looking for a good read on the difference that tiles and progression orders can make, I’d strongly recommend it.

JPEG 2000: fast access to large grayscale images, Margaret Lepley, The MITRE Corp.,
Proceedings of SPIE — Volume 6943

JPEG 2000 image compression allows many formatting alternatives, but users frequently have insufficient knowledge or experience to direct the choice. At compression time many of these options may seem approximately equal, but during exploitation the file structure differences can have a huge impact on access speed. This is particularly true for very large images such as those regularly used in remote sensing and many defense systems. This paper examines the impacts of JPEG 2000 options such as tiling, tile-parts, precincts, and packet ordering on large single band images, particularly in relationship to random access speed.

FogBugz - It’s smart and it helps us get things done

April 28th, 2008 by Michael P. Gerlek

This week LizardTech finally retired our worn-out old bug tracking software for something shiny and new.

Our old system, whose name I politely won’t mention, has done a fair job for several years now, but as our engineering practices have developed and matured the software just wasn’t able to keep pace with our needs. Oh, we did try – I’ve got the SQL scars to prove it – but we reached a point where we finally found something that seemed to do everything we needed without needing me to bolt lots of kludgy scripts on top of it.

You see, while the engineers here are really good at writing code and fixing bugs, us manager types have had an increasingly hard time keeping track of all the features and bugs being worked on, which release they are for, when they will be fixed, and so on. We wanted a tool that would allow us to do simple, lightweight, intuitive schedule estimation, as part of the normal bug tracking system, and we think we’ve found it.

We’ve been fans of Joel “Smart and Gets Things Done” Spolsky for a long time, and to varying degrees we’ve adopted his ideas for task estimation and hiring. And so when he came to Seattle last year on his World Tour a bunch of us Lizards hiked up the hill to see just what this FogBugz thang was all about – and we came away impressed.

You can find a lot online about FogBugz, both on the company’s website (they’re called Fog Creek Software) and on others’ blogs and such, so I won’t go into detail here. Instead, let me just point out three things that sets it high above other systems we’ve seen:

  • The interface is only via the browser, which initially had me worried – until I started actually using it. Intuitive interface controls, sweet filtering options, flexible searching, very responsive feedback – one of us commented that this is one of the only Ajaxy apps he’d used that had actually got it all right.
  • Project estimation is fun again. The “EBS” system they use for estimating ship dates may seem a little over the top when described in print – Monte Carlo methods? for project planning?! – but by golly in actual use It Just Works. Of course, the graphs produced are only as good as the data you’ve entered, but that entry process is clean and easy – and, most critical, it’s developer-friendly enough that the engineers need not stress out about careful time-keeping.
  • Tech support is both responsive and helpful. Emails (and forum questions) are quickly and fully answered, with follow-ups welcome. Real, live, breathing humans on the other end of the line – how cool is that?

There’s a lot of other stuff in there we’re not using – Wiki, discussion groups, customer email, stuff like that – we’ll see, maybe later on. For now, it’s a system that gives us much better visibility and control over features and bugs.

Which makes for happy managers and developers.

How cool is that!

Exploring the new features in GeoExpress 7 - Part 2 : Tiling out to GeoTIFF

April 21st, 2008 by Jon Skiffington

Last time, we talked about despeckling. Another popular workflow with GeoExpress 7 uses two new features: output tiling and decoding.

Lots of customers have massive SID images that they need to chop up into smaller tiles and decode out to TIFF. In prior versions of GeoExpress, you could use a series of command line tools to do this, but of course this was unwieldy.

Here’s how easy it is to do in GeoExpress 7:

  1. Add the file(s) you want to work with to the Images tab of the job list.
  2. Select Image Crop… from the Tools menu. The Image Crop dialog appears.
  3. In the Output Tiling section, choose how many rows and columns you want to divide your image into and click OK.
  4. Now, just choose “GeoTIFF” as your output format (use the drop-down menu on the main interface) and click Encode Selected Images.

In no time, you’ll have a series of GeoTIFF tiles created from your original SID image.

LizardTech product updates feed goes live

April 14th, 2008 by Jon Skiffington

Many customers have requested an easy way to be notified when updates to LizardTech products are available. Today we launch a new RSS feed specifically for product updates at http://www.lizardtech.com/files/rss/updates.xml.

By subscribing, you’ll know when patches and new versions of LizardTech software are available.

You can view all of LizardTech’s RSS feeds at http://www.lizardtech.com/company/rss.php. Also, the LizardTech RSS feeds are able to be “auto discovered” by many RSS readers on any page of the LizardTech website.

Exploring the new features in GeoExpress 7 - Pt. 1: Despeckling

April 10th, 2008 by Jon Skiffington

Most of you are probably already using GeoExpress 7. We’ve received some rave reviews from some of you about the new features we added, so we thought this might be a good time to introduce and explain how to use some of the great new tools in GeoExpress 7.

If you’ve ever received imagery from the USDA NAIP program, particularly MrSID Generation 2 (MG2) images from previous years, you’ll have noticed that many of the images have black collars around them. If you load these images into your GIS application and drop out these black collars, you’ll see a lot of ugly “speckling.”

These speckling artifacts happen because compressing images to MrSID at high compression ratios requires approximating colors. In other words, “black” becomes “almost black.” While the human eye doesn’t ordinarily notice the difference, this can make it difficult, not to mention ugly, to mosaic images together. Speckling happens with other background colors, too. Below you can see speckling around the edge of a mosaic with a white background.
mosaicked image before despeckling

Not to fear, though. GeoExpress 7 has new “despeckling” tools to clean these images up.

Start GeoExpress, and add your SID files to the “Despeckle” tab of the job list. In most cases, you won’t even need to adjust any options. Just click the “Despeckle Selected Images” button below the job list and GeoExpress will clean up your images for you. Here’s the result:
Image after despeckling

Next time, we’ll talk about “tiling out” images as TIFFs.

Images courtesy of MapMart.