Measurements
The low level interface allows to load measured MPI data via the measData
function. The returned data is exactly how it is stored on disc. This has the disadvantage that the user needs to handle different sorts of data that can be stored in the measData
field. To cope with this issue, the MDF also has a high level interface for loading measurement data. The first is the function
function getMeasurements(f::MPIFile, neglectBGFrames=true;
frames=neglectBGFrames ? (1:acqNumFGFrames(f)) : (1:acqNumFrames(f)),
numAverages=1,
bgCorrection=false,
interpolateBG=false,
tfCorrection=measIsTFCorrected(f),
sortFrames=false,
spectralLeakageCorrection=true,
kargs...)
that loads the MPI data in time domain. Background frames can be neglected or included, frames can be selected by specifying frames
, block averaging can be applied by specifying numAverages
, bgCorrection
allows to apply background correction, tfCorrection
allows for a correction of the transfer function, interpolateBG
applies an optional interpolation in case that multiple background intervals are included in the measurement, sortFrames
puts all background frames to the end of the returned data file, and spectralLeakageCorrection
controls whether a spectral leakage correction is applied.
The array returned by getMeasurements
is of type Float32
and has four dimensions
- time dimension (over one period)
- receive channel dimension
- patch dimension
- frame dimension
Instead of loading the data in time domain, one can also load the frequency domain data by calling
function getMeasurementsFD(f::MPIFile, neglectBGFrames=true;
loadasreal=false,
transposed=false,
frequencies=nothing,
tfCorrection=measIsTFCorrected(f),
kargs...)
The function has basically the same parameters as getMeasurements
but, additionally, it is possible to load the data in real form (useful when using a solver that cannot handle complex numbers), it is possible to specify the frequencies (specified by the indices) that should be loaded, and it is possible to transpose the data in a special way, where the frame dimension is changed to be the first dimension. getMeasurementsFD
returns a 4D array where of type ComplexF32
with dimensions
- frequency dimension
- receive channel dimension
- patch dimension
- frame dimension