本文整理汇总了Python中EDUtilsTable.EDUtilsTable.getTableFromTables方法的典型用法代码示例。如果您正苦于以下问题:Python EDUtilsTable.getTableFromTables方法的具体用法?Python EDUtilsTable.getTableFromTables怎么用?Python EDUtilsTable.getTableFromTables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EDUtilsTable.EDUtilsTable
的用法示例。
在下文中一共展示了EDUtilsTable.getTableFromTables方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getMOSFLMIntegrationStatisticsPerResolutionBin
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def getMOSFLMIntegrationStatisticsPerResolutionBin(self, _xsDataDnaTables, _strListName, _fMinResolution=None):
"""
This method creates an XSDataMOSFLMIntegrationStatisticsPerResolutionBin object given an XSDataDnaTables object
and a list name, e.g. "bin_1". If _fMinResolution is provided it is used for setting the minimum resolution,
otherwise the min and max resolution are set to the same value provided by the xsDataList object.
"""
xsDataTableProfileFittedFull = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "profile_fitted_full")
xsDataTableProfileFittedPartial = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "profile_fitted_partial")
xsDataTableSummationFull = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "summation_full")
xsDataTableSummationPartial = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "summation_partial")
xsListProfileFittedFull = EDUtilsTable.getListsFromTable(xsDataTableProfileFittedFull, _strListName)[0]
xsListProfileFittedPartial = EDUtilsTable.getListsFromTable(xsDataTableProfileFittedPartial, _strListName)[0]
xsListSummationFull = EDUtilsTable.getListsFromTable(xsDataTableSummationFull, _strListName)[0]
xsListSummationPartial = EDUtilsTable.getListsFromTable(xsDataTableSummationPartial, _strListName)[0]
xsDataMOSFLMIntegrationDataProfileFittedFull = self.getMOSFLMIntegrationStatistics(xsListProfileFittedFull)
xsDataMOSFLMIntegrationDataProfileFittedPartials = self.getMOSFLMIntegrationStatistics(
xsListProfileFittedPartial
)
xsDataMOSFLMIntegrationSummationFull = self.getMOSFLMIntegrationStatistics(xsListSummationFull)
xsDataMOSFLMIntegrationSummationPartial = self.getMOSFLMIntegrationStatistics(xsListSummationPartial)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted = (
XSDataMOSFLMIntegrationStatisticsPerReflectionType()
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted.setFullyRecorded(
xsDataMOSFLMIntegrationDataProfileFittedFull
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted.setPartials(
xsDataMOSFLMIntegrationDataProfileFittedPartials
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation = (
XSDataMOSFLMIntegrationStatisticsPerReflectionType()
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation.setFullyRecorded(
xsDataMOSFLMIntegrationSummationFull
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation.setPartials(xsDataMOSFLMIntegrationSummationPartial)
xsDataMOSFLMIntegrationStatisticsPerResolutionBin = XSDataMOSFLMIntegrationStatisticsPerResolutionBin()
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setProfileFitted(
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted
)
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setSummation(
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation
)
strMaxResolution = EDUtilsTable.getItemFromList(xsListProfileFittedFull, "resolution").getValueOf_()
if strMaxResolution != "overall":
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMaxResolution(XSDataFloat(float(strMaxResolution)))
if _fMinResolution is not None:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMinResolution(XSDataFloat(_fMinResolution))
else:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMinResolution(XSDataFloat(float(strMaxResolution)))
return xsDataMOSFLMIntegrationStatisticsPerResolutionBin
示例2: testTableListItem
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def testTableListItem(self):
xsItem = None
xsItem2 = None
strDnaTablesXML = EDUtilsFile.readFile(self.__strFilePath)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
xsTable = EDUtilsTable.getTableFromTables(xsDataDnaTables, "input")
xsLists = EDUtilsTable.getListsFromTable(xsTable, "select_task")
for xsList in xsLists:
xsItem = EDUtilsTable.getItemFromList(xsList, "task")
xsItem2 = EDUtilsTable.getItemFromList(xsList, "tata")
EDAssert.equal("optimize", xsItem.getValueOf_())
EDAssert.equal(None, xsItem2)
xsLists = EDUtilsTable.getListsFromTable(xsTable, "select_tata")
EDAssert.equal([], xsLists)
xsTable = EDUtilsTable.getTableFromTables(xsDataDnaTables, "toto")
EDAssert.equal(None, xsTable)
EDVerbose.DEBUG("Test done...")
示例3: getOutputDataFromDNATableFile
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def getOutputDataFromDNATableFile(self, _strFileName):
"""
"""
xsDataBestOutput = XSDataBestOutput()
strDnaTablesXML = self.readProcessFile(_strFileName)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
# Loop through all the tables and fill in the relevant parts of xsDataBestOutput
# SubWedges
xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "data_collection_strategy")
for xsTableCollectionStrategy in xsTablesCollectionStrategy:
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run")
for xsCollectionRunItemList in xsCollectionRunList:
xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList)
xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun)
# Strategy Summary
xsStrategySummaryItemList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "summary")
xsDataStrategySummary = self.strategySummaryItemListToStrategySummary(xsStrategySummaryItemList[0])
# Ranking Resolution
# Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part
xsTableGeneralInform = EDUtilsTable.getTableFromTables(xsDataDnaTables, "general_inform")
xsRankingResolutionItemList = EDUtilsTable.getListsFromTable(xsTableGeneralInform, "ranking_resolution")
xsItemRankingResolution = EDUtilsTable.getItemFromList(xsRankingResolutionItemList[0], "dmin")
fRankingResolution = float(xsItemRankingResolution.getValueOf_())
xsDataStrategySummary.setRankingResolution(XSDataFloat(fRankingResolution))
xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary)
# Satistics
xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "statistical_prediction")
for xsTableStatisticalPrediction in xsTablesStatisticalPrediction:
if(xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()):
xsResolutionBinList = EDUtilsTable.getListsFromTable(xsTableStatisticalPrediction, "resolution_bin")
xsDataStatisticalPrediction = XSDataBestStatisticalPrediction()
for xsResolutionBinItemList in xsResolutionBinList:
xsDataResolutionBin = self.resolutionBinItemListToResolutionBin(xsResolutionBinItemList)
xsDataStatisticalPrediction.addResolutionBin(xsDataResolutionBin)
xsDataBestCollectionPlan.setStatisticalPrediction(xsDataStatisticalPrediction)
xsDataBestOutput.addCollectionPlan(xsDataBestCollectionPlan)
return xsDataBestOutput
示例4: getDataCollectionOutputDataFromDNATables
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def getDataCollectionOutputDataFromDNATables(self, _xsDataDnaTables):
xsDataResultBest = XSDataResultBest()
# SubWedges
xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "data_collection_strategy")
iCollectionPlanNumber = 1
for xsTableCollectionStrategy in xsTablesCollectionStrategy:
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run")
iCollectionRunNumber = 1
for xsCollectionRunItemList in xsCollectionRunList:
xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList, iCollectionRunNumber)
xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun)
iCollectionRunNumber = iCollectionRunNumber + 1
# Strategy Summary
xsStrategySummaryItemList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "summary")
xsDataStrategySummary = self.strategySummaryItemListToStrategySummary(xsStrategySummaryItemList[0])
# Ranking Resolution
# Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part
xsTableGeneralInform = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "general_inform")
xsRankingResolutionItemList = EDUtilsTable.getListsFromTable(xsTableGeneralInform, "ranking_resolution")
xsItemRankingResolution = EDUtilsTable.getItemFromList(xsRankingResolutionItemList[0], "dmin")
fRankingResolution = float(xsItemRankingResolution.getValueOf_())
xsDataStrategySummary.setRankingResolution(XSDataDouble(fRankingResolution))
xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary)
# Satistics
xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "statistical_prediction")
for xsTableStatisticalPrediction in xsTablesStatisticalPrediction:
if(xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()):
xsResolutionBinList = EDUtilsTable.getListsFromTable(xsTableStatisticalPrediction, "resolution_bin")
xsDataStatisticalPrediction = XSDataBestStatisticalPrediction()
for xsResolutionBinItemList in xsResolutionBinList:
xsDataResolutionBin = self.resolutionBinItemListToResolutionBin(xsResolutionBinItemList)
xsDataStatisticalPrediction.addResolutionBin(xsDataResolutionBin)
xsDataBestCollectionPlan.setStatisticalPrediction(xsDataStatisticalPrediction)
xsDataBestCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber))
xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan)
iCollectionPlanNumber = iCollectionPlanNumber + 1
# Fix the order of the collection plans - then low resolution pass should be the first one
listCollectionPlan = xsDataResultBest.getCollectionPlan()
if (len(listCollectionPlan) > 1):
bIsModified = False
for xsDataCollectionPlan in listCollectionPlan:
xsDataStrategySummary = xsDataCollectionPlan.getStrategySummary()
strReasoning = xsDataStrategySummary.getResolutionReasoning().getValue()
if ((strReasoning.find("Low-resolution") != -1) and xsDataCollectionPlan.getCollectionPlanNumber().getValue() != 1):
listCollectionPlan.remove(xsDataCollectionPlan)
listCollectionPlan.insert(0, xsDataCollectionPlan)
bIsModified = True
if (bIsModified):
iCollectionPlanNumber = 1
for xsDataCollectionPlan in listCollectionPlan:
xsDataCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber))
iCollectionPlanNumber = iCollectionPlanNumber + 1
return xsDataResultBest
示例5: createDataMOSFLMOutputIntegration
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def createDataMOSFLMOutputIntegration(self):
self.DEBUG("EDPluginMOSFLMIntegrationv10.createDataMOSFLMOutputIntegration")
xsDataMOSFLMOutputIntegration = XSDataMOSFLMOutputIntegration()
# Read bestfile.par, bestfile.hkl and bestfile.dat
strBestfilePar = self.readBestFile("bestfile.par")
bContinue = True
if (strBestfilePar is not None):
xsDataMOSFLMOutputIntegration.setBestfilePar(XSDataString(strBestfilePar))
else:
bContinue = False
if bContinue:
strBestfileHKL = self.readBestFile("bestfile.hkl")
if (strBestfileHKL is not None):
xsDataMOSFLMOutputIntegration.setBestfileHKL(XSDataString(strBestfileHKL))
else:
bContinue = False
if bContinue:
strBestfileDat = self.readBestFile("bestfile.dat")
if (strBestfileDat is not None):
xsDataMOSFLMOutputIntegration.setBestfileDat(XSDataString(strBestfileDat))
else:
bContinue = False
if bContinue:
strDnaTablesXML = self.readProcessFile(self.getBaseName() + "_dnaTables.xml")
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
xsTableIntegrationResults = EDUtilsTable.getTableFromTables(xsDataDnaTables, "integration_results")
xsListFinalResiduals = EDUtilsTable.getListsFromTable(xsTableIntegrationResults, "final_residuals")[0]
strRMSSpotDeviation = EDUtilsTable.getItemFromList(xsListFinalResiduals, "rms").getValueOf_()
xsDataMOSFLMOutputIntegration.setRMSSpotDeviation(XSDataLength(float(strRMSSpotDeviation)))
strBeamPositionX = EDUtilsTable.getItemFromList(xsListFinalResiduals, "xcen").getValueOf_()
strBeamPositionY = EDUtilsTable.getItemFromList(xsListFinalResiduals, "ycen").getValueOf_()
xsDataMOSFLMBeamPosition = XSDataMOSFLMBeamPosition()
xsDataMOSFLMBeamPosition.setX(XSDataLength(float(strBeamPositionX)))
xsDataMOSFLMBeamPosition.setY(XSDataLength(float(strBeamPositionY)))
xsDataMOSFLMOutputIntegration.setRefinedBeam(xsDataMOSFLMBeamPosition)
xsDataMOSFLMNewmatMatrix = self.getDataMOSFLMMatrix()
xsDataMOSFLMOutputIntegration.setRefinedNewmat(xsDataMOSFLMNewmatMatrix)
# New results (described in bug #63)
xsTableIntegrationOutput = EDUtilsTable.getTableFromTables(xsDataDnaTables, "integration_output")
xsListOutputFiles = EDUtilsTable.getListsFromTable(xsTableIntegrationOutput, "output_files")[0]
strMTZFilename = EDUtilsTable.getItemFromList(xsListOutputFiles, "hklout").getValueOf_()
strMTZPath = os.path.join(self.getWorkingDirectory(), strMTZFilename)
xsDataFile = XSDataFile()
xsDataFile.setPath(XSDataString(strMTZPath))
xsDataMOSFLMOutputIntegration.setGeneratedMTZFile(xsDataFile)
xsTableSummaryInformation = EDUtilsTable.getTableFromTables(xsDataDnaTables, "summary_information")
xsListSummary = EDUtilsTable.getListsFromTable(xsTableSummaryInformation, "summary")[0]
xsListSpots = EDUtilsTable.getListsFromTable(xsTableSummaryInformation, "spots")[0]
strDistance = EDUtilsTable.getItemFromList(xsListSummary, "distance").getValueOf_()
xsDataMOSFLMOutputIntegration.setRefinedDistance(XSDataLength(float(strDistance)))
strYScale = EDUtilsTable.getItemFromList(xsListSummary, "yscale").getValueOf_()
xsDataMOSFLMOutputIntegration.setRefinedYScale(XSDataFloat(float(strYScale)))
strOverallIOverSigma = EDUtilsTable.getItemFromList(xsListSummary, "isigall").getValueOf_()
xsDataMOSFLMOutputIntegration.setOverallIOverSigma(XSDataFloat(float(strOverallIOverSigma)))
strHighestResolutionIOverSigma = EDUtilsTable.getItemFromList(xsListSummary, "isigout").getValueOf_()
xsDataMOSFLMOutputIntegration.setHighestResolutionIOverSigma(XSDataFloat(float(strHighestResolutionIOverSigma)))
strNumberOfBadReflections = EDUtilsTable.getItemFromList(xsListSpots, "bad_spots").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfBadReflections(XSDataInteger(int(strNumberOfBadReflections)))
strNumberOfFullyRecordedReflections = EDUtilsTable.getItemFromList(xsListSpots, "full").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfFullyRecordedReflections(XSDataInteger(int(strNumberOfFullyRecordedReflections)))
strNumberOfNegativeReflections = EDUtilsTable.getItemFromList(xsListSpots, "negative").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfNegativeReflections(XSDataInteger(int(strNumberOfNegativeReflections)))
strNumberOfOverlappedReflections = EDUtilsTable.getItemFromList(xsListSpots, "overlap").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfOverlappedReflections(XSDataInteger(int(strNumberOfOverlappedReflections)))
strNumberOfPartialReflections = EDUtilsTable.getItemFromList(xsListSpots, "partial").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfPartialReflections(XSDataInteger(int(strNumberOfPartialReflections)))
# Fill in the statistics
xsDataMOSFLMOutputIntegration.setOverallStatistics(self.getMOSFLMIntegrationStatisticsPerResolutionBin(xsDataDnaTables, "bin_0"))
iIndex = 1
bContinue = True
fMinResolution = None
while (bContinue == True):
strBin = "bin_%d" % iIndex
# I don't know how many intensity bins there are. Since the EDUtilsTable.getListsFromTable
# method crashes if the list is not present, I had to wrap the calls to this method in
# try - except:
try:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin = self.getMOSFLMIntegrationStatisticsPerResolutionBin(xsDataDnaTables, strBin, fMinResolution)
fMinResolution = xsDataMOSFLMIntegrationStatisticsPerResolutionBin.getMaxResolution().getValue()
#.........这里部分代码省略.........
示例6: createDataMOSFLMOutputIndexing
# 需要导入模块: from EDUtilsTable import EDUtilsTable [as 别名]
# 或者: from EDUtilsTable.EDUtilsTable import getTableFromTables [as 别名]
def createDataMOSFLMOutputIndexing(self):
EDVerbose.DEBUG("EDPluginMOSFLMIndexingv10.createDataMOSFLMOutputIndexing")
xsDataMOSFLMOutputIndexing = XSDataMOSFLMOutputIndexing()
# Read Newmat file
xsDataMOSFLMNewmat = self.getDataMOSFLMNewmat()
if (xsDataMOSFLMNewmat is None):
strError = "MOSFLM indexing error : No solution was obtained!"
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsDataMOSFLMOutputIndexing.setRefinedNewmat(xsDataMOSFLMNewmat)
# Then read the XML file
strDnaTablesXML = self.readProcessFile(self.getScriptBaseName() + "_dnaTables.xml")
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
listXSTableMosaicityEstimation = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "mosaicity_estimation")
dMosaicityValueSum = 0.0
nValues = 0
for xsTableMosaicityEstimation in listXSTableMosaicityEstimation:
for xsListMosaicity in EDUtilsTable.getListsFromTable(xsTableMosaicityEstimation, "mosaicity"):
dMosaicityValue = float(EDUtilsTable.getItemFromList(xsListMosaicity, "value").getValueOf_())
dMosaicityValueSum += dMosaicityValue
nValues += 1
xsDataFloatMosaicityEstimation = XSDataFloat()
xsDataFloatMosaicityEstimation.setValue(dMosaicityValueSum / nValues)
xsDataMOSFLMOutputIndexing.setMosaicityEstimation(xsDataFloatMosaicityEstimation)
xsTableRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "refinement")
if (xsTableRefinement is None):
strError = "MOSFLM indexing error : No solution was refined!"
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsListDeviations = EDUtilsTable.getListsFromTable(xsTableRefinement, "deviations")[0]
dDeviationAngular = float(EDUtilsTable.getItemFromList(xsListDeviations, "angular").getValueOf_())
dDeviationPositional = float(EDUtilsTable.getItemFromList(xsListDeviations, "positional").getValueOf_())
xsDataMOSFLMOutputIndexing.setDeviationAngular(XSDataAngle(dDeviationAngular))
xsDataMOSFLMOutputIndexing.setDeviationPositional(XSDataLength(dDeviationPositional))
xsListResults = EDUtilsTable.getListsFromTable(xsTableRefinement, "results")[0]
dDetectorDistance = float(EDUtilsTable.getItemFromList(xsListResults, "detector_distance").getValueOf_())
xsDataMOSFLMOutputIndexing.setRefinedDistance(XSDataLength(dDetectorDistance))
xsListParameters = EDUtilsTable.getListsFromTable(xsTableRefinement, "parameters")[0]
iSpotsUsed = int(EDUtilsTable.getItemFromList(xsListParameters, "used").getValueOf_())
iSpotsTotal = int(EDUtilsTable.getItemFromList(xsListParameters, "out_of").getValueOf_())
xsDataMOSFLMOutputIndexing.setSpotsUsed(XSDataInteger(iSpotsUsed))
xsDataMOSFLMOutputIndexing.setSpotsTotal(XSDataInteger(iSpotsTotal))
xsTableSolutionRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "solution_refinement")
xsListParameters = EDUtilsTable.getListsFromTable(xsTableSolutionRefinement, "selection")[0]
iSelectedSolutionNumber = int(EDUtilsTable.getItemFromList(xsListParameters, "number").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionNumber(XSDataInteger(iSelectedSolutionNumber))
strSelectedSolutionSpaceGroup = (EDUtilsTable.getItemFromList(xsListParameters, "spacegroup").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionSpaceGroup(XSDataString(strSelectedSolutionSpaceGroup))
iSelectedSolutionSpaceGroupNumber = int(EDUtilsTable.getItemFromList(xsListParameters, "spacegroup_number").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionSpaceGroupNumber(XSDataInteger(iSelectedSolutionSpaceGroupNumber))
xsTableAutoIndexSolutions = EDUtilsTable.getTableFromTables(xsDataDnaTables, "autoindex_solutions")
xsListsSolution = xsTableAutoIndexSolutions.getList()
for xsListSolution in xsListsSolution:
xsDataMOSFLMIndexingSolution = XSDataMOSFLMIndexingSolution()
xsDataCell = XSDataCell()
iSolutionNumber = int(EDUtilsTable.getItemFromList(xsListSolution, "index").getValueOf_())
xsDataMOSFLMIndexingSolution.setIndex(XSDataInteger(iSolutionNumber))
iPenalty = int(EDUtilsTable.getItemFromList(xsListSolution, "penalty").getValueOf_())
xsDataMOSFLMIndexingSolution.setPenalty(XSDataInteger(iPenalty))
strLattice = (EDUtilsTable.getItemFromList(xsListSolution, "lattice").getValueOf_())
xsDataMOSFLMIndexingSolution.setLattice(XSDataString(strLattice))
dA = float(EDUtilsTable.getItemFromList(xsListSolution, "a").getValueOf_())
xsDataCell.setLength_a(XSDataLength(dA))
dB = float(EDUtilsTable.getItemFromList(xsListSolution, "b").getValueOf_())
xsDataCell.setLength_b(XSDataLength(dB))
dC = float(EDUtilsTable.getItemFromList(xsListSolution, "c").getValueOf_())
xsDataCell.setLength_c(XSDataLength(dC))
dAlpha = float(EDUtilsTable.getItemFromList(xsListSolution, "alpha").getValueOf_())
xsDataCell.setAngle_alpha(XSDataAngle(dAlpha))
dBeta = float(EDUtilsTable.getItemFromList(xsListSolution, "beta").getValueOf_())
xsDataCell.setAngle_beta(XSDataAngle(dBeta))
dGamma = float(EDUtilsTable.getItemFromList(xsListSolution, "gamma").getValueOf_())
xsDataCell.setAngle_gamma(XSDataAngle(dGamma))
xsDataMOSFLMIndexingSolution.setCell(xsDataCell)
xsDataMOSFLMOutputIndexing.addPossibleSolutions(xsDataMOSFLMIndexingSolution)
xsTableBeamRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "beam_refinement")
xsDataMOSFLMBeamPositionRefined = XSDataMOSFLMBeamPosition()
xsDataMOSFLMBeamPositionShift = XSDataMOSFLMBeamPosition()
dInitialBeamX = 0.0
dInitialBeamY = 0.0
dRefinedBeamX = 0.0
dRefinedBeamY = 0.0
xsListInitialBeam = EDUtilsTable.getListsFromTable(xsTableBeamRefinement, "initial_beam")[0]
fInitialBeamPositionX = float(EDUtilsTable.getItemFromList(xsListInitialBeam, "x").getValueOf_())
fInitialBeamPositionY = float(EDUtilsTable.getItemFromList(xsListInitialBeam, "y").getValueOf_())
xsListRefinedBeam = EDUtilsTable.getListsFromTable(xsTableBeamRefinement, "refined_beam")[0]
fRefinedBeamPositionX = float(EDUtilsTable.getItemFromList(xsListRefinedBeam, "x").getValueOf_())
fRefinedBeamPositionY = float(EDUtilsTable.getItemFromList(xsListRefinedBeam, "y").getValueOf_())
xsDataMOSFLMBeamPositionRefined.setX(XSDataLength(fRefinedBeamPositionX))
xsDataMOSFLMBeamPositionRefined.setY(XSDataLength(fRefinedBeamPositionY))
xsDataMOSFLMBeamPositionShift.setX(XSDataLength(fInitialBeamPositionX - fRefinedBeamPositionX))
xsDataMOSFLMBeamPositionShift.setY(XSDataLength(fInitialBeamPositionY - fRefinedBeamPositionY))
xsDataMOSFLMOutputIndexing.setRefinedBeam(xsDataMOSFLMBeamPositionRefined)
#.........这里部分代码省略.........