コード例 #1
0
ファイル: helpers.py プロジェクト: matthewjpeel/edxrd
        peaks = from_unitcell(x.mean(axis=0),counts.mean(axis=0),material.unit_cell,
                            material.space_group,qmin,qmax,name=material.name,
                            ymin_on_ymax=ymin_on_ymax)
    else:
        peaks=[]
        for mat in material:
            peaks.extend(from_unitcell(x.mean(axis=0),counts.mean(axis=0),mat.unit_cell,
                            mat.space_group,qmin,qmax,name=mat.name,
                            ymin_on_ymax=ymin_on_ymax))
                            
    print 'fitting %i peaks'%len(peaks)
    print [p.name for p in peaks]
    
    fc = FitterCollection()
    fc.create_many(['element_%i'%i for i in range(counts.shape[0])],x,peaks,**kwargs)   
    fc.backup()    
    fc(counts,reestimate=False)    
    yield fc.lastfit_condensed,fc.lastresult_condensed,info
    
    for counts,info in source:
        fc.restore()
        fc(counts,reestimate=reestimate)
        yield fc.lastfit_condensed,fc.lastresult_condensed,info
       
def calcstrain(source,phi,Q0=None,allow_shear=True):

    if len(phi) > 2:
        take = np.ones(len(phi)).astype(bool)
        take[5] = take[8] = False
    else:
        take=np.ones(2).astype(bool)