Get startedGet started for free

Segment the heart

In this chapter, we'll work with magnetic resonance (MR) imaging data from the Sunnybrook Cardiac Dataset. The full image is a 3D time series spanning a single heartbeat. These data are used by radiologists to measure the ejection fraction: the proportion of blood ejected from the left ventricle during each stroke.

To begin, segment the left ventricle from a single slice of the volume (im). First, you'll filter and mask the image; then you'll label each object with ndi.label().

This chapter's exercises have the following imports:

import imageio
import numpy as np
import scipy.ndimage as ndi
import matplotlib.pyplot as plt

This exercise is part of the course

Biomedical Image Analysis in Python

View Course

Hands-on interactive exercise

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

# Smooth intensity values
im_filt = ____

# Select high-intensity pixels
mask_start = np.where(____, 1, 0)
mask = ____

# Label the objects in "mask"
labels, nlabels = ____
print('Num. Labels:', ____)
Edit and Run Code