LizardTech.com

Archive for the ‘SDK’ Category

Something for everyone in MrSID SDK 8.5

Wednesday, April 4th, 2012

I can hardly keep up with developments to talk about here. A few weeks ago we released version 8.5 of our MrSID SDK, an update that adds support for per-band decoding. Per-band decoding means that LizardTech’s partners and customers now have the ability to decode only the bands that they need from multi- and hyperspectral imagery, which can greatly improve decode and viewing performance.

The new version also supports several additional platforms, including iOS 4.0, both 32- and 64-bit versions. I had it on my list to blog about that, but now ClearTrust, a Reston-Va.-based company that develops geospatial tools for the Macintosh and iOS devices, has already used our SDK to integrate support for the latest version of MrSID (MG4) into version 1.2 of its CartoMobile® field data entry and visualization application, so that CartoMobile users can now view MrSID imagery on devices such as iPhone and iPad. That’s bound to make iOS loyalists happy.

There’s good news particularly for Linux users, too. The new version of the MrSID SDK supports Red Hat 6, both 32- and 64-bit versions. For more information about the MrSID SDK go to www.lizardtech.com and log in to our Developer website at the bottom of the page.

MG4: LizardTech’s binary star

Thursday, January 6th, 2011

The newly released MrSID Decode SDK is really two sets of libraries and tools in one package. And part of it was released more than a year ago under another name. Hopefully, geospatial professionals have more to do than wonder why this is, but for those with light workloads or long memories, here’s some background that we hope will address any confusion you may have.

In 2009 LizardTech introduced an updated version of the MrSID format that the geospatial industry has been relying on for years. We called it MrSID Generation 4 (MG4) and we released a “decode SDK” so that developers could begin building supporting for MG4 into their applications.

What was most unusual about MG4 was that it was a version of the format specifically updated to support the compression of LiDAR data. That is, the SDK enabled support for files compressed to MG4 using LizardTech’s LiDAR Compressor software. MG4 (and its SDK) would not support raster imagery for another year, during which we returned our attention and energies to GeoExpress, our raster image toolset and compression engine, to evaluate and implement the features our customers most wanted in the way of new features.

MrSID in Linux

GeoExpress 8, with its support for alpha bands and multispectral imagery and its improved mosaicking, is a product we’ve long been excited about releasing. It came out in November of last year, and it looks as though our customers have once again steered us straight about the features that are most important to them, because the response to the new release has been very enthusiastic.

In the wake of the GeoExpress 8 launch, we’ve just released the decode SDK that combines MG4′s LiDAR capabilities with support for the new raster advancements in GeoExpress, bringing the MG4 story into full resolution, as it were. The updated SDK is called the MrSID Decode SDK, and as we noted at the beginning it’s really two toolsets in one. However, the toolsets are designed to work together. For instance, we include a sample application that shows you how to easily determine whether a file is composed of raster or LiDAR data and then shunt off the processing to the correct section of the SDK.

When you download the MrSID Decode SDK you have everything you need to integrate support into your applications for either LiDAR data or raster imagery in the MG4 format. It also enables support for viewing and decoding imagery compressed to both of the classical versions of the format, MG3 and MG2.

It’s an exciting season to be working with compressed LiDAR and raster image data. We’re happy to be making tools that developers can use to make their applications more useful to more geospatial users. The MrSID Decode SDK is available for download on our developer website.

MG4 support in LIDAR Analyst

Monday, May 24th, 2010

Last July we unveiled the MrSID® Generation 4 Decode SDK to coincide with our release of the first groundbreaking version of LiDAR Compressor™ software. The new version of the MrSID format (MG4) supports LiDAR compression. We released a plug-in for using MG4 in ArcGIS 3D Analyst last October and unveiled our own MG4 Decode tool for decoding MG4 back out to LAS or ASCII text format earlier this year, but we’ve obviously been just as eager to see third parties use the SDK to integrate MG4 support into their own products.

Late last year, Merrick & Company and Global Mapper Software announced support for MG4 in their products, MARS® (Merrick Advanced Remote Sensing) software and Global Mapper 11.01. We were very excited about those early integrations.

Last week another important integration of the MG4 technology was announced, this time by Overwatch, an operating unit of Textron Systems, a provider of imagery and geospatial solutions to Homeland Security, the Department of Defense and the intelligence and forestry communities. Overwatch is the maker of LIDAR Analyst, a plug-in for ArcGIS and ERDAS IMAGINE that provides tools for automatically extracting bare earth terrain, 3D buildings, trees and forests, contour lines, and terrain characteristics.

Overwatch logo

LIDAR Analyst is used for feature extraction by user groups requiring high-resolution terrain information. With the release of version 5.0, LIDAR Analyst customers will be able to process LiDAR data that has been compressed using LizardTech’s LiDAR Compressor.

We’re excited because, as our director of marketing Jon notes, our customers in the Department of Defense and elsewhere have frequently requested MG4 support in LIDAR Analyst, and this integration will provide them with the ability to efficiently compress their LiDAR files and use them in one of their most commonly used applications.

Overwatch is excited because, according to LIDAR Analyst’s product manager Matt Morris, “The MrSID format is best in class for raster imagery compression and we are quite pleased with LizardTech’s specific innovations in point cloud compression.”

We’re blushing, but it’s true.

MrSID Generation 4 gains support

Friday, November 20th, 2009

We’re pretty excited. Last week we announced that version 11.01 of Global Mapper supports LizardTech™ MrSID™ Generation 4 (MG4) among its many supported elevation formats. Mapmakers who use Global Mapper will now benefit from being able to load point clouds compressed using LizardTech Lidar Compressor™ into Global Mapper.

Earlier this week we were able to announce that Merrick & Company has similarly integrated MG4 support into its MARS® (Merrick Advanced Remote Sensing) software application. Users of MARS 6.0, available now, can load MG4 files into MARS for visualizing and managing LiDAR terrain datasets.

How are they doing this? They’re using LizardTech’s MrSID Generation 4 Decode SDK, a free download.

Oh, and we should remind any ArcGIS 3D Analyst users that MG4 files are supported via LizardTech’s free MrSID Plug-in for ArcGIS 3D Analyst (http://www.lizardtech.com/download/dl_options.php?page=plugins), so you can work with MG4 files the same way you work with LAS files to create contours and surfaces.

The way we feel about all this is: The more the merrier.

Calling the SDK from C#

Tuesday, October 14th, 2008

Because we support multiple platforms (Windows, Solaris, Linux, Mac), our Decode SDK is written in C++.  Some years ago, our C++ APIs used to regularly lead to the question, “do you support Java?”.  The answer was always sorry, no, we’re not a Java shop and we don’t have any Java bindings… But we’ve always provided a relatively simple C API which we claimed could be wrapped using JNI, and for the most part that made people happy.

For the past year or so, though, all the Java requests seem to have disappeared, only to be replaced by the question, “do you support .NET?”  This usually means “do you have any C# bindings?”, although we do get the occasional VB.NET request.  Our response has been sorry, no, we’re not a C# shop and we don’t have any .NET bindings… But, again, we’ve told people that “it ought to be fairly easy to call out to our C API using P/Invoke, .NET’s Interop functionality”.

Well, recently some of the engineers here at LizardTech HQ have started programming in C# for reals, and so now we actually have just enough in-house expertise on the question to be able to provide some additional help on this one.  While the current DSDK release doesn’t provide any C# bindings, we have put together a very simple example app that shows how to use Interop to access the C API.

The code is, at heart, remarkably simple.  First, you declare your C functions so they can be accessed from within your C# class, like so:

      [DllImport("lti_dsdk_cdll.dll")] 
      static extern int ltic_openMrSIDImageFile(out 
            IntPtr image, string fileName); 

      [DllImport("lti_dsdk_cdll.dll")] 
      static extern uint ltic_getWidth(IntPtr image);

Then, you close your eyes, tap your ruby slippers together three times, and innocently call the functions just like they were real functions:

      // this is essentially our void* pointer 
      IntPtr image = IntPtr.Zero; 
      string infile = "..."; 

      sts = ltic_openMrSIDImageFile(out image, infile); 
      ... 
      uint width = ltic_getWidth(image); 
      ...

You can download the full example from here.

Yes, we know, it’d be nice to provide interop support for the C++ classes so as to give access to the whole SDK… but quite frankly, we’re not sure the market demand is really there yet.  At the very least, though, we’ll try to include interop support for the C API in the next release of the SDK.

Keep those cards and letters coming.

-mpg