export

Contents

export#

pulserver.virtual.export()[source]#

Write the blocks the cache beside a sequence file plays as one Pulseq 1.5.1 file.

Every block pulserver.ir.play() walks, across the files of a chain, is one block of target of the duration it plays, holding what the cache plays in it:

  • its RF pulse as the cache holds it: its samples at their times, its frequency and phase offsets with their ppm terms resolved, its centre and its use, with the channels of a pTx pulse summed, as at unit, in-phase sensitivity;

  • its gradients along the physical axes: those the cache plays along the logical axes, the block’s own rotation included, turned, except in a block labelled NOROT, by the prescription’s rotation from logical to physical axes, as trajectory() turns them, each as a time-shaped gradient through the corners the cache plays, a step from or to zero as a ramp 10 ns wide;

  • its ADC window, without frequency or phase offsets.

The file holds the standard sections alone: no rotation, label, trigger or soft-delay extension.

Parameters:
  • seq_path – The first file of a chain, beside its cache.

  • target – Where to write the file.

  • system – The scanner the cache was converted for; its rasters time the file.

  • cache_ext – The extension of the cache.

  • rotation – The prescription’s rotation from logical to physical axes; the identity by default.

Returns:

The receiver phase of every readout, in play order, in radians, one per sample: the ADC phase offset at the ADC’s start, advancing at its frequency offset; the cache carries no phase modulation. The playout demodulates by it, as acquire() does, and target leaves it out.

Return type:

list of ndarray