DroopCorrectABC

class bapsf_motion.transform.lapd_droop.DroopCorrectABC(drive: Drive, **kwargs)

Bases: ABC

Abstract base class for probe droop correction classes.

Parameters:
  • drive (Drive) – The instance of Drive the droop correction will be working with.

  • kwargs – Keyword arguments that are specific to the subclass.

Attributes Summary

axes

A list of axis identifiers.

dimensionality

The designed dimensionality of the droop correction.

drive

The Drive the droop / non-droop correction will be working on.

naxes

The number of axes of the probe drive.

probe_shaft_material

Material of the probe shaft associated with the droop correction.

probe_shaft_od

Outer diameter (OD) of the probe shaft associated with the droop correction.

probe_shaft_wall

Wall thickness of the probe shaft associated with the droop correction.

Methods Summary

__call__(points,Β to_points)

Adjust points from a non-droop position to a droop position, and vice versa.

Attributes Documentation

axes

A list of axis identifiers.

dimensionality

The designed dimensionality of the droop correction. If -1, then the transform does not have a fixed dimensionality, and it can morph to the associated Drive.

drive

The Drive the droop / non-droop correction will be working on.

naxes

The number of axes of the probe drive.

This is the same as the motion space dimensionality.

probe_shaft_material

Material of the probe shaft associated with the droop correction.

probe_shaft_od

Outer diameter (OD) of the probe shaft associated with the droop correction.

probe_shaft_wall

Wall thickness of the probe shaft associated with the droop correction.

Methods Documentation

__call__(points: ndarray, to_points: str) ndarray

Adjust points from a non-droop position to a droop position, and vice versa. points need to be giving in coordinates with respect to the ball valve pivot, and NOT the LaPD coordinate system.

Parameters:
  • points (array_like) – A single point or array of points for which the droop / non-droop correction will be applied. These points must be given in a coordinate system with respect to the ball valve pivot, and NOT the LaPD coordinate system. The array of points needs to be of size \(M\) or \(N imes M\) where \(M\) is the dimensionality of the motion space and \(N\) is the number of points to be transformed.

  • to_points (str) – If "droop", then adjust points from a non-droop position to a droop position. If "non-droop", then adjust points from a droop position to a non-droop.

Returns:

adjusted_points – Droop / non-droop adjusted points. Will have the same dimensionality as points.

Return type:

array_like