mrpro.phantoms.EllipsePhantom
- class mrpro.phantoms.EllipsePhantom[source]
Bases:
objectNumerical 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. IfNone, 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).- Returns:
Image representation of phantom
- kdata(trajectory: KTrajectory, encoding_matrix: SpatialDimension[int]) KData[source]
Create k-space data for the phantom.
- Parameters:
trajectory (
KTrajectory) – Trajectory.encoding_matrix (
SpatialDimension[int]) – Encoding matrix.
- Returns:
K-space data with header and trajectory.
- 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:
- Returns:
K-space data.
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)