Author Archives: Marcel Austenfeld

Bio7 MacOSX And Windows Update Available

19.04.2019

I created an update for MacOSX and Windows which can be easily installed with the Update Manager of Bio7. This update fixes some bugs (which affects Windows and MacOSX only), adds two new scripts in the R-Shell view and updates the ImageJ plugin to version 1.52o33.

Before you update Bio7 make sure that you make a backup of possible installed scripts and ImageJ plugins in the default script and ImageJ plugin location because these two plugins and their preferences will be updated (it might be a good practice to externalize these locations in the Bio7 preferences for updates in the future).

Installation:

1. Add the update sites below to the Update Manager (Help->Install New Software)

2. Add the URL (Location) of the Update Site (see below).

3. Close the Update Manager and then check for Updates (Help->Check for Updates).

4. Select Bio7 and confirm all licenses and unavailable certificates during installation.

Update Sites for Windows and MacOSX:

Windows: https://bio7.org/update/win/repository
Mac: https://bio7.org/update/mac/repository


Easily Built And Share Custom R Menu Scripts With Bio7

09.04.2019

Bio7 can be extended with R packages, Eclipse plugins and ImageJ plugins. Another very easy option to extend the Bio7 Graphical User Interface with R actions are dynamic menus which can be used, e.g., for personalized workflows or repeating tasks.
The provision of new menus and nested menus is simple and can be arranged for different tasks.

Three different menu locations can be populated with custom scripts. One location is the context menu of the R-Shell view.

To extend the R-Shell context menu scripts have to be copied to a default script location of the Bio7 installation. Folders in the locations constitute a new submenu, nested folders results in nested submenus. It is not necessary to restart the application because the menus are updated automatically and copied scripts are instantly available as an executable action

Executable R scripts in a menu can be used for instance to offer different plot actions (there is a special hidden vector variable available ‘.r_shell_vars‘ to get multiple selected objects, e.g., to plot a selected variable (without the need to use a Java to R API!):

plot(get(.r_shell_vars[[1]]))

In addition the different default script locations can be changed in the preferences. This is handy if you want to share scripts in a team using, e.g., GIT for updates and reproducibility.
For Bio7 you can install the Eclipse GIT plugin (Menu: Help->Install New Software, Select ‘Eclipse Repository’, search for ‘git’, select and install ‘Git integration for Eclipse’) to share a local script folder on GitLab, Github, Bitbucket, etc.

A short overview how to create custom menus in the R-Shell context menu is demonstrated in the video below:

Please note that the menus can also be extended with JVM script types which run on the JVM (Java, Jython, Groovy, BeanShell, JavaScript, ImageJ Macro). If a custom interface should be created a selected JVM language can be used to create custom views and populate a special custom perspective.
Special API functions for the interaction of Java and R are available, too.

An example how to build and invoke a custom interface with Java SWT is shown in the video below (a pure Java example installing and using the WindowBuilder plugin):


Bio7 3.0 Released

27.03.2019

A new release of Bio7 is available which is built upon Eclipse 4.11 and the latest Java OpenJDK. This new version comes bundled with OpenJDK 12, supports the dynamic compilation of Java 11 and fixes several annoying bugs on MacOSX (e.g., shutdown crashes).

The R interface has been improved and the R-Shell now updates the workspace display automatically after a R code evaluation or R data transfer.

In additon for Bio7 3.0 the themes have been improved (especially for MacOSX and the Mojave dark mode) and some Touch Bar actions for MacOSX are available, too (if the MacOSX device has a Touch Bar).

Screenshots:

Screenshot MacOSX Mojave (dark mode)

Screenshot Linux Ubuntu 18.10:

Release Notes:

General:

  • Built upon OpenJDK 12 and Eclipse 4.11
  • Bundled with OpenJDK 12
  • Improved script menus
  • Touch Bar actions for MacOSX devices when a Touch Bar is available (can be enabled in the Bio7 preferences)
  • Image perspective is now hidden by default (we have already the ImageJ edit perspective)
  • Updated SSH executables for Windows
  • Multiple Images and PDF files can now be opened from without a lost focus

R:

  • Windows version bundled with R 3.5.3 and Rserve
  • R-Shell displays objects after evaluation
  • More default scripts in the R-Shell scripts menu (PyRserve, Install Rserve, etc.)
  • R-Shell visual improvements (line height of code completion – see preferences)
  • Added Touch Bar actions for MacOSX (can be enabled in the preferences)
  • Clipboard code evaluation improved
  • Improved browser selection for rmarkdown, knitr, R help, etc.
  • Improved text search speed for package installation search (MacOSX)

Java

  • Dynamic compilation of Java 11 supported
  • Added support for Java modules in the preferences (if necessary)
  • Added support for add-on libraries as installable plugins (OSGI)
  • *.java or *.class files can be put in the scripts menu for compilation (*.java) or execution (*.class)
  • Added support to compile Java files on the ImageJ classpath (which is a seperated OSGI classpath) to compile ImageJ plugins with dependent *.jars
  • High dpi scaling for Java Swing and AWT available if configured in the Bio7.ini file (-Dsun.java2d.uiScale=2.0 for high dpi displays)
  • Updated JOGL to version 2.3.2 with custom fixes
  • Changed the 3D interfaces (WorldWind, 3d) to the faster NEWT interface.

Table:

  • Excel export now exports all opened tabs as sheets in one file
  • Images in cells are now exported in excel files, too (anchored at cells)
  • Improved scripts menu

ImageJ:

Huge amount of changes since the last release. For all changes, see:

https://github.com/Bio7/EclipseImageJ1Plugin

Download and Installation:

Windows:

Just download the *.zip distribution file from https://bio7.org and unzip it in your preferred location. Bio7 comes bundled with a Java Runtime Environment, R and Rserve distribution and works out of the box.

Linux:

Download and extract the installation file from https://bio7.org.
For Linux you have to install R and Rserve (see Rserve installation below!).

MacOSX:

Download and extract the installation file from https://bio7.org.

If you start Bio7 a warning or error can occur because of the changes how Apple treats signatures! To allow Bio7 to start see this instructions for Yosemite, Sierra and Mojave:

Yosemite: Open an app from an unidentified developer

Sierra: Open an app from an unidentified developer

Moave and Sierra: How to fix “Application” is damaged and can’t be opened error in macOS Mojave and High Sierra.

In addition for MacOSX you have to install R and Rserve (see below!).

Linux and MacOSX Rserve (compiled for cooperative mode) installation:

To install Rserve open the R shell and then execute the menu action “Options -> Install Rserve (coop. mode) for R …” for different R versions. This will download an install Rserve in your default R library location, see video below (please make sure that your default Linux R library install location has writing permissions!).
In cooperative mode only one connection at a time is allowed (which we want for this Desktop appl.) and all subsequent connections share the same namespace (default on Windows)!

How to install Rserve for Linux and MacOSX: https://youtu.be/tF7HbRBRIF

Installation of Useful R Packages

R packages which are useful in combination with Bio7 can easily be installed with the R-Shell context menu “Packages” action:

R-Shell context menu->Packages->Install_Default_R_Packages

Bio7 Documentation

For more information about Bio7 please consult the soon updated Bio7 User Guide.

A plethora of Bio7 videotutorials for an introduction can be found on YouTube.

Eclipse ImageJ Plugin Update Released

12.02.2019

I released a new version of the ImageJ plugin which comes bundled with a feature complete ImageJ macro editor and an embedded Eclipse ImageJ interface.

Screenshot (Windows, Eclipse Darkest Dark Theme)

Screenshot Code Completion (Windows, Eclipse Darkest Dark Theme)

Release notes:

  • Updated ImageJ version 1.52m (1.52m12)
  • Improved the ImageJ canvas (Plot canvas and Image canvas are now opened as intended)
  • The ImageJ canvas replace method now works as intended (see, e.g., IJ_webcam capture plugin)
  • Improved plot canvas (zooming, actions, etc. are now working as intended)
  • Plot action buttons are now added below each plot (see screenshot below)
  • Added new actions (in the plugins menu) to interpret the current opened Eclipse editor sources (BeanShell, JavaScript, Jython and ImageJ macro) using the ImageJ interpreters (using, e.g., PyDev for Jython).
  • Added a new Java compile action (in the plugins menu) to compile the current opened Eclipse editor source (see screenshot below). To compile dynamically with ImageJ please use or adjust the ImageJ plugins path in the Eclipse preferences.
  • MouseWheel actions are now working as intended (use STRG+MouseWheel to zoom!)
  • Improved stability for drag and drop actions of multiple image files
  • Improved stability for MacOSX
  • Reorganized Eclipse plugins and features
  • ImageJ2 can now be optionally installed and is not bundled by default (now optional dependent of ImageJ). Customization is possible (plugin can be populated with maven command in Eclipse)
  • Added the latest ImageJ macro function templates
  • JavaFX (embed Swing in JavaFX and SWT panel) can now be optionally installed (but is not necessary by default)
  • Removed the outdated Albireo plugin dependency
  • Added key listeners for the tab when all images are closed (ImageJ keys!)
  • Improved the ImageJ macro hoover (workaround for SWT_AWT)
  • Added a workaround for repaint issues in MacOSX when switching perspectives with SWT_AWT
  • Added a workaround for MacOSX to receive key events again after focus lost (sometimes you need to press the mouse two times when the perspectives have been switched)
  • Fixed several rare occuring deadlock events on MacOSX

Installation:

It might be necessary to uninstall old plugin versions first!

To install the plugin the latest OpenJDK 11 is required and an installation of Eclipse 4.10 or 4.9.

The plugin is availabe from the Eclipse Marketplace Client:

https://marketplace.eclipse.org/content/imagej-plugin

As an alternative open the Help->Install new Software dialog and add the following update site:

https://bio7.github.io/imagej/

MacOSX Eclipse Fontsize Correction

To fix the default font size on Eclipse (a matter of taste) I wrote a short summary on the Github page how to fix the font size (see https://github.com/Bio7/EclipseImageJ1Plugin 1 – bottom page).

The plugin source and more information can be found on Github:

https://github.com/Bio7/EclipseImageJ1Plugin

The Road to OpenJDK 11

22.11.2018

it was a long road to the Java 11module system because a lot of bugs and settings had to be fixed for the next release of Bio7 which will be bundled with the OpenJDK as the default Java Runtime.

With Java 11 finally scaling of JavavFX, Swing and AWT components inside of Bio7 is supported on High DPI displays (SWT already supports this). However I have to make some more tests to remove the tiny drawing glitches if possible.

In additon with Java 11 SWT and JavaFX now support GTK 3 on Linux systems (see Ubuntu 18.10 screenshot below) still running on X11 which is default on Ubuntu (there are still some Wayland bugs which have to be resolved).

I already made some test exports on Linux and Windows and I think the next release (Bio7 3.0) will be available some time after the next Eclipse release which supports the Java 11 syntax completely.