pyepr.classes.Parameter

class pyepr.classes.Parameter(name, value, unit='', description='', virtual=False, **kwargs)

Represents a sequence or pulse parameter.

A general parameter.

Parameters:
namestr

The parameter name

valuefloat or int

The parameter value, eithe initial or static

unitstr, optional

The unit of parameter, by default None. Leave as None if unitless.

descriptionstr, optional

A brief description of the parameter, by default None

axisnp.ndarray, optional

The difference from the intial value for each position in a dynamic axis. Can be n-dimensional, by default None.

ax_idlist, optional
virtual: bool, optional

A virtual paramter is only used to vary other parameters, it is not varied itself and will not be directly passed to a spectrometer. This parameter is never inherited. By default, False

Attributes:
progressivebool

Is the parameter used in any progression or is it constant

progdict

A dict containing progressive programs for this parameter. This list has two elements. 1) The axis_id”s and 2) the “axis” of values.

Examples

Creating a static parameter ``` Par1 = Parameter(

name=”Par1”, value=10, unit=”us”, description=”The first parameter”)

` Creating a dynamic parameter ` Par1 = Parameter(

name=”Par1”, value=10, unit=”us”, description=”The first parameter”, axis=np.arange(0,10,1), axis_id=0)

```

Adding a parameter and a number: ``` Par1 = Parameter(

name=”Par1”, value=10, unit=”us”, description=”The first parameter”)

Par2 = Par1 + 2

name
unit
description
virtual
axis = []
ax_id = []
add_axis(axis_id, axis)
get_axis()
adjust_step(waveform_precision, keep_dim=True)

Adjust the step size of the axis to be an integer multiple of the waveform precision. Additionally, the value is adjusted to the nearest step. This is only applied if the units are in [ns,us,ms]

Only has an affect on parmater with units of [ns,us,ms]

Parameters:
waveform_precisionfloat

The precision of the waveform in ns

keep_dimbool, optional

If True, the dimension of the axis is kept the same. If False, the maximum value is perserved and the dim is extended, by default True

property dim
remove_dynamic()
is_static()
Return type:

bool

__eq__(__o)
Parameters:

__o (object)

Return type:

bool

__add__(__o)
Parameters:

__o (object)

__sub__(__o)
Parameters:

__o (object)

__mul__(__o)
Parameters:

__o (object)

__rmul__(__o)
Parameters:

__o (object)

copy()
_to_dict()
_to_json()
save(filename)

Save the parameter to a JSON file.

Parameters:
filenamestr

Path to the JSON file.

Returns:
None
Raises:
TypeError

If the object cannot be serialized to JSON.

static _from_dict(dict)
classmethod _from_json(JSONstring)
classmethod load(filename)

Load a Parameter object from a JSON file.

Parameters:
filenamestr

Path to the JSON file.

Returns:
objParameter

The Pulse loaded from the JSON file.

Raises:
FileNotFoundError

If the file does not exist.