Spectrum¶
-
class
ipkiss3.all.
Spectrum
(x, power, peaks=None, dB=True, peak_method='spline', peak_threshold=None, bandpass=None)¶ 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)¶ Plot the spectrum.
-
find_peaks
(method='spline', threshold=None, bandpass=None, **kwargs)¶ 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.
-