APEER Release Notes | March 2019

APEER Release Notes | March 2019

Welcome to APEER’s march 2019 release. In the most recent sprints we concentrated on improving the user experience and stability. This release’s key highlights are

Optimized Workflow Running Experience with Embedded Viewer

Results Preview in Workflow Runner

You will now be able to view and download module results directly in the Workflow Runner. All file outputs and even non-file outputs can be previewed while your workflow is still running.  This makes it possible to check intermediate results without waiting for the whole workflow to finish and will make it much easier and faster to optimize your workflow parameters to fit to your needs.

Embedded Viewer
Not only file outputs but even non-file outputs are visible.

Non-File results preview

Clear Workflow Run Status Indication

Based on your valuable feedback we improved the visibility of the current workflow’s status by introducing clear status indication in the header. This gives you a clear sense of where you are in the process.

When you start a workflow the header will change to blue to indicate that it is currently running. You will also see which modules are currently being executed in the header as well as through the dots.

Apeer's march release brings better understanding of the workflow status

After the run the status either changes to green for a successful run or to red indicating that an error occurred during execution.

Easily accessible module and workflow log files

In case your workflow fails due to an error within one of the modules or a faulty configuration of the workflow you will get easy access to the logs directly from within the failed module. We are of course also happy to help you debugging your workflow.

New with apeer's march release: You can now easily access workflow logfiles

Fullscreen workflow runner

The new runner will now render in full screen.

Fullscreen Workflow Runner

OME-TIFF Standard for Reliable Compatibility of Modules

To streamline the compatibility of APEER modules we settled on using OME-TIFF as a default recommended file format. Our goal is to make it as easy as possible for you to create custom workflows – therefore we want to have all modules supporting the OME-TIFF file format so that they can work together in a reliable way. Of course you don’t have to dig into the details of OME-TIFF – we are providing some useful helpers for you.

OME-TIFF converter module

You do not have your files available as OME-TIFF? No problem. We are providing a OME-TIFF converter which can convert almost any file-format into OME-TIFF. Just add it to your workflow to ensure a uniform handling of your files.

OME-TIFF Library

You are building your own modules and want them to support OME-TIFFs? No problem. We are giving you a OME-TIFF library which provides you with an easy interface for applying whatever image processing you want to do to any dimension of your OME-TIFF files.

The OME-TIFF Library is currently available for Python modules, but will be made available for other languages soon. As many of our tools it is open-source under MIT license. Check it out on our GitHub account

OME-TIFF GitHub

or just install it from PyPi via pip install apeer-ometiff-library.

OME-TIFF PyPi

Updated OME-TIFF example

We updated our Python example module to show you how you can use the OME-TIFF library. Just create a new module and select the Python example and already have a module processing OME-TIFFs in your workspace.

OME-TIFF Example

The code in the entry point file apeer_main.py won’t change at all when processing OME-TIFF files. It will still process your inputs and outputs and call your execution code.

from apeer_dev_kit import adk
import rotate_image

if __name__ == "__main__":
    inputs = adk.get_inputs()

    outputs = rotate_image.execute(inputs['input_image'], inputs['angle'])

    adk.set_file_output('output_image', outputs['output_image'])
    adk.finalize()

To process OME-TIFF files you only need to include the apeer-ometiff-library in your code. You can then use the apply-methods to apply any function to the data in any dimension of the OME-TIFF file

import os
from scipy import ndimage
from apeer_ometiff_library import io, processing

def execute(image_path, rotation_angle):
    (image, omexml) = io.read_ometiff(image_path)

    result = processing.apply_2d_trafo(_rotate_image, image, angle=rotation_angle)

    image_name = os.path.basename(image_path)
    io.write_ometiff(image_name, result, omexml)

    return {'output_image': image_name}

def _rotate_image(image, angle):
    output = ndimage.rotate(image, angle, reshape=False)
    return output

Faster File Upload

We rewrote our file upload component which you can find under “My Files” as well as in the “Define Input Module” in your Workflows. Uploads are now being handled in parallel and in a very robust way. This significantly speeds up file uploads and will save you time.

File Uploader

Improved Viewer supporting OME-TIFFs and Annotations

OME-TIFF file support

The integrated viewer now supports OME-TIFF files. This allows you to view z-stacks and directly step through the time series.

Viewer Example

Create and Export Annotations

You can now add annotations to your images and easily export them to CSV.

Viewer Annotations

Team APEER hopes you enjoy the Apeer’s march release new features. Do not hestitate to get in touch with us at support(at)apeer.com.

Leave a Reply

Your email address will not be published. Required fields are marked *