MCPcopy Create free account
hub / github.com/PyTTaMaster/PyTTa / _curve_data_extractor_spectrogram

Function _curve_data_extractor_spectrogram

pytta/_plot.py:903–956  ·  view source on GitHub ↗

Extracts data from all curves from each SignalObj. Parameter (default), (type): ----------------------------- * sigObjs (), (list): a list with SignalObjs for curve data extraction Return (type): -------------- * curveData (), (list):

(sigObjs)

Source from the content-addressed store, hash-verified

901
902
903def _curve_data_extractor_spectrogram(sigObjs):
904 """
905 Extracts data from all curves from each SignalObj.
906
907 Parameter (default), (type):
908 -----------------------------
909
910 * sigObjs (), (list):
911 a list with SignalObjs for curve data extraction
912
913 Return (type):
914 --------------
915
916 * curveData (), (list):
917 a list with dictionaries containing the information about
918 each plot. Needed keys for spectrogram plot:
919
920 - 'timeVector', (), (ndarray): time axis;
921 - 'timeSignal', (), (ndarray): signal in time domain;
922 - 'samplingRate', (), (int): signal sampling rate;
923 - 'label', (), (str): curve label;
924 - 'dBRef', (), (float): decibel scale reference;
925 - 'minFreq', (), (float): SignalObj's minimum analysed frequency
926 - 'maxFreq', (), (float): SignalObj's maximum analysed frequency
927
928 >>> curveData = [{'timeVector':timeVector, 'timeSignal':timeSignal,
929 'samplingRate':samplingRate', label':'my plotz',
930 'dBRef':2e-5, 'minFreq':20, 'maxFreq':20000}]
931 """
932 curveData = []
933 for sigObj in sigObjs:
934 minFreq = sigObj.freqMin
935 maxFreq = sigObj.freqMax
936 timeVector = sigObj.timeVector
937 samplingRate = sigObj.samplingRate
938
939 for chIndex in range(sigObj.numChannels):
940 chNum = sigObj.channels.mapping[chIndex]
941 unitData = '[{} ref.: {} {}]'.format(sigObj.channels[chNum].dBName,
942 sigObj.channels[chNum].dBRef,
943 sigObj.channels[chNum].unit)
944 label = '{} {}'.format(sigObj.channels[chNum].name, unitData)
945 timeSignal = sigObj.timeSignal[:, chIndex]
946 dBRef = sigObj.channels[chNum].dBRef
947 curveData.append({
948 'timeVector':timeVector,
949 'timeSignal':timeSignal,
950 'samplingRate':samplingRate,
951 'label':label,
952 'dBRef':dBRef,
953 'minFreq':minFreq,
954 'maxFreq':maxFreq
955 })
956 return curveData
957
958
959def _calc_spectrogram(timeSignal, timeVector, samplingRate, overlap, winType,

Callers 1

spectrogramFunction · 0.85

Calls 1

appendMethod · 0.80

Tested by

no test coverage detected