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

Function __h5_unpack

pytta/functions.py:998–1191  ·  view source on GitHub ↗

Unpack an HDF5 group into its respective PyTTa object

(objH5Group)

Source from the content-addressed store, hash-verified

996
997
998def __h5_unpack(objH5Group):
999 """
1000 Unpack an HDF5 group into its respective PyTTa object
1001 """
1002 if objH5Group.attrs['class'] == 'SignalObj':
1003 # PyTTaObj attrs unpacking
1004 samplingRate = objH5Group.attrs['samplingRate']
1005 freqMin = _h5.none_parser(objH5Group.attrs['freqMin'])
1006 freqMax = _h5.none_parser(objH5Group.attrs['freqMax'])
1007 lengthDomain = objH5Group.attrs['lengthDomain']
1008 comment = objH5Group.attrs['comment']
1009 # SignalObj attr unpacking
1010 channels = eval(objH5Group.attrs['channels'])
1011 # Added with an if for compatibility issues
1012 if 'signalType' in objH5Group.attrs:
1013 signalType = _h5.attr_parser(objH5Group.attrs['signalType'])
1014 else:
1015 signalType = 'power'
1016 # Creating and conforming SignalObj
1017 SigObj = SignalObj(signalArray=np.array(objH5Group['timeSignal']),
1018 domain='time',
1019 signalType=signalType,
1020 samplingRate=samplingRate,
1021 freqMin=freqMin,
1022 freqMax=freqMax,
1023 comment=comment)
1024 SigObj.channels = channels
1025 SigObj.lengthDomain = lengthDomain
1026 return SigObj
1027
1028 elif objH5Group.attrs['class'] == 'ImpulsiveResponse':
1029 systemSignal = __h5_unpack(objH5Group['systemSignal'])
1030 method = objH5Group.attrs['method']
1031 winType = objH5Group.attrs['winType']
1032 winSize = objH5Group.attrs['winSize']
1033 overlap = objH5Group.attrs['overlap']
1034 IR = ImpulsiveResponse(method=method,
1035 winType=winType,
1036 winSize=winSize,
1037 overlap=overlap,
1038 ir=systemSignal)
1039 return IR
1040
1041 elif objH5Group.attrs['class'] == 'RecMeasure':
1042 # PyTTaObj attrs unpacking
1043 samplingRate = objH5Group.attrs['samplingRate']
1044 freqMin = _h5.none_parser(objH5Group.attrs['freqMin'])
1045 freqMax = _h5.none_parser(objH5Group.attrs['freqMax'])
1046 comment = objH5Group.attrs['comment']
1047 lengthDomain = objH5Group.attrs['lengthDomain']
1048 fftDegree = objH5Group.attrs['fftDegree']
1049 timeLength = objH5Group.attrs['timeLength']
1050 # Measurement attrs unpacking
1051 device = _h5.list_w_int_parser(objH5Group.attrs['device'])
1052 inChannels = eval(objH5Group.attrs['inChannels'])
1053 blocking = objH5Group.attrs['blocking']
1054 # Recreating the object
1055 rObj = measurement(kind='rec',

Callers 1

_h5_loadFunction · 0.85

Calls 5

SignalObjClass · 0.90
ImpulsiveResponseClass · 0.90
measurementFunction · 0.90
AnalysisClass · 0.90
appendMethod · 0.80

Tested by

no test coverage detected