Ejemplo n.º 1
0
    def parseMosflmScriptsOutput(self, _strMOSFLMScript):
        """
        This method parses the MOSFLM script generated by Labelit and populates
        the A- and U-matrices in the XSDataLabelitMosflmScriptsOutput object.
        """
        self.DEBUG("EDPluginLabelitIndexingv1_1.parseMOSFLMMatrices")
        xsDataLabelitMosflmScriptsOutput = XSDataLabelitMosflmScriptsOutput()
        listMOSFLMScriptLines = _strMOSFLMScript.split("\n")

        XSDataMatrixDoubleA = XSDataMatrixDouble()
        # Fix for bug 315: it's not enough to just spit the lines
        listMOSFLMScriptLine2 = [
            listMOSFLMScriptLines[2][0:12], listMOSFLMScriptLines[2][12:24],
            listMOSFLMScriptLines[2][24:]
        ]
        listMOSFLMScriptLine3 = [
            listMOSFLMScriptLines[3][0:12], listMOSFLMScriptLines[3][12:24],
            listMOSFLMScriptLines[3][24:]
        ]
        listMOSFLMScriptLine4 = [
            listMOSFLMScriptLines[4][0:12], listMOSFLMScriptLines[4][12:24],
            listMOSFLMScriptLines[4][24:]
        ]
        XSDataMatrixDoubleA.setM11(float(listMOSFLMScriptLine2[0]))
        XSDataMatrixDoubleA.setM12(float(listMOSFLMScriptLine2[1]))
        XSDataMatrixDoubleA.setM13(float(listMOSFLMScriptLine2[2]))
        XSDataMatrixDoubleA.setM21(float(listMOSFLMScriptLine3[0]))
        XSDataMatrixDoubleA.setM22(float(listMOSFLMScriptLine3[1]))
        XSDataMatrixDoubleA.setM23(float(listMOSFLMScriptLine3[2]))
        XSDataMatrixDoubleA.setM31(float(listMOSFLMScriptLine4[0]))
        XSDataMatrixDoubleA.setM32(float(listMOSFLMScriptLine4[1]))
        XSDataMatrixDoubleA.setM33(float(listMOSFLMScriptLine4[2]))
        xsDataLabelitMosflmScriptsOutput.setAMatrix(XSDataMatrixDoubleA)

        XSDataMatrixDoubleU = XSDataMatrixDouble()
        listMOSFLMScriptLine6 = [
            listMOSFLMScriptLines[6][0:12], listMOSFLMScriptLines[6][12:24],
            listMOSFLMScriptLines[6][24:]
        ]
        listMOSFLMScriptLine7 = [
            listMOSFLMScriptLines[7][0:12], listMOSFLMScriptLines[7][12:24],
            listMOSFLMScriptLines[7][24:]
        ]
        listMOSFLMScriptLine8 = [
            listMOSFLMScriptLines[8][0:12], listMOSFLMScriptLines[8][12:24],
            listMOSFLMScriptLines[8][24:]
        ]
        XSDataMatrixDoubleU.setM11(float(listMOSFLMScriptLine6[0]))
        XSDataMatrixDoubleU.setM12(float(listMOSFLMScriptLine6[1]))
        XSDataMatrixDoubleU.setM13(float(listMOSFLMScriptLine6[2]))
        XSDataMatrixDoubleU.setM21(float(listMOSFLMScriptLine7[0]))
        XSDataMatrixDoubleU.setM22(float(listMOSFLMScriptLine7[1]))
        XSDataMatrixDoubleU.setM23(float(listMOSFLMScriptLine7[2]))
        XSDataMatrixDoubleU.setM31(float(listMOSFLMScriptLine8[0]))
        XSDataMatrixDoubleU.setM32(float(listMOSFLMScriptLine8[1]))
        XSDataMatrixDoubleU.setM33(float(listMOSFLMScriptLine8[2]))
        xsDataLabelitMosflmScriptsOutput.setUMatrix(XSDataMatrixDoubleU)

        return xsDataLabelitMosflmScriptsOutput
Ejemplo n.º 2
0
    def parseMosflmScriptsOutput(self, _strMOSFLMScript):
        """
        This method parses the MOSFLM script generated by Labelit and populates
        the A- and U-matrices in the XSDataLabelitMosflmScriptsOutput object.
        """
        self.DEBUG("EDPluginLabelitIndexingv1_1.parseMOSFLMMatrices")
        xsDataLabelitMosflmScriptsOutput = XSDataLabelitMosflmScriptsOutput()
        listMOSFLMScriptLines = _strMOSFLMScript.split("\n")

        XSDataMatrixDoubleA = XSDataMatrixDouble()
        # Fix for bug 315: it's not enough to just spit the lines
        listMOSFLMScriptLine2 = [ listMOSFLMScriptLines[2][0:12],
                                    listMOSFLMScriptLines[2][12:24],
                                    listMOSFLMScriptLines[2][24:] ]
        listMOSFLMScriptLine3 = [ listMOSFLMScriptLines[3][0:12],
                                    listMOSFLMScriptLines[3][12:24],
                                    listMOSFLMScriptLines[3][24:] ]
        listMOSFLMScriptLine4 = [ listMOSFLMScriptLines[4][0:12],
                                    listMOSFLMScriptLines[4][12:24],
                                    listMOSFLMScriptLines[4][24:] ]
        XSDataMatrixDoubleA.setM11(float(listMOSFLMScriptLine2[0]))
        XSDataMatrixDoubleA.setM12(float(listMOSFLMScriptLine2[1]))
        XSDataMatrixDoubleA.setM13(float(listMOSFLMScriptLine2[2]))
        XSDataMatrixDoubleA.setM21(float(listMOSFLMScriptLine3[0]))
        XSDataMatrixDoubleA.setM22(float(listMOSFLMScriptLine3[1]))
        XSDataMatrixDoubleA.setM23(float(listMOSFLMScriptLine3[2]))
        XSDataMatrixDoubleA.setM31(float(listMOSFLMScriptLine4[0]))
        XSDataMatrixDoubleA.setM32(float(listMOSFLMScriptLine4[1]))
        XSDataMatrixDoubleA.setM33(float(listMOSFLMScriptLine4[2]))
        xsDataLabelitMosflmScriptsOutput.setAMatrix(XSDataMatrixDoubleA)

        XSDataMatrixDoubleU = XSDataMatrixDouble()
        listMOSFLMScriptLine6 = [ listMOSFLMScriptLines[6][0:12],
                                    listMOSFLMScriptLines[6][12:24],
                                    listMOSFLMScriptLines[6][24:] ]
        listMOSFLMScriptLine7 = [ listMOSFLMScriptLines[7][0:12],
                                    listMOSFLMScriptLines[7][12:24],
                                    listMOSFLMScriptLines[7][24:] ]
        listMOSFLMScriptLine8 = [ listMOSFLMScriptLines[8][0:12],
                                    listMOSFLMScriptLines[8][12:24],
                                    listMOSFLMScriptLines[8][24:] ]
        XSDataMatrixDoubleU.setM11(float(listMOSFLMScriptLine6[0]))
        XSDataMatrixDoubleU.setM12(float(listMOSFLMScriptLine6[1]))
        XSDataMatrixDoubleU.setM13(float(listMOSFLMScriptLine6[2]))
        XSDataMatrixDoubleU.setM21(float(listMOSFLMScriptLine7[0]))
        XSDataMatrixDoubleU.setM22(float(listMOSFLMScriptLine7[1]))
        XSDataMatrixDoubleU.setM23(float(listMOSFLMScriptLine7[2]))
        XSDataMatrixDoubleU.setM31(float(listMOSFLMScriptLine8[0]))
        XSDataMatrixDoubleU.setM32(float(listMOSFLMScriptLine8[1]))
        XSDataMatrixDoubleU.setM33(float(listMOSFLMScriptLine8[2]))
        xsDataLabelitMosflmScriptsOutput.setUMatrix(XSDataMatrixDoubleU)

        return xsDataLabelitMosflmScriptsOutput