CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-itk

Insight Toolkit for N-dimensional image processing, segmentation, and registration in medical and scientific applications

Pending
Overview
Eval results
Files

distance-maps.mddocs/reference/filtering/

Distance Maps

Compute distance maps, signed distance functions, and distance-based operations.

Capabilities

Distance Map Filters

def danielsson_distance_map_image_filter(input):
    """
    Danielsson distance map computation.
    
    Parameters:
    - input: itk.Image - Binary input image
    
    Returns:
    itk.Image - Distance map
    """

class DanielssonDistanceMapImageFilter:
    """Exact Euclidean distance map using Danielsson's algorithm."""

def signed_danielsson_distance_map_image_filter(input, inside_is_positive=False):
    """
    Signed distance map.
    
    Parameters:
    - input: itk.Image - Binary input image
    - inside_is_positive: bool - Sign convention
    
    Returns:
    itk.Image - Signed distance map
    """

def signed_maurer_distance_map_image_filter(input, squared_distance=False, use_image_spacing=True, inside_is_positive=False):
    """
    Maurer signed distance map (more efficient for large images).
    
    Parameters:
    - input: itk.Image - Binary input image
    - squared_distance: bool - Compute squared distances
    - use_image_spacing: bool - Account for image spacing
    - inside_is_positive: bool - Sign convention
    
    Returns:
    itk.Image - Signed distance map
    """

Distance Between Contours

def hausdorff_distance_image_filter(input1, input2):
    """
    Compute Hausdorff distance between binary images.
    
    Parameters:
    - input1: itk.Image - First binary image
    - input2: itk.Image - Second binary image
    
    Returns:
    float - Hausdorff distance
    """

class HausdorffDistanceImageFilter:
    """Compute Hausdorff distance between segmentations."""
    
    def GetHausdorffDistance(self):
        """Get the computed Hausdorff distance."""
    
    def GetAverageHausdorffDistance(self):
        """Get the average Hausdorff distance."""

def contour_directed_mean_distance_image_filter(input1, input2):
    """Directed mean distance between contours."""

def contour_mean_distance_image_filter(input1, input2):
    """Mean distance between contours."""

Usage Examples

import itk

binary = itk.imread('binary.png', itk.UC)

# Distance map
distance_map = itk.signed_maurer_distance_map_image_filter(
    binary,
    use_image_spacing=True,
    inside_is_positive=False
)
itk.imwrite(distance_map, 'distance.png')

# Hausdorff distance between two segmentations
seg1 = itk.imread('seg1.png', itk.UC)
seg2 = itk.imread('seg2.png', itk.UC)

ImageType = itk.Image[itk.UC, 2]
hausdorff_filter = itk.HausdorffDistanceImageFilter[ImageType, ImageType].New()
hausdorff_filter.SetInput1(seg1)
hausdorff_filter.SetInput2(seg2)
hausdorff_filter.Update()

distance = hausdorff_filter.GetHausdorffDistance()
print(f"Hausdorff distance: {distance}")

Install with Tessl CLI

npx tessl i tessl/pypi-itk

docs

index.md

tile.json