Skip to content

Commit 406ee58

Browse files
committed
fixes for image calibrate & stress-strain plotting for hyperbolas
1 parent a35510f commit 406ee58

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

GSASII/GSASIIimage.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
npatand = lambda x: 180.*np.arctan(x)/np.pi
4242
npatan2d = lambda y,x: 180.*np.arctan2(y,x)/np.pi
4343
nxs = np.newaxis
44-
debug = True
44+
debug = False
45+
4546

4647
def peneCorr(tth,dep,dist):
4748
''' Compute empirical position correction due to detector absorption
@@ -429,9 +430,8 @@ def makeRing(dsp,ellipse,pix,reject,scalex,scaley,image,mul=1):
429430
def ellipseC():
430431
'compute estimate of ellipse circumference'
431432
if radii[0] <= 0: #hyperbola
432-
if debug:
433-
theta = npacosd(1./np.sqrt(1.+(radii[0]/radii[1])**2))
434-
print ('hyperbola:',theta)
433+
theta = npacosd(1./np.sqrt(1.+(radii[0]/radii[1])**2))
434+
print ('hyperbola at 2-theta:',theta)
435435
return 720.
436436
apb = radii[1]+radii[0]
437437
amb = radii[1]-radii[0]
@@ -1128,7 +1128,7 @@ def ImageCalibrate(G2frame,data):
11281128
data['DetDepth'] /= data['distance']
11291129
parmDict = {'dist':data['distance'],'det-X':data['center'][0],'det-Y':data['center'][1],
11301130
'sag':data['sag'],'tilt':data['tilt'],'phi':data['rotation'],'wave':data['wavelength'],
1131-
'dep':data['DetDepth'],'xyLim':data['xyLim']}
1131+
'dep':data['DetDepth'],'xyLim':xyLim}
11321132
varyList = [item for item in varyDict if varyDict[item]]
11331133
data['rings'] = []
11341134
data['ellipses'] = []
@@ -1702,6 +1702,9 @@ def FitStrSta(Image,StrSta,Controls):
17021702
ring['Emat'] = val
17031703
ring['Esig'] = esd
17041704
ellipse = FitEllipse(R['ImxyObs'].T)
1705+
if any(np.isnan(ellipse[2])):
1706+
print('hyperbola for d=%.5f not fit, suggest deleting it'%dset)
1707+
continue
17051708
ringxy = makeRing(ring['Dcalc'],ellipse,0,0.,scalex,scaley,Image)
17061709
ring['ImxyCalc'] = np.array(ringxy).T[:2]
17071710
ringixy = [[int(x*scalex),int(y*scaley)] for y,x in np.array(ringxy)[:,:2]]

0 commit comments

Comments
 (0)