You are here: Introduction > Features

## Features

The MrSID SDK is a toolkit for software developers. It is written in C++ to provide an object-oriented framework for working with images using MrSID and JPEG 2000 technology.

The major features of the MrSID SDK include:

Architecture

The SDK uses a classical image-pipeline design, providing a single, unified model for reading, writing, and transforming image data. Developers can easily use existing components or derive their own for additional functionality.

Classes

A set of basic classes for working with geospatial imagery are provided, including representation of decode scene extents, memory buffers for image data, pixel data, metadata, etc.

MrSID support

The SDK provides full support for MrSID Generation 2 (MG2), MrSID Generation 3 (MG3), and MrSID Generation 4 (MG4) images, including the ability to work with “composite” MG3 and MG4 images.

JPEG 2000 support

Decoding of JPEG 2000 images is provided using the same framework as the MrSID operations, including support for geospatial metadata.

NITF support

Decoding of NITF images is provided using the same framework as the MrSID operations, including support for geospatial metadata.

Support for WKTs

The MrSID SDK supports spatial reference system metadata for MrSID, JPEG 2000, and other georeferenced image formats.

Simple C API

For those developers who want rudimentary decoding of MrSID or JPEG 2000 imagery without the complexity of the C++ interface, a simple C API is provided. While limited in functionality, the C API enables access to basic image properties and scene decoding.

Image writers

The SDK provides support for writing a number of common file formats, including BIP/BIL/BSQ (raw), Windows BMP, JPEG, and TIFF/GeoTIFF.

Image transformers

The SDK also provides a number of common image filter or transform operations, including cropping, watermarking, mosaicking, scaling, dynamic range adjustment, datatype conversion, and colorspace conversion.

Documentation

The documentation includes both a full User Manual and a Reference Manual, plus a number of examples showing how to implement common tasks with the SDK.

Platforms

The SDK is available for many platforms, including Windows, Linux (x86), and Mac (OS X). The Windows version provides dynamic libraries (DLLs). Both 32- and 64-bit versions are available for all platforms.

Component interoperability

The MrSID SDK's public interfaces are coded to a clean subset of C++ language features to avoid the interoperability problems often encountered by developers: STL incompatibilities, exceptions and memory allocations crossing library boundaries, and advanced template compilation.