comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: True-Color Modis Image
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: True-Color Modis Image [message #67480 is a reply to message #67475] Thu, 30 July 2009 20:46 Go to previous messageGo to previous message
jameskuyper is currently offline  jameskuyper
Messages: 79
Registered: October 2007
Member
David Fanning wrote:
> Folks,
>
> I am trying to create a true-color MODIS image of
> the sort shown on this page:
>
> http://rapidfire.sci.gsfc.nasa.gov/subsets/?mosaic=Arctic
>
> I have been using MODIS bands 1, 4, and 3 to represent
> the R, G, and B components of a 24-bit image. But my
> images don't look like those. In fact, they look almost
> like a gray-scale image. :-(
>
> Am I missing some "mixing" algorithm that combines
> these three channels in some other way? Anyone have
> any insight into this? I am using MOD02 files and
> just scaling each band with BytScl after I regrid

I'm the person responsible for maintenance of the code that creates
those files. I didn't write the original code, and it has required very
little maintenance in the five years I've been responsible for it. I am,
by training, a physicist, not a remote sensing expert, but of necessity
I've learned a few things about this subject.

Simply using BytScl won't work. You have to get each band correctly
scaled relative to the other two bands to make it come out right.

The MOD02 files have HDF Scientific Data Sets (SDSs) with names that end
in "_RefSB" for the reflective bands or "_Emissive" for the emissive
bands, which contain what we call scaled integer values. For each band
there's a scaling factor and an offset that must be applied to those
numbers to get the radiances in Watts/meter^2/micrometer/steradian. The
scaling factors and offsets are stored in SDS attributes named
radiance_scales and radiance_offsets. the formula is:

radiance[frame,scanline,band] = radiance_scales[band]*
(scaled_integer[frame,scanline,band] - radiance_offsets[band])

For the reflective bands, you can also calculate the reflectance product
rho*cos(theta), where rho is the Bidirectional Reflectance Factor, and
theta is the solar incidence angle. For this purpose, you use the
reflectance_scales and reflectance_offsets SDS attributes. The formula is:

reflectance[frame,scanline,band] = reflectance_scales[band]*
(scaled_integer[frame,scanline,band] - reflectance_offsets[band])

Note that these are top-of-atmosphere radiances and reflectances; if you
want surface radiances or reflectances you'll need to apply atmospheric
corrections to these values

Getting the scaling right is just the beginning, it isn't the whole
issue - but it does help. People who are experts in remote sensing have
produced much better pictures than I do from the same data; I'm not sure
how they do it.

For information about this and many other matters of importance for
understanding the MODIS L1B products, see
<http://www.mcst.ssai.biz/mcstweb/L1B/product.html>. In particular,
please look the "MODIS Level 1B Product User's Guide". If you have any
questions about this or any other MODIS Level 1 issues, feel free to
contact me in my official capacity at James.R.Kuyper@nasa.gov.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: make_rt for 32 and 64 bit applications?
Next Topic: A strange error with WHERE

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 15:49:18 PDT 2025

Total time taken to generate the page: 1.36207 seconds