Spectrometer
Jump to navigation
Jump to search
Spectrometer is a Module to interface spectrometer devices. It allows for loading corresponding Device Classes.
Features
- The module calculates the total intensity by summing over all values of the intensities using numpy function trapz:
total_intensity = np.trapz(y = self.spectrum, x = self.wavelengths)
- The peak wavelength related to the point of highest intensity is calculated.
- CIE coordinates are calculated based on the CIE standard from 1931 [1] in case the measured spectrum covers the wavelength range from 360 nm to 830 nm.
- Take reference spectrum reads a spectrum during initialize(), i.e. before all measurements start. The reference spectrum is subtracted from all spectra being measured. The integration time must be constant during the measurement.
- Automatic integration time: Depending on the Device Class, the integration time is automatically found. However, this feature depends on either the spectrometer or the Device Class. Please check the description of the Device Class whether this feature is supported. A maximum integration must be given. Otherwise, very long integration times might be applied during finding the optimum conditions.
Device Class specifics
- Device Class must return wavelengths and spectrum during call() as first and second value
- Device Class needs a function read_Wavelengths() which returns a list of wavelengths
- To load a calibration, please see the Device Class Programming guide.
- Most spectrometer cannot be connected by GPIB or COM port, but have to be interfaced via a dll library. In such a case, the Device Class has to provide all ports using the function
def find_Ports(self):
ports = ... # insert your code to generate a list of strings with all possible port names
return ports
The following keys can be used in device classes to set or retrieve values of the modules GUI fields.