Version 1.5.0
endaq-python 1.5.0 is the culmination of 4 months of hard work to round out the library for general-purpose shock and vibration data analysis and visualization. It contains many new functions, numerous bug fixes, better documentation, and improved testing coverage. All users are encouraged to upgrade to this new release.
New Features
calc.fft.rolling_fft()
to calculate FFTs across many different time segments, either evenly spaced or discretely definedcalc.psd.rolling_psd()
to calculate PSDs across many different time segments, either evenly spaced or discretely definedcalc.psd.spectrogram()
a wrapper aroundscipy.signal.spectrogram()
for an easier interface when working with dataframes with multiple channelscalc.rotation.quaternion_to_euler()
to convert quaternion data to euler angles (this had been in a previous release but wasn't added to the__init__.py
file or the docs)calc.shock.rolling_shock_spectrum()
to calculate a shock spectrum across many different time segments, either evenly spaced or discretely definedcalc.stats.shock_vibe_metrics()
to calculate a variety of shock and vibration metrics from a time series, such as peak, RMS, RMS within frequency ranges, integrated velocity & displacement metrics and more, example included in docstringcalc.stats.find_peaks()
to find peak indexes from a time series based on the overall RMS or peak of the signal if an explicit threshold isn't defined, example included in the docstringcalc.stats.rolling_metrics()
to calculate shock & vibration metrics across many different time segmentscalc.utils.convert_units()
to apply unit conversions to scalers or dataframes using thepint
libraryide.get_utc_offset()
to find the UTC offset of an IDE file, this is used to also allowide.to_pandas()
to return datetime indexes with a defined or implied timezoneplot.spectrum_over_time()
to visualize the rolling spectrum function outputs and batch outputs as heatmaps, animations, waterfall & surface plots and more, includes some examples in the docsplot.pvss_on_4cp()
to plot on shock spectrum on 4 coordinate plot paper which includes the diagonal lines to define displacement and acceleration, includes some examples in the docsplot.table_plot()
to generate a plotly table figure from a dataframe, includes some examples in the docsplot.table_plot_from_ide()
to summarize an IDE file into a plotly table figure, includes some examples in the docs
Fixes / Changes
calc.fft.aggregate_fft()
now defaults to overlap between segments of 50%calc.shock.shock_spectrum()
now doesn't require a definition of the natural frequencies to calculate the response from, it will define these from other parameters that have default valuescalc.shock.shock_spectrum()
will limit the calculation tomax_time
around the peak event, this is defaulted to 2 seconds but can be disabled by setting it toNone
calc.utils.resample()
fixed a bug with datetimes and includes an index name in the returned dataframe- `plot.get_map() fixed a bug with latitude and longitude definition, also added an example in the docs
plot.octave_spectrum()
updated to useplot.spectrum_over_time()
plot.rolling_min_max_envelope()
changed defaults to plot as bars and for a larger number of points, also added an example in the docs- various other docs improvements and testing coverage expansion
Full Changelog: 1.4.0...1.5.0