-
Notifications
You must be signed in to change notification settings - Fork 5
Python script for vertical integration_126025882
nxi edited this page Apr 9, 2015
·
1 revision
Created by Tony Lam, last modified on Jul 28, 2009
from au.gov.ansto.bragg.datastructures.nexus import NexusUtils
from au.gov.ansto.bragg.datastructures.core import StaticDefinition
from au.gov.ansto.bragg.datastructures.core.plot import PlotFactory
from org.gumtree.data.gdm.core import Factory
# Get data
entry = NexusUtils.getNexusEntryList(input.getRootGroup()).get(0)
data = NexusUtils.getNexusData(entry)
plot = PlotFactory.copyToPlot(data, data.getShortName(), StaticDefinition.getDataDimensionType('mapset'));
# vertical integration
verticalIntegration = plot.integrateDimension(plot.getRank() - 2)
verticalIntegration.addStringAttribute("NX_class", "NXdata")
# wrap result as dataset
output = Factory.createDataset()
output.getRootGroup().addStringAttribute("NX_class", "NXroot")
output.getRootGroup().addStringAttribute("NeXus_version", "4.1.0")
entry = NexusUtils.createNexusEntry(output.getRootGroup(), "entry1")
entry.addSubgroup(verticalIntegration)
verticalIntegration.removeAttribute(verticalIntegration.findAttribute("dataStructureType"))
return output
from au.gov.ansto.bragg.datastructures.core import StaticDefinition
from au.gov.ansto.bragg.nbi.ui.tasks import DatasetPlotTask
from au.gov.ansto.bragg.nbi.ui.tasks import NeXusReaderTask
from au.gov.ansto.bragg.nbi.ui.tasks import ScriptablePythonTask
from org.gumtree.workflow.ui.util import WorkflowFactory
# Create workflow
workflow = WorkflowFactory.createEmptyWorkflow()
# Read data
readerTask = NeXusReaderTask()
readerTask.setFileLocation("../QKK0004119.nx.hdf")
workflow.addTask(readerTask)
# Integrate
task = ScriptablePythonTask()
task.setScriptExecutor(__executor__)
task.setFunctionName(run.func_name)
workflow.addTask(task)
# Plot
plotTask = DatasetPlotTask()
plotTask.setType(StaticDefinition.getDataDimensionType('patternset'))
workflow.addTask(plotTask)
# Run
workflow.run()
result = workflow.getRunResults()
print result.get(0)
Document generated by Confluence on Apr 01, 2015 00:11
Home | Developer Guide | Copyright © 2013 ANSTO