KNIME Image Processing SDK
This repository collects the tools to facilitate the development of KNIME Nodes in the context of KNIME Image Processing (KNIP). The KNIME Image Processing SDK (KNIP SDK), provides Eclipse Target Definitions and a launch configuration, which can be used to develop KNIME and especially KNIME Image Processing nodes.
We provide different target definitions:
These target definitions allow starting and debugging released versions of KNIME / KNIP. This is useful to reproduce the environments of users.
- knip-sdk-2.11-full: KNIME 2.11 with the latest release of the compatible KNIP plugins.
- knip-sdk-2.12-full: KNIME 2.12 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.0-full: KNIME 3.0 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.1-full: KNIME 3.1 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.2-full: KNIME 3.2 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.3-full: KNIME 3.3 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.4-full: KNIME 3.4 with the latest release of the compatible KNIP plugins.
- knip-sdk-3.5-full: KNIME 3.5 with the latest release of the compatible KNIP plugins.
- knip-sdk-dev For people who work directly on KNIP and have the KNIP and KNIP SciJava source code cloned and added to their workspace. It contains the most recent KNIME Analytics Platform and all required dependencies for developing KNIP itself.
- knip-sdk-dev-full For people who want to test the latest nightly build from their IDE, contains the latest nightly build of all KNIP plugins and the latest release of KNIME Analytics Platform.
- knip-sdk-dev-nightly Same as knip-sdk-dev but targets the latest nightly build of KNIME Analytics Platform.
If you need additional plugins you can easily edit the software sites in the target definitions and select the ones you need.
Getting started with KNIP development
- Download and install Eclipse 4.7 or later.
- Install the Eclipse Plug-in Development Environment plugin from the The Eclipse Project Updates update-site
- Clone this repository using git clone https://github.com/knime-ip/knip-sdk-setup
- Import the contained projects (File -> Import -> General -> Existing Projects) into Workspace
- Double-click on the desired target definition file, which you will find in the
- Wait until eclipse has resolved the target platform and click on Set as Target Platform (upper-right corner)
knip-nightly-launch-configurationshould now be available to you in the debug and run configuration dialogs (under Eclipse Application).
- The debug configuration assumes you have 4GB RAM available, if you want to use a different amount just change the value of the
-Xmx4gvm argument in the Arguments tab of the
- Remember to often click the
reloadbuttons in the target definition interface to stay up to date with the nightly builds.
- Eclipse complains that some plugin can't be installed and the target definition file seems to have many errors in it!
Sadly eclipse seems to do that from time to time, in most cases clicking
updatea few times solves that issue. If not you might need to update this repository as the target platform has changed.
- Questions/Bug-Reports concerning the individual frameworks: Issues in the corresponding repositories.
- Questions/Bug-Reports concerning KNIME Image Processing: http://tech.knime.org/forum/knime-image-processing
Asking questions in a public forum or reporting the bugs on github makes sure, that others also benefit from the answers to your questions or see which bugs have already been reported and maybe solved.
Frameworks and Tools
KNIME Image Processing:
- Short Description: KNIME Image Processing extends KNIME by providing integrations for the processing and analysis of huge amounts of image data.
- Uses: ImgLib2, ImageJ-Ops, ImageJ2
- Link: http://knime.imagej.net
- Webinar: https://www.youtube.com/watch?v=MqSIyqmm3EU&feature=youtu.be&a
- Example Workflows: https://tech.knime.org/community/image-processing#exampleworkflows
- Example Projects: https://github.com/knime-ip/knip-examples
- Lecture with KNIME Image Processing: https://github.com/kmader/Quantitative-Big-Imaging-2015/blob/master/Exercises/02-Description-KNIME.md
- Short Description: ImgLib2 is a general-purpose, multidimensional image processing library.
- Link: http://imglib2.net
- GitHub: http://github.com/imglib/imglib2
- Tutorial "Getting Started": http://fiji.sc/ImgLib2_-_Introductory_Workshop
- Tutorial "Advanced": http://fiji.sc/ImgLib2_-_Advanced_Programming_Workshop
- Short Description: ImageJ OPS is an extensible Java framework for algorithms, particularly image processing algorithms.
- Uses: ImgLib2
- Link/GitHub: https://github.com/imagej/imagej-ops
- Tutorial "Using Ops": https://github.com/imagej/imagej-tutorials/tree/master/using-ops
- Tutorial "Creating Ops": https://github.com/imagej/imagej-tutorials/tree/master/create-a-new-op
- Short Description: ImageJ2 is a supercharged version of ImageJ1 with new features. ImageJ2 is an entirely redesigned, more powerful set of software libraries.
- Uses: ImgLib2, ImageJ-Ops
- Link: http://imagej.net
- GitHub: https://github.com/imagej
- Tutorials: https://github.com/imagej/imagej-tutorials
How to Build the target platform file
The target definition files are build using this eclipse plugin. You need to install it to build your own, modified target definition files. The build files are located in the autogen folder. To rebuild the target definition files after modification rightclick on the corresponding .tpd file and select "Create Target Definition File".