autods_pet.ops.morphology#
Distance-transform based morphology, robust to anisotropic spacing.
- autods_pet.ops.morphology.signed_distance_mm(mask)[source]#
Compute a signed distance map in mm from a binary mask.
- Parameters:
mask (
Image) – Binary mask (non-zero values are foreground).- Returns:
Float image where positive values are inside the mask and negative values are outside, in physical mm units (respects voxel spacing).
- Return type:
Image
- autods_pet.ops.morphology.erode_mask_mm(mask, radius_mm, *, dist=None)[source]#
Erode a binary mask by radius_mm using a distance transform.
Pass a pre-computed dist (from
signed_distance_mm()) to avoid recomputing it when eroding and dilating the same mask.- Parameters:
mask (sitk.Image) – Binary mask (non-zero values are foreground).
radius_mm (float) – Erosion radius in physical mm units.
dist (sitk.Image | None (default:
None)) – Pre-computed signed distance map. WhenNone(default), it is computed internally viasigned_distance_mm().
- Returns:
Eroded binary mask (uint8).
- Return type:
sitk.Image
- autods_pet.ops.morphology.dilate_mask_mm(mask, radius_mm, *, dist=None)[source]#
Dilate a binary mask by radius_mm using a distance transform.
Pass a pre-computed dist (from
signed_distance_mm()) to avoid recomputing it when eroding and dilating the same mask.- Parameters:
mask (sitk.Image) – Binary mask (non-zero values are foreground).
radius_mm (float) – Dilation radius in physical mm units.
dist (sitk.Image | None (default:
None)) – Pre-computed signed distance map. WhenNone(default), it is computed internally viasigned_distance_mm().
- Returns:
Dilated binary mask (uint8).
- Return type:
sitk.Image