For the next release of Bio7 based on Eclipse 4.4 an improvement of the R editor for a much better editing experience of R scripts will be available. The integrated editor itself is built bottom-up (based upon an Eclipse editor editor template) although there a great editor frameworks (DLTK) or frameworks to develop programming languages and domain specific languages (Xtext) for Eclipse available.
I decided to built the editor this way to avoid dependencies with Eclipse plugins adding unnecessary interfaces and complexities in a Rich Client Platform and because i wanted to understand the internals of the editor for manageable improvements of upcoming releases.
Until now i integrated a parser for R based on ANTLR, implemented error marking, code folding, a first simple version of “Quick Fixes” and an outline view for the R scripts.
This screenshot demonstrates:
Here a screenshot with error marking and a “Quick Fix”:
Beside other improvements coming from Eclipse (e.g. split editor capabilities) for the next release of Bio7 i hope that this new functionality will ease the development of R scripts inside of Bio7.
Finally i released Bio7 1.7.1 for MacOSX. This release is bundled with a Java Runtime Environment and the latest R version (3.0.2) for MacOSX. For the plot functionality eventually XQuartz has to be installed (if not already installed!).
Please note the installation requirements at the bottom of the page. Here are some screenshots for a first impression:
- MacOSX >=10.7.3 64-bit
- Eventually XQuartz
- Avoid blanks in the Bio7 installation path for the bundled JRE (Java Runtime Environment)
Eventually XQuartz has to be installed to use the default custom R plotting device of Bio7 on MacOSX. If you plot the first time with R and XQuartz is not available a dialog will inform you about the missing installation.
Simply unpack the Bio7_1.7.1_Mac64.zip in your preferred location. A double-click on the Bio7 file in the created Bio7 folder will start the application from the local bundled JRE.
If you would like to use Bio7 with your installed R application:
Please install the Rserve package. After the Bio7 start adjust the path to R in the Bio7 Preferences.
You can get the path from the R application with the command:
E.g. path to R: /Library/Frameworks/R.framework/Resources. Also adjust the path to the install location of the R packages:
Preferences->Preferences Bio7->Preferences Rserve
You can get the path from your R installation by evaluating the expression
in the R console. If an error is indicated in the Bio7 preferences please adjust wrong paths to the correct location or adjust them to a temporary available location else you can’t save the preferences.
For an overview of the new Bio7 features in this release please read the following posts:
New in Bio7 1.7
New in Bio7 1.7.1
Bio7 1.7.1 can be downloaded here.
I released a new Linux version of Bio7 (64-bit only – see Screenshots below).
For an overview of the new features please read the release notes for Windows 1.7.0 and 1.7.1:
In addition some Linux specific improvements are embedded in this release.
Additional Linux features:
- Rserve can be opened with a Gnome or xterm terminal
- New silent Rserve connection (without the need to start xterm)
- Improved Rserve shutdown
- New option to open R plots with Inkscape (*.svg, *.eps)
- New option to open *.pdf files with a specific reader
- Added a Linux pseudo terminal (using bash) in the Bio7 console
For an installation simply extract the Bio7 *.zip file at your preferred location.
To use R within Bio7 you have to install R and the package Rserve from within R.
The paths to R have to be adjusted in the following Bio7 R preferences:
The default path to R on Linux is:
Bio7 Linux 1.7.1 comes with a bundled Jre (1.7.40) so you don’t have to install the latest Java.
The default reserved memory space for Java on the Linux OS is 1024mb.
A more detailed instruction can be found in the Bio7 documentation:
Bio7 1.7.1 for Linux can be downloaded here!
I released a new Windows version of Bio7. This release improves the general R plot functionality of Bio7. The default image plots are now displayed in a Image stack if more than one plot command is executed. In this way all plots are automatically openend and not only the last image plot. Multiple plots (e.g. an animation or simulation) can then be saved as an animated *.gif file (see example below) or an *.avi file, etc. with the available default ImageJ methods.
Furthermore i added some templates in the preferences to switch e.g. to a *.pdf (displaying multiple plots) or *.svg plot (displaying a single plot) which will be opened with the default registered software if available – for *.svg i recommend Inkscape).
For antialiased image plots i added an “Image Cairo” option.
Click on the image below to open an overview video!
Animated *.gif exported with ImageJ
- Updated ImageJ to version 1.48b.
- Improved the custom R plot display.
- Synchronized the “Plot Data” actions in the “R-Shell” view with the settings in the Bio7 Rserve preferences.
- Added more R plot options (with templates) in the Bio7 Rserve preferences (see screenshot below).
- Synchronized the “Plot Data” actions with the settings of the plot preferences.
- Updated Rserve to version 1.7-3
- Updated some useful links to R resources and documents (Menu Help->Bio7 Internet).
- Fixed a bug which occured when opening the 3d panels of Bio7 while a resized! ImageJ image was displayed.
- Fixed a bug of the embedded ImageJ.
A Linux and Mac version is planned after the next Java Runtime release.
The new Bio7 release can be downloaded here!
A new Windows version of Bio7 is available. This version comes with a lot of new features and improvements for Java, R and ImageJ. One highlight is that you can now interpret Jython (Python) code with Bio7. In addition a new console implementation is available which offers access to a native shell, different Java interpreted languages, etc.
Below you find new videos about some new features of Bio7 1.7, a general feature overview and installation details.
Compile Java with Bio7 1.7
Create a custom JavaFX view
The new Bio7 Console
Particle Analysis with ImageJ, R and the Points panel
Plot data with R and ImageJ
Interpret Python scripts in Blender interactively
- Updated RCP platform to Eclipse 3.8.2
- Custom views can now be created with ID’s for Custom views inside of Bio7.
- Updated ImageJ
- Updated R
- Updated Rserve
- Changed the OpenOffice API and actions to LibreOffice
- New file wizards available (Jython, Html, Knitr, JavaFX, etc.)
- Removed the BeanShell menu (see section scripts)
- Removed the BeanShell console (now available as part of the Bio7 console)
- Extended the console of Bio7 (see section Scripts)
- Added Console options and typical commands
- Added console text options
- Integrated a new webeditor (JavaFX) which can be opened as a regular editor in Bio7
- Added new libraries for the support for e.g. serial communication (useful for Arduino boards)
- New examples available (serial examples, Jython, Multiple classes, etc.)
- Added native shell access to the Bio7 console (see image below)
- Added command templates to the shell menu
- Improved R console messages
- Updated embedded scientific Java libraries
- Now an Bio7 editor can add code snippets from selections to the Snippets view
- Rearranged the Image-Methods view
- Improved the Linux R output
- Startup scripts are now interpreted by Groovy for a custom startup of Bio7 (if enabled in the preferences)
- Added some new API methods (e.g. function to write to the new console).
- Rearranged and renamed some preferences for an improved overview.
- Added editor menus for the language specific preferences.
- Cleaned up the popup menu in the Navigator view and removed old BeanShell actions
- Native Python execution from the shell, Jython editor and the Flow editor can be enabled in the Bio7 preferences
- Native R execution from the shell, R editor, some R actions and Flow can be enabled in the Bio7 preferences
- Updated all native execution methods to use the recommended ProcessBuilder for Java >=1.7.21
- Resolved and fixed bugs
- Added preferences for Python, R and Blender to execute native R, Python, Blender Python scripts if enabled in the Bio7 preferences.
- Added default options for Python, Blender and R.
- Added new examples for Bio7 1.7
- Dynamic compilation support for multiple Java classes and subclasses
- Compilation to *.class files is now supported for multiple Java classes
- If a *.class is selected and a main method is available it can be executed with a new action in the context menu of the Navigator view.
- Error indication support for multiple classes
- Drag and drop support for full classes stored along with grid definitions
- Added a new option to compile Java classes or classbody files in the Bio7 preferences
- JRE ext directory can be used to extend the Java classpath with external Java libs
- JavaFX support for Bio7
- *.fxml files can now be created in the Bio7 workspace (along with a main Java file and a Controller file for the free available JavaFX Scene Builder from Oracle, see image below)
- Support for JavaFX Java source files
- JavaFX Scenes can be embedded into custom views
- Fullscreen support for JavaFX views (F1 = Fullscreen, F2= Fullscreen frame, F3=Fullscreen frame secondary monitor, F4= Fullscreen frame tertiary monitor, F5= Fullscreen frame quartiary monitor)
- If Fullscreen is activated an info message appears in the view which is in Fullscreen mode.
- Java files and subfiles can be instantiated and packages will be recognized, too (only if the file is opened in the Java editor and compiled with the editor action. Compilation from the context menu is available, too (without package recognition!)
- New Java wizards available (JavaFX, etc.)
- The main class of a Java project (which possible consists of multiple dependent subclasses) can be dragged in the Flow editor for execution.
- Added an action to compile multiple Java classes (context menu Navigator view)
- Added several compiler options to the Bio7 Java Preferences
- Added an editor context submenu to open the Java preferences faster
- The Constructor of a Java file is executed after compilation if available.
- If a main method of a regular Java class is available (not extending the Model class of Bio7!) it will be called after the compilation and instantiated.
- Extended the default console to accept input for different Script interpreters
- BeanShell, Groovy and Jython commands can be evaluated in the new console
- Added a function to show a history of past commands (arrow keys)
- Bio7 now supports the Jython interpreter
- New Jython editor available (see image below)
- Added new icons for the different editors
- Removed the old BeanShell console
- Removed the old BeanShell menu in the main menubar of Bio7
- Jython scripts can now be evaluated in the Flow editor
- Jython scripts can use the Bio7 API
- New file wizards for the different scripting languages available
- Python scripts can be executed if the native execution is enabled in the Bio7 preferences and the path to Python has been specified in the preferences
- Blender Python scripts can be executed if the native execution is enabled in the Bio7 preferences and the path to Blender has been specified in the preferences.
- Knitr support to compile knitr files (*.html, *.latex, etc.) in the Navigator of Bio7 (context menu)
- Knitr support in the Flow editor of Bio7 (for example to generate a report of simulation results, see image below)
- Plots can be created interactively with the shell or the editor and are opened in ImageJ (as a plot display)
- New option in the Bio7 Rserve preferences to change the definition of the default plotting device.
- Added a new option to start Rserve automatically after Bio7 startup
- Experimental support to activate plots (Keys: Alt+a) in a blocking job as long as plots are opened (the R script for this functionality can be accessed and if necessary improved).
- Support for the interaction with commands (Windows) which require console commands (e.g. scan() – if the console requires input the textfield will be marked with a different color).
- Faster „Image“ plot in the plot section of the R-Shell view.
- Added a custom menu for scripts (R, Groovy, Jython, BeanShell) in the R-Shell view menu . Scripts which can be dropped in a special Bio7 folder
- Added a submenu in the context menu of the R editor to open the R preferences faster
- Added R package skeleton action in the context menu of the Navigator view to create R packages (with Rserve).
- Added R package built and install actions (with the native shell).
- Added R action to create *.pdf files out of *.Rd files (with the native shell)
- Added options in the Bio7 preferences for the built package commands
- Added native R access without the necessity to use Rserve. The editor, the shell and the Flow editor can be used with this new feature.
- Added fast workspace transfer function (F1-Key) from Rserve to the native R workspace
- Added Drag and Drop *.Rdata file feature for the native R access.
- Added Bio7 preferences options to enable the use of the native startup of R
- Added R and Rserve startup arguments in the Bio7 preferences.
- Added a submenu in the packages tab of the R-Shell view to refresh the view of available packages.
- Rearranged the R perspective and added the Editor Area, FileNavigator and Console view (ImageJ will be opened, too if a plot command occurs, see images below)
- If a plot command occurs the ImageJ-View will be opened with the plot as a default plotting device.
R – ImageJ
- Added a new method to transfer multiple selections from all or selected slices of a Stack (see image below)
- Splitted the pixel selection transfer action into two different actions for a better usability.
- Improved the Particles transfer method. Now uses the default ImageJ options.
- Points panel is now updated when Reset field action etc. is pressed.
- Added a new web editor with source and GUI support (the GUI part uses the JavaFX web editor)
- Webeditor is now a regular Bio7 editor
- Added action in the GUI to open the created file in the system web browser
- Gridsize for the layout can be configured
- Flow editor can now execute Jython scripts
- Flow editor can now execute either native python or Blender python scripts (if enabled in the preferences)
- Flow editor can now execute knitr *.Rhtml reports
- Flow editor can now execute knitr *.Rtex reports
- Flow editor can now execute a Java main class (dependant subclasses will automatically compiled, too)
- Improved the warnings for the access of the WorldWind API (if the WorldWind view is not active).
- Updated WorldWind to version 2.0 (using JOGL 2.0)
- Added a function to capture an animation to an ImageJ stack in a Bio7 job.
- Added options to adjust the framerate and the amount of frames to be rendered.
- Added WorldWind GeoTIFF import (coordinates will be set to the textfields)
- Added a „Go to” function for the GeoTIFF
- Added a first WorldWind Shapefile import
- Updated OpenGL library to JOGL 2.0
- Updated all Bio7 OpenGL examples to be compatible with JOGL 2.0
- Improved overall stability
- Fixed memory bugs with SWT
The installation of Bio7 is similar to the installation of the Eclipse environment. Simply decompress the downloaded *.zip file in a preferred location on your file system. After decompressing with a standard zip-tool (like WinZip, Win Rar) the typical file-structure of an Eclipse based application will be created.
To start the application simply double click on the Bio7.exe (Windows) .
Optional R packages
In Bio7 1.7 please install the R package rgdal which is needed for some import and export scripts and knitr to use the report features with R.
For further information please read the Bio7 documentation on the Bio7 website.
Info about system requirements
It is recommended that your computer should have at least 2048 mb ram and a 1 ghz processor. A 3d Graphics Card which is OpenGL enabled (only necessary for the “Spatial” view and the embedded “WorldWind” view. To use the LibreOffice feature of Bio7 an installation of OpenOffice (LibreOffice) >= 2.0 is required. The path to LibreOffice can be adjusted in the Bio7 preferences to the default path.