Get startedGet started for free

Calculate distance

A distance transformation calculates the distance from each pixel to a given point, usually the nearest background pixel. This allows you to determine which points in the object are more interior and which are closer to edges.

For this exercise, use the Euclidian distance transform on the left ventricle object in labels.

This exercise is part of the course

Biomedical Image Analysis in Python

View Course

Exercise instructions

  • Create a mask of left ventricle pixels (Value of 1 in labels).
  • Calculate the distance to background for each pixel using ndi.distance_transform_edt(). Supply pixel dimensions to the sampling argument.
  • Print out the maximum distance and its coordinates using ndi.maximum and ndi.maximum_position.
  • Overlay a slice of the distance map on the original image. This has been done for you.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Calculate left ventricle distances
lv = np.where(____, 1, 0)
dists = ____

# Report on distances
print('Max distance (mm):', ____)
print('Max location:', ____)

# Plot overlay of distances
overlay = np.where(dists[5] > 0, dists[5], np.nan) 
plt.imshow(overlay, cmap='hot')
format_and_render_plot()
Edit and Run Code