mrpro.phantoms.EllipsePhantom
- class mrpro.phantoms.EllipsePhantom(ellipses: Sequence[EllipseParameters] | None = None)[source]
Bases:
object
Numerical phantom as the sum of different ellipses.
- Parameters:
ellipses – ellipses defined by their center, radii and intensity. if None, defaults to three ellipses
- __init__(ellipses: Sequence[EllipseParameters] | None = None)[source]
Initialize ellipse phantom.
- Parameters:
ellipses – Sequence of EllipseParameters 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 – number of voxels in the image This is a 2D simulation so the output will be (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 voxel, 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 – k-space locations in ky
kx – k-space locations in kx (frequency encoding direction). Same shape as ky.
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