Newer
Older
import numpy as np
from pccDccTools import dsiVector,dsiMultiVector,DsiASCICOnversion
if __name__ == "__main__":
testDSiVectorFreq = dsiVector((np.arange(20) + 1) * 0.5, np.ones(20) * 0.1, 'Frequency', r'\hertz', uncerType="relPercent",refTypes=["vib_Test"],name={'EN':'Frequency','DE':'Frequenz'})
testDsiVectorMag = dsiVector((np.arange(20) + 1) * 5, np.ones(20) * 0.1, 'Magnitude', r'\volt',uncerType="relPercent")
testDsiVectorPhase = dsiVector((np.arange(20) + 1) * 0.1*np.pi, np.ones(20) * 0.1, 'Phase', r'\radian',uncerType="relPercent")
testDsiVectorFreqWOUncer = dsiVector((np.arange(20) + 1) * 0.5, None, 'Frequency', r'\hertz',uncerType=None)
str(testDsiVectorFreqWOUncer)
testDsiVectors=[testDSiVectorFreq,testDsiVectorMag,testDsiVectorPhase,testDsiVectorFreqWOUncer]
serilizedStrs=[]
loadedVectors=[]
for testDSiVector in testDsiVectors:
print("__________ New Vector________________")
print(str(testDSiVector))
print(testDSiVector)
print(testDSiVector[10])
print(testDSiVector[1:8])
print(testDSiVector[10])
print(testDSiVector['unit'])
print(testDSiVector['quantity'])
print(testDSiVector['uncer'])
print(testDSiVector['uncer_relPercent'])
#print(testDSiVector['test'])
print(testDSiVector['values', 10])
print(testDSiVector['values', 10:12])
print(testDSiVector['uncer_relPercent', 10])
print(testDSiVector['uncer_relPercent', 10:12])
#print(testDSiVector['uncer_relPercent', 1000])
jsonStr = testDSiVector.jsonDumps()
serilizedStrs.append(jsonStr)
print("__________ JSON________________")
print(jsonStr)
loadedVectors.append(loadedDSIVector)
print(loadedDSIVector['values', 10])
print(loadedVectors.__str__())
#testMultVector=dsiMultiVector(testDsiVectorFreqWOUncer,[testDsiVectorMag,testDsiVectorPhase],interpolationTypes={'Magnitude':('scipy','linear'),'default':('scipy','nearest')})
testMultVectorMultiIndex = dsiMultiVector([testDSiVectorFreq,testDsiVectorFreqWOUncer], [testDsiVectorMag, testDsiVectorPhase])
print("_________Multi Vectors_______________")
Benedikt Seeger
committed
print(testMultVector['Magnitude',2.25])
print(testMultVector['Magnitude',np.array([2.25,3.5,4.75])])
print(testMultVector['Phase',(np.arange(89)*0.1+1.0)][0])
print(testMultVector['Phase',1.25])
Benedikt Seeger
committed
multiVewctrorDump = testMultVector.jsonDumps()
print(multiVewctrorDump)
reconstructedMultiVector=dsiMultiVector.fromJson(multiVewctrorDump)
Benedikt Seeger
committed
print(reconstructedMultiVector['Phase',1.25])
exampleDSIQiuant=loadedVectors[0].toDCCQuantity(uncer='rel')
print(exampleDSIQiuant)
print(loadedVectors[0].toDCCQuantity(uncer=False))
print(loadedVectors[0].toDCCQuantity(uncer='rel'))
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
"""
examlpeJsonDict = {'dcc:list': {'dcc:quantity': [{'@refType': 'basic_xxx', 'dcc:name': {
'dcc:content': [{'@lang': 'de', '#text': 'Frequenz'}, {'@lang': 'en', '#text': 'en'}]}, 'si:realListXMLList': {
'si:valueXMLList': {'#text': '10 12.5 16 20 25'}, 'si:unitXMLList': {'#text': '\\second\\tothe{-1}'}}},
{'@refType': 'basic_xxx', 'dcc:name': {'dcc:content': [
{'@lang': 'de', '#text': 'Beschleunigungsamplitude'},
{'@lang': 'en', '#text': 'en'}]}, 'si:realListXMLList': {
'si:valueXMLList': {'#text': '5 5 5 10 10'},
'si:unitXMLList': {'#text': '\\metre\\second\\tothe{-2}'}}},
{'@refType': 'basic_xxx', 'dcc:name': {'dcc:content': [
{'@lang': 'de', '#text': 'Ãœbertragungskoeffizient Betrag'},
{'@lang': 'en', '#text': 'en'}]}, 'si:realListXMLList': {
'si:valueXMLList': {
'#text': '0.1301 0.1302 0.1302 0.1302 0.1302'},
'si:unitXMLList': {
'#text': '\\pico\\coulomb\\metre\\tothe{-1}\\second\\tothe{2}'},
'si:expandedUncXMLList': {'si:uncertaintyXMLList': {
'#text': '0.002602 0.002604 0.002604 0.002604 0.002604'},
'si:coverageFactorXMLList': {
'#text': '2'},
'si:coverageProbabilityXMLList': {
'#text': '0.95'},
'si:distributionXMLList': {
'#text': 'normal'}}},
'dcc:relativeUncertainty': {'dcc:relativeUncertaintyXmlList': {
'si:valueXMLList': {'#text': '0.002 0.002 0.002 0.002 0.002'},
'si:unitXMLList': {'#text': '\\one'}}}},
{'@refType': 'basic_xxx', 'dcc:name': {'dcc:content': [
{'@lang': 'de',
'#text': 'Ãœbertragungskoeffizient Phasenverschiebung'},
{'@lang': 'en', '#text': 'en'}]}, 'si:realListXMLList': {
'si:valueXMLList': {'#text': '-0.02 -0.03 -0.02 -0.02 -0.01'},
'si:unitXMLList': {'#text': '\\degree'},
'si:expandedUncXMLList': {
'si:uncertaintyXMLList': {'#text': '0.3 0.3 0.3 0.3 0.3'},
'si:coverageFactorXMLList': {'#text': '2'},
'si:coverageProbabilityXMLList': {'#text': '0.95'},
'si:distributionXMLList': {'#text': 'normal'}}}}],
'@_Comment': ' \n <dcc:measurementMetaData>\n <dcc:metaData>\n <dcc:declaration>\n <dcc:content lang="de">Hier steht der Text mit Leerzeichen.</dcc:content>\n </dcc:declaration>\n <dcc:valid>false false true fals false</dcc:valid>\n </dcc:metaData>\n </dcc:measurementMetaData>\n '}}
tmp=testMultVectorMultiIndex.toDCCquantityList()
print(tmp)