Source code for paws.core.operations.PROCESSING.INTEGRATION.BuildPyFAIIntegrator

import numpy as np
from collections import OrderedDict

import pyFAI

from ... import Operation as opmod 
from ...Operation import Operation

inputs = OrderedDict(poni_dict=None) 
outputs = OrderedDict(integrator=None) 

[docs]class BuildPyFAIIntegrator(Operation): """Produce a PyFAI.AzimuthalIntegrator from a dict of PONI parameters. Input PONI dict should be similar to the output of PyFAI.AzimuthalIntegrator.getPyFAI() """ def __init__(self): super(BuildPyFAIIntegrator,self).__init__(inputs,outputs) self.input_doc['poni_dict'] = str( 'dict of calibration parameters; ' + 'minimally including keys dist, poni1, poni2, rot1, rot2, rot3, pixel1, pixel2, wavelength;' + 'optionally including keys fpolz, detector, splineFile; ' + 'same specifications as pyFAI .poni format calibration parameters') self.input_datatype['poni_dict'] = 'dict' self.output_doc['integrator'] = 'PyFAI.AzimuthalIntegrator object set up with input poni_dict'
[docs] def run(self): pd = self.inputs['poni_dict'] p = pyFAI.AzimuthalIntegrator() p.setPyFAI(**pd) self.outputs['integrator'] = p