Re: FOR LOOP problem [message #31159 is a reply to message #30971] |
Fri, 07 June 2002 11:11  |
Paul Sorenson
Messages: 48 Registered: May 2002
|
Member |
|
|
"Reimar Bauer" <r.bauer@fz-juelich.de> wrote in message
news:3CFB1297.BAC0ACAE@fz-juelich.de...
> Doug Rowland wrote:
>>
>> What happens if the image you are reading in is only 400x400 bytes (as
seems
>> to be implied by the filename)?
>> Does readu then redefine image to be a 400x400 array or does it just
leave
>> the rest of the 462x350 array blank?
>
> Dear Doug,
>
> the rest 1700 bytes will be 0b and the size is (462, 350).
> This gaves no new information.
>
> It's not easy to examine the right size of a binary file.
> First step could be to examine by fstat the byte size.
> Then the data could be read as byte vector.
You can do this with one command:
IDL> vector = read_binary()
> If you have an idea how it is organized you can use a reform
> to put it in the correct size.
You can read it and reform it in one command:
IDL> array = read_binary(data_dims=[400, 400])
-Paul Sorenson
>
> Reimar
>
>
>
>
>
>
>
>>
>> How about trying this:
>>
>> image = bytarr(462, 350)
>> image_mod = bytarr(462, 350)
>> openr, 1, FILEPATH(SUB=['examples','data'], '400_400_gb')
>> readu, 1, image
>> print,size(image)
>> close,1
>> end
>>
>> Doug Rowland
>> rowland@fields.space.umn.edu
>>
>> On 05/31/02 4:27 PM, in article
MPG.176198a6982878fc989905@news.frii.com,
>> "David Fanning" <david@dfanning.com> wrote:
>>
>>> Shravan Kumar Durvasula (skd6@ra.msstate.edu) writes:
>>>
>>>> I am very much new to IDL. Could anyone please tell me what the
problem is
>>>> with
>>>> this .pro file?
>>>>
>>>>
************************************************************ **********
>>>> image = bytarr(462, 350)
>>>> image_mod = bytarr(462, 350)
>>>> openr, 1, FILEPATH(SUB=['examples','data'], '400_400_gb')
>>>> readu, 1, image
>>>> FOR i = 0, 461 DO BEGIN
>>>> FOR j = 0, 349 DO image_mod[i,j] = image[i,j]
>>>> ENDFOR
>>>> close, 1
>>>> ************************************************************ *********
>>>>
>>>> It gives me the following error message :
>>>>
>>>> ************************************************************ *********
>>>> % Attempt to subscript IMAGE with I is out of range.
>>>> % Execution halted at: $MAIN$
>>>> ENDFOR
>>>> ^
>>>> % Syntax error.
>>>> At: D:\webpages\IONJava\examples\ndvi_pro.pro, Line 7
>>>> ************************************************************ *********
>>>
>>> I suspect the problem lies in how you are trying to
>>> run this program. I recommend you put another END at the
>>> end of the program file (after the CLOSE statement),
>>> then run it like this from the IDL command line:
>>>
>>> IDL> .Run ndvi_pro
>>>
>>> Does that work better? This will compile the code before
>>> it tries to run it. I think that will work better for you.
>>>
>>> I should point out that you can more easily do what you
>>> want to do (and a hell of lot faster!) by simply writing this:
>>>
>>> image_mod = image
>>>
>>> Cheers,
>>>
>>> David
>
> --
> Reimar Bauer
>
> Institut fuer Stratosphaerische Chemie (ICG-I)
> Forschungszentrum Juelich
> email: R.Bauer@fz-juelich.de
> ------------------------------------------------------------ -------
> a IDL library at ForschungsZentrum Juelich
> http://www.fz-juelich.de/icg/icg1/idl_icglib/idl_lib_intro.h tml
> ============================================================ =======
-----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
http://www.newsfeed.com The #1 Newsgroup Service in the World!
-----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----
|
|
|