TransformFOV¶
This function transforms the field of view (FOV) of a Pulseq sequence by applying rotation, translation, and scaling operations. It takes as input a set of Pulseq events (e.g., RF pulses, gradients, ADC events) and modifies their spatial coordinates according to the specified transformations. The function also handles an optional prior phase cycle and system parameters.
Syntax¶
function obj = TransformFOV(varargin)
Calling Pattern¶
tra = mr.TransformFOV(...)
tra = mr.TransformFOV('ParameterName', value, ...)
Parameters¶
This function accepts both positional parameters and name-value pairs.
Name-Value Pair Arguments¶
| Parameter Name (string) | Value Type | Default | Description | Example |
|---|---|---|---|---|
'rotation' |
double | [] |
A 3x3 rotation matrix defining the rotation of the FOV. An empty matrix indicates no rotation. (Units: radians) | [1 0 0; 0 1 0; 0 0 1] |
'translation' |
double | [] |
A 1x3 vector representing the translation of the FOV. An empty matrix indicates no translation. (Units: meters) | [0.01 0 0] |
scale |
double | [] |
A 1x3 vector defining scaling factors along each axis. An empty matrix indicates no scaling. | [1 1 1] |
'prior_phase_cycle' |
double | 0 |
An integer representing a prior phase cycle to be applied before the transformation. Typically used for k-space trajectory calculations. | 0 |
high_accuracy |
logical | false |
A logical flag indicating whether to use a high-accuracy transformation algorithm (currently commented out). | true |
'system' |
struct | [] |
A structure containing system parameters (e.g., gradient limits, slew rates). If empty, default system parameters are used. | mr.opts() |
Returns¶
| Output | Value Type | Description |
|---|---|---|
obj |
struct | A structure containing the transformation parameters and possibly the transformed sequence data. |
Examples¶
tra = mr.TransformFOV('rotation', [0 1; -1 0], 'translation', [0.01, 0, 0]);
tra = mr.TransformFOV('scale', [1.1 0.9 1], 'system', mr.opts('maxGrad', 40));