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

count

Return how many isochromats isochromats() samples the phantom as, with the same arguments.

isochromats

Return the phantom sampled as isochromats, for simulate().

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.

Attributes

shifts_ppm

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