Exemple #1
0
 def unitTestGetValueSILength(self):
     """
     Test sub method specific to length: GetValueLength
     """
     EDVerbose.DEBUG("EDTestCaseEDUtilsUnit.unitTestGetValueSILength")
     EDAssert.equal(1.54E-10, EDUtilsUnit.getValueLength(1.54, "A"),
                    "Length Conversion A -> m ")
 def unitTestGetValueSILength(self):
     """
     Test sub method specific to length: GetValueLength
     """
     EDVerbose.DEBUG("EDTestCaseEDUtilsUnit.unitTestGetValueSILength")
     EDAssert.equal(1.54E-10, EDUtilsUnit.getValueLength(1.54, "A"), "Length Conversion A -> m ")
    def readArrayFromFile(self, _filename):
        """
        Populate self.inputArray for a given filename and extracts as well 
        self.fPixelSize
        self.fDistance
        self.fRadOffset
        self.wavelength ...
        """

        image = openimage(_filename)
        self.inputArray = image.data
        self.dHeader = image.header
        if "Offset_1" in self.dHeader:
            offset, unit = self.dHeader["Offset_1"].split(None, 1)
            if unit.lower() != "pixel":
                EDVerbose.WARNING(
                    "I got a strange unit for offset: %s, I expected pixel." %
                    self.dHeader["Offset_1"])
            try:
                self.fRadOffset = float(offset)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize this offset and convert it to float: %s" % self.dHeader[
                    "Offset_1"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage

        if "Offset_2" in self.dHeader:
            offset, unit = self.dHeader["Offset_2"].split(None, 1)
            if unit.lower() != "pixel":
                EDVerbose.WARNING(
                    "I got a strange unit for offset: %s, I expected pixel." %
                    self.dHeader["Offset_2"])
            try:
                self.fAzimOffset = float(offset)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize this offset and convert it to float: %s" % self.dHeader[
                    "Offset_2"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage

        if "PSize_1" in self.dHeader:
            psize, unit = self.dHeader["PSize_1"].split(None, 1)
            try:
                fPixelSize = float(psize)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the radial pixel size and convert it to float: %s" % self.dHeader[
                    "PSize_1"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
            else:
                self.fPixelSize = EDUtilsUnit.getValueLength(fPixelSize, unit)

        if "PSize_2" in self.dHeader:
            psize, unit = self.dHeader["PSize_2"].split(None, 1)
            try:
                fPixelSize = float(psize)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the azimuthal pixel size and convert it to float: %s" % self.dHeader[
                    "PSize_2"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
            else:
                self.fAzimSize = EDUtilsUnit.getValueAngle(fPixelSize, unit)

        if ("SampleDistance" in self.dHeader):
            distance, unit = self.dHeader["SampleDistance"].split(None, 1)
            try:
                fDistance = float(distance)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the Sample Distance is and convert it to float: %s" % self.dHeader[
                    "SampleDistance"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage
            self.fDistance = EDUtilsUnit.getValueLength(fDistance, unit)

        if ("WaveLength" in self.dHeader):
            wavelenth, unit = self.dHeader["WaveLength"].split(None, 1)
            try:
                fWavelength = float(wavelenth)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the wavelength is and convert it to float: %s" % self.dHeader[
                    "WaveLength"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage
            self.fWavelength = EDUtilsUnit.getValueLength(fWavelength, unit)

        if ("Dummy" in self.dHeader):
            self.fDummy = float(self.dHeader.get("Dummy", 0))

        if ("DDummy" in self.dHeader):
            self.fDeltaDummy = float(self.dHeader.get("DDummy", 0.1))
    def readArrayFromFile(self, _filename):
        """
        Populate self.inputArray for a given filename and extracts as well 
        self.fPixelSize
        self.fDistance
        self.fRadOffset
        self.wavelength ...
        """

        image = openimage(_filename)
        self.inputArray = image.data
        self.dHeader = image.header
        if "Offset_1" in self.dHeader:
            offset, unit = self.dHeader["Offset_1"].split(None, 1)
            if unit.lower() != "pixel":
                EDVerbose.WARNING("I got a strange unit for offset: %s, I expected pixel." % self.dHeader["Offset_1"])
            try:
                self.fRadOffset = float(offset)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize this offset and convert it to float: %s" % self.dHeader["Offset_1"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage

        if "Offset_2" in self.dHeader:
            offset, unit = self.dHeader["Offset_2"].split(None, 1)
            if unit.lower() != "pixel":
                EDVerbose.WARNING("I got a strange unit for offset: %s, I expected pixel." % self.dHeader["Offset_2"])
            try:
                self.fAzimOffset = float(offset)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize this offset and convert it to float: %s" % self.dHeader["Offset_2"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage

        if "PSize_1" in self.dHeader:
            psize, unit = self.dHeader["PSize_1"].split(None, 1)
            try:
                fPixelSize = float(psize)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the radial pixel size and convert it to float: %s" % self.dHeader["PSize_1"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
            else:
                self.fPixelSize = EDUtilsUnit.getValueLength(fPixelSize, unit)

        if "PSize_2" in self.dHeader:
            psize, unit = self.dHeader["PSize_2"].split(None, 1)
            try:
                fPixelSize = float(psize)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the azimuthal pixel size and convert it to float: %s" % self.dHeader["PSize_2"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
            else:
                self.fAzimSize = EDUtilsUnit.getValueAngle(fPixelSize, unit)


        if ("SampleDistance" in self.dHeader):
            distance, unit = self.dHeader["SampleDistance"].split(None, 1)
            try:
                fDistance = float(distance)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the Sample Distance is and convert it to float: %s" % self.dHeader["SampleDistance"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage
            self.fDistance = EDUtilsUnit.getValueLength(fDistance, unit)

        if ("WaveLength" in self.dHeader):
            wavelenth, unit = self.dHeader["WaveLength"].split(None, 1)
            try:
                fWavelength = float(wavelenth)
            except ValueError:
                strErrorMessage = "EDPluginExportAsciiPowderv1_0.process: Unable to recognize the wavelength is and convert it to float: %s" % self.dHeader["WaveLength"]
                EDVerbose.ERROR(strErrorMessage)
                self.addErrorMessage(strErrorMessage)
                self.setFailure()
                raise ValueError, strErrorMessage
            self.fWavelength = EDUtilsUnit.getValueLength(fWavelength, unit)

        if ("Dummy" in self.dHeader):
            self.fDummy = float(self.dHeader.get("Dummy", 0))

        if ("DDummy" in self.dHeader):
            self.fDeltaDummy = float(self.dHeader.get("DDummy", 0.1))