Image Information

Contents

Byte-Array Images

.8bit/.16bit Images

Byte-array images usually are named with the file extension '8bit' or '16bit' or of another number of bits. They are stored as a sequential series of DN (Digital Number) values, starting at the top of the image, one line at a time from left to right. Each DN value is an unsigned integer with the given number of bits. No information about image size is held inside the *bit file itself.

E.g. For an 8bit file of an image which was 3 pixels wide by 2 pixels tall, there would be 6 bytes in the file. So an image having these DN values as shown:

1 2 3
4 5 6

would be stored in the file as a series of byte of values: 1, 2, 3, 4, 5, 6

For images with more bits for pixel than 8 bit, the number of bytes per pixel should be rounded up to the next integer multiple of 8 (e.g. 13 would round up to 16). The result of dividing this number by 8 is the number of bytes used per pixel as it is stored in the file. As a check, the file size should be equal to:

(number of lines) * (number of pixels in each line) * (number of bytes per pixel)

.info Files

Byte-array image files are usually accompanied by a '.info' file with the same name - this file contains various pieces of information about interpreting the image. Here are some commonly provided items of information in an info file:

Date
The date of creation of the image.
Pass time
The 24-hour time of the satellite pass from which the image was obtained.
Product
A description of the product.
Satellite
The name of the satellite which the instrument is on.
Direction
The direction of movement of the satellite as it was taking the pass.
Dimensions
The width and height of the image in pixels.
Bits/pixel
The number of bits used to store each pixel.
DN range
The lower and upper bound of the range of values used for DN values.
Latitude range
The lower and upper bound of the latitudes. The first number is the latitude of the row of pixels at the bottom of the image. The second is the latitude of the row of pixels at the top of the image. (Negative values are south of the equator)
Longitude range
The lower and upper bound of the longitudes. The first number is the longitude of the row of pixels at the left of the image. The second is the longitude of the row of pixels at the right of the image. (Negative values are west of the Greenwich Meridian.
Value start
The intercept value for conversion between DN and real-world values.
Value increment
The slope value for conversion between DN and real-world values.
Pass coverage (%)
The percentage of the image that was covered by the pass.
Pixel size
The dimensions of each pixel in km.

Two items of important information in an info file are the slope and intercept of the DN values. You can use these numbers to read values from the image and translate them into real-world values. The equations for this are explained in our data guide (this also contains information about how to navigate images).

The way to find where in the file a specific pixel is is given by the formula:

(column + (row * width)) * number_of_bytes_per_pixel

Where column is the column of the pixel (starting from 0), row is the row of the pixel (starting from 0) and width is the width of the image in pixels.

Following is some code in C to read data from these images, but if you simply want to extract some data from specific points then we can provide this service.

Code to extract byte-array image data

Back to Top

NERC Logo Valid XHTML 1.1! Valid CSS!