Photoacoustics

From mitk.org
Revision as of 16:53, 2 July 2018 by ThomasKirchner (talk | contribs) (→‎3. Demo Downloads)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Photoacoustics Imaging Plugin

For reconstruction of photoacoustic (PA) and ultrasound (US) images, we present an open-source extension of MITK which is capable of beamforming and post-/pre-processing US and PA data.

1. Overview

The Photoacoustics Imageprocessing Plugin offers an interface to perform image processing on PA, as well as US images, i.e. to use beamforming and post-processing filters. This demo release is to be considered as experimental, i.e. it is expected to work on most machines, but not broadly tested. A more detailed documentation of the plugin can be found here. You can also build your own MITK workbench.

2. Usage

Simply load an image into MITK and select it in the Data manager. Before performing reconstruction or using other filters those can be configured using the plugin's settings panel.

Beamforming

Three beamforming algorithms are implemented:

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

One of the following apodizations can be chosen to be used when beamforming:

  • Box (No apodization)
  • Hamming
  • Von Hann

Other beamforming parameters are available, which have to be chosen depending on the source image to attain a correctly reconstructed image. The Plugin is also able to calculate the used scan depth as well as the transducer pitch from the selected image if the time-axis spacing of the rf data is in microseconds, and the horizontal spacing in millimeters. Some demo images for beamforming can be found here.

Bandpass Filter

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 filtered frequencies, as well as the "smoothness" of the bandpass filter can be set in the interface by defining the high and low pass frequencies. Please note that if you filter rf data, the spacing set in the image must be in microseconds to yield meaningful results.

Crop Filter

The crop filter cuts off parts of the image at the top and the bottom or selects part of the data stack.

B-Mode Filter

The following B-Mode filters are available:

  • An envelope detection filter (based on a Hilbert transform)
  • An absolute filter

If desired, the filter can also resample the image to a given spacing and afterwards a logarithmic compression filter can be applied.

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.

3. Demo Downloads

We offer pre-built installer packages that contain the MITK workbench with the Photoacoustic Image Processing plugin. Note that windows might want to protect you from this installer and that you will need administrator privileges to successfully install the MITK workbench application.

Demo Data

Some raw photoacoustics data, recorded on a phantom can be found here.

Prerequisites

Use this setting to turn on/off GPU beamforming

To use our much more performant OpenCL implementation which run on your graphics processing unit (GPU), MITK has to be able to access it via OpenCL, for which it is necessary to install the OpenCL implementation provided by your graphics card vendor. The current graphics drivers should provide that for all dedicated graphics chip sets.

This package has been built and tested using the NVIDIA OpenCL implementation; when using other vendors devices it may work but is not tested - we recommend deselecting the option to use your GPU, the program then runs on your CPU which will yield the same results but slower.