Image Mining Web Service

The Image Mining Web Service framework incorporates all the essential functionality for processing and mining digital images and exposes the latter through Web Services to users for building stand-alone clients. These clients may utilize the proposed framework or be integrated into existing tools like the Taverna workflow manager.

The Image Mining Web Services consist of several core functions that enable the management of images (uploading, retrieving image reference ids, etc.), the processing functions (with the help of several implemented, standard and advanced image processing operators) and the feature extraction functions.

An online version of the Web service is available at http://mebioinfo.ekt.gr/axis2/services/eLICO_ImageService?wsdl. This service is utilized by the RapidMiner Image Mining Extension.

The following Table presents the list of the implemented core functions that include the management and feature extraction operators. The annotation consists of the definition and explanation of the input and output parameter for each available operator implemented in the Web Service.

The XML instance of the extracted image features
Operator NameInput parametersOutput parameters
uploadImage Byte array containing the image data of any coding type String identifier of the image stored on the server
getImageURL String identifier of the image stored on the server String containing a URL link that makes the image available for browsing through HTTP
checkImageReference String identifier of the image stored on the server Boolean flag declaring wether the specified image exists on server or not
transformImage String representation of the transformation operator to be applied on the image, list of the parameters to be applied on the operator, String identifier of the image stored on the server String identifier of the new transformed image stored on the server
extractFeatures String representation of the feature extraction method to be applied on the image, list of the parameters to be applied on the operator, String identifier of the image stored on the server
getTransformationMethodNames - A string array containing all the available image operators
getExtractionMethodNames -

A string array containing all the available feature extraction methods

getMethodParameters The name of the image operator to be applied A parameter list describing all the essential parameters needed for the specific operator to function.
Table 1. Annotated Image Mining Tools

Regarding the image processing operators, the latter are used as an input argument for the transformImage function. The number of integrated processing operators can be expanded as the Web service is totally modular and allows the enhancement with additional operators without affecting the overall functionality and usage of the service. Users are advised to invoke first the getTransformationMethodNames for retrieving first the available processing operators.

The image mining Web service supports the following image operations:

  • skeletonizeImage: It applies on the image a skeletonization algorithm. By first transforming the image to binary. The Algorithm repeatedly removes pixels from the edges of objects in a binary image until they are reduced to single pixel wide skeletons.

  • EqualizeImage: The operator applies a histogram equalization algorithm improving automatically the contrast and other color features of the image and allowing it to reveal important structures.

  • removeNoise: This operator applies a selective median filter to grayscale images for removing noise and small artifacts.

  • AdaptiveThreshold: The operator identifies objects in the original image by applying an adaptive thresholding algorithm.

  • SharpenImage: This operator increases the contrast of the image and accentuates detail in the image or a specific selection of it.

  • CropImage: It crops the image and produces a new one based on the parameters given (x,y start of cropping, width, height of the new image).

  • ResizeImage: It resizes the image given the width and height parameters

  • RotateLeft: It rotates the image counterclockwise by 900

  • RotateRight: It rotates the image clockwise by 900

  • FlipHorizontal: It flips the image horizontally

  • FlipVertical: It flips the image vertically

  • SmoothImage: It applies a smoothing filter on the image

  • ConvertTo8Bit: It converts any given image to 8 bit (grayscale)

  • ConvertTo16Bit: It converts any given color image to 16bit

  • ConvertTo32Bit: It converts any given color image to 32bit

  • ConvertToHSB: It converts color RGB images to HSB

  • AutoThresholdImage: It performs an auto thresholding operation

  • ThresholdImage: It produces a binary image and identifies important structures within the image by applying a user defined threshold

  • ImageEdgeDetection: This operators applies a Canny-Deriche filtering algorithm for edge detection on the image. The output is a binary image containing the edges of the objects in the original image.

  • ImageErode: This operator replaces each pixel of the original image with the minimum (lightest) value in the 3×3 neighborhood. When applied on binary images, it removes pixels from the edges of black objects.

  • ImageDilate: This operator replaces each pixel with the maximum (darkest) value in the 3×3 neighborhood. When applied on binary images, it adds pixels to the edges of black objects.

  • ImageInvert: This operator inverts the colors of the original image

  • Convert2Binary: This operator will convert the original image to binary (black and white only)

  • ImageStatistics: This operator produces a number of various statistics for the image. The output is an XML file containing information about the color, the entropy, the texture and the histogram of the original image.

The functionality of the Image Mining Extension can best be explained through some examples:

Example A: Angiogenic images

The processing, feature extraction and quantification of Angiogenic images involves the steps of image conversion, thresholding, skeletonization and feature extraction.

User can invoke the following series of operators through the respective Web Service functions in the given order:

  • uploadImage(the image file to be processed)
  • transformImage(“ConvertTo8Bit”, “”, imageRef)
  • transformImage(“AutoThresholdImage”, “”, imageRef)
  • transformImage(“SharpenImage”, 0.5, imageRef)
  • transformImage(“skeletonizeImage”, imageRef)
  • extractFeatures(“Angiogenesis_Extraction”, imageRef)

The application of the operators on the initial image provides the following outputs in the given order:

tl_files/elico/software/rmx_image/exampleA.png
Results of the individual processing steps.

From the last image, features can be extracted.

Example B: Object Detection

This example demonstrates the specific object detection (vessels and glomerulus) related to the KUP domain. It involves steps like image conversion, image thresholding and KUP-based feature extraction.

User can invoke the following series of operators through the respective Web Service functions in the given order:

  • uploadImage(the image file to be processed)
  • transformImage(“ConvertTo8Bit”, “”, imageRef)
  • transformImage(“AutoThresholdImage”, “”, imageRef)
  • extractFeatures(“KUP_Enhance”, imageRef)
  • extractFeatures(“KUP_ObjectDetection”, imageRef)
tl_files/elico/software/rmx_image/exampleB.png
Intermediate results of the image processing. The last image shows the areas of interest in the original image.

Workflows on myExperiment

The following image mining workflows are available on myExperiment:

It is also possible to install a local copy of the Web service. The following list describes the requirements for setting up the IM Web Service platform and exploiting its functionality:

  • Java version at least 1.5
  • An application server like Tomcat (version 6.0.35; later versions may cause problems)
  • The Axis2 SOAP Engine (version at least 1.4.1) installed and integrated into Tomcat

In order to deploy the Web Service container (.aar file), the Axis2 SOAP Engine needs to be installed first. This is done by placing the Axis2 distribution war file to the webapps folder of the Tomcat installation directory and by restarting Tomcat.

The Image Mining Web Service is deployed within Axis by placing the .aar file within ../webapps/axis2/WEB-INF/services folder of the Tomcat installation directory.

Download Image Mining Web Service