mrpro.phantoms.EllipsePhantom

class mrpro.phantoms.EllipsePhantom[source]

Bases: object

Numerical phantom as the sum of different ellipses.

__init__(ellipses: Sequence[EllipseParameters] | None = None)[source]

Initialize ellipse phantom.

Parameters:

ellipses (Sequence[EllipseParameters] | None, default: None) – Parameters defining the ellipses. If None, defaults to three ellipses with different parameters.

image_space(image_dimensions: SpatialDimension[int]) Tensor[source]

Create image representation of phantom.

Parameters:

image_dimensions (SpatialDimension[int]) – Number of voxels in the image. This is a 2D simulation, so the output will be of shape (1 1 1 image_dimensions.y image_dimensions.x).

kspace(ky: Tensor, kx: Tensor) Tensor[source]

Create 2D analytic kspace data based on given k-space locations.

For a corresponding image with 256 x 256 voxels, the k-space locations should be defined within [-128, 127].

The Fourier representation of ellipses can be analytically described by Bessel functions [KOA2007].

Parameters:
  • ky (Tensor) – k-space locations in ky (phase encoding direction).

  • kx (Tensor) – k-space locations in kx (frequency encoding direction).

References

[KOA2007]

Koay C, Sarlls J, Oezarslan E (2007) Three-dimensional analytical magnetic resonance imaging phantom in the Fourier domain. MRM 58(2) https://doi.org/10.1002/mrm.21292

__eq__(value, /)

Return self==value.

__new__(**kwargs)