Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Satellite Imagery FAQ - 3/5
Section - Image Formats

( Part1 - Part2 - Part3 - Part4 - Part5 - Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Houses ]


Top Document: Satellite Imagery FAQ - 3/5
Previous Document: Resolution
Next Document: Basic Processing Levels
See reader questions & answers on this topic! - Help others by sharing your knowledge
Image data on tape

   Looking at the images stored on tape there's three types of
   information
     * Volume Directory, which is actually meta-information about the way
       the headers/trailers and image data itself are stored
     * Information about the images
       This information can be stored in separate files or together with
       the image data in one file.
       This information can be virtually anything related to the image
       data
          + Dimensions. Number of lines, pixels per line and bands etc.
          + Calibration data
          + Earth location data
          + Orbital elements from the satellite
          + Sun elevation and azimuth angle
          + Annotation text
          + Color Lookup tables
          + Histograms
          + Etc. etc...
       The information is often called a _header_, information _after_
       the image data is called a _trailer_
     * The pure image data itself
       
   The image data can be arranged inside the files in many ways. Most
   common ones are
     * BIP, Band Interleaved by Pixel
     * BIL, Band Interleaved by Line
     * BSQ, Band SeQuential
       
   If the pixels of the bands A, B, C and D are denoted a, b, c and d
   respectively then _BIP_ is organized like

abcdabcdabcdabcdabcdabcdabcdabcdabcd...  line 1
abcdabcdabcdabcdabcdabcdabcdabcdabcd...  line 2
abcdabcdabcdabcdabcdabcdabcdabcdabcd...  line 3
...
abcdabcdabcdabcdabcdabcdabcdabcdabcd...
abcdabcdabcdabcdabcdabcdabcdabcdabcd...

   BIP can be read with the following pseudo-code program
FOR EACH line
    FOR EACH pixel
        FOR EACH band
            I[pixel, line, band] = get_pixel(input);

   _BIL_ looks like
aaaaaaaaaaaa...  band 1, line 1
bbbbbbbbbbbb...  band 2
cccccccccccc...  band 3
dddddddddddd...  band 4
aaaaaaaaaaaa...  band 1, line 2
...

   BIL can be read with the following pseudo-code program
FOR EACH line
    FOR EACH band
        FOR EACH pixel
            I[pixel, line, band] = get_pixel(input);

   _BSQ_ shows
aaaaaaaaaaaa...  line 1, band 1
aaaaaaaaaaaa...  line 2
aaaaaaaaaaaa...  line 3
...
bbbbbbbbbbbb...  line 1, band 2
bbbbbbbbbbbb...  line 2
bbbbbbbbbbbb...  line 3
...
cccccccccccc...  line 1, band 3
cccccccccccc...  line 2
cccccccccccc...  line 3
...
dddddddddddd...  line 1, band 4
dddddddddddd...  line 2
dddddddddddd...  line 3
...

   BSQ can be read with the following pseudo-code program
FOR EACH band
    FOR EACH line
        FOR EACH pixel
            I[pixel, line, band] = get_pixel(input);

   Of course others are possible, like the old _EROS BIP2_ format (for
   four band MSS images) where the image is first divided into four
   strips. EROS BIP2 strips
   Then each strip is stored like

aabbccddaabbccddaabbccddaabbccdd... line 1
aabbccddaabbccddaabbccddaabbccdd... line 2
...

   To decode one strip the following pseudo-code can be used
/* The '%' character is the modulo operator */
/* Note that operations on 'i' are integer operations! */
/* Copyright 1994 by W.H. Bakker - ITC */
FOR EACH line
    FOR i=0 TO BANDS*WIDTH
        I[(i/8)*2+i%2, line, (i/2)%4] = get_pixel(input);

   Subsequently, the strips must be glued back together.
     _________________________________________________________________
                                      

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Top Document: Satellite Imagery FAQ - 3/5
Previous Document: Resolution
Next Document: Basic Processing Levels

Part1 - Part2 - Part3 - Part4 - Part5 - Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
satfaq@pobox.com





Last Update March 27 2014 @ 02:12 PM