38 if (!spectral_channels)
43 int minWavelength = *p->getIntAtomic(
"spectral_wavelength_min");
47 if (channel < 0 || channel >= spectral_channels->width())
58 if (!spectral_channels)
63 int minWavelength = *p->getIntAtomic(
"spectral_wavelength_min");
65 if (channel < 0 || channel >= spectral_channels->width())
76 if (!spectral_channels)
81 int minWavelength = *p->getIntAtomic(
"spectral_wavelength_min");
82 int maxWavelength = *p->getIntAtomic(
"spectral_wavelength_max");
84 return (maxWavelength - minWavelength) /
static_cast<float>(spectral_channels->width());
static int getSpectralChannel(int wavelength, PointBufferPtr p, int fallback=-1)
Returns the spectral channel index for a given wavelength.
UCharChannel::Optional UCharChannelOptional
std::shared_ptr< PointBuffer > PointBufferPtr
static int getSpectralWavelength(int channel, PointBufferPtr p, int fallback=-1)
For a given spectral channel it return the corresponding wavelength.
static float wavelengthPerChannel(PointBufferPtr p)
Calculates the wavelength distance between two spectral channels.