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

Home » Public Forums » archive » Envi band math help!
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: Envi band math help! [message #35809 is a reply to message #35728] Mon, 14 July 2003 21:29 Go to previous message
tianyf_cn is currently offline  tianyf_cn
Messages: 19
Registered: November 2002
Junior Member
Hi,

Do you want to get the spectral values of a specified points?

If your image is not too larege, you can read the image into memory
and then get the values. If you want values of only one point, it
seems not a very good choice. The procedure may be like those:
;
;Example:
; x=getpoint('c:\test.raw',10,35)
; print,x
;
;pro getpoint, fname, x, y
function getpoint, fname, x, y
;
;Check file name
if n_elements(fname) eq 0 then begin
envi_select,fid=fid,dims=dims,pos=pos
if fid eq -1 then return,-1
endif
;
;Check x,y values
if n_elements(x) eq 0 then x=0 ;IDL array start from 0, NOT 1.
if n_elements(y) eq 0 then y=0
;
;Query the data type for definition of array holding the data.
envi_file_query,fid,data_type=dt
;
data=make_array(dims(2)+1,dims(4)+1,n_elements(pos),type=dt)
;
;Read the data one band each time
;ENVI_GET_BAND can read only one band data.
; If you want use IDL functions, the readu can be a good choice.
; But additional information shoud be need.
;
for bi=0,n_elements(pos)-1 do begin
data(*,*,bi)=envi_get_data(fid=fid,pos=pos(bi),dims=dims)
;If you want to get values of one point, you can set dims to
; dims=[-1,x,x,y,y]
;This is useful when your images is too large to read into memory.
endfor
;
help,data
;
;print,data(x,y,*)
return,reform(data(x,y,*))
;
end

Is this what you want?


Tian.


gauravjn123@yahoo.co.in (Gaurav) wrote in message news:<d193b5fb.0307141212.942053d@posting.google.com>...
> Hi!
> Well even i had felt the same...And therefore i also tried to use a
> procedure to output those pixel values...but unfortunately i was not
> able to use the envi widgets to input the five bands in an image...so
> i reverted back to band math functions for it.
> If it is not possible to output a single pixel value using
> functions, could you please tell me how to input the band values using
> a procedure (Could you please give me a sample procedure to input 5
> bands in an image)
> Thanking you in advance.
>
> Gaurav Jain
> ENST-Bretagne
>
[Message index]
 
Read Message
Read Message
Previous Topic: Re: Envi band math help!
Next Topic: envi - PPI_DOIT and masks

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

Current Time: Sat Oct 11 08:43:59 PDT 2025

Total time taken to generate the page: 1.68061 seconds