validate#
- pulserver.validate.validate()[source]#
Check that a sequence plays as it was written.
Reads the gradients the sequence asks for, and compares them against a second rendering: a recording of a machine playing it, where one is given or can be made, and otherwise the waveforms its own cache holds.
The two answer different questions, and
Comparison.referencesays which was answered. A recording establishes that the machine plays the sequence. The cache establishes only that the conversion kept it – a conversion and a playout that are wrong in the same way agree.- Parameters:
seq_path – The sequence file.
vendor – Which machine
playedcame from, one ofVENDORS.Nonecompares against the cache and ignoresplayed.played – A recording to compare against. Absent, and with a vendor named, one is asked for from that vendor’s tooling if it is installed here.
dead_time_us – What a recording’s times run ahead of the sequence’s by, on every channel: a machine starts a unit before it plays anything of it.
rf_wait_us – What the transmit channels run ahead by on top of that. A machine drives transmit and gradients on separate timelines and records each as it drove it, so the two meet only once both constants are stated.
tolerance_mt_per_m – The largest gradient difference that still counts as agreement. Taken from the slew rate and the gradient raster when a system is given, which is what the hardware can legitimately be away by; 0.05 otherwise.
rf_tolerance_percent – The largest transmit difference, as a percentage of the peak.
cache_ext – Extension of the cache read when comparing against it.
system –
pypulseqpp.Optsthe cache is converted under, when one has to be.
- Return type:
- Raises:
ValueError – If
vendoris not one this knows.NotImplementedError – If
vendoris known but nothing here reads its recordings.FileNotFoundError – If no recording is given and none can be made.