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

Home » Public Forums » archive » Re: mnf and masks
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: mnf and masks [message #44616 is a reply to message #44612] Thu, 30 June 2005 17:25 Go to previous message
Peter Mason is currently offline  Peter Mason
Messages: 145
Registered: June 1996
Senior Member
msauer@calpoly.edu wrote:
> I've recently applied forward mnf in ENVI to an image in which I've
> employed a mask to knock out the region surrounding the one I'm
> interested in. The MNF output shows that the masked area has values of
> zero while the region I'm interested in has + or - values. Good.
> However, when I apply the inversion using the stats from this
> transform, the image that results shows that the previously masked
> areas have values, the same throughout, and z-profiles that appear to
> approximate the mean spectra of the whole region I'm interested in.
> Thought that these previously masked areas should still be 0 with a
> flat line for a spectrum, indicating no data. I've done a map
> difference image thru band math which seems to indicate a difference
> of ~0.002 (rounding error?). Why does area in the inversion
> corresponding to the mask employed in the mnf have a spectrum and
> data values?

The inverse MNF transform is done with a calculation like this (shown here
for one spectrum):
inv_mnf_spec = (mnf_spec ## inv_mnf_trans_matrix) + scene_mean_spec
"Scene_mean_spec" is the mean spectrum, calculated over the masked-on pixels
in the (earlier) forward MNF stats step.
MNF is driven by differences from a mean spectrum, so this mean is
subtracted from all the spectra when going into MNF space and added back
when going out. It's stored in the MNF stats file.

The mask option in ENVI's forward-MNF module is a bit confusing, as this
module's work is done in four stages: estimation of noise stats,
calculation of signal stats, calculation of transformation matrices from the
signal & noise stats, actually transforming the image. It might look like
the mask is just for tidying up the result in the last stage but it is also
used to focus the signal stats in the second stage. (IMHO this is its
*main* use and it should get a mention in the docs.) I don't think that
the noise stats are done through the mask (they never used to be in the
past) - they (now) have a separate spatial subsetting option of their own.

ENVI's inverse-MNF module has no knowlege of whether or not a mask was used
in the forward transform. (It isn't safe to assume that an all-zero MNF
spectrum means "this one was masked off so the inverse-MNF spectrum should
be all-zero as well".)
The lack of a mask option in this module is probably an oversight. It's
much more straightforward than the forward module and has no "higher reason"
for a mask option. I imagine that no-one has asked RSI to put one in yet.

HTH
Cheers
Peter Mason
[Message index]
 
Read Message
Read Message
Previous Topic: IDL code with fortran subroutine and C linker on OSX
Next Topic: GeoTIFF tags and keys

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

Current Time: Fri Oct 10 06:21:47 PDT 2025

Total time taken to generate the page: 1.27924 seconds