de.grogra.imp3d.spectral
Class IrregularSpectralCurve
java.lang.Object
de.grogra.persistence.ShareableBase
de.grogra.imp3d.spectral.SpectralCurve
de.grogra.imp3d.spectral.IrregularSpectralCurve
- All Implemented Interfaces:
- Manageable, Shareable
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 ArrayIndexOutOfBoundsException
s if the
array lengths don't match.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
$TYPE
public static final IrregularSpectralCurve.Type $TYPE
amplitudes$FIELD
public static final SCOType.Field amplitudes$FIELD
wavelengths$FIELD
public static final SCOType.Field wavelengths$FIELD
IrregularSpectralCurve
public IrregularSpectralCurve()
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 nmamplitudes
- amplitude of the curve at the sampled points
getManageableType
public ManageableType getManageableType()
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