Class IrregularSpectralCurve


  • public class IrregularSpectralCurve
    extends SpectralCurve
    This class allows spectral curves to be defined from irregularly sampled data. Note that the wavelength array is assumed to be sorted low to high. Any values beyond the defined range will simply be extended to infinity from the end points. Points inside the valid range will be linearly interpolated between the two nearest samples. No explicit error checking is performed, but this class will run into ArrayIndexOutOfBoundsExceptions if the array lengths don't match.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private float[] amplitudes  
      private float[] wavelengths  
    • Constructor Summary

      Constructors 
      Constructor Description
      IrregularSpectralCurve​(float[] wavelengths, float[] amplitudes)
      Define an irregular spectral curve from the provided (sorted) wavelengths and amplitude data.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float sample​(float lambda)
      This function determines the actual spectral curve data.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • wavelengths

        private final float[] wavelengths
      • amplitudes

        private final float[] amplitudes
    • Constructor Detail

      • IrregularSpectralCurve

        public IrregularSpectralCurve​(float[] wavelengths,
                                      float[] amplitudes)
        Define an irregular spectral curve from the provided (sorted) wavelengths and amplitude data. The wavelength array is assumed to contain values in nanometers. Array lengths must match.
        Parameters:
        wavelengths - sampled wavelengths in nm
        amplitudes - amplitude of the curve at the sampled points
    • Method Detail

      • sample

        public float sample​(float lambda)
        Description copied from class: SpectralCurve
        This function determines the actual spectral curve data. Note that the lambda parameter is assumed to be in nanometers.
        Specified by:
        sample in class SpectralCurve
        Parameters:
        lambda - wavelength to sample in nanometers
        Returns:
        the value of the spectral curve at this point