iTools questions [message #36315] |
Thu, 28 August 2003 15:05 |
rivers
Messages: 228 Registered: March 1991
|
Senior Member |
|
|
I've started to work with the iTools, and they look great. I have a q
question I wonder if anyone can help me with.
If I create an instance of an iTool, for example, iImage, how can I
force the iTool to display a new data set from my application (or from
the IDL command line for that matter)? For example:
IDL> a = dist(100)
IDL> iImage, a, ident=id
IDL> b = dist(256)
Now I would like to display "b" in my iImage. I don't want to use the
File/Import/IDL Variable, I want to be able to do this via an IDL
procedure or function call. If I have the object reference for the
oParmSet that iImage creates as IDL variable I can do it easily.
I have tested this by creating a modified version of iImage that
passes back oParmSet as a keyword parameter, and it works:
pro iimage, parm1, parm2, parm3, parm4, $
IMAGE_LOCATION=imageLocation, $
IMAGE_DIMENSIONS=imageDimensions, $
RED_CHANNEL=redChannel, $
GREEN_CHANNEL=greenChannel, $
BLUE_CHANNEL=blueChannel, $
ALPHA_CHANNEL=alphaChannel, $
RGB_TABLE=rgbTable, $
IDENTIFIER=IDENTIFIER, $
oParmSet = oParmSet, $
_EXTRA=_extra
IDL> a = dist(100)
IDL> iImage, a, oParmSet=op, ident=id
IDL> b = dist(256)
IDL> data = op->Get(position=0)
IDL> r=data->setData(b)
Howver, I don't want to have to modify the iTools to pass back
oParmSet. I think there must be a way to get this object reference
from the identifier "id" that is passed back from the normal version
of iImage. Or alternatively set the data with the
SetPropertyByIdentifier on some object. Can anyone tell me how to do
this? I've studied the manuals and can't figure it out.
Cheers,
Mark Rivers
|
|
|