colour.recovery.PCA_Jiang2013#
- colour.recovery.PCA_Jiang2013(msds_camera_sensitivities: Mapping[str, MultiSpectralDistributions], eigen_w_v_count: int | None = None, additional_data: Literal[True] = True) Tuple[Tuple[NDArrayFloat, NDArrayFloat, NDArrayFloat], Tuple[NDArrayFloat, NDArrayFloat, NDArrayFloat]] [source]#
- colour.recovery.PCA_Jiang2013(msds_camera_sensitivities: Mapping[str, MultiSpectralDistributions], eigen_w_v_count: int | None = None, *, additional_data: Literal[False]) Tuple[NDArrayFloat, NDArrayFloat, NDArrayFloat]
- colour.recovery.PCA_Jiang2013(msds_camera_sensitivities: Mapping[str, MultiSpectralDistributions], eigen_w_v_count: int | None, additional_data: Literal[False]) Tuple[NDArrayFloat, NDArrayFloat, NDArrayFloat]
Perform the Principal Component Analysis (PCA) on given camera RGB sensitivities.
- Parameters:
msds_camera_sensitivities – Camera RGB sensitivities.
eigen_w_v_count – Eigen-values \(w\) and eigen-vectors \(v\) count.
additional_data – Whether to return both the eigen-values \(w\) and eigen-vectors \(v\).
- Returns:
Tuple of camera RGB sensitivities eigen-values \(w\) and eigen-vectors \(v\) or tuple of camera RGB sensitivities eigen-vectors \(v\).
- Return type:
Examples
>>> from colour.colorimetry import SpectralShape >>> from colour.characterisation import MSDS_CAMERA_SENSITIVITIES >>> shape = SpectralShape(400, 700, 10) >>> camera_sensitivities = { ... camera: msds.copy().align(shape) ... for camera, msds in MSDS_CAMERA_SENSITIVITIES.items() ... } >>> np.array(PCA_Jiang2013(camera_sensitivities)).shape (3, 31, 31)