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

Home » Public Forums » archive » BVLS (NNLS) without loops?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
BVLS (NNLS) without loops? [message #86953] Mon, 16 December 2013 22:32 Go to previous message
JP is currently offline  JP
Messages: 55
Registered: April 2008
Member
Hi IDLers,

I am currently using BVLS (http://www-astro.physics.ox.ac.uk/~mxc/idl/bvls.pro) for spectral unmixing. It works great, but, on one pixel at a time. I want to implement for many pixels without having to loop. Example below:

IDL> help, a
A FLOAT = Array[85, 3]
IDL> help, b
B FLOAT = Array[85]
IDL> help, bnd
BND FLOAT = Array[2, 3]
IDL> print, bnd
0.000000 1.00000
0.000000 1.00000
0.000000 1.00000


bvls, A, B, BND, X_BVLS

IDL> help, x_bvls
X_BVLS FLOAT = Array[3]

in my example A is a vector of "endmembers" (85 spectral bands and 3 fractions), B is a pixel (vector of 85 bands), BND are bounds (don't go negative nor >1) and the X_BVLS are the estimated fractions returned for that pixel.
Now as you could imagine I have many many pixels (n) (my B is really a 2D array of [85, n]) and i've written a function which loops through n, but it gets very slow for large n.

Any ideas?

Thanks
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Why are you still here?
Next Topic: Is the sky falling?

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

Current Time: Wed Oct 08 13:34:20 PDT 2025

Total time taken to generate the page: 0.00432 seconds