Frequency Series
Overview
|
Light wrapper of gwpy's FrequencySeries for compatibility and future extension. |
FrequencySeries Class
- class gwexpy.frequencyseries.FrequencySeries(*args: Any, **kwargs: Any)[source]
Bases:
PlotMixin,SignalAnalysisMixin,RegularityMixin,FittingMixin,StatisticalMethodsMixin,FrequencySeriesLight wrapper of gwpy’s FrequencySeries for compatibility and future extension.
Methods
ifftInverse FFT returning a gwexpy TimeSeries, supporting transient round-trip.
idctCompute the Inverse Discrete Cosine Transform (IDCT).
rmsCompute the Root Mean Square (RMS) value.
absReturn the absolute value of the data in this Array.
angleCalculate the phase angle of this FrequencySeries.
phaseCalculate the phase of this FrequencySeries.
filterApply a filter to this FrequencySeries.
- phase(unwrap: bool = False) FrequencySeries[source]
Calculate the phase of this FrequencySeries.
- Parameters:
unwrap (bool, optional) – If True, unwrap the phase to remove discontinuities. Default is False.
- Returns:
The phase of the series, in radians.
- Return type:
FrequencySeries
- angle(unwrap: bool = False) FrequencySeries[source]
Calculate the phase angle of this FrequencySeries.
Alias for phase(unwrap=unwrap).
- Parameters:
unwrap (bool, optional) – If True, unwrap the phase to remove discontinuities. Default is False.
- Returns:
The phase of the series, in radians.
- Return type:
FrequencySeries
- histogram(bins=None, range=None, weights=None, density=False, **kwargs)[source]
Compute a histogram of the values in this FrequencySeries.
Useful for analyzing the distribution of spectral density levels.
- Parameters:
bins (int or sequence or str, optional) – Binning specification (passed to np.histogram).
range ((float, float), optional) – The lower and upper range of the bins.
weights (array_like, optional) – Weights for each sample.
density (bool, optional) – If True, return a probability density histogram.
**kwargs – Additional arguments passed to np.histogram.
- Returns:
A gwexpy.histogram.Histogram object.
- Return type:
Histogram
- degree(unwrap: bool = False) FrequencySeries[source]
Calculate the phase of this FrequencySeries in degrees.
- Parameters:
unwrap (bool, optional) – If True, unwrap the phase before converting to degrees.
- Returns:
The phase of the series, in degrees.
- Return type:
FrequencySeries
- differentiate(order: int = 1) FrequencySeries[source]
Differentiate the FrequencySeries in the frequency domain.
Multiplies by (i * 2 * pi * f)^order.
- Parameters:
order (int, optional) – Order of differentiation. Default is 1.
- Returns:
The differentiated series.
- Return type:
FrequencySeries
- integrate(order: int = 1) FrequencySeries[source]
Integrate the FrequencySeries in the frequency domain.
Divides by (i * 2 * pi * f)^order.
- Parameters:
order (int, optional) – Order of integration. Default is 1.
- Returns:
The integrated series.
- Return type:
FrequencySeries
- to_db(ref: Any = 1.0, amplitude: bool = True) FrequencySeries[source]
Convert this series to decibels.
- Parameters:
ref (float or Quantity, optional) – Reference value for 0 dB. Default is 1.0.
amplitude (bool, optional) – If True (default), treat data as amplitude (20 * log10). If False, treat data as power (10 * log10).
- Returns:
The series in dB.
- Return type:
FrequencySeries
- filterba(*args, **kwargs)[source]
Apply a [b, a] filter to this FrequencySeries. Inherited from gwpy.
- to_pandas(index: Literal['frequency'] = 'frequency', *, name: str | None = None, copy: bool = False) Any[source]
Convert to pandas.Series.
- classmethod from_pandas(series: Any, **kwargs: Any) Any[source]
Create FrequencySeries from pandas.Series.
- to_polars(name: str | None = None, as_dataframe: bool = True, frequencies: str = 'frequency') Any[source]
Convert this series to a polars.DataFrame or polars.Series.
- Parameters:
name (str, optional) – Name for the polars Series/Column.
as_dataframe (bool, default True) – If True, returns a DataFrame with a ‘frequency’ column. If False, returns a raw Series of values.
frequencies (str, default "frequency") – Name of the frequency column (only if as_dataframe=True).
- Return type:
polars.DataFrame or polars.Series
- classmethod from_polars(data: Any, frequencies: str | None = 'frequency', **kwargs: Any) Any[source]
Create a FrequencySeries from a polars.DataFrame or polars.Series.
- Parameters:
data (polars.DataFrame or polars.Series) – Input data.
frequencies (str, optional) – If data is a DataFrame, name of the column to use as frequency.
**kwargs – Additional arguments passed to frequency series constructor.
- Return type:
FrequencySeries
- to_tgraph(error: Any | None = None) Any[source]
Convert to ROOT TGraph or TGraphErrors.
- to_th1d(error: Any | None = None) Any[source]
Convert to ROOT TH1D.
- classmethod from_root(obj: Any, return_error: bool = False, **kwargs: Any) Any[source]
Create FrequencySeries from ROOT TGraph or TH1.
- to_xarray(freq_coord: Literal['Hz'] = 'Hz') Any[source]
Convert to xarray.DataArray.
- classmethod from_xarray(da: Any, **kwargs: Any) Any[source]
Create FrequencySeries from xarray.DataArray.
- to_hdf5_dataset(group: Any, path: str, *, overwrite: bool = False, compression: str | None = None, compression_opts: Any = None) Any[source]
Write to HDF5 dataset within a group.
- classmethod from_hdf5_dataset(group: Any, path: str) Any[source]
Read FrequencySeries from HDF5 dataset.
- ifft(*, mode: str = 'auto', trim: bool = True, original_n: int | None = None, pad_left: int | None = None, pad_right: int | None = None, **kwargs: Any) Any[source]
Inverse FFT returning a gwexpy TimeSeries, supporting transient round-trip.
- Parameters:
mode ({"auto", "gwpy", "transient"}) – auto: use transient restoration if _gwex_fft_mode==”transient” is detected, otherwise GWpy compatible.
trim (bool) – Whether to remove padding and trim to original length during transient mode.
original_n (int, optional) – Explicitly specify the length after restoration (takes priority).
pad_right (int, optional) – Specify padding lengths for transient mode to override defaults.
pad_left (int, optional) – Specify padding lengths for transient mode to override defaults.
- idct(type: int = 2, norm: str = 'ortho', *, n: int | None = None) Any[source]
Compute the Inverse Discrete Cosine Transform (IDCT).
Reconstructs a time-domain signal from DCT coefficients.
- Parameters:
type (int, optional) – DCT type (1, 2, 3, or 4). Should match the type used for the forward DCT. Default is 2.
norm (str, optional) – Normalization mode: ‘ortho’ for orthonormal, None for standard. Default is ‘ortho’.
n (int, optional) – Length of the output time series. If None, uses the stored original_n attribute if available.
- Returns:
The reconstructed time series.
- Return type:
TimeSeries
Notes
For a proper roundtrip, use the same type and norm as the forward DCT transform.
Examples
>>> fs = FrequencySeries(dct_coeffs, ...) >>> ts = fs.idct()
- differentiate_time() Any[source]
Apply time differentiation in frequency domain.
Multiplies by (2 * pi * i * f). Converting Displacement -> Velocity -> Acceleration.
- Return type:
FrequencySeries
- integrate_time() Any[source]
Apply time integration in frequency domain.
Divides by (2 * pi * i * f). Converting Acceleration -> Velocity -> Displacement.
- Return type:
FrequencySeries
- quadrature_sum(other: Any) Any[source]
Compute sqrt(self^2 + other^2) assuming checking independence.
Operates on magnitude. Phase information is lost (returns real).
- Parameters:
other (FrequencySeries) – The other series to add.
- Returns:
Magnitude combined series.
- Return type:
FrequencySeries
- group_delay() Any[source]
Calculate the group delay of the series.
Group delay is defined as -d(phase)/d(omega), where omega = 2 * pi * f. It represents the time delay of the envelope of a signal at a given frequency.
- Returns:
A new FrequencySeries representing the group delay in seconds.
- Return type:
FrequencySeries
- rebin(width: float | Quantity) FrequencySeries[source]
Rebin the FrequencySeries to a new resolution.
- Parameters:
width (float or Quantity) – New bin width in Hz.
- Returns:
The rebinned series.
- Return type:
FrequencySeries
- to_control_frd(frequency_unit: Literal['rad/s', 'Hz'] = 'Hz') Any[source]
Convert to control.FRD.
- classmethod from_control_frd(frd: Any, *, frequency_unit: Literal['Hz', 'rad/s'] = 'Hz') Any[source]
Create from control.FRD.
- classmethod from_finesse_frequency_response(sol: Any, *, output: Any | None = None, input_dof: Any | None = None, unit: Any | None = None) Any[source]
Create from finesse FrequencyResponseSolution.
- Parameters:
sol (finesse.analysis.actions.lti.FrequencyResponseSolution) – The frequency response solution from a Finesse 3 simulation.
output (str or object, optional) – Output DOF name. Combined with input_dof to select one transfer function.
input_dof (str or object, optional) – Input DOF name.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data.
- Return type:
FrequencySeries or FrequencySeriesMatrix
- classmethod from_finesse_noise(sol: Any, *, output: Any | None = None, noise: str | None = None, unit: Any | None = None) Any[source]
Create from finesse NoiseProjectionSolution.
- Parameters:
sol (finesse.analysis.actions.noise.NoiseProjectionSolution) – The noise projection solution from a Finesse 3 simulation.
output (str or object, optional) – Output node name.
noise (str, optional) – Specific noise source name.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data (e.g.,
"m/sqrt(Hz)").
- Return type:
FrequencySeries or FrequencySeriesDict
- classmethod from_pyspice_ac(analysis: Any, *, node: str | None = None, branch: str | None = None, unit: Any | None = None) Any[source]
Create from a PySpice AcAnalysis.
- Parameters:
analysis (PySpice.Spice.Simulation.AcAnalysis) – The AC analysis result from a PySpice simulation.
node (str, optional) – Node name to extract. If None and branch is also None, all signals are returned as a
FrequencySeriesDict.branch (str, optional) – Branch name to extract.
unit (str or astropy.units.Unit, optional) – Unit to assign to the result.
- Return type:
FrequencySeries or FrequencySeriesDict
- classmethod from_pyspice_noise(analysis: Any, *, node: str | None = None, unit: Any | None = None) Any[source]
Create from a PySpice NoiseAnalysis.
- Parameters:
analysis (PySpice.Spice.Simulation.NoiseAnalysis) – The noise analysis result from a PySpice simulation.
node (str, optional) – Node name to extract (e.g.
"onoise"). If None, all signals are returned as aFrequencySeriesDict.unit (str or astropy.units.Unit, optional) – Unit to assign to the result.
- Return type:
FrequencySeries or FrequencySeriesDict
- classmethod from_pyspice_distortion(analysis: Any, *, node: str | None = None, unit: Any | None = None) Any[source]
Create from a PySpice DistortionAnalysis.
- Parameters:
analysis (PySpice.Spice.Simulation.DistortionAnalysis) – The distortion analysis result from a PySpice simulation.
node (str, optional) – Node name to extract. If None, all signals are returned as a
FrequencySeriesDict.unit (str or astropy.units.Unit, optional) – Unit to assign to the result.
- Return type:
FrequencySeries or FrequencySeriesDict
- classmethod from_skrf_network(ntwk: Any, *, parameter: str = 's', port_pair: tuple[int, int] | None = None, unit: Any | None = None) Any[source]
Create from a scikit-rf Network.
- Parameters:
ntwk (skrf.Network) – The scikit-rf Network object.
parameter (str, default
"s") – Which network parameter to extract ("s","z","y","a","t", or"h").port_pair (tuple[int, int], optional) – Zero-based
(row, col)port indices. If None, 1-port networks return aFrequencySeriesand multi-port networks return aFrequencySeriesMatrix.unit (str or astropy.units.Unit, optional) – Unit to assign to the result.
- Return type:
FrequencySeries or FrequencySeriesMatrix
- to_skrf_network(*, parameter: str = 's', z0: float = 50.0, port_names: list[str] | None = None, name: str | None = None) Any[source]
Convert to a scikit-rf Network.
- Parameters:
parameter (str, default
"s") – Network parameter the data represents.z0 (float, default 50.0) – Reference impedance in Ohms.
port_names (list[str], optional) – Names for each port.
name (str, optional) – Name for the resulting Network.
- Return type:
skrf.Network
- to_torch(device: str | None = None, dtype: Any = None, requires_grad: bool = False, copy: bool = False) Any[source]
Convert to torch.Tensor.
- Parameters:
device (str or torch.device, optional) – Target device (e.g. ‘cpu’, ‘cuda’).
dtype (torch.dtype, optional) – Target data type. Defaults to preserving complex64/128 or float32/64.
requires_grad (bool, optional) – If True, enable gradient tracking.
copy (bool, optional) – If True, force a copy of the data.
- Return type:
torch.Tensor
- classmethod from_torch(tensor: Any, frequencies: Any, unit: Any | None = None) Any[source]
Create FrequencySeries from torch.Tensor.
- Parameters:
tensor (torch.Tensor) – Input tensor.
frequencies (Array or Quantity) – Frequency array matching the tensor size.
unit (Unit or str, optional) – Data unit.
- Return type:
FrequencySeries
- to_tensorflow(dtype: Any = None) Any[source]
Convert to tensorflow.Tensor.
- Return type:
tensorflow.Tensor
- classmethod from_tensorflow(tensor: Any, frequencies: Any, unit: Any | None = None) Any[source]
Create FrequencySeries from tensorflow.Tensor.
- to_jax(dtype: Any = None) Any[source]
Convert to JAX array.
- Return type:
jax.Array
- classmethod from_jax(array: Any, frequencies: Any, unit: Any | None = None) Any[source]
Create FrequencySeries from JAX array.
- to_cupy(dtype: Any = None) Any[source]
Convert to CuPy array.
- Return type:
cupy.ndarray
- classmethod from_cupy(array: Any, frequencies: Any, unit: Any | None = None) Any[source]
Create FrequencySeries from CuPy array.
- to_quantities(units: str | None = None) Any[source]
Convert to quantities.Quantity (Elephant/Neo compatible).
- Parameters:
units (str or quantities.UnitQuantity, optional) – Target units.
- Return type:
quantities.Quantity
- classmethod from_quantities(q: Any, frequencies: Any) Any[source]
Create FrequencySeries from quantities.Quantity.
- Parameters:
q (quantities.Quantity) – Input data.
frequencies (array-like) – Frequencies corresponding to the data.
- Return type:
FrequencySeries
- to_mne(info: Any | None = None) Any[source]
Convert to MNE-Python object.
- Parameters:
info (mne.Info, optional) – MNE Info object.
- Return type:
mne.time_frequency.SpectrumArray
- classmethod from_mne(spectrum: Any, **kwargs: Any) Any[source]
Create FrequencySeries from MNE-Python Spectrum object.
- Parameters:
spectrum (mne.time_frequency.Spectrum) – Input spectrum data.
**kwargs – Additional arguments passed to constructor.
- Return type:
FrequencySeries or FrequencySeriesDict
- to_obspy(**kwargs: Any) Any[source]
Convert to Obspy Trace.
- Return type:
obspy.Trace
- classmethod from_obspy(trace: Any, **kwargs: Any) Any[source]
Create FrequencySeries from Obspy Trace.
- Parameters:
trace (obspy.Trace) – Input trace.
**kwargs – Additional arguments.
- Return type:
FrequencySeries
- to_simpeg(location=None, rx_type='PointElectricField', orientation='x', **kwargs) Any[source]
Convert to SimPEG Data object.
- Parameters:
location (array_like, optional) – Rx location (x, y, z). Default is [0, 0, 0].
rx_type (str, optional) – Receiver class name. Default “PointElectricField”.
orientation (str, optional) – Receiver orientation (‘x’, ‘y’, ‘z’). Default ‘x’.
- Return type:
simpeg.data.Data
- classmethod from_simpeg(data_obj: Any, **kwargs: Any) Any[source]
Create FrequencySeries from SimPEG Data object.
- Parameters:
data_obj (simpeg.data.Data) – Input SimPEG Data.
- Return type:
FrequencySeries
- to_specutils(**kwargs)[source]
Convert to specutils.Spectrum1D.
- Parameters:
**kwargs – Arguments passed to Spectrum1D constructor.
- Return type:
specutils.Spectrum1D
- classmethod from_specutils(spectrum, **kwargs)[source]
Create FrequencySeries from specutils.Spectrum1D.
- Parameters:
spectrum (specutils.Spectrum1D) – Input spectrum.
- Return type:
FrequencySeries
- to_pyspeckit(**kwargs)[source]
Convert to pyspeckit.Spectrum.
- Parameters:
**kwargs – Arguments passed to pyspeckit.Spectrum constructor.
- Return type:
pyspeckit.Spectrum
- classmethod from_pyspeckit(spectrum, **kwargs)[source]
Create FrequencySeries from pyspeckit.Spectrum.
- Parameters:
spectrum (pyspeckit.Spectrum) – Input spectrum.
- Return type:
FrequencySeries
- DictClass
alias of
FrequencySeriesDict
- dt: Any
Module Contents
- class gwexpy.frequencyseries.BifrequencyMap(data: QuantityLike, unit: UnitBase | str | None = None, x0: QuantityLike | None = None, dx: QuantityLike | None = None, xindex: QuantityLike | None = None, xunit: UnitBase | str | None = None, y0: QuantityLike | None = None, dy: QuantityLike | None = None, yindex: QuantityLike | None = None, yunit: UnitBase | str | None = None, **kwargs)[source]
Bases:
Array2D2つの異なる周波数軸を持つマップ(応答関数や相関行列)クラス。
(行, 列) = (周波数2, 周波数1) としてデータを保持します。
- convolute(input_spectrum, interpolate=True, fill_value=0)[source]
Convolutes the map with an input spectrum (integration along f1).
- Calculates:
S_out(f2) = integral( M(f2, f1) * S_in(f1) * df1 )
This is similar to propagate, but multiplies by the frequency bin width (df) to perform an integration rather than a simple sum.
- Parameters:
input_spectrum (FrequencySeries) – Input spectrum S_in(f1).
interpolate (bool, optional) – If True, interpolates input spectrum to match map’s f1 axis. Default is True.
fill_value (float, optional) – Fill value for interpolation. Default is 0.
- Returns:
Output spectrum S_out(f2).
- Return type:
FrequencySeries
- crop(low=None, high=None, low2=None, high2=None) BifrequencyMap[source]
Crop this BifrequencyMap to a specific frequency range.
- Parameters:
low (float, u.Quantity, optional) – Lower bound for frequency1 (X/cols).
high (float, u.Quantity, optional) – Upper bound for frequency1 (X/cols).
low2 (float, u.Quantity, optional) – Lower bound for frequency2 (Y/rows). If None, uses low.
high2 (float, u.Quantity, optional) – Upper bound for frequency2 (Y/rows). If None, uses high.
- Returns:
cropped – The cropped map.
- Return type:
BifrequencyMap
- diagonal(method='mean', bins=None, absolute=False, **kwargs)[source]
Calculates statistics along the diagonal axis (f2 - f1).
- Parameters:
method (str, optional) – Statistical method to use. Supported: ‘mean’, ‘median’, ‘max’, ‘min’, ‘std’, ‘rms’, ‘percentile’. Default is ‘mean’. All methods ignore NaNs in the data by default.
bins (int or array-like, optional) – Number of bins or bin edges for the diagonal axis. If None (default), it is automatically determined based on the resolution of frequency axes (max(df1, df2)).
absolute (bool, optional) – If True, calculates statistics along the absolute difference
abs(f2 - f1). Default is False.**kwargs – Additional arguments passed to the statistical function. For ‘percentile’, use percentile=….
- Returns:
The result of the diagonal projection.
- Return type:
FrequencySeries
- property frequency1
周波数軸 1 (X軸/Columns)
- property frequency2
周波数軸 2 (Y軸/Rows)
- classmethod from_points(data, f2, f1, **kwargs)[source]
データと2つの周波数軸からインスタンスを生成します。
- Parameters:
data (array-like) – 形状が (len(f2), len(f1)) の2次元配列
f2 (array-like) – 周波数軸 2(Y軸/行)
f1 (array-like) – 周波数軸 1(X軸/列)
- get_slice(at, axis='f1')[source]
Extract a 1D slice (FrequencySeries) at a specific frequency on one axis.
- Parameters:
at (float or Quantity) – The frequency value to slice at.
axis (str, optional) – The axis to slice along (‘f1’ or ‘f2’). ‘f1’: Fix f1=at, return spectrum along f2. ‘f2’: Fix f2=at, return spectrum along f1. Default is ‘f1’.
- Returns:
The extracted 1D spectrum.
- Return type:
FrequencySeries
- inverse(rcond=None) BifrequencyMap[source]
Calculate the (pseudo-)inverse of the BifrequencyMap.
- Parameters:
rcond (float or None) – Cutoff for small singular values. Same as np.linalg.pinv.
- Returns:
inv_map – New BifrequencyMap instance representing the inverse matrix.
- Return type:
BifrequencyMap
- plot(method='imshow', **kwargs)[source]
Plots the data.
- Parameters:
method (str, optional) – ‘imshow’ or ‘pcolormesh’. Default is ‘imshow’.
**kwargs – Keywork arguments passed to the plotting method or Plot constructor.
- plot_lines(xaxis='f1', color='f2', num_lines=None, ax=None, cmap=None, **kwargs)[source]
Plot the map as a set of lines (1D spectra).
- Parameters:
xaxis (str, optional) – The x-axis definition for each line. - ‘f1’: Frequency 1. - ‘f2’: Frequency 2. - ‘diff’, ‘f2-f1’: Frequency 2 - Frequency 1. - ‘diff_inv’, ‘f1-f2’: Frequency 1 - Frequency 2. - ‘abs_diff’,
'|f2-f1|': absolute value of (Frequency 2 - Frequency 1). Default is ‘f1’.color (str, optional) – The parameter to use for coloring the lines (and defining the slices). - ‘f2’ (default): Iterate over Frequency 2 (rows). Each line is a row at fixed f2. Color is f2. - ‘f1’: Iterate over Frequency 1 (columns). Each line is a column at fixed f1. Color is f1. - ‘diff’, ‘f2-f1’: (Not fully implemented for slicing) Ideally iterate over diagonals.
num_lines (int, optional) – Maximum number of lines to plot. If None, plot all. Lines are subsampled uniformly if count exceeds num_lines.
ax (matplotlib.axes.Axes, optional) – Axes to plot on. If None, a new figure is created.
cmap (str or Colormap, optional) – Colormap to use.
**kwargs – Additional arguments passed to LineCollection.
- Returns:
The figure or axes where the plot was drawn.
- Return type:
matplotlib.figure.Figure or matplotlib.axes.Axes
- propagate(input_spectrum, interpolate=True, fill_value=0)[source]
入力スペクトルに応答関数を適用し、出力スペクトルを計算します。
入力スペクトルの周波数軸がこのマップの軸1(xindex)と異なる場合、 自動的に線形補間を行って合わせることができます。
- Parameters:
input_spectrum (FrequencySeries) – 入力となるノイズスペクトル。
interpolate (bool, optional) – Trueの場合、入力スペクトルの周波数軸をマップの軸1に合わせて補間します。 Falseの場合、サイズが一致していないとエラーになります。デフォルトは True。
fill_value (float, optional) – 補間時に範囲外となった場合の埋め込み値。デフォルトは 0。
- Returns:
軸2(frequency2)を持つ計算結果。
- Return type:
FrequencySeries
- class gwexpy.frequencyseries.SeriesType(value)[source]
Bases:
Enum- TIME = 'time'
- FREQ = 'freq'
- class gwexpy.frequencyseries.FrequencySeriesMatrix(data=None, frequencies=None, df=None, f0=None, **kwargs)[source]
Bases:
FrequencySeriesMatrixCoreMixin,FrequencySeriesMatrixAnalysisMixin,SeriesMatrix2D Matrix container for multiple FrequencySeries objects sharing a common frequency axis.
This class represents a 2-dimensional array (rows x columns) where each element is a FrequencySeries. All elements in the matrix share the same frequency array (same f0, df, and number of frequency bins). It is typically used to represent multi-channel spectral data, such as CSD matrices or multi-channel PSDs.
Inherits from SeriesMatrix and returns FrequencySeries instances when indexed per-channel.
- default_xunit = 'Hz'
- default_yunit = None
- dict_class
alias of
FrequencySeriesDict
- list_class
alias of
FrequencySeriesList
- series_class
alias of
FrequencySeries
- series_type = 'freq'
- class gwexpy.frequencyseries.FrequencySeriesBaseDict(*args: Any, **kwargs: Any)[source]
Bases:
OrderedDict[str,_FS]Ordered mapping container for FrequencySeries objects.
This is a lightweight GWpy-inspired container: - enforces EntryClass on insertion/update - provides map-style helpers (copy, crop, plot) - default values for setdefault() must be FrequencySeries (None not allowed)
Non-trivial operations (I/O, fetching, axis coercion, joins) are intentionally out-of-scope for this MVP.
- EntryClass
alias of
FrequencySeries
- copy() FrequencySeriesBaseDict[_FS][source]
- crop(start: Any = None, end: Any = None, copy: bool = False) FrequencySeriesBaseDict[_FS][source]
- plot(label: str = 'key', method: str = 'plot', figsize: Any | None = None, **kwargs: Any)[source]
Plot data.
- Parameters:
label (str, optional) –
labelling method, one of
'key': use dictionary key (default)'name': usenameattribute of each item
method (str, optional) – method of
Plotto call, default:'plot'figsize (tuple, optional) – (width, height) tuple in inches
**kwargs – other keyword arguments passed to the plot method
- plot_all(*args: Any, **kwargs: Any)[source]
Alias for plot(). Plots all series in the dict.
- classmethod read(source, *args, **kwargs)[source]
Read data into a FrequencySeriesDict.
- Parameters:
source (str, file-like) – Source of data, either a file path or a file-like object.
*args – Arguments passed to the underlying reader.
**kwargs – Keyword arguments passed to the underlying reader.
- Returns:
FrequencySeriesDict – A new dict containing the data read from the source.
The available built-in formats are
======= ==== ===== ============= – Format Read Write Auto-identify
======= ==== ===== ============= – li Yes No No lsf Yes No No mem Yes No No orf Yes No No sdb Yes No No
- taffmat Yes No No – wdf Yes No No
win Yes No No
- win32 Yes No No
wvf Yes No No
======= ==== ===== =============
- setdefault(key: str, default: _FS | None = None) _FS[source]
- property span
Frequency extent across all elements (based on xspan).
- write(target, *args, **kwargs)[source]
- class gwexpy.frequencyseries.FrequencySeriesDict(*args: Any, **kwargs: Any)[source]
Bases:
DictMapMixin,FrequencySeriesBaseDict[FrequencySeries]Ordered mapping of FrequencySeries objects keyed by label.
- EntryClass
alias of
FrequencySeries
- angle(*args, **kwargs) FrequencySeriesDict[source]
Alias for phase(). Returns a new FrequencySeriesDict.
- append(*args, **kwargs) FrequencySeriesDict[source]
Append to each FrequencySeries in the dict (in-place). Returns self.
- apply_response(*args, **kwargs)
Apply response to each FrequencySeries.
- crop(*args, **kwargs) FrequencySeriesDict[source]
Crop each FrequencySeries in the dict. In-place operation (GWpy-compatible). Returns self.
- degree(*args, **kwargs)
Compute phase (in degrees) of each FrequencySeries.
- differentiate_time(*args, **kwargs)
Apply time differentiation to each item.
- filter(*args, **kwargs)
Apply filter to each FrequencySeries.
- classmethod from_finesse_frequency_response(sol: Any, *, unit: Any | None = None) FrequencySeriesDict[source]
Create from finesse FrequencyResponseSolution.
Returns a dict keyed by
"output -> input"for all DOF pairs.- Parameters:
sol (finesse.analysis.actions.lti.FrequencyResponseSolution) – The frequency response solution from a Finesse 3 simulation.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data.
- classmethod from_finesse_noise(sol: Any, *, output: Any | None = None, unit: Any | None = None) FrequencySeriesDict[source]
Create from finesse NoiseProjectionSolution.
Returns a dict keyed by
"output: noise_source"strings.- Parameters:
sol (finesse.analysis.actions.noise.NoiseProjectionSolution) – The noise projection solution from a Finesse 3 simulation.
output (str or object, optional) – Output node name. If None, all outputs are included.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data (e.g.,
"m/sqrt(Hz)").
- classmethod from_pyspice_ac(analysis: Any, *, unit: Any | None = None) FrequencySeriesDict[source]
Create from a PySpice AcAnalysis.
Returns a dict keyed by signal name for all nodes and branches.
- Parameters:
analysis (PySpice.Spice.Simulation.AcAnalysis) – The AC analysis result from a PySpice simulation.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data.
- classmethod from_pyspice_noise(analysis: Any, *, unit: Any | None = None) FrequencySeriesDict[source]
Create from a PySpice NoiseAnalysis.
Returns a dict keyed by signal name for all noise nodes.
- Parameters:
analysis (PySpice.Spice.Simulation.NoiseAnalysis) – The noise analysis result from a PySpice simulation.
unit (str or astropy.units.Unit, optional) – Unit to assign to the data.
- classmethod from_skrf_network(ntwk: Any, *, parameter: str = 's', unit: Any | None = None) FrequencySeriesDict[source]
Create from a scikit-rf Network.
Returns a dict keyed by port-pair labels (e.g.
"S11","S21").- Parameters:
ntwk (skrf.Network) – The scikit-rf Network object.
parameter (str, default
"s") – Which network parameter to extract ("s","z","y","a","t", or"h").unit (str or astropy.units.Unit, optional) – Unit to assign to the data.
- group_delay(*args, **kwargs)
Compute group delay of each item.
- histogram(*args, **kwargs)
Compute Histogram for each FrequencySeries. Returns a HistogramDict.
- ifft(*args, **kwargs)
Compute IFFT of each FrequencySeries. Returns a TimeSeriesDict.
- integrate_time(*args, **kwargs)
Apply time integration to each item.
- interpolate(*args, **kwargs)
Interpolate each FrequencySeries in the dict.
- pad(*args, **kwargs)
Pad each FrequencySeries in the dict.
- phase(*args, **kwargs)
Compute phase of each FrequencySeries.
- prepend(*args, **kwargs) FrequencySeriesDict[source]
Prepend to each FrequencySeries in the dict (in-place). Returns self.
- rebin(*args, **kwargs)
Rebin each FrequencySeries in the dict.
- smooth(*args, **kwargs)
Smooth each FrequencySeries.
- to_control_frd(*args, **kwargs)
Convert each item to control.FRD. Returns a dict.
- to_cupy(*args, **kwargs)
Convert each item to cupy.ndarray. Returns a dict.
- to_db(*args, **kwargs)
Convert each FrequencySeries to dB.
- to_jax(*args, **kwargs)
Convert each item to jax.Array. Returns a dict.
- to_matrix()[source]
Convert this FrequencySeriesDict to a FrequencySeriesMatrix (Nx1).
- to_pandas(**kwargs)[source]
Convert to pandas.DataFrame. Keys become columns.
- to_tensorflow(*args, **kwargs)
Convert each item to tensorflow.Tensor. Returns a dict.
- to_tmultigraph(name: str | None = None) Any[source]
Convert to ROOT TMultiGraph.
- to_torch(*args, **kwargs)
Convert each item to torch.Tensor. Returns a dict.
- to_xarray()[source]
Convert to xarray.Dataset. Keys become data variables.
- write(target: str, *args: Any, **kwargs: Any) Any[source]
Write dict to file (HDF5, ROOT, etc.).
- zpk(*args, **kwargs)
Apply ZPK filter to each FrequencySeries.
- class gwexpy.frequencyseries.FrequencySeriesBaseList(*items: _FS | Iterable[_FS])[source]
Bases:
PlotMixin,list[_FS]List container for FrequencySeries objects with type enforcement.
- EntryClass
alias of
FrequencySeries
- append(item: _FS)[source]
- copy() FrequencySeriesBaseList[_FS][source]
- extend(items: Iterable[_FS]) None[source]
- insert(index: int, item: _FS) None[source]
- plot(**kwargs: Any) Any[source]
Plot this collection using gwexpy Plot.
- plot_all(*args: Any, **kwargs: Any)[source]
Alias for plot(). Plots all series.
- classmethod read(source, *args, **kwargs)[source]
Read data into a FrequencySeriesList.
- Parameters:
source (str, file-like) – Source of data, either a file path or a file-like object.
*args – Arguments passed to the underlying reader.
**kwargs – Keyword arguments passed to the underlying reader.
- Returns:
A new list containing the data read from the source.
- Return type:
FrequencySeriesList
- property segments
Frequency spans of each element (xspan).
- write(target, *args, **kwargs)[source]
- class gwexpy.frequencyseries.FrequencySeriesList(*items: _FS | Iterable[_FS])[source]
Bases:
ListMapMixin,FrequencySeriesBaseList[FrequencySeries]List of FrequencySeries objects.
- EntryClass
alias of
FrequencySeries
- angle(*args, **kwargs) FrequencySeriesList[source]
Alias for phase(). Returns a new FrequencySeriesList.
- apply_response(*args, **kwargs)
Apply response to each FrequencySeries in the list.
- crop(*args, **kwargs)
Crop each FrequencySeries in the list.
- degree(*args, **kwargs)
Compute phase (in degrees) of each FrequencySeries.
- differentiate_time(*args, **kwargs)
Apply time differentiation to each item.
- filter(*args, **kwargs)
Apply filter to each FrequencySeries in the list.
- group_delay(*args, **kwargs)
Compute group delay of each item.
- histogram(*args, **kwargs)
Compute Histogram for each FrequencySeries. Returns a HistogramList.
- ifft(*args, **kwargs)
Compute IFFT of each FrequencySeries. Returns a TimeSeriesList.
- integrate_time(*args, **kwargs)
Apply time integration to each item.
- interpolate(*args, **kwargs)
Interpolate each FrequencySeries in the list.
- pad(*args, **kwargs)
Pad each FrequencySeries in the list.
- phase(*args, **kwargs)
Compute phase of each FrequencySeries.
- rebin(*args, **kwargs)
Rebin each FrequencySeries in the list.
- smooth(*args, **kwargs)
Smooth each FrequencySeries.
- to_control_frd(*args, **kwargs) list[source]
Convert each item to control.FRD. Returns a list of FRD objects.
- to_cupy(*args, **kwargs) list[source]
Convert each item to cupy.ndarray. Returns a list of Arrays.
- to_db(*args, **kwargs)
Convert each FrequencySeries to dB.
- to_jax(*args, **kwargs) list[source]
Convert each item to jax.Array. Returns a list of Arrays.
- to_pandas(**kwargs)[source]
Convert to pandas.DataFrame. Columns are named by channel name or index.
- to_tensorflow(*args, **kwargs) list[source]
Convert each item to tensorflow.Tensor. Returns a list of Tensors.
- to_tmultigraph(name: str | None = None) Any[source]
Convert to ROOT TMultiGraph.
- to_torch(*args, **kwargs) list[source]
Convert each item to torch.Tensor. Returns a list of Tensors.
- to_xarray()[source]
Convert to xarray.DataArray. Concatenates along a new dimension ‘channel’.
- write(target: str, *args: Any, **kwargs: Any) Any[source]
Write list to file (HDF5, ROOT, etc.).
- zpk(*args, **kwargs)
Apply ZPK filter to each FrequencySeries in the list.