Spectrum

class ipkiss3.all.Spectrum

Object representing a transmission spectrum.

Parameters:
x: List[float]

List of wavelengths or frequencies in the spectrum.

power: List[float]

List of power levels, one for each wavelength or frequency sample in x.

peaks: List[Tuple] (optional)

A list of peaks, i.e. (peak_x, peak_power) tuples.

dB: bool (optional)

Interpret power in decibel (True) or not (False)

peak_method: ‘spline’ or ‘cwt’

Peak detection method to be used

peak_threshold: float or None

Threshold for peak detection

bandpass: bool or None

Treat spectra as bandpass (True), bandstop (False) or automatic (None)

visualize(show=True, title=None, label=None, figure=None)

Plot the spectrum.

find_peaks(method='spline', threshold=None, bandpass=None, smoothing=0.0)

Uses i3.find_peaks to return a list of peaks. Can be used to override the peaks associated with this spectrum.

Returns:
A list of peaks, i.e. a list of (peak_x, peak_power) tuples.
trim(band=None)

Create a new spectrum that is trimmed over an x-range of interest.

Parameters:
band: Tuple[float] (optional)

Lower and upper bound for the x values of the spectrum, i.e. (x_min, x_max)

Returns:
A new Spectrum object
min_insertion_losses(bands=None)

Calculate the minimum insertion loss for every given band.

Parameters:
bands: List[Tuple[float]] (optional)

A list of bands [(x_min, x_max), …] over which to calculate the insertion loss. If None, the whole spectrum is taken into account.

Returns:
The minimum insertion loss per band
max_insertion_losses(bands=None)

Calculate the maximum insertion loss for every given band.

Parameters:
bands: List[Tuple[float]] (optional)

A list of bands [(x_min, x_max), …] over which to calculate the insertion loss. If None, the whole spectrum is taken into account.

Returns:
The maximum insertion loss per band.
fsr()

Calculate the free spectral range (distance between two peaks).

Returns:
A list containing the distances between adjacent peaks.
width_passbands(width)

Calculate x-limited passbands centered around the peaks.

Parameters:
width: float

Width of one passband, expressed in the same units and scale as x.

cutoff_passbands(cutoff)

Calculate power-limited passbands centered around the peaks.

Parameters:
cutoff: float

Maximum acceptable power loss with respect to the peak power.