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.