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...
![]() |
| | LinkBack | Thread Tools |
|
#1
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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
| |||
| |||
| 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.") |
![]() |
« Previous Thread
|
Next Thread »
| Thread Tools | |
| |
| ||||
| 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.


