A new Java menu action (in the Scripts menu) is available to start a Py4J server which can communicate to Java and CPython (if enabled in the native preferences of Bio7 and Py4J is installed in the local Python distribution). With this feature it is, e.g., possible to transfer ImageJ values to CPython or call the Bio7 Java API.
Improved the embedded native pseudo terminal to send signals to a process tree (e.g., SIGINT = STRG+C).
Added an option in the native preferences to interpret a Python script with a a native CPython interpreter >=3.0.
Download Bio7 and simply unzip the Bio7 archive file in your preferred location. Bio7 comes bundled with a JRE so you don’t need to install Java separately. The Bio7 application was tested on Ubuntu 14.04 (minimum requirement).
For the Linux version of Bio7 2.0 R and Rserve have to be installed. For the use in Bio7 Rserve has to be compiled with a special flag to enable the cooperative mode (see below).
In a shell simply execute:
sudo PKG_CPPFLAGS=-DCOOPERATIVE R CMD INSTALL Rserve_1.8-1.tar.gz
The command will compile and install the Rserve package in your default Linux R application. This is necessary to share the R workspace when you switch from a local Rserve connection to the native Bio7 R console (see this video for an explanation of the new connection mode in Bio7).
Please note that the default R package location of Bio7 is: /usr/lib/R/site-library
The location (and the path to R) can be changed in the R preferences of Bio7 (e.g., menu: R->Preferences).
In the new version of Bio7 2.0 i added some new easy to use functions to transfer image data from ImageJ to R. For example, you can now drag a folder of images on the ImageJ-Canvas
view, open them memory efficient as a virtual stack in ImageJ and transfer them with one action as a list (or raster stack) to R.
With the new or improved actions it is possible to:
Transfer an ImageJ stack or virtual stack to R (RGB data or selected datatype will be transferred as a list).
Optionally transfer the stack as a raster stack (if the “raster” package is installed).
Transfer values from an opened ImageJ “Results Table”.
Beside this new or improved actions there are many other methods available to transfer image data, selected pixel or selected coordinate data from ImageJ to R.
For an overview of the different functions i created a video playlist on YouTube how Bio7 can effectively asssist in the transfer and statistical analysis of image data (with the help of ImageJ and R).
A new Windows version of Bio7 is available. Many new features have been added to Bio7 2.0 which is now based on Eclipse 4.4. Highlights are the improved R editor, the R debugging Graphical User Interface (using the standard R debugger), the integrated Java Development Tools (JDT) to create Java simulation models with a powerful Java editor and the embedded JavaFX SceneBuilder to create embeddable GUI’s on the fly.
Here an overview of the new features:
Updated R to Version 3.1.2
Updated Rserve to version 1.7.3
Rserve is now started by default within a R process in a pseudo-terminal in Bio7.
The R pseudo-terminal can also be started without Rserve.
If started only in the native pseudo-terminal some Rserve functions are not available (e.g. the plots will be displayed in the default R graphic device and not in ImageJ!)
The R terminal and Rserve are now sharing the same process.
If you switch from Rserve to the R native pseudo-terminal all R Objects will be preserved and vice versa (same process).
Implemented a debugging GUI interface for the R debugger visible if a breakpoint in the editor has been set.
Added two special debug views to the R perspective.
If a debugging process is started Rserve automatically switches to the native connection.
Added an interrupt action to the R-Shell and the R console to interrupt an R evaluation (Strg+c in the console).
Added console actions to kill a native process and to kill a native R (Rterm) process if necessary.
Created a new single preferences page for the plot setting .
Added a format action (using “formatR” package if installed).
Extended the code completions for the R editor.
Syntactical errors are now indicated in the editor.
Implemented code folding for functions.
Implemented hoover actions for the editor (R help for e.g. a function).
Improved the recognition of numbers in the R editor.
Implemented a marker for matching brackets.
Implemented a function to mark reoccuring words in the editor.
ImageJ and R
Added a new action to transfer the values of the ImageJ “Results Table” to R.
Improved the Particles action. Now the Particle measurements are transferred from the “Results Table” to R which means that now all values from a stack can be transferred, too.
Added a new action to transfer all stack images of an opened stack (also from a nearly non memory consuming virtual stack) to R.
A new option is available to convert the stack images to a RasterStack (if the “raster” package is installed).
With this action it is also possible to transfer R,G,B values from all slices (images) of a stack, too.
Improved the ImageJ image to R API to create matrices from transferred image values.
Created an new API method to transfer particle analysis values programmatically.
Improved the display. The default image layout now works better after a resize event.
ImageJ tabs can now be detached like an image window (see below).
Added some improvements for external ImageJ plugins.
Updated ImageJ to the latest version.
Added more image examples from the ImageJ website.
The size of the “Image-Methods” view and the ImageJ toolbar dialog can be adjusted in the Bio7 preferences.
Improved the table editing in the “Table” view of Bio7. If you now edit a value and press the return key automatically the next cell is selected for editing (arrow keys for left and right, Tab key for selecting the upper cell).
Now the table scales if you paste values or if you transfer vector values from R.
The scrollbars now follow the location of the next edited cell.
The sheet tabs handle is now located at the bottom of a sheet.
The speed of the table component has been improved.
Created several new Java wizards to create Bio7 projects, JavaFX projects, etc. in Bio7. They are creating a Bio7 JDT project with all necessary Bio7 classpath libraries. In addition a wizard for a WindowsBuilder project is available, too.
Bio7 is now compatible with the most Eclipse plugins which can be installed with the Update Manager of Bio7 (see “General” section below).
Improved the compilation which now can detect main classes organized in Java packages.
Added a new action to fix the JDT classpath (also invoked if a Bio7 JDT project gets imported). This is necessary to recalculate the JDT library paths for a local Bio7 installation.
Hid unnecessary GUI elements from JDT.
Updated all scientific and custom Bio7 libraries.
Integrated two new SWT libraries to create scientific components and components in general (Nebula visalization – see below, Opal).
The Eclipse jobs API can now be used from within Bio7.
Ported all Java examples to JDT projects and reorganized the examples.
In my last post i presented the first version of a debugging GUI for R in Bio7 which is just a visual wrapper for the default R debugging functions. In the meantime i added some new methods and also improved the visualization. For the upcoming Bio7 release i have to make some cleanups but however here is a short video showing some basic functionalities of the GUI.
For the next release of Bio7 I implemented a first simple debugging GUI (Graphical User Interface) for R scripts. For the debugging process a change from Rserve to an available Java R console connection in Bio7 is necessary (with Rserve alone a debugging interface wouldn’t be possible).
Both connections runs in the same process and all objects will be preserved if you switch from one connection to another (shutting down RServe or start R in the console).
Technically in the next version of Bio7 Rserve is started by default within a native Java R connection!
Still there is some work and testing to do but here is a short video about the new debugging interface: