3-d visualization (itools while in a program) [message #42154] |
Wed, 12 January 2005 10:26  |
Turamarth
Messages: 4 Registered: January 2005
|
Junior Member |
|
|
I am trying to use idl to do visualization on a very large amount of
3-D data. I need to do various analysis to the data, then when I am
finished, to create surface (and other) plots of the data. In the past
I have been using xsurface (with /block), since it gives some
interactive control of the view. This is not a great solution though,
since I need to be able to easily put it into a presentation or file.
With the upgrade to IDL 6 I had thought I would be able to use
isurface. The problem is that itools does not seem to be able to load
correctly when I am at a break point in a program. I must compile out
of my program to see anything in itools. Well, this kills all of my
3-d data. I guess I could save it all and then read it all from the
command line, but that would be far too much work!
It seems there might be a simple command to get out of my program
without losing my data? Or maybe a way to use itools while at a break
in a program? Or maybe there is some alternate solution I am not
considering?
|
|
|
|
Re: 3-d visualization (itools while in a program) [message #42248 is a reply to message #42154] |
Thu, 13 January 2005 13:08  |
Chris[2]
Messages: 39 Registered: August 2003
|
Member |
|
|
Hi again. I think I misunderstood the problem. You want to stop a program in
the middle, use an iTool to visualize the data, and maybe keep going after
that.
If you have a program:
pro test
data = randomu(s,100)
stop
end
If you run this, and then type "iplot, data", it will bring up the iPlot but
won't process any events. This is because you are stopped within a
procedure, not at the $MAIN level.
One solution is to just use a tight widget loop to keep the events going.
This would look like:
IDL> test
Stop encountered: TEST 4 C:\test.pro
IDL> iPlot, data
IDL> while widget_info(/active) do void=widget_event()
This will block the command line until the widget is destroyed.
Another solution is to *not* use a subroutine. If you put all your code into
a file called "test.pro", with an "end" at the end, but no procedure, then
you can do ".run test". Now, when it stops, you will be at $MAIN, and
everything will work fine.
-Chris
"Turamarth" <mknewey@hotmail.com> wrote in message
news:1105554404.681688.27900@z14g2000cwz.googlegroups.com...
> I am trying to use idl to do visualization on a very large amount of
> 3-D data. I need to do various analysis to the data, then when I am
> finished, to create surface (and other) plots of the data. In the past
> I have been using xsurface (with /block), since it gives some
> interactive control of the view. This is not a great solution though,
> since I need to be able to easily put it into a presentation or file.
> With the upgrade to IDL 6 I had thought I would be able to use
> isurface. The problem is that itools does not seem to be able to load
> correctly when I am at a break point in a program. I must compile out
> of my program to see anything in itools. Well, this kills all of my
> 3-d data. I guess I could save it all and then read it all from the
> command line, but that would be far too much work!
>
> It seems there might be a simple command to get out of my program
> without losing my data? Or maybe a way to use itools while at a break
> in a program? Or maybe there is some alternate solution I am not
> considering?
>
|
|
|