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

Home » Public Forums » archive » Re: ENVI header files in IDL
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 header files in IDL [message #58947] Wed, 27 February 2008 09:36 Go to previous message
Jean H. is currently offline  Jean H.
Messages: 472
Registered: July 2006
Senior Member
Raghu wrote:
> Hi,
>
> In IDL, i'm using filesearch function to read through files of certain
> types.
> Since an envi file has no specific extension, i'm not able to figure
> out how to sort out the files.
> Here's an example:
>
> Say i have 2 images in ENVI format. It would look like IMAGE1,
> IMAGE1.hdr,IMAGE2, IMAGE2.hdr.
> As you can see, its only the header file which has the extension. When
> i use the filesearch(image*), i am not
> able to ignore the header files. These header files are not to be
> processed.
>
> Any ideas of how to choose only the images and not the header files,
> as in this case ?
> I guess i could convert the files to IMG so that they have an
> extension, but there must be an easier way.
>
> Thanks,
>
> Raghu

Hi,
you can do a filesearch on the headers only
filesToOpen = filesearch('image*.hdr') --> all that start with 'image'
and ends with '.hdr')
then remove the last 4 characters from the strings. Test if the file
exists. If yes, open it. If not, try to add the common extensions (.dat,
then .img etc). Of course, sort the order of the extensions (nothing,
.dat etc) so that most images to process have the first extension (or
lack of extension).


here is a slightly different code that I use. The user select a file. If
there is no extension in that file, it is open. Otherwise, the code
looks for the file with the possible extensions.

fileToOpen = dialog_pickFile(path = searchFolder, GET_PATH =
searchFolder, /must_exist, title = title)

;If the user selected a .hdr, remove the extension and find the correct
one.
if (STRLOWCASE(strmid(fileToOpen,3, /REVERSE_OFFSET)) eq '.hdr') or
(STRLOWCASE(strmid(fileToOpen,3, /REVERSE_OFFSET)) eq '.aux') then begin
fileToOpen= strmid(fileToOpen, 0,strlen(fileToOpen)-4)

extensionNotFound = 1B
currentExtension = 0
tmpFileToOpen = fileToOpen
commonExtensions = ['.dat','.img']
while extensionNotFound and currentExtension lt
n_elements(commonExtensions) do begin
if FILE_TEST(tmpFileToOpen) eq 0 then begin
tmpFileToOpen = fileToOpen + commonExtensions[currentExtension]
currentExtension +=1
endif else begin
extensionNotFound = 0B
fileToOpen = tmpFileToOpen
endelse
endwhile

endif


Jean
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Is it possible to export graphics objects and direct graphics in the same file?
Next Topic: IDL batch indexing

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

Current Time: Thu Oct 09 21:13:46 PDT 2025

Total time taken to generate the page: 2.31967 seconds