cherab.phix.observer.fast_camera.colour.spectrum_to_phantom_rgb#

cherab.phix.observer.fast_camera.colour.spectrum_to_phantom_rgb(spectrum, resampled_rgb=None, exposure_time=1.0, pixel_area=1.0)#

Calculate a tuple of R, G, B values from an input spectrum based on Phantom Hight-speed camera.

The conversion equation from Spectral Power \(P(\lambda)\) [W/nm] to degital number DN [12bit] is represented as follows:

\[DN = \frac{t}{6.15\times 10^{-9} A_{1\text{px}}}\int_{\mathbb{R}} \mathrm{d}\lambda\; S(\lambda)P(\lambda)\]

where,

  • \(A_{1\text{px}}\) : 1 pixel area (in m$^2$)

  • \(S(\lambda)\) : spectral response at a specific wavelength (in A/W)

  • \(t\) : exposure time (in second)

  • \(DN\) : sensor response (in digital number, 12bits, from 0-4095)

Parameters:
  • spectrum (Spectrum) – raysect spectrum object (in radiance)

  • resampled_rgb (memoryview) – Pre-calculated RGB sensitivity curves optimised for this spectral range, by default None

  • exposure_time (float, optional) – exposure time of camera shutter (in [sec]), by default 1.0

  • pixel_area (float, optional) – pixel area capturing light (in m$^2$), by default 1.0

Returns:

R, G, B degital value in 12bit including over 4095 value

Return type:

tuple[float, float, float]