check#
- pulserver.ir.check()[source]#
Return the problems of a chain under a scanner’s limits, in the physical frame.
Each file of the
NextSequencechain is rotated byrotation, composed after each block’s own rotation with blocks labelledNOROTexempt, as the scanner plays it. It is then checked withpypulseqpp.check_timing, gradient continuity included, and withpypulseqpp.safety.check_max_gradandcheck_max_slew, against the gradient limits, dead times and ringdown time ofsystem; and withcheck_pns,check_mech_resonanceandcheck_splwherelimitscarries a nerve model, forbidden bands or an acoustic transfer function. The waveforms are timed by the file’s own rasters. VOPs are not checked here: seesar_ratios().- Parameters:
seq_path – The first file of the chain.
system – The scanner’s gradient limits, dead times and ringdown time.
rotation –
(3, 3)prescription rotation from logical to physical axes, a reflection included; the identity by default.limits – The nerve and resonance limits; none by default.
designed – The chain as
pulserver.mrd.designed_chain()returns it, checked in place of reading the files, and rotated in place.spl_levels – One per file of the chain, as
spl_levels()returns them forrotation, held to the limits in place of computing them.
- Returns:
One line per problem, naming the file when the chain has more than one; empty when every check passes.
- Return type:
- Raises:
ValueError – If a file of the chain or the acoustic file cannot be read, or
rotationis not orthonormal.