Link to the UNESCO-IOC website
Link to the Bilko website
Earth from space
Annual sea surface temperature

5.2.1 Alternative ways to clear cloud

The reflectance bands   Extracting spectra   Using thresholds with flags

LESSON 5

Overview

back to bottom of page next

References:
List of journal references

Download tools
formulas, palettes etc. (5 KB)

Images:

MER_RR_2COLRA 200402~.N1 Description

Download image 1 (29 MB)
Download image 2 (26 MB)
Download image 3 (28 MB)

 
Useful information:

The Benguela Current System

The MERIS product grid.

MERIS level 2 flags

Bitwise operators and Meris flags

In this section we shall try to mask sub-pixel cloud without loosing useful data. Start by looking at the water-leaving reflectances in bands 1-10. For a scene of 1120x1120 pixels with 16-bit integer data this is a lot to hold in your computer's memory. Luckily we do not need to open the whole image, only an area that contains mainly cloud-free water pixels.

  1. Activate the image you saved as mer_20040201_a1w.dat.
  2. Make sure Box selection is selected on the toolbar and draw a box around a suitable area that includes most of the cloud-free water pixels.
  3. Open the Go To dialog and uncheck the Coords box to see the pixel coordinates.
  4. Make a note of the top left pixel coordinates [X,Y] and selection size [DX,DY].

This is the window you will use for opening the reflectances as a set, and also the window you will use for creating your new cloud-mask.

Note: In the following we shall use a selection size of 950x780 pixels with top left coordinates of [X,Y] = [50,340], but you are free to work with your own window if you wish.

Examining the reflectance bands

Start by opening the reflectances for MERIS bands 1-10:

  1. Activate the file structure window, and hold down the [SHIFT] key while clicking first on reflec_1 , then on reflec_10 ; this selects all the bands in between and ensures that they have the right order in the stack.

  2. Place your mouse over the selection and right-click to open a pop-up, then choose Open Connected .

  3. When the Extract dialog opens change this:
    • set the top left (First ) [X,Y] coordinates,
    • work out from your your selection size what the bottom right (Last ) pixel coordinates should be and set these;
      Note: The last coordinates are: Last [X,Y] = First [X,Y] + [(DX-1),(DY-1)]; the -1 is to avoid having a window that is one pixel and one row larger than your original selection.
    • Leave the Sample rate at [X,Y] = [1,1] (full resolution), and press OK to accept the selection.
  4. In the Redisplay dialog, initially accept the default, and select All ;
    Note: Selecting All allows you to apply the same Redisplay stretch to all ten images in the set at the same time.

  5. Spend some time examining the 10 images, using the [TAB] key to move from one band to the next. To check on the wavelength of a praticular band, right-click on this band in the right frame of the file structure window and select Open properties

Question 1
 

a)

How do the water, land and cloud-top reflectances appear at different wavelenghts? (Think about the main differences in the blue (400-480nm), green (500-570), red (600-700) and NIR (>700) domains? How does the default linear stretch perform in displaying structures within the water?
 

b)

Try a logarithmic Redisplay stretch and see what this does for the image (set the Null values to 0 for this). How does the ability of this stretch compare with a linear stretch in revealing the differences between the upwelling bloom and other water areas?
 

c)

This stretch gives you high discrimination at low radiances, where noise is more likely to have been a problem. At what wavelength does the noise start to appear? Which areas are most affected? Can you think of a reason for this? (Examining pixel values on the status bar may give some clues.)
 

d)

Take a closer look at the appearance of the water areas in bands 7, 8 and 9. How does the bloom compare with other water areas in these bands? Is there a wavelength in which it appears particularly bright? If so - can you think of a reason for this?
Note:If you are unfamiliar with chlorophyll measurements you may need to read A few notes about chlorophyll to help you answer.)

to bottom of page    

It is quite likely that we will be able to use some of these findings to discriminate between sub-pixel cloud and bloom when applying the PCD_1_13 confidence flag. To work out the best method for doing this it may be worth examining the spectral characteristics of different pixels in more detail.

In selecting different pixel types for this examination, it will help if we can also consult the chlorophyll and flag data-sets, and in particular work only with pixels that are classified as water. To do this, you will need to open a second stack of four (algal_1, flags, + 2 blanks to take the masked versions of algal_1), and use the same window as that used for the reflectance stack (same [X,Y] coordinates top left and bottom right).

  1. Open the algal_1 data set by double-clicking on its icon in the right frame of the file structure window. When the Extract dialog opens, you will notice that Bilko has remembered the previous settings; accept these, and accept these and open the image.

  2. Open the l2_flags data set in the same way, accepting the default Redisplay stretch.

  3. Connect the two images into a stack (you will need to scroll in the Connect dialog to be sure of finding the right bands to connect), add 2 blank images, and remember to check the Stack checbox before clicking OK.

  4. Minimise all windows except the two stacks, and use Windows > Tile vertical to display them side by side.

  5. In the chlorophyll stack, [TAB] to the first blank image (@3), open the water-flag formula mer2water.frm, copy it and paste it onto the stack to create the masked image.

  6. [TAB] to the second blank image (@4), open the PCD_1_13 flag formula you saved earlier - mer2water_a1a.frm, and modify the constant declaration by changing the image plane of the masked image from @3 to @4; then copy the new formula and paste it onto the stack to create the masked image.

Obtaining reflectance spectra

Reflectance spectra for individual pixels are obtained in Bilko by using the Transect function. We'll go through the steps in a moment, but before this spend a bit of time thinking about the type of pixels you want to investigate. Use the radiance stack and the masked images in the chlorophyll stack to help you. (You can toggle between the to two masked images using [TAB] and [SHIFT+TAB].)

Question 2
You can tile about 4 spectra to compare them for visual analysis. What type of pixels would you choose to help you develop a cloud-masking strategy? Make a note of the pixel coordinates.
Note: You can get the pixel coordinates to be displayed on the status bar by opening the View menu and clicking on Coords to uncheck this. Alternatively you can use the Go To dialog ([CTRL+G]) and uncheck the Coords box if this is checked). to bottom of page

Now that you have selected your points, you are ready to obtain the spectra from the stack containing the water-leaving reflectances.

  1. Choose the Point selection button on the toolbar (the one with a cross), activate the reflectance stack by clicking on its frame, and use the Go To dialog ([CTRL+G]) to enter your chosen coordinates (you will probably need to uncheck the Coords box).

  2. Open the New file dialog ([CTRL+N]), select TRANSECT document (the default), and make sue the Apply stretches check box is unchecked before you click OK.

  3. Give the new transect document a distinctive name; click Options from the menu bar, select Name to open the Names dialog. Add a Chart Name (e.g. "High chlorophyll, PCD_1_13 flag, [X,Y]" where [X,Y] are the pixel coordinates for your choice). Uncheck the default text check-boxes to remove the image name and transect statistics before clicking OK.

  4. Repeat points 1 - 2 above for the other three pixels you chose in your answer to Question 2.

  5. When you have 4 different transects, minimize the two stacks and use Windows > Tile vertical to arrange the transects so that you can compare them.

  6. You will need to change the scaling to see the spectra properly. Do this by right-clicking on each transect in turn, selecting Scale and change the Max value to 0.02.

Question 3
 

a)

Can you find anything in the reflectance spectra which distinguishes apparently valid pixels flagged with PCD_1_13 from other pixels that have not been flagged?
 

b)

How could you use this difference to help you create a better mask for sub-pixel cloud than the one you used earlier?

to bottom of page    

Before you continue you may wish to check the values in bands 7-8-9 for a few more pixels, particularly those with low chlorophyll, with and without the PCD_1_13 flag. Once you are confident that the proposed solution might work, close all windows except the file structure window, and continue to the next step.

Combining flags and data values

Confidence flags are set when a geophysical value is likely to be invalid. This can be due either to complete algorithm failure, or (less severely) to conditions that are likely to give an unreliable results. Hence there are three possible combinations of a flag value and the corresponding geophysical data value:

Table 1.

Processing performance

Flag value

Data value

1. Algorithm failure

  1

  0

2 Algorithm output of doubtful quality

  1

>0

3. Everything OK, result valid

  0

>0

 

Answers:
(Resizable pop-ups)

Answer 1

Answer 2

Answer 3

Answer 4

Back up to:
Q1   Q2   Q3  

Question 4.

a)

Bearing in mind the relationship between the PCD_1_13 flag and negative radiance values (set to 0 in the data), how would you modify the formula you have been using in order to mask only pixels that have been flagged as dubious quality because of this problem?
 

b)

Apply the new formula. How does the result compare with your previous efforts?

Now that you have been able to find a suitable mask you will be able to continue to the next step, of investigating different ways to calculate chlorophyll.

back to top of page next

 
Next: Using formulae to calculate chlorophyll

  Link to ESA's Envisat website Link to NOC's website