Skip to content

Image Preprocessing

Hanchuan Peng edited this page Nov 17, 2015 · 5 revisions

Preprocessing steps to prepare image data for neuron tracing.

Due to the varying properties of different image datasets contributed worldwide, it is challenging to use a single way to handle image data for reconstruction. BigNeuron provides the following options, and in most cases, we have tested the performance of the reconstruction methods using one or more of them. Some subsets of reconstruction results were randomly sampled and checked by human annotators to ensure the image preprocessing is appropriate given a limited bandwidth of bench-testers in the context of handling a vast amount of image data. All the following tasks can be accomplished by using Vaa3D and its various plugins.

  • Raw image. In this case, the image should have 8-bit grayscale intensity and single channel. The higher the pixel intensity, the stronger the signal should be.
  • Conversion to 8-bit single channel images. If the raw image data is not of 8bit (e.g. the case if 16bit image), or the raw image has multiple color channels (but not brainbow data for which see information below), we will first identify the correct single channel, and extract such channel, convert to 8bit by a linear rescaling, and resave to another file as the real testing image.
  • Brainbow color separation: For brainbow data, we apply the "neuron_color_separator" plugin of Vaa3D to extract single neurons and save each of them into a separate file for reconstruction.
  • Color inversion: If the raw image has higher-intensity correspond to weak signal and low-intensity correspond to strong signal, such as some typical bright-field images, the image intensity will be inverted for reconstruction.
  • Gaussian smoothing: If the raw image has clear unevenness, or "gaps", in the signal along neurite, one simple way to fill such gaps by running a Gaussian smoothing before reconstruction. Typically we use 7x7x5 or similar Gaussian kernels. This is done by invoking the "image_filters/Gaussian_Filter" plugin in Vaa3D.
  • Anisotropic filtering: Anisotropic filtering is able to enhance the signal along neurite while suppress noises. This is useful for filling gaps for spatially uneven intensity. Many times this produce a better filtering result than Gaussian smoothing. This is done by using one of the few options in the "image_filter/anisotropic_filters" plugins in Vaa3D.
  • Median filtering: Useful to remove some noise. This can be done by invoking Vaa3D's "image_filters/median_filter" plugin.
  • Gray-scale distance transform: Useful to highlight the centerline of neurite and overcome the skewness of signal in many cases. This can be done by invoking Vaa3D's "image_filters/Grayscale_Image_Distance_Transform" plugin.

Clone this wiki locally