2.1. distoptica.apply_coord_transform

apply_coord_transform(u_x=((0.5,),), u_y=((0.5,),), coord_transform_params=None, device=None, skip_validation_and_conversion=False)[source]

Apply a coordinate transformation to a set of coordinates of points in an undistorted image.

The current Python function applies a coordinate transformation to a set of fractional coordinates of points in an undistorted image. For a discussion on fractional coordinates of points in undistorted images, see the summary documentation for the class distoptica.DistortionModel. For a discussion on coordinate transformations, see the summary documentation for the classes distoptica.DistortionModel, distoptica.CoordTransformParams, and distoptica.StandardCoordTransformParams.

Parameters:
u_xtorch.Tensor (float, ndim=2), optional

The set of fractional horizontal coordinates of the points in the undistorted image, for which to apply the coordinate transformation.

u_ytorch.Tensor (float, shape=``u_x.shape``), optional

The set of fractional vertical coordinates of the points in the undistorted image, for which to apply the coordinate transformation.

coord_transform_paramsdistoptica.CoordTransformParams, optional

The parameters defining the coordinate transformation to apply.

devicetorch.device | None, optional

This parameter specifies the device to be used to perform computationally intensive calls to PyTorch functions. If device is of the type torch.device, then device represents the device to be used. If device is set to None and a GPU device is available, then a GPU device is to be used. Otherwise, the CPU is used.

skip_validation_and_conversionbool, optional

If skip_validation_and_conversion is set to False, then validations and conversions are performed on the above parameters.

Otherwise, if skip_validation_and_conversion is set to True, no validations and conversions are performed on the above parameters. This option is desired primarily when the user wants to avoid potentially expensive validation and/or conversion operations.

Returns:
q_xtorch.Tensor (float, shape=``u_x.shape``)

The set of fractional horizontal coordinates resulting from the application of the coordinate transformation. For every row index i and column index j`, the coordinate pair ``(u_x[i, j], u_y[i, j]) maps to the horizontal coordinate q_x[i, j] via the corresponding component of the coordinate transformation.

q_ytorch.Tensor (float, shape=``u_y.shape``)

The set of fractional vertical coordinates resulting from the application of the coordinate transformation. For every row index i and column index j`, the coordinate pair ``(u_x[i, j], u_y[i, j]) maps to the vertical coordinate q_y[i, j] via the corresponding component of the coordinate transformation.