Double peaks clean-up

Warning

This operation must be used in tandem with Theta expand operation in the peak detection pre-operations.

The representation of the continuous Hough space in an image leads to another type of artifact: double peaks. For example, a perfectly vertical Kikuchi band in a diffraction pattern located near the left side of the pattern has two solutions after the Hough transformation: one near 0 deg with a negative \(\rho\) or another near 180 deg with a positive \(\rho\). In reality the Hough space is circular in \(\theta\), but when represented in an image it is bounded between 0 and 180 deg. These two positions are therefore equivalent. If this effect is not taken into consideration, two Kikuchi bands will be detected instead of one. There is also the possibility that the detection algorithm will fail to detect any peak since they are incomplete.

To prevent this problem for vertical Kikuchi bands, two operations must be performed in tandem. First, the HoughMap is expanded in \(\theta\) pass 180 deg by a certain amount, typically 5 to 10 deg by the Theta expand operation. One half of the split peaks near 180 deg is now complete and can be properly detected on its own.

../../../../../_images/expand-before.png

HoughMap before expansion in \(\theta\). A peak is split in two.

../../../../../_images/expand-after.png

Expansion of the HoughMap in \(\theta\). The split peak is reconstructed.

Then, after identifying the position of all peaks in the HoughMap, peaks found in the expanded region of the HoughMap are brought back inside the original \(\theta\) range (0 to 180 deg). This is automatically performed when the Hough peak are created as the \(\theta\) value of the peaks must be between 0 and 180 deg.

The Double peaks clean-up operation removed peaks that are approximately located at the same position.

Parameters

A peak is said to be approximately located at the same position of another peak if the amount of pixels in the \(\theta\) and \(\rho\) direction is less than a certain threshold. This operation therefore takes two parameters: the maximum spacing in \(\theta\) and \(\rho\) between two peaks to consider them as separate peaks.