Exemplo n.º 1
0
	def buildChildren(self, child_, nodeName_):
		if child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'nexusFileName':
			obj_ = XSDataString()
			obj_.build(child_)
			self.setNexusFileName(obj_)
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'instrument':
			obj_ = XSDataString()
			obj_.build(child_)
			self.setInstrument(obj_)
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'energy':
			obj_ = XSDataArray()
			obj_.build(child_)
			self.setEnergy(obj_)
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'dataArray':
			obj_ = XSDataArray()
			obj_.build(child_)
			self.setDataArray(obj_)
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'pathToEnergyArray':
			obj_ = XSDataFile()
			obj_.build(child_)
			self.setPathToEnergyArray(obj_)
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'pathToDataArray':
			obj_ = XSDataFile()
			obj_.build(child_)
			self.setPathToDataArray(obj_)
		XSDataInput.buildChildren(self, child_, nodeName_)
Exemplo n.º 2
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'energy':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setEnergy(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'dataArray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setDataArray(obj_)
     XSDataResult.buildChildren(self, child_, nodeName_)
 def testCheckParameters(self):
     xsDataInput = XSDataInputWriteMatrix()
     xsDataInput.setInputMatrix(XSDataArray())
     xsDataInput.setOutputMatrixFile(XSDataFile())
     edPluginExecMatrixWrite = self.createPlugin()
     edPluginExecMatrixWrite.setDataInput(xsDataInput)
     edPluginExecMatrixWrite.checkParameters()
Exemplo n.º 4
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'outputMatrix':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setOutputMatrix(obj_)
     XSDataResult.buildChildren(self, child_, nodeName_)
Exemplo n.º 5
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'data':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setData(obj_)
     XSDataInput.buildChildren(self, child_, nodeName_)
Exemplo n.º 6
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'title':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setTitle(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'long_name':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setLong_name(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'axis':
         obj_ = XSDataNexusAxis()
         obj_.build(child_)
         self.axis.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'data':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setData(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'signal':
         obj_ = XSDataInteger()
         obj_.build(child_)
         self.setSignal(obj_)
     XSData.buildChildren(self, child_, nodeName_)
Exemplo n.º 7
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'title':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setTitle(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'axis':
         obj_ = XSDataInteger()
         obj_.build(child_)
         self.setAxis(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'primary':
         obj_ = XSDataInteger()
         obj_.build(child_)
         self.setPrimary(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'units':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setUnits(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'long_name':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setLong_name(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
      nodeName_ == 'axisData':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setAxisData(obj_)
     XSData.buildChildren(self, child_, nodeName_)
Exemplo n.º 8
0
	def buildChildren(self, child_, nodeName_):
		if child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'lineStyle':
			value_ = ''
			for text__content_ in child_.childNodes:
				if text__content_.nodeValue is not None:
					value_ += text__content_.nodeValue
			self.__lineStyle = value_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'lineWidth':
			if child_.firstChild:
				sval_ = child_.firstChild.nodeValue
				try:
					fval_ = float(sval_)
				except ValueError:
					raise ValueError('requires float (or double) -- %s' % child_.toxml())
				self.__lineWidth = fval_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'lineColor':
			value_ = ''
			for text__content_ in child_.childNodes:
				if text__content_.nodeValue is not None:
					value_ += text__content_.nodeValue
			self.__lineColor = value_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'label':
			value_ = ''
			for text__content_ in child_.childNodes:
				if text__content_.nodeValue is not None:
					value_ += text__content_.nodeValue
			self.__label = value_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'markerType':
			value_ = ''
			for text__content_ in child_.childNodes:
				if text__content_.nodeValue is not None:
					value_ += text__content_.nodeValue
			self.__markerType = value_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'markerColor':
			value_ = ''
			for text__content_ in child_.childNodes:
				if text__content_.nodeValue is not None:
					value_ += text__content_.nodeValue
			self.__markerColor = value_
		elif child_.nodeType == Node.ELEMENT_NODE and \
			nodeName_ == 'data':
			obj_ = XSDataArray()
			obj_.build(child_)
			self.setData(obj_)
		XSData.buildChildren(self, child_, nodeName_)
Exemplo n.º 9
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'edge':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setEdge(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'slope':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setSlope(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'jump':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setJump(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'hwl':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setHwl(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'ewl':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setEwl(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort92':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort92(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort95':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort95(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort96':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort96(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort97':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort97(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort98':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort98(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fort99':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setFort99(obj_)
     XSDataResult.buildChildren(self, child_, nodeName_)
Exemplo n.º 10
0
    def arrayToXSData(cls,
                      _array,
                      _bIncludeMd5sum=True,
                      _bForceNoNumpy=False,
                      _bUseAsserts=False):
        """
        convert a numpy array or a list of list into an XSDataArray object
        @param _array: numpy array or array-like list  
        @param _bIncludeMd5sum: should the md5sum be added to the XSDataArray instance. 
                                It is useful when sending object through the network
                                It is a problem for testing
        @param _bForceNoNumpy: enables tests without numpy 
        @type includeMd5sum: boolean
        @return: XSDataArray instance
        """
        stringArray = ""
        shape = None
        dtype = None
        sizeDtype = None
        if bHaveNumpy is True and _bForceNoNumpy is False:
            EDVerbose.DEBUG("EDUtilsArray.arrayToXSData with numpy")
            # Enforce little Endianness
            if sys.byteorder == "big":
                _array.byteswap(True)
            stringArray = _array.tostring()
            shape = _array.shape
            dtype = str(_array.dtype)
            sizeDtype = len(numpy.zeros(1, dtype=_array.dtype).tostring())

        else:
            EDVerbose.DEBUG("EDUtilsArray.arrayToXSData without numpy")
            sizeDtype = 8  # We enforce either double (float64) or int64
            shape = []
            subarray = _array
            while True:
                try:
                    l = len(subarray)
                except TypeError:
                    break
                shape.append(l)
                if l > 0:
                    subarray = subarray[0]
                else:
                    break

            if len(shape) == 1:
                if isinstance(_array[0], floatType):
                    dtype = "float64"
                    stringArray = struct.pack("<" + "d" * shape[0], *_array)
                else:
                    dtype = "int64"
                    stringArray = struct.pack("<" + "l" * shape[0], *_array)
            elif len(shape) == 2:
                if isinstance(_array[0][0], floatType):
                    dtype = "float64"
                    lineshape = "<" + "d" * shape[-1]
                else:
                    dtype = "int64"
                    lineshape = "<" + "q" * shape[-1]
                for subarray in _array:
                    stringArray += struct.pack(lineshape, *subarray)
            elif len(shape) == 3:
                if isinstance(_array[0][0][0], floatType):
                    dtype = "float64"
                    lineshape = "<" + "d" * shape[-1]
                else:
                    dtype = "int64"
                    lineshape = "<" + "q" * shape[-1]
                for subarray in _array:
                    for subsubarray in subarray:
                        stringArray += struct.pack(lineshape, *subsubarray)
            else:
                EDVerbose.WARNING(
                    "EDUtilsArray.arrayToXSDataArray: Array too large %s " %
                    (shape))
        size = 1
        for i in shape:
            size *= i

        xsdArray = XSDataArray(data=base64.b64encode(stringArray),
                               coding=XSDataString("base64"),
                               shape=list(shape),
                               dtype=dtype,
                               size=size)
        if _bUseAsserts:
            EDAssert.equal(size * sizeDtype, len(stringArray),
                           "string representing the array has the right size")
        if _bIncludeMd5sum is True:
            xsdArray.setMd5sum(
                XSDataString(hashlib.md5(stringArray).hexdigest()))
        return xsdArray
Exemplo n.º 11
0
 def testCheckParameters(self):
     xsDataInput = XSDataInputMatrixInvert()
     xsDataInput.setInputMatrix(XSDataArray())
     edPluginExecMatrixInvert = self.createPlugin()
     edPluginExecMatrixInvert.setDataInput(xsDataInput)
     edPluginExecMatrixInvert.checkParameters()
Exemplo n.º 12
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'corelationFitValues':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.corelationFitValues.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'fitFile':
         obj_ = XSDataFile()
         obj_.build(child_)
         self.setFitFile(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'lineProfileFitQuality':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setLineProfileFitQuality(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'logFile':
         obj_ = XSDataFile()
         obj_.build(child_)
         self.setLogFile(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'pdbMoleculeFile':
         obj_ = XSDataFile()
         obj_.build(child_)
         self.setPdbMoleculeFile(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'pdbSolventFile':
         obj_ = XSDataFile()
         obj_.build(child_)
         self.setPdbSolventFile(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'scatteringFitQ':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.scatteringFitQ.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'scatteringFitValues':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.scatteringFitValues.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'scatteringFitQArray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setScatteringFitQArray(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'scatteringFitIarray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setScatteringFitIarray(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'meanNSD':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setMeanNSD(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'variationNSD':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setVariationNSD(obj_)
     XSDataResult.buildChildren(self, child_, nodeName_)
Exemplo n.º 13
0
 def buildChildren(self, child_, nodeName_):
     if child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'title':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setTitle(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataQ':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.experimentalDataQ.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataQArray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setExperimentalDataQArray(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataValues':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.experimentalDataValues.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataIArray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setExperimentalDataIArray(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataStdDev':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.experimentalDataStdDev.append(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataStdArray':
         obj_ = XSDataArray()
         obj_.build(child_)
         self.setExperimentalDataStdArray(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'experimentalDataFile':
         obj_ = XSDataFile()
         obj_.build(child_)
         self.setExperimentalDataFile(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'rMaxSearchSettings':
         obj_ = XSDataSolutionScatteringSettings()
         obj_.build(child_)
         self.setRMaxSearchSettings(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'angularUnits':
         obj_ = XSDataInteger()
         obj_.build(child_)
         self.setAngularUnits(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'symmetry':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setSymmetry(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'mode':
         obj_ = XSDataString()
         obj_.build(child_)
         self.setMode(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'iNbThreads':
         obj_ = XSDataInteger()
         obj_.build(child_)
         self.setINbThreads(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'onlyGnom':
         obj_ = XSDataBoolean()
         obj_.build(child_)
         self.setOnlyGnom(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'plotFit':
         obj_ = XSDataBoolean()
         obj_.build(child_)
         self.setPlotFit(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'qMin':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setQMin(obj_)
     elif child_.nodeType == Node.ELEMENT_NODE and \
         nodeName_ == 'qMax':
         obj_ = XSDataDouble()
         obj_.build(child_)
         self.setQMax(obj_)
     XSDataInput.buildChildren(self, child_, nodeName_)