medpy.metric.binary.hd#

medpy.metric.binary.hd(result, reference, voxelspacing=None, connectivity=1)[source]#

Hausdorff Distance.

Computes the (symmetric) Hausdorff Distance (HD) between the binary objects in two images. It is defined as the maximum surface distance between the objects.

Parameters:
resultarray_like

Input data containing objects. Can be any type but will be converted into binary: background where 0, object everywhere else.

referencearray_like

Input data containing objects. Can be any type but will be converted into binary: background where 0, object everywhere else.

voxelspacingfloat or sequence of floats, optional

The voxelspacing in a distance unit i.e. spacing of elements along each dimension. If a sequence, must be of length equal to the input rank; if a single number, this is used for all axes. If not specified, a grid spacing of unity is implied.

connectivityint

The neighbourhood/connectivity considered when determining the surface of the binary objects. This value is passed to scipy.ndimage.generate_binary_structure and should usually be \(> 1\). Note that the connectivity influences the result in the case of the Hausdorff distance.

Returns:
hdfloat

The symmetric Hausdorff Distance between the object(s) in `result` and the object(s) in `reference`. The distance unit is the same as for the spacing of elements along each dimension, which is usually given in mm.

See also

assd
asd

Notes

This is a real metric. The binary images can therefore be supplied in any order.