User Tools

Site Tools


documents:101105ij_r_jython

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
documents:101105ij_r_jython [2010/11/04 13:46] – created kotadocuments:101105ij_r_jython [2014/04/15 15:23] – [2. Using ImageJ from R] kota
Line 1: Line 1:
-====== Python <- (ImageJ, R) ====== 
- 
-Analysis using several tools is a powerful way to deal with complex Image data. We often do this, and here is one small example of taking advantages of ImageJ and R at the same time.  
- 
-ImageJ classes could be accessed by Jython, a python based java interface. R has rJava (JRI, Java - R Interface). For this reason, one way of using ImageJ functions and R functions in an integrated environment is to use these resources from Jython.  
- 
-Do everything from Java is one way, but python-scripting environment is light enough to test many things. After these testings are done, then a serious Java code could be written.  
- 
-Here is a trial in win32. All commands will be done from command line. It should basically be similar in other environment.   
- 
-===== Setting Up Environment. ===== 
- 
-You should have done: 
- 
-  * [[http://rosuda.org/rJava/|rJava]] package should be installed in R.   
-  * [[http://www.jython.org/|jython.jar]] should be somewhere locally.  
- 
-**1. set CLASSPATH** 
- 
-Following three jars should be in your classpath.  
-  * JRI.jar 
-  * REngine.jar 
-  * JRIEngine.jar 
-  * ij.jar 
-... so in command line 
-<code> 
-set CLASSPATH=%CLASSPATH%;C:\Program Files\R\R-2.12.0\library\rJava\jri\JRI.jar;C:\Program Files\R\R-2.12.0\library\rJava\jri\REngine.jar;C:\Program Files\R\R-2.12.0\library\rJava\jri\JRIEngine.jar;C:\ImageJ2\ij.jar 
-</code> 
-**2.  set PATH** 
- 
-R native libraries should be linked. Then the path should be added with bin, jri, R.dll and JVM.dll: 
-<code> 
-set PATH=%PATH%;C:\Program Files\R\R-2.12.0\bin;C:\Program Files\R\R-2.12.0\library\rJava\jri;C:\Program Files\R\R-2.12.0\bin\i386;C:\Program Files\Java\jre6\bin\client 
-</code> 
-===== Example Scripting ===== 
-<sxh python> 
-C:\>java org.python.util.jython 
-Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54) 
-[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_22 
-Type "help", "copyright", "credits" or "license" for more information. 
- 
-#importing image using ImageJ 
- 
->>> import ij.IJ 
->>> import org.rosuda.JRI.REXP 
->>> import org.rosuda.JRI.Rengine as Rengine 
->>> import ij.IJ as IJ 
->>> imp = IJ.openImage("http://rsb.info.nih.gov/ij/images/blobs.gif") 
->>> imp.show() 
->>> flA = imp.getProcessor().getFloatArray() 
->>> intA = imp.getProcessor().getIntArray() 
->>> intA3=intA[3] 
->>> histA = imp.getProcessor().getHistogram() 
- 
-# going into R, first instantiate 
->>> engine = Rengine(['--no-save'], False, None) 
->>> engine.assign("histR", histA) 
->>> engine.eval("pixint <- {0:255}") 
->>> engine.eval("histform <- data.frame(pixint, histR)") 
- 
->>> engine.eval("plot(histform$pixint, histform$histR)") 
-#.. will plot the graph but one cannot close it... 
- 
->>> engine.eval("graphics.off()") 
-#will close all the plots.  
- 
-</sxh> 
- 
- 
  
documents/101105ij_r_jython.txt · Last modified: 2020/11/26 09:11 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki