IR conversion

IR conversion#

Segmentation of a Pulseq sequence and its NextSequence chain into the binary IR cache the scanner interpreter loads beside the sequence file.

The chain is read with pypulseqpp.Sequence, text or binary. Event deduplication, segmentation of the repetition pypulseqpp finds, and the execution stream are computed in the compiled extension, and the cache is written by the C library the interpreter reads it back with. The files are read in the logical frame and moved to the prescribed field-of-view offset before they are segmented. ADC phase modulation is not stored in the cache; the reconstruction proxy applies it from the sequence. The representation is described in Scanner representation (PulSeg), and the cache layout in IR cache.

Object

Description

convert

Segment a sequence file and write its IR cache beside it.

prescribe

Move a logical-frame sequence to a prescribed field-of-view centre, in place.

check

Timing, gradient, PNS, forbidden-band and sound pressure problems of a chain under a scanner’s limits, in the physical frame.

CheckLimits

The nerve model, forbidden bands and acoustic transfer function a chain is checked against, and the VOPs of its SAR ratios, besides the gradient limits.

sar_ratios

The RF energy of each subsequence of a chain at the VOPs, against the same repetitions of a hard, 180°, 1 ms reference pulse.

SarRatio

The local and global SAR ratios of one subsequence, as the cache carries them.

spl_levels

The peak and A-weighted average sound pressure levels of each subsequence of a chain, its loudest repetition played without end, in the prescription frame.

SplLevels

The sound pressure levels of one subsequence, as the cache carries them.

played_rf

The definition and designed flip angle of each RF row a sequence plays, definitions numbered as the cache numbers them.

summary

Subsequences, segments, readouts, readout labels and RF spectral statistics of a sequence, from the chain or from its cache.

play

Every block a cache plays, resolved as the scanner’s playout resolves it, with its gradient waveforms on request.

plan_waves

Where a playout holds a cache’s waves in its waveform memory, all at once or a ring of slots per position, and whether it loads them in time: the layout the cache carries, or one for another budget.

WaveBudget

The waveform memory, gradient raster, load rate and slots per position a playout affords the waves, which a cache is converted for.

Grouping

The rule by which a repetition’s blocks are grouped into virtual segments: where a boundary may fall, where it must, and which runs are split.

VendorProfile

What a cache holds its numbers as, for the machine that reads it: a sequencer that plays integers is given integers, already scaled, so it converts nothing while it plays.

read_vendor

The profile and grouping a vendor file states, refusing a file that states anything else or leaves a field out.

Quantity

The format one quantity is stored in, and the SI value of one integer step.

Format

Whether a quantity is stored as a float in its SI unit or as an integer.

sample_wave

A cache’s wave on a playout’s gradient raster, as loaded into a region of its waveform memory.

playout

Both stages of a segmented playout of a cache, the scan or its receive-gain prescan, recorded: what each position prepares, the registers of each block, what each wave reads from waveform memory and, on request, the waveforms each block plays.

Prescan

The receive-gain calibration a playout plays instead of the scan: one subsequence, to the instance completing its readouts.

repetition_gradients

The gradients of a subsequence’s repetition of most gradient energy, as corner points and on a raster: what a scanner’s heating and acoustic models are evaluated on.

chain

Files of the NextSequence chain starting at a sequence file, in play order.

cache_path

Cache file of a sequence file.