idl > memory problems [message #16737] |
Fri, 20 August 1999 00:00  |
winterdead
Messages: 8 Registered: August 1999
|
Junior Member |
|
|
I need to ask you a few questions. I am currently trying to animate a series
of pictures from CDROM's. Windows apparently only reads the names of these
pictures up to 8 characters but their names are at least 13 characters long,
Unix systems read their full names, Do you kno how to make windows read the
full names , or at least how to make IDL read the full names? I was also
hoping you could help me solve this problem I have with memory. my computer
does not have enough memory to make these arrays because they would require
over 300 MB each and I have to make several of them to say the least . I have
attempted to resize the arrays as best I know but with no luck. How would I
resize these arrays without recieving the error message bellow? I have included
an example of the code
example:% Array subscript for E must have same size as source expression.
thank you
ps
I was forced to make a loop by hand because of the problem with the names that
I mentioned above I included only a small sample of this as it was much too
long for the message
FE=strarr(300)
FO=strarr(300)
fe(0)=('d:99041000')
fo(0)=('d:99041001')
IDL> xinteranimate, set=[512,512,300], /showload
% Compiled module: XINTERANIMATE.
% Compiled module: XREGISTERED.
% Compiled module: CW_ANIMATE.
% Compiled module: CW_BGROUP.
% Compiled module: COLORMAP_APPLICABLE.
IDL> e=fltarr(512,512,300)
% Unable to allocate memory: to make array.
% Execution halted at: $MAIN$
IDL> xinteranimate, set=[64,64,300], /showload
IDL> e=fltarr(64,64,300)
IDL> o=fltarr(64,64,300)
IDL> for k=0,299 do e(*,*,k) = readsmd(fe(k))
% Compiled module: READSMD.
% Array subscript for E must have same size as source expression.
% Execution halted at: $MAIN$
IDL> xinteranimate, set=[512,512,300], /showload
IDL> o=fltarr(512,512,300)
% Unable to allocate memory: to make array.
% Execution halted at: $MAIN$
IDL> xinteranimate, set=[64,64,300], /showload
IDL> e=rebin(fltarr(64,64,300))
e=rebin(fltarr(64,64,300))
^
% REBIN: Incorrect number of arguments.
IDL> e=fltarr(64,64,300)
IDL> e=rebin(e,64,64)
IDL> o=fltarr(512,512,300)
% Unable to allocate memory: to make array.
% Execution halted at: $MAIN$
IDL> o=fltarr(64,64,300)
IDL> o=rebin(o,64,64)
IDL> for k=0,299 do e(*,*,k) = readsmd(fe(k))
% Array subscript for E must have same size as source expression.
% Execution halted at: $MAIN$
|
|
|
Re: idl > memory problems [message #16835 is a reply to message #16737] |
Tue, 24 August 1999 00:00   |
Ivo Labbe
Messages: 2 Registered: August 1999
|
Junior Member |
|
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
WinterDead wrote:
<blockquote TYPE=CITE>the files are not gifs theyr SMD files (SMD= special
camera) any idead how to
<br>reduce memory usage when making the arays?</blockquote>
Yeah, there is this function in IDL called Multmem. It multiplies your
available core memory by N times, its not documented however. ;-p If that
doesnt work try the handy function Ziparr, which compresses your arrays.
<p>No, but seriously. Limited resources are facts of life, you have to
live with it. Don't expect the a programming language to manage excessive
demands on resources. Reduce memory usage by processing data on disk, or
work with only with a limited number of images at a time.
<p>I must say, I'm also beginning to get curious. What was your name again?
<p>kindly,
<p>Ivo
<pre>--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
"We are all in the gutter, but some of us are looking at the stars"
Ivo Labbe
Leiden Observatory
Room : 558 &nb sp; &nb sp; &nb sp; &nb sp; Email: ivo@strw.leidenuniv.nl
Phone: (+31) (0)715275805 &nbs p; &nbs p; WWW : <A HREF="http://www.strw.leidenuniv.nl/~ivo">http://www.strw.leidenuniv.nl/~ivo</A>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ </pre>
</html>
|
|
|
|
|
|
Re: idl > memory problems [message #16903 is a reply to message #16737] |
Wed, 25 August 1999 00:00  |
m218003
Messages: 56 Registered: August 1999
|
Member |
|
|
In article <19990821131723.04323.00001518@ng-fd1.aol.com>,
winterdead@aol.com (WinterDead) writes:
> im using a windows 95 system on a packard bell platform. the version is IDL 5.2
> winterdead is a convenient e-mail name and my proffessors are hte ones who sent
> me off so ill prepared can you help?
you could try to make the associate function work with my arrex routine
(you can get it in my library at
http://www-as.harvard.edu/people/staff/mgs/idl/ ).
Other than that: write a filter that reduces the image size and work with
the smaller ones. Finally: make sure you always have byte arrays: IDL likes
to autoconvert to integer or float. And use options like NOCOPY whereever
you can. But it might be cheaper to add 128 MB RAM to your machine ...
Martin
--
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
[[ Martin Schultz Max-Planck-Institut fuer Meteorologie [[
[[ Bundesstr. 55, 20146 Hamburg [[
[[ phone: +49 40 41173-308 [[
[[ fax: +49 40 441787 [[
[[ martin.schultz@dkrz.de [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
|
|
|