Objectmix
Tags Register Mark Forums Read

Gram-Schmidt transformation : Idl-pvwave

This is a discussion on Gram-Schmidt transformation within the Idl-pvwave forums in Programming Languages category; how to use ENVI_GS_SHARPEN_DOIT procedure ? my IDL code not make any result file. But there no mistakes in compilation and during running .... ENVI_OPEN_FILE,file_Src_Mul,R_FID=fid_Src_Mul ENVI_OPEN_FILE,file_Src_Pan,R_FID=fid_Src_Pan .... ENVI_FILE_QUERY,fid_Src_Pan,NS=f_ns_pan,NL=f_nl_pan,DIMS=pan_dims ENVI_FILE_QUERY,fid_Src_Mul,NS=f_ns_mul,NL=f_nl_mul,DIMS=mul_dims,POS=pos_mul hi_res_dims=[-1L,0,f_ns_pan-1,0,f_nl_pan-1] ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',fid=fid_Src_Mul,HIRES_FID=fid_Src_Pan,$ INTERP=0,LORES_FID=fid_Src_Mul,fid_Src_Mul,fid_Src_Mul],METHOD=0,$ OUT_NAME='C:\test.img' Thanks...


Object Mix > Programming Languages > Idl-pvwave > Gram-Schmidt transformation

Reply

 

LinkBack Thread Tools
  #1  
Old 01-04-2007, 10:26 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Gram-Schmidt transformation

how to use ENVI_GS_SHARPEN_DOIT procedure ?

my IDL code not make any result file. But there no mistakes in
compilation and during running

....
ENVI_OPEN_FILE,file_Src_Mul,R_FID=fid_Src_Mul
ENVI_OPEN_FILE,file_Src_Pan,R_FID=fid_Src_Pan
....
ENVI_FILE_QUERY,fid_Src_Pan,NS=f_ns_pan,NL=f_nl_pan,DIMS=pan_dims
ENVI_FILE_QUERY,fid_Src_Mul,NS=f_ns_mul,NL=f_nl_mul,DIMS=mul_dims,POS=pos_mul

hi_res_dims=[-1L,0,f_ns_pan-1,0,f_nl_pan-1]

ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',fid=fid_Src_Mul,HIRES_FID=fid_Src_Pan,$
INTERP=0,LORES_FID=fid_Src_Mul,fid_Src_Mul,fid_Src_Mul],METHOD=0,$
OUT_NAME='C:\test.img'



Thanks

  #2  
Old 01-04-2007, 01:30 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

skymaxwell@gmail.com schrieb:
> how to use ENVI_GS_SHARPEN_DOIT procedure ?
>
> my IDL code not make any result file. But there no mistakes in
> compilation and during running
>
> ...
> ENVI_OPEN_FILE,file_Src_Mul,R_FID=fid_Src_Mul
> ENVI_OPEN_FILE,file_Src_Pan,R_FID=fid_Src_Pan
> ...
> ENVI_FILE_QUERY,fid_Src_Pan,NS=f_ns_pan,NL=f_nl_pan,DIMS=pan_dims
> ENVI_FILE_QUERY,fid_Src_Mul,NS=f_ns_mul,NL=f_nl_mul,DIMS=mul_dims,POS=pos_mul
>
> hi_res_dims=[-1L,0,f_ns_pan-1,0,f_nl_pan-1]
>
> ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',fid=fid_Src_Mul,HIRES_FID=fid_Src_Pan,$
> INTERP=0,LORES_FID=fid_Src_Mul,fid_Src_Mul,fid_Src_Mul],METHOD=0,$
> OUT_NAME='C:\test.img'
>
>
>
> Thanks
>


Hello,

You define the hi_res_dims array but you don't pass it to the batch
routine with the HI_RES_DIMS keyword. The keyword is optional, but it
might nevertheless be necessary for your images.

Cheers

Mort Canty
  #3  
Old 01-05-2007, 02:48 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

nothing happened with HIRES_DIMS keyword

ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',fid=fid_Src_Mul,HIRES_FID=fid_Src_Pan,$
INTERP=0,LORES_FID=[fid_Src_Mul,fid_Src_Mul,fid_Src_Mul],METHOD=0,$
HIRES_DIMS=hi_res_dims,OUT_NAME='C:\test.img'

  #4  
Old 01-05-2007, 03:59 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

skymaxwell@gmail.com schrieb:
> nothing happened with HIRES_DIMS keyword
>
> ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',fid=fid_Src_Mul,HIRES_FID=fid_Src_Pan,$
> INTERP=0,LORES_FID=[fid_Src_Mul,fid_Src_Mul,fid_Src_Mul],METHOD=0,$
> HIRES_DIMS=hi_res_dims,OUT_NAME='C:\test.img'
>


Have a closer look at the help for ENVI_GS_SHARPEN_DOIT. The LORES_FID
keyword wants a long integer. You are passing it an array. I don't think
you should use this keyword at all if you are using METHOD=0. Again,
read the help carefully.

Can you do the pan sharpening with the same input data from the ENVI menu?

- Mort
  #5  
Old 01-05-2007, 07:15 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

i'm read help again for ENVI_GS_SHARPEN_DOIT

in help showing that LORES_FID = array !


Syntax
ENVI_DOIT, 'ENVI_GS_SHARPEN_DOIT', DIMS=array | FID=fileID [,
/FILTER_FID=variable] [, HIRES_DIMS=array], HIRES_FID=fileID |
HIRES_POS=array | /IN_MEMORY [, INTERP={0 | 1 | 2}] [,
/LORES_DIMS=array] [, LORES_FID=array] [, LORES_POS=array] [,
M_FID=fileID] [, M_POS=array] [, MASK_VALUE=value], METHOD={0 | 1} [,
OUT_BNAME=string array], OUT_NAME=string | POS=array [, R_FID=fileID]


yes i can do pan sharpening through ENVI menu with same data files

  #6  
Old 01-05-2007, 08:38 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

skymaxwell@gmail.com schrieb:
> i'm read help again for ENVI_GS_SHARPEN_DOIT
>
> in help showing that LORES_FID = array !
>
>
> Syntax
> ENVI_DOIT, 'ENVI_GS_SHARPEN_DOIT', DIMS=array | FID=fileID [,
> /FILTER_FID=variable] [, HIRES_DIMS=array], HIRES_FID=fileID |
> HIRES_POS=array | /IN_MEMORY [, INTERP={0 | 1 | 2}] [,
> /LORES_DIMS=array] [, LORES_FID=array] [, LORES_POS=array] [,
> M_FID=fileID] [, M_POS=array] [, MASK_VALUE=value], METHOD={0 | 1} [,
> OUT_BNAME=string array], OUT_NAME=string | POS=array [, R_FID=fileID]
>
>
> yes i can do pan sharpening through ENVI menu with same data files
>


I'm afraid that that must be a misprint. If it is a file ID, it can't be
an array. Look at the explanation for the keyword later in the online help:

LORES_FID (optional)
Use this optional keyword to specify the file ID for the low spatial
resolution panchromatic file. You must specify LORES_FID if METHOD=1.
This value is returned from the keyword R_FID in the ENVI_OPEN_FILE
procedure. LORES_FID is a long integer with a value greater than 0. An
invalid file ID has a value of -1.

As I said, I don't think you need it for METHOD=0.

-Mort
  #7  
Old 01-05-2007, 09:47 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

Hello
Here is all my GS transformation code.

ENVI_OPEN_FILE,file_Src_Mul,R_FID=fid_Src_Mul
IF (fid_Src_Mul eq -1) THEN BEGIN
PRINT,"Error1"
RETURN
ENDIF
ENVI_OPEN_FILE,file_Src_Pan,R_FID=fid_Src_Pan
IF (fid_Src_Pan eq -1) THEN BEGIN
PRINT,"Error2"
RETURN
ENDIF

outputDir=FILE_DIRNAME(mulDir)+'\GS_Pan'
FILE_MKDIR,outputDir

ENVI_FILE_QUERY,fid_Src_Pan,NS=f_ns_pan,NL=f_nl_pan,DIMS=pan_dims
ENVI_FILE_QUERY,fid_Src_Mul,NS=f_ns_mul,NL=f_nl_mul,DIMS=mul_dims,POS=pos_mul
; now i try use method=1
ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',DIMS=mul_dims,METHOD=1,OUT_NAME='D:\test.img',INTERP=0,$
HIRES_FID=fid_Src_Pan,$
LORES_FID=fid_Src_Mul,LORES_POS=pos_mul,LORES_DIMS=mul_dims

  #8  
Old 01-05-2007, 01:06 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

skymaxwell@gmail.com schrieb:
> Hello
> Here is all my GS transformation code.
>
> ENVI_OPEN_FILE,file_Src_Mul,R_FID=fid_Src_Mul
> IF (fid_Src_Mul eq -1) THEN BEGIN
> PRINT,"Error1"
> RETURN
> ENDIF
> ENVI_OPEN_FILE,file_Src_Pan,R_FID=fid_Src_Pan
> IF (fid_Src_Pan eq -1) THEN BEGIN
> PRINT,"Error2"
> RETURN
> ENDIF
>
> outputDir=FILE_DIRNAME(mulDir)+'\GS_Pan'
> FILE_MKDIR,outputDir
>
> ENVI_FILE_QUERY,fid_Src_Pan,NS=f_ns_pan,NL=f_nl_pan,DIMS=pan_dims
> ENVI_FILE_QUERY,fid_Src_Mul,NS=f_ns_mul,NL=f_nl_mul,DIMS=mul_dims,POS=pos_mul
> ; now i try use method=1
> ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',DIMS=mul_dims,METHOD=1,OUT_NAME='D:\test.img',INTERP=0,$
> HIRES_FID=fid_Src_Pan,$
> LORES_FID=fid_Src_Mul,LORES_POS=pos_mul,LORES_DIMS=mul_dims
>


You are missing some essential keywords. Here is a modified version of
your code which works OK for me (uses METHOD=0). I used ENVI_SELECT
because my pan images are too large to be read in in one chunk. You can
modify the code to get back to what you want. But watch the keywords!!

-Mort


; get MS image
envi_select, title='Select MS input bands', $
fid=fid_src_mul,dims=mul_dims,pos=pos_mul

; get PAN image
envi_select, title='Select panchromatic image', $
fid=fid_src_pan,dims=pan_dims

ENVI_DOIT,'ENVI_GS_SHARPEN_DOIT',FID=fid_src_mul, $
DIMS=mul_dims, $
POS=pos_mul, $
METHOD=0, $
OUT_NAME='D:\temp\test.img', $
INTERP=0,$
HIRES_FID=fid_Src_Pan, $
HIRES_DIMS=pan_dims

end
  #9  
Old 01-05-2007, 02:44 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

Thanks i find another mistake in my code by your code
seems keyword POS not supported by ENVI_FILE_QUERY
now it's work
thanks

  #10  
Old 01-05-2007, 03:01 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Gram-Schmidt transformation

skymaxwell@gmail.com writes:

> Thanks i find another mistake in my code by your code
> seems keyword POS not supported by ENVI_FILE_QUERY
> now it's work


Si, ese es el significado de las palabras "check your keywords". :-)

Saludo,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Reply

Thread Tools


Similar Threads

Thread Thread Starter Forum Replies Last Post
How to gram awk's regexp submatches? usenet awk 5 11-20-2007 06:58 PM
Gram-Charlier series usenet Idl-pvwave 0 04-16-2007 10:52 AM
Gram-Schmidt orthogonalization usenet Graphics 5 11-25-2006 08:28 PM
World transformation and local transformation help needed usenet DOTNET 4 11-07-2005 10:48 PM
reply from Doug Schmidt usenet Object 0 02-26-2004 05:08 PM


All times are GMT -5. The time now is 08:36 AM.

Managed by Infnx Pvt Ltd.