[kepler-dev] JAI actors
Christopher Brooks
cxh at eecs.berkeley.edu
Thu May 18 17:13:37 PDT 2006
Hi Nandita,
I fixed JAIImageReader. I'm not sure why I could not reproduce the
problem before, but once I was able to reproduce it, it was fairly
easy to track it down to a change I made to JAIImageReader where
I was commented out unused variables. (My Bad).
So, the JAIImageReader actor should work now.
_Christopher
> Hi Nandita,
> > Hi Christopher,
> > I could run all JAI actors from Kepler but I am unsure if i am
> > following the right procedure...So I am starting over :)
> > If you could tell/correct me how to integrate JAI actors with Kepler
> > that would be great.
> > Once i have done it manually , I can add it to builds to compilie
> > ptolemy's JAI classes so that they are found in kepler.
> >
> > So here is what i did initially:
> > 1)under $PTII/ptolemy/actor/lib/jai
> > -->make and it compiles all the java classes in the above folder.
> > 2)I thought the above classes would be copied to
> > $PTII/build/classes/actor/lib/jai but they werent?
>
> make does not copy anything in to $PTII/build. That directory is used
> by $KEPLER/build-ptolemy.xml, which copies the source .java files from
> the ptolemy tree to $PTII/build/src and then compiles the file
> and places the class files in $PTII/build/classes.
>
> > Did ./configure & make fast install after the above as well but seems
> > like jai folder is missed.
> > (is there anything else i should do so that JAI classes are in build
> > as well?)
>
> When you ran configure, did it find the jai jar files?
> The way configure works with JAI is a little odd. The JAI jar files
> should be in the JRE ext directory, but they are not always there.
> Thus, we search for for it and find it:
>
> checking for the jai jar files... configure: WARNING: Either we could not find
> javax.media.jai.RenderOp or else it was already in the JRE.
> Searching for jai-core.jar returned:
> FindClass: 'javax.media.jai.RenderedOp' was found in
> '/usr/jdk/instances/jdk1.5.0/jre/lib/ext/jai_core.jar',
> which is inside the java.home property
> /usr/jdk/instances/jdk1.5.0/jre.
> Thus, it is not necessary to add the jar file to the eclipse classpath
> If the class cannot be found, then Eclipse might not be able to find
> the JAI files.
> This is only a problem if you are using Eclipse.
> If the class was in the JRE, then Eclipse should compile the JAI files
> without problems
>
> I think the messages above are unclear, I'll clean them up.
> After running configure, $PTII/mk/ptII.mk should have PTJAI_DIR set
> to jai if JAI was found:
>
> --start--
> # Set to jai and used in
> # $PTII/ptolemy/actor/lib/makefile if Java Advanced Imaging was found
> PTJAI_DIR = jai
> --end--
>
> $PTII/ptolemy/actor/lib/makefile uses PTJAI_DIR to determine if
> the make should go into the jai subdirectory.
>
> If $PTII/mk/ptII.mk does not have PTJAI_DIR = jai then try this:
> cd $PTII; rm config.*; ./configure
> Then check $PTII/mk/ptII.mk and see that PTJAI_DIR is set to jai.
> If it is not, then configure failed to find JAI.
> To find JAI, configure runs $PTII/config/FindClass.
>
> To do this by hand, try:
>
> --start--
> cxh at carson 447% cd $PTII/config
> cxh at carson 446% javac FindClass.java
> You have new mail.
> cxh at carson 447% java -classpath "$PTII/config;$CLASSPATH" FindClass javax.media
> .jai.RenderedOp
> FindClass: 'javax.media.jai.RenderedOp' was found in
> '/usr/jdk/instances/jdk1.5.0/jre/lib/ext/jai_core.jar',
> which is inside the java.home property
> /usr/jdk/instances/jdk1.5.0/jre.
> Thus, it is not necessary to add the jar file to the eclipse classpath
> cxh at carson 448%
> --end--
>
> If the java command fails:
> Under Unix, run
> java -classpath "$PTII/config;$CLASSPATH" FindClass javax.media.jai.RenderedOp
>
> If CLASSPATH is not set, you would run
> java -classpath "$PTII/config" FindClass javax.media.jai.RenderedOp
>
> Once configure is able to find JAI $PTII/mk/ptII.mk should have:
> PTJAI_DIR = jai
>
>
> > 3) I thought that if jai classes are in ptolemy's build, Kepler can
> > locate them.
>
> I'm not sure. Probably only if $PTII is in the classpath
>
> > So I manually put the all jai classes
> > in build to test jai actors in kepler. After doing that i could get
> > all JAI actors (except JAIImageReader)
>
> Aha! the JAI AdaptiveMedian and ImageReconstruction demos
> finally fail for me with:
>
> Error: IOException occurs when search for propriate codecs
> java.io.IOException: The handle is invalid
> at java.io.RandomAccessFile.seek(Native Method)
>
> I suspect Java 1.5 here? I'm not sure what changed.
> I'll look into it.
>
> > to run from Kepler. But this all was test, if you could tell me the
> > correct way to get Kepler to locate ptolemy's jai classes.
>
> I'm not sure.
>
> Kepler uses $PTII/bin/build-ptolemy.xml to build Ptolemy.
> It copies the source files to build.src
> It looks like right now, JAI is excluded :
> <copy todir="${build.src}" filtering="yes">
> ...
> <exclude name="ptolemy/actor/lib/jai/**"/>
>
> So, if you remove that line, then the source files would be copied.
> However, the compile will fail for people who do not have JAI
> installed.
> To do this you would need to create a check for JAI. I'm not
> sure how to do this, Dan would know.
>
> > 4) I have been able to run JAI tests (stand alone) as well as my own JAI
> > actors under kepler so I think its not missing any jai jars .
>
> Cool!
>
> I'll look into cleaning up configure and fixing JAI now that it fails.
>
> _Christopher
>
> > thanks,
> > nandita.
> >
> >
> >
> > $ make
> > making jclass in ptolemy/actor/lib/jai/demo
> > make[1]: Entering directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo
> > '
> > making jclass in ptolemy/actor/lib/jai/demo/AdaptiveMedian
> > make[2]: Entering directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo
> > /AdaptiveMedian'
> > make[2]: Leaving directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo/
> > AdaptiveMedian'
> > making jclass in ptolemy/actor/lib/jai/demo/ImageReconstruction
> > make[2]: Entering directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo
> > /ImageReconstruction'
> > make[2]: Leaving directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo/
> > ImageReconstruction'
> > making jclass in ptolemy/actor/lib/jai/demo/VQSequenceDisplay
> > make[2]: Entering directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo
> > /VQSequenceDisplay'
> > make[2]: Leaving directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo/
> > VQSequenceDisplay'
> > make[1]: Leaving directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/demo'
> >
> > making jclass in ptolemy/actor/lib/jai/test
> > make[1]: Entering directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/test
> > '
> > make[1]: Leaving directory
> > `/cygdrive/c/Project/ptII/ptolemy/actor/lib/jai/test'
> >
> > rm -f `basename ImageToJAI.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > ImageToJAI.ja
> > va
> > rm -f `basename JAIAffineTransform.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIAffineTran
> > sform.java
> > rm -f `basename JAIBandCombine.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIBandCombin
> > e.java
> > rm -f `basename JAIBandSelect.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIBandSelect
> > .java
> > rm -f `basename JAIBorder.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIBorder.jav
> > a
> > rm -f `basename JAIBoxFilter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIBoxFilter.
> > java
> > rm -f `basename JAIBMPWriter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIBMPWriter.
> > java
> > rm -f `basename JAIConstant.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIConstant.j
> > ava
> > rm -f `basename JAIConvolve.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIConvolve.j
> > ava
> > rm -f `basename JAICrop.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAICrop.java
> > rm -f `basename JAIDataConvert.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIDataConver
> > t.java
> > rm -f `basename JAIDCT.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIDCT.java
> > rm -f `basename JAIDFT.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIDFT.java
> > rm -f `basename JAIEdgeDetection.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIEdgeDetect
> > ion.java
> > rm -f `basename JAIIDCT.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIIDCT.java
> > rm -f `basename JAIIDFT.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIIDFT.java
> > rm -f `basename JAIImageReader.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIImageReade
> > r.java
> > rm -f `basename JAIInvert.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIInvert.jav
> > a
> > rm -f `basename JAIJPEGWriter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIJPEGWriter
> > .java
> > rm -f `basename JAILog.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAILog.java
> > rm -f `basename JAIMagnitude.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIMagnitude.
> > java
> > rm -f `basename JAIMedianFilter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIMedianFilt
> > er.java
> > rm -f `basename JAIPeriodicShift.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIPeriodicSh
> > ift.java
> > rm -f `basename JAIPhase.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIPhase.java
> >
> > rm -f `basename JAIPolarToComplex.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIPolarToCom
> > plex.java
> > rm -f `basename JAIPNGWriter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIPNGWriter.
> > java
> > rm -f `basename JAIPNMWriter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIPNMWriter.
> > java
> > rm -f `basename JAIRotate.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIRotate.jav
> > a
> > rm -f `basename JAIScale.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIScale.java
> >
> > rm -f `basename JAITIFFWriter.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAITIFFWriter
> > .java
> > rm -f `basename JAIToDoubleMatrix.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAIToDoubleMa
> > trix.java
> > rm -f `basename JAITranslate.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAITranslate.
> > java
> > rm -f `basename JAITranspose.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > JAITranspose.
> > java
> > rm -f `basename SaltAndPepper.java .java`.class
> > CLASSPATH="../../../..;" "/cygdrive/c/jdk1.5.0_05/bin/javac" -g -O
> > SaltAndPepper
> > .java
> >
> >
> > I thought the above would
> >
> >
> >
> >
> >
> > Christopher Brooks wrote:
> >
> > >Hi Nandita,
> > >
> > >When I try to run ptolemy/actor/lib/jai/test/auto/JAIImageReader.xml
> > >under Kepler, I get:
> > >
> > >ptolemy.kernel.util.IllegalActionException: Cannot find class: ptolemy.actor
> .l
> > ib.jai.JAIImageReader
> > >Because:
> > >Could not find 'ptolemy/actor/lib/jai/JAIImageReader.xml' or 'ptolemy/actor/
> li
> > b/jai/JAIImageReader.moml' using base 'file:/C:/cxh/ptII/ptolemy/actor/li
> b/
> > jai/test/auto/JAIImageReader.xml': in file:/C:/cxh/ptII/ptolemy/actor/li
> b/
> > jai/test/auto/JAIImageReader.xml at line 41 and column 69
> > >Caused by:
> > > com.microstar.xml.XmlException: -- C:\cxh\ptII\ptolemy\actor\lib\jai\test\a
> ut
> > o\ptolemy\actor\lib\jai\JAIImageReader.xml (The system cannot find the pa
> th
> > specified)
> > >-- XML file not found relative to classpath.
> > >-- C:\cxh\src\kepler;ptolemy/actor/lib/jai/JAIImageReader.xml
> > >ptolemy\actor\lib\jai\JAIImageReader.xml (The system cannot find the path sp
> ec
> > ified)
> > > in file:/C:/cxh/ptII/ptolemy/actor/lib/jai/test/auto/JAIImageReader.xml at
> li
> > ne 41 and column 69
> > >
> > > at ptolemy.moml.MoMLParser._createEntity(MoMLParser.java:3422)
> > >
> > >
> > >
> > >So, it appears that JAIImageReader is not part of the default Kepler configu
> ra
> > tion?
> > >
> > >Are you running Kepler here or Vergil?
> > >
> > >_Christopher
> > >
> > >--------
> > >
> > > Hi Chirstopher,
> > > I am running Windows XP and jdk1.5.
> > > Here are the JAI jars i have:
> > > C:\jdk1.5.0_05\jre\lib\ext & C:\jre1.5.0_05\lib\ext
> > > jai_codec.jar
> > > jai_core.jar
> > > mlib_wrapper.jar
> > >
> > > C:\jdk1.5.0_05\jre\bin
> > > mlib_jai.dll
> > > checkmmx.exe
> > > mlib_jai_mmx.dll
> > >
> > > I have jai-1.1.2
> > >
> > > From our discussion last time, i suspect that since JAI actors
> > > work in general and I have the above 3 jars.. could it still be a
> > > native JAI library problem? Maybe i am wrong.
> > >
> > > The JAI test cases and all other JAI actors work for me under the
> > > Kepler as well as stand alone applications(w/o kepler). However
> > > JAIImageReader and the SeekableStream gives the codec
> > > IOexceptions.
> > >
> > > The test case that I run is the Ptolemy jai test workflow under
> > > ptolemy/actor/lib/jai/test/auto. I have
> > > tried with PNG and JPG formats..however i get same exception.
> > >
> > >
> > > thanks,
> > > nandita.
> > >
> > >
> > > Christopher Brooks wrote:
> > >
> > > >Hi Nandita,
> > > >Do you have a test case for this?
> > > >
> > > >Also, what OS are you running?
> > > >
> > > >I suspect the problem is that the native JAI library is not being
> > > >found?
> > > >
> > > >Our discussion from January can be found at
> > > >http://www.mail-archive.com/ptolemy-hackers@bennett.eecs.berkeley.edu/m
> sg
> > 0
> > > 0100.html
> > > >
> > > >_Christopher
> > > >
> > > >--------
> > > >
> > > > hi Christopher,
> > > > Sorry i haven't visited this topic for a long time...
> > > >
> > > > I believe that the ptolemy JAIImageReader is causing some codec
> > > > problem in reading certain images.I have JAI actors working in Kep
> le
> > r
> > >
> > > > otherwise.
> > > >
> > > > I wrote another way of getting the Image and then passed the image
> (
> > a
> > > s
> > > > a JAIImageToken) on to Ptolemy JAI actors and got no codec related
> > > > exceptions in reading/processing the image.
> > > > I believe using the SeekableStream in JAIImageReader might generate
>
> > > > similar factory error in some cases?? We can catch such codec excep
> ti
> > o
> > > ns
> > > > in the JAIImageReader and try a second way of reading the image?
> > > > Here is another way of reading the image (which can be used in the
> ca
> > s
> > > e
> > > > that the normal loading file way fails)
> > > > //_fileRoot indicates the filepath of image
> > > > ParameterBlock pb = (new ParameterBlock()).add(_fileRoot)
> ;
> > > > RenderedOp img = new RenderedOp("fileload", pb, null);
> > > > output.broadcast(new JAIImageToken(img));
> > > > Once I add the above, we can make Ptolemy JAI classes compile also
> fr
> > o
> > > m
> > > > the build-ptolemy.xml buildfile in Kepler and add the actors to Kep
> le
> > r
> > >
> > > > library.
> > > >
> > > > thanks,
> > > > nandita.
> > > >
> > > >
> > > > Here is the exception:
> > > > [java] Error: IOException occurs when search for propriate cod
> ecs
> > > .
> > > > [java] Occurs in: com.sun.media.jai.codec.ImageCodec
> > > > [java] java.io.IOException: The handle is invalid
> > > > [java] at java.io.RandomAccessFile.seek(Native Method)
> > > > [java] at
> > > > com.sun.media.jai.codec.FileCacheSeekableStream.readUntil(Fil
> > > > eCacheSeekableStream.java:129)
> > > > [java] at
> > > > com.sun.media.jai.codec.FileCacheSeekableStream.read(FileCach
> > > > eSeekableStream.java:266)
> > > > [java] at
> > > > com.sun.media.jai.codec.SeekableStream.readFully(SeekableStre
> > > > am.java:327)
> > > > [java] at
> > > > com.sun.media.jai.codec.SeekableStream.readFully(SeekableStre
> > > > am.java:306)
> > > > [java] at
> > > > com.sun.media.jai.codec.ImageCodec.getDecoderNames(ImageCodec
> > > > .java:274)
> > > > [java] at
> > > > com.sun.media.jai.opimage.StreamRIF.create(StreamRIF.java:80)
> > > >
> > > > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat
> iv
> > e
> > >
> > > > Method)
> > > > [java] at
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
> > > > sorImpl.java:39)
> > > > [java] at
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
> > > > hodAccessorImpl.java:25)
> > > > [java] at java.lang.reflect.Method.invoke(Method.java:585)
> > > > [java] at
> > > > javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
> > > > [java] at
> > > > javax.media.jai.OperationRegistry.invokeFactory(OperationRegi
> > > > stry.java:1682)
> > > > [java] at
> > > > javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(Thr
> > > > eadSafeOperationRegistry.java:481)
> > > > [java] at
> > > > javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:
> > > > 340)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createInstance(RenderedOp.java:830
> > > > )
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createRendering(RenderedOp.java:87
> > > > 8)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.getRendering(RenderedOp.java:899)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createInstance(RenderedOp.java:810
> > > > )
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createRendering(RenderedOp.java:87
> > > > 8)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.getRendering(RenderedOp.java:899)
> > > > [java] at
> > > > ptolemy.actor.lib.jai.JAIImageToken.asAWTImage(JAIImageToken.
> > > > java:95)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageTableau.display(ImageTableau.jav
> > > > a:197)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageTableau.append(ImageTableau.java
> > > > :139)
> > > > [java] at
> > > > ptolemy.actor.gui.TokenEffigy.setTokens(TokenEffigy.java:226)
> > > >
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageDisplay._display(ImageDisplay.ja
> > > > va:243)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageDisplay$2.run(ImageDisplay.java:
> > > > 209)
> > > > [java] at
> > > > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
> > > > 209)
> > > > [java] at java.awt.EventQueue.dispatchEvent(EventQueue.jav
> a:
> > 4
> > > 61)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
> > > > spatchThread.java:242)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
> > > > atchThread.java:163)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
> > > > ava:157)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
> > > > ava:149)
> > > > [java] at
> > > > java.awt.EventDispatchThread.run(EventDispatchThread.java:110
> > > > )
> > > > [java] Exception in thread "AWT-EventQueue-0"
> > > > java.lang.RuntimeException: -
> > > > Unable to render RenderedOp for this operation.
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createInstance(RenderedOp.java:838
> > > > )
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createRendering(RenderedOp.java:87
> > > > 8)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.getRendering(RenderedOp.java:899)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createInstance(RenderedOp.java:810
> > > > )
> > > > [java] at
> > > > javax.media.jai.RenderedOp.createRendering(RenderedOp.java:87
> > > > 8)
> > > > [java] at
> > > > javax.media.jai.RenderedOp.getRendering(RenderedOp.java:899)
> > > > [java] at
> > > > ptolemy.actor.lib.jai.JAIImageToken.asAWTImage(JAIImageToken.
> > > > java:95)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageTableau.display(ImageTableau.jav
> > > > a:197)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageTableau.append(ImageTableau.java
> > > > :139)
> > > > [java] at
> > > > ptolemy.actor.gui.TokenEffigy.setTokens(TokenEffigy.java:226)
> > > >
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageDisplay._display(ImageDisplay.ja
> > > > va:243)
> > > > [java] at
> > > > ptolemy.actor.lib.image.ImageDisplay$2.run(ImageDisplay.java:
> > > > 209)
> > > > [java] at
> > > > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
> > > > 209)
> > > > [java] at java.awt.EventQueue.dispatchEvent(EventQueue.jav
> a:
> > 4
> > > 61)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
> > > > spatchThread.java:242)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
> > > > atchThread.java:163)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
> > > > ava:157)
> > > > [java] at
> > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
> > > > ava:149)
> > > > [java] at
> > > > java.awt.EventDispatchThread.run(EventDispatchThread.java:110
> > > > )
> > > >
> > > >
> > > >
> > > >--------
> > > >
> > > >
> > >--------
> > >
> > >
More information about the Kepler-dev
mailing list