generate_nema_iec_phantom#
- deepinv.utils.phantoms.generate_nema_iec_phantom(size, activities=None, background=0.25, lung=0.0, normalize=True)[source]#
Generate a 2D or 3D NEMA IEC body phantom for PET/SPECT.
The phantom contains six spheres of diameters 10, 13, 17, 22, 28 and 37 mm arranged on a circle inside a rounded body with uniform background activity Daube-Witherspoon et al.[1]. A central cylindrical insert represents the low-activity lung region. Sphere activities can be set independently to model hot or cold regions relative to the background.
Inspired by David Sarrut’s implementation in OpenGATE.
- Example:
>>> import deepinv as dinv >>> dinv.utils.generate_nema_iec_phantom(64).shape torch.Size([64, 64]) >>> dinv.utils.generate_nema_iec_phantom((32, 64, 64)).shape torch.Size([32, 64, 64])
- Parameters:
size (int or tuple[int, int, int]) – Square slice size through the sphere centres, or volume shape
(D, H, W).activities (list[float]) – Six sphere activities, ordered by increasing diameter. Defaults to
[1.0] * 6.background (float) – Background activity.
lung (float) – Lung insert activity.
normalize (bool) – Rescale maximum activity to 1 if
True.
- Returns:
(
torch.Tensor) Phantom of shape(size, size)or(D, H, W).- Return type:
- References: