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.
Notes
This is a real metric. The binary images can therefore be supplied in any order.