It was always a goal to integrate a powerful Java editor in Bio7. The current default Java editor of Bio7 is a custom editor with a set of tools to ease the creation of valid Java files and enables the compilation of Java classbodies and regular Java classes dynamically.
However the editor lacks many advanced Java editing capabilities which would be very hard to implement bottom up. So instead of trying to improve the current editor i evaluated the use of JDT (Java development tools) inside of Bio7.
After some research and time i was finally able to embed JDT in Bio7 in a decent and easy to use way. As the result in next release you can create a Bio7 Java project with JDT support using several project creation wizards of Bio7 which create e.g. Bio7 Java templates ready for dynamic compilation (see below).
The file(s) for compilation are created in the base src folder (the bin folder contains compiled *.class files which we don’t need for dynamic compilation – the built process can be disabled in the preferences).
As in previous releases the dynamic compilation action is available in the toolbar of Bio7 (you don’t need the Run configuration of JDT) to compile the files instantly
into the current Java process.
The process of creation also configures the project Build Path automatically to include all necessary Bio7 runtime libraries, binaries and source folders which are needed more or less for the dynamic compilation process (see screenshot below) so that no further adjustments are needed to interact with the Bio7 environment.
The JDT Java editor drastically improves the creation of Java simulation models, etc. You definitely profit from the fantastic editing support of the editor with code completion, refactoring and error analysis, Quick fixes, etc. (below a screenshot shows the code completion for the available Bio7 API).
However if the Java editor is not active the usual Bio7 GUI is not cluttered by JDT elements.
At all JDT support for Bio7 is a huge improvement for the creation of e.g. simulation models avoiding many errors with Java classes. The Java file creation and the dynamic compilation process will be as easy as in previous releases of Bio7.
Today i tried Bio7 1.7.1 with the new Eclipse 4.4M3 platform and it didn’t look bad. There are some minor UI bugs/defects and missing implementations (detached views, e.g.) but i’m quite confident that these bugs will be resolved soon by the Eclipse team. At all this is huge improvement to 4.3 which was not usable with my RCP application. Here a first screenshot:
As you can see some controls and menus are not in the right place. But at all 4.4 will be a huge UI improvement.
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.
In the next Bio7 release it will be possible to create custom GUI’s with the JavaFX Builder or with the new JavaFX API. I already integrated an API to load and compile a *.fxml file into a custom view of Bio7. GUI interfaces can easily be created with the new available JavaFX Scene Builder from Oracle and saved in a project of the Bio7 workspace. Objects and actions are accessible by means of Dependency Injection using the @FXML annotation.
Furthermore in the next release several custom views can be created side by side (i removed the tab implementation) e.g. to combine several custom GUI’s and panels. In the screenshot below an example shows the created GUI of the Scene Builder (screenshot above) side by side with three other custom views (processing API examples).