Medical Imaging Interaction Toolkit  2018.4.99-1640525a
Medical Imaging Interaction Toolkit
The Photoacoustics Imageprocessing Plugin
Icon of Imageprocessing


This plugin offers an interface to perform image processing on photoacoustic, as well as ultrasound images, i.e. to use beamforming and post-processing filters. For convenience, image processing can be done automatically for a whole batch of files containing PA or US data.


To use the much more performant openCL filters which run on the graphics card, MITK has to be able to use openCL, for which it is necessary to install the openCL implementation provided by your graphics card vendor.

Using the filters

To perform image processing, simply load an image into MITK and select it in the Data manager. Only the selected image will be processed by the filters.

Select the image to be processed
Before performing reconstruction or using other filters those can be configured using the plugin's settings panel.

The plugin's GUI

Image Details

To create the .nrrd images necessary for the plugin from raw data, one can use e.g. pynrrd, a python package for very straightforward creation of .nrrd images. The Beamforming Filter is also able to read certain paramters, as the scan depth and the transducer pitch from the selected image. To this end, the image must have a time-axis spacing in ┬Ás and a horizontal spacing in mm.

The Beamforming Settings

For beamforming, three beamforming algorithms are available:

  • DAS (Delay And Sum)
  • DMAS (Delay Multiply And Sum)
  • sDMAS (signed Delay Multiply And Sum)

Each of those can be coupled with either spherical delay calculation or a quadratic approximation for the delays. To supress noise, one of the following apodizations can be chosen to be used when beamforming:

  • Box (No apodization)
  • Hamming
  • Von Hann

Other Standard beamforming parameters are available, which have to be chosen depending on the source image to attain a correctly reconstructed image. As mentioned above, Plugin is able to calculate the used scan depth as well as the transducer pitch from the selected image if the time-axis spacing is in microseconds, and the horizontal spacing in mm. If such a spacing is given, check the box "Auto Get Depth" to make the plugin read those values by itself. If the US source or the laser used for imaging is not located at the top of the image, an option is given to cut off pixels at the top of the image until the source. This value should be calibrated by the user to match the used hardware. If one wishes to beamform only certain slices of a given image, those can be selected by checking "select slices" and setting the "min" and "max" values accordingly, which are to be understood as closed interval boundaries.

The Bandpass Settings

The bandpass uses an itk implementation of an 1D Fast Fourier Transform (FFT) to transform the image vertically, then filters the image using a Tukey window in the frequency domain and performs an inverse 1D FFT to get the filtered image. The "smoothness" of the tukey window can be chosen by using the "Tukey window alpha" parameter. The Tukey window interpolates between a Box window (alpha = 0) and a Von Hann window (alpha = 1). The filtered frequencies can be set by defining the High and Low pass frequencies.

The Crop Filter Settings

The crop filter cuts off parts of the image at the top and the bottom. The amount of pixels cut off can be configured using the "Cut Top" and "Cut Bottom" parameters.

The BMode Filter Settings

The B-mode filters available are:

  • An absolute filter
  • An envelope detection filter

If desired, the filter can also resample the image to a given spacing; to do this, check the "Do Resampling" box and set the desired spacing in mm. Afterwards a logarithmic filter can be applied, if "Add Logfilter" is checked.

Batch Processing

When processing large amounts of data, an option is available to automatically process multiple images by applying all filters in order to those images and saving the resulting images. In the first row of the Batch Processing Panel one can select which filters should be applied to the image; in the second row one can select whether the resulting image from the filter should be saved. After pressing the "Start Batch Processing" button, one can choose first the images to be processed, and then the folder where they will be saved.