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

Home » Public Forums » archive » Re: IDL batch indexing
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: IDL batch indexing [message #59230 is a reply to message #59138] Fri, 14 March 2008 21:00 Go to previous message
raghuram is currently offline  raghuram
Messages: 32
Registered: February 2008
Member
On Mar 11, 10:39 am, Reimar Bauer <R.Ba...@fz-juelich.de> wrote:
> Beverly LaMarr schrieb:
>
>
>
>
>
>> In article < b0bd3b46-ab67-4216-b3ff-dfbd88535...@s37g2000prg.googlegroup s.com >,
>>  Raghu <raghuram.narasim...@gmail.com> writes:
>>> Hi all,
>
>>> I am writing a batch processing routine in order to do some querying.
>
>>> Steps:
>
>>> 1) Read in 30 images ( could be 60 or more..hence using batch)
>
>>> Since i am using a file_search method to read in all the files, i want
>>> each file to be given a unique name or ID because i need to compare
>>> them with each other. So, instead of reading in 30 files separately
>>> and assigning variable names to them, i want to do it automatically
>>> using a counter in a loop or something like that.
>
>>> Eg: if i=0 and numfiles=30,
>>> i want to name the first file thats read b1, second file b2, third b3,
>>> 30th as b30.
>>> Once these are named, i want to be able to compare b1 to b2 or b3 to
>>> b5 etc.
>>> So, its not just about naming these files since that can be done with
>>> a strmid function.
>
>>> my idea was something like
>
>>> names=file_search(*.img,count=numfiles)
>>> while i lt numfiles
>>> b[i]=names(i)
>
>>> I have tried it and it says b is not defined. I am guessing i cannot
>>> name variables dynamically.
>
>>> I don't know if i am very clear about my problem.
>>> Basically, i want to be able to assign unique variable names to each
>>> file thats read so that i can use those unique IDs to query and
>>> compare.
>
>>> Any ideas ? i can give more information or try to be clearer about my
>>> problem if necessary.
>
>>> Raghu
>
>> Hi,
>
>> I think I know what you want - and it's something that I have to do too.
>
>> You could try using execute:
>
>> in your loop, read each file in as "infile" then
>> res=execute(b[i]+'=infile')
>
>> In the end you'll have a variable for each value of b[i].
>
>> The other way to go, if all of the files have the same format, would be to use
>> a structure like:
>> alldata=replicate({name:a,data:fltarr(100,100)},numfiles)
>> where you just replace the "fltarr(100,100)" bit with whatever your data looks
>> like - you could even have it check the first file to figure the format on it's
>> own.
>> Then in your loop you just read into alldata[i].data
>
>> Bev
>
> Ah
>
> if that is the case you may want to use a structure.
> You can do something like
>
> for i=0,5 do begin
>    tag = 'A'+strtrim(i,2)
> if i eq  0 then struct=create_Struct(tag,i) else $
>     struct=create_Struct(struct, tag,i)
> endfor
>
> help,struct,/str
> end
>
> IDL> example
> ** Structure <78bff8>, 6 tags, length=12, data length=12, refs=1:
>    A0              INT              0
>    A1              INT              1
>    A2              INT              2
>    A3              INT              3
>    A4              INT              4
>    A5              INT              5
>
> You can access each tag with it's position index e.g.
> IDL> print, struct.(0) - struct.(1)
>       -1
>
> You may want  to avoid to use execute otherwise that will block you from
> using your code with the virtual machine of idl.
>
> cheers
> Reimar- Hide quoted text -
>
> - Show quoted text -

Thanks people.
I think got a fairly good idea of how to go about it.
Will get back once it works. Seems like structures is the way to go.

Raghu
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: WindowsXP IDLWorkbench hang issue
Next Topic: Re: Longstanding Map Overlay Problem Solved!

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

Current Time: Sun Oct 12 17:35:42 PDT 2025

Total time taken to generate the page: 1.11881 seconds