pyepr.hardware.xepr_experiments.MPFUtune¶
- class pyepr.hardware.xepr_experiments.MPFUtune(api, echo='Hahn', ps_length=16, d0=680, srt=6000000.0)¶
Tuning MPFU channels for optimal attenuation and phase
- Parameters:
- api_type_
The spectrometr API object
- echostr, optional
The echo type. Options = [‘Hahn”,”Refocused”], by default “Hahn”
- ps_lengthint, optional
The length of the pi/2 pulse, by default 16
- d0int, optional
- The approximate position of d0, this should be lower than ideal,
by default 680
- api¶
- hardware_wait = 5¶
- ps_length¶
- d0¶
- srt¶
- _setup_echo(echo, tau1=400, tau2=400)¶
- tune_phase(channel, target, tol=0.1, maxiter=30)¶
Tunes the phase of a given channel to a given target using the standard scipy optimisation scripts.
- Parameters:
- channelstr
The chosen MPFU channel. Options: [‘+<x>’, ‘-<x>’, ‘+<y>’, ‘-<y>’]
- targetstr
The target echo position, this can either be maximising (+) or minimising (-) either the real (R) or imaginary (I) of the echo. Options: [‘R+’, ‘R-’, ‘I+’, ‘I-‘]
- tolfloat, optional
The tolerance in phase parameter, by default 0.1
- maxiterint, optional
The maximum number of iterations in the optimisation, by default 30
- Returns:
- float
The optimal value of the phase parameter
- Parameters:
channel (str)
target (str)
- Return type:
float
- tune_power(channel, tol=0.1, maxiter=30, bounds=[0, 100])¶
Tunes the attenuator of a given channel to a given target using the standard scipy optimisation scripts.
- Parameters:
- channelstr
The chosen MPFU channel. Options: [‘+<x>’, ‘-<x>’, ‘+<y>’, ‘-<y>’]
- tolfloat, optional
The tolerance in attenuator parameter, by default 0.1
- maxiterint, optional
The maximum number of iterations in the optimisation, by default 30
- Returns:
- float
The optimal value of the attenuator parameter
- Parameters:
channel (str)
bounds (list[float])
- Return type:
float
- tune(channels, tol=0.1, bounds=[0, 100])¶
Tunes both the power and attenuation for a collection of channels.
- Parameters:
- channelsdict
A dictionary of MPFU channels to be tunned and the associated phase target.Channel options = [‘+<x>’, ‘-<x>’, ‘+<y>’, ‘-<y>’]Phase target options = [‘R+’, ‘R-’, ‘I+’, ‘I-‘]E.g. {‘+<x>’: ‘R+’,’-<x>’: ‘R-‘}
- tolfloat, optional
The tolerance for all optimisations, by default 0.1
- Parameters:
channels (dict)
tol (float)
- Return type:
None
- calc_d0()¶