pizurscan
Input Processing: input parameters defining the trajectory and the cinematics of the PI stage are processed to evaluate the parameters that must be provided to the data acquisition (DAQ) of the Zhinst Lock-in.
Scan execution: the axis is directly controlled by pizurscan through the API PIPython. In particular, the user perform continuous and discrete scas: in the first the stage moves continuously from the starting point to the final position, while in the second small micrometric steps are performed, resting in fixed position for around 50 ms.
Output Processing: When the trigger signal of the PI controller triggers the acquisition, the external signal is measured by the lock-in and the DAQ integrates data over the acquisition time. Depending on the DAQ parameters evaluated with Input Processing, data outputted by the DAQ are further processed (integrated) so that eventually a single value of external signal is associated with the position of the stage.
Accordingly, the code defines the main classScanner, which instantiatesStepperand combines the inherited methods for easing the overall handling of the controller connection and scanning procedures. In this way, the user does not need any knowledge of the PIPYthon library. In addition to that, the three modulesInputValidator,InputProcessor, and ``OutputProcessor``are developed for respectively validating the overall input parameters, processing the input parameters for increase compatibility with Zurich lock-in DAQ interface and eventually process the output data of the Zurich lock-in into an accessible format.