pyepr.sequences.Sequence¶
- class pyepr.sequences.Sequence(*, name, B, LO, reptime, averages, shots, **kwargs)¶
Represents an experimental pulse sequence.
Represents an experimental pulse sequence.
- Parameters:
- namestr
The name of this pulse sequence
- Bfloat
The magnetic field for this sequence in Gauss.
- LOfloat
The central frequency of this sequence. I.e. The frequnecy at which a zero offset pulse is at.
- reptimefloat
The shot repetition time in us.
- averagesint
The number of scans to be accumulated.
- shotsitn
The number of shots per point.
- pulses = []¶
- num_pulses¶
- axes_uuid = []¶
- reduce_uuid = []¶
- LO¶
- averages¶
- shots¶
- name¶
- progTable¶
- plot()¶
- Return type:
None
- plot_pulse_exc(FieldSweep=None, ResonatorProfile=None)¶
- addPulse(pulse)¶
Adds a pulse to the next position in the sequence.
- Parameters:
- pulsePulse
The object describing the pulse.
- _estimate_time()¶
Calculates the estimated experiment time in seconds.
- _buildPhaseCycle()¶
- evolution(params, reduce=[])¶
Sets what parameters are being evolved in the sequence, and which are being automatically.
self.evo_params = params
- Parameters:
- paramslist
A list of Parameter objects which are being evolved. Each every entry in the list will be a new axis in the sequence. Only one parameter per axis should be specified.
- reducelist
A list of Parameter objects which are being reduced. These are the parameters which are being averaged over. These parameters should also be in the params list.
- Returns:
- progTabledict
A dictionary containing the progression of the sequence.
- _buildProgTable()¶
- property seqtable_steps¶
- adjust_step(waveform_precision)¶
Adjust the step size of all axes and pulses to be an integer multiple of the waveform precision This is to ensure that the waveform is generated correctly by the specific AWG
- Parameters:
- waveform_precisionfloat
The precision of the waveform in ns
- shift_detfreq_to_zero()¶
- _checkRect()¶
Checks if all the pulses in the sequence are rectangular.
- Return type:
bool
- __str__()¶
- copy()¶
- _to_dict()¶
- _to_json()¶
- save(filename)¶
Save the sequence to a JSON file.
- Parameters:
- filenamestr
Path to the JSON file.
- Returns:
- None
- Raises:
- TypeError
If the object cannot be serialized to JSON.
- classmethod _from_dict(dct)¶
- classmethod _from_json(JSONstring)¶
- classmethod load(filename)¶
Load an object from a JSON file.
- Parameters:
- filenamestr
Path to the JSON file.
- Returns:
- objSequence
The Sequence loaded from the JSON file.
- Raises:
- FileNotFoundError
If the file does not exist.