Phantom

Contents

Phantom#

class pulserver.virtual.Phantom[source]#

Bases: object

Ellipses whose signals add, received by one coil or several.

The ellipses and the sensitivities are stated along the phantom’s own axes, which rotation and position place in the physical frame: the phantom’s point r lies at rotation @ r + position, and its coils move with it. With coils above one, coil c’s sensitivity is 1 + depth cos(2 pi q_c.r), where q_c has magnitude 1 / period and points at 2 pi c / coils from x towards y, so each coil’s k-space is the object’s, and two copies shifted by q_c: every coil is analytic.

Parameters:
  • ellipses – The object.

  • coils – Receive channels.

  • period – Spatial period of the sensitivities, in metres.

  • depth – Their modulation depth.

  • rotation – (3, 3) orthonormal matrix from the phantom’s axes to the physical ones, a reflection included; the identity by default.

  • position – Physical location of the phantom’s origin, in metres.

Methods

kspace

Return each coil's signal at (3, n) physical k-space locations in 1/m: (coils, n).

proton_density

Return the magnitude of the intensity of a slab thickness thick at each of (n, 3) physical points, in metres.

tissue

Return the phantom sampled for the Fourier engine.

Attributes

shifts_ppm

The chemical shifts of its ellipses, each once, in ascending order.