Skip to content
Snippets Groups Projects
Commit a264e6ac authored by Benedikt's avatar Benedikt
Browse files

added dsiMultivector to DCCjson Converter

parent 24511ca4
No related branches found
No related tags found
No related merge requests found
......@@ -56,7 +56,7 @@ del revd
def npArrayToXMLList(array):
if array.ndim!=1:
raise RuntimeError("conversion onlly supportet for 1D Array but Array is "+str(array.ndim)+" dimensional")
return str(array).replace('\n','').replace('. ','.0')
return str(array).replace('\n','').replace('. ','.0 ')
class dsiVector:
......@@ -74,7 +74,9 @@ class dsiVector:
self.quantity = str(quantity)
self.unit = str(unit)
self.refType=str(refType)
self.uncerParams=uncerParams
self.uncerParams = {}
if uncerType is not None:
self.uncerParams=uncerParams
if type(values) == np.array:
self.values = values
else:
......@@ -391,6 +393,14 @@ class dsiMultiVector:
def __repr__(self):
return str(self.dataType)+" @ " + hex(id(self))+' Index >'+str(self.index['quantity'])+' Quantitys>'+str(self.valueVectorsQuantitys)+' Interpolation Typ>'+str(self.interpolationTypes)
def toDCCquantityList(self):
resultList=[]
if self.index.originalUncerType is not None:
resultList.append(self.index.toDCCrealListXMLList())
for valueVectorQuant in self.valueVectorsQuantitys:
resultList.append(self[valueVectorQuant].toDCCrealListXMLList())
return {'dcc:list':{'dcc:quantity':resultList},'@_Comment':''}#TODO add comment option to multivector
class dsiInterpolator:
......
......@@ -9,7 +9,7 @@ if __name__ == "__main__":
testDsiVectors=[testDSiVectorFreq,testDsiVectorMag,testDsiVectorPhase,testDsiVectorFreqWOUncer]
serilizedStrs=[]
loadedVectors=[]
"""
for testDSiVector in testDsiVectors:
print("__________ New Vector________________")
print(str(testDSiVector))
......@@ -35,8 +35,9 @@ if __name__ == "__main__":
loadedVectors.append(loadedDSIVector)
print(loadedDSIVector['values', 10])
print(loadedVectors.__str__())
"""
testMultVector=dsiMultiVector(testDsiVectorFreqWOUncer,[testDsiVectorMag,testDsiVectorPhase],interpolationTypes={'Magnitude':('scipy','linear'),'default':('scipy','nearest')})
"""
print("_________Multi Vectors_______________")
print(testMultVector['Magnitude'][int(0)])
print(testMultVector['Magnitude',2.25])
......@@ -50,10 +51,52 @@ if __name__ == "__main__":
print(reconstructedMultiVector['Phase',1.25])
######## Devel #######
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 '}}
print("Done")
print(loadedVectors[0].toDCCQuantity())
exampleDSIQiuant=loadedVectors[0].toDCCQuantity(uncer='rel')
print(exampleDSIQiuant)
print(loadedVectors[0].toDCCQuantity(uncer=False))
print(loadedVectors[0].toDCCQuantity(uncer='rel'))
"""
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=testMultVector.toDCCquantityList()
print("Done")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment