colour_hdri.distortion.correct_vignette_RBF#
- colour_hdri.distortion.correct_vignette_RBF(image: ArrayLike, characterisation_data: DataVignetteCharacterisation, smoothing: float = 0.001, kernel: Literal['linear', 'thin_plate_spline', 'cubic', 'quintic', 'multiquadric', 'inverse_multiquadric', 'inverse_quadratic', 'gaussian'] = 'cubic', epsilon: float = 1) NDArrayFloat [source]#
Correct the vignette of given image using given characterisation for radial basis function (RBF) interpolation.
- Parameters:
image (ArrayLike) – Image to correct the vignette of.
characterisation_data (DataVignetteCharacterisation) – Vignette characterisation data for given function.
smoothing (float) – Smoothing parameter, see
scipy.interpolate.RBFInterpolator
class.kernel (Literal['linear', 'thin_plate_spline', 'cubic', 'quintic', 'multiquadric', 'inverse_multiquadric', 'inverse_quadratic', 'gaussian']) – Type of RBF, see
scipy.interpolate.RBFInterpolator
class.epsilon (float) – Shape parameter that scales the input to the RBF, see
scipy.interpolate.RBFInterpolator
class.
- Returns:
Vignette corrected image.
- Return type:
Examples
>>> image = apply_radial_gradient(np.ones([5, 7])) >>> characterisation_data = characterise_vignette_RBF(image) >>> np.around(correct_vignette_RBF(image, characterisation_data), 3) array([[ 0. , 0.091, 0.841, 1.134, 0.841, 0.091, 0. ], [ 0. , 0.967, 2.03 , 2.552, 2.03 , 0.967, 0. ], [ 0. , 1.323, 2.647, 3.97 , 2.647, 1.323, 0. ], [ 0. , 0.967, 2.03 , 2.552, 2.03 , 0.967, 0. ], [ 0. , 0.091, 0.841, 1.134, 0.841, 0.091, 0. ]])