Changeset 1151 for trunk/GSASIIplot.py


Ignore:
Timestamp:
Nov 25, 2013 2:01:08 PM (8 years ago)
Author:
vondreele
Message:

fix ring & arc masks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r1148 r1151  
    21132113    from matplotlib.patches import Ellipse,Arc,Circle,Polygon
    21142114    import numpy.ma as ma
    2115     Dsp = lambda tth,wave: wave/(2.*sind(tth/2.))
     2115    Dsp = lambda tth,wave: wave/(2.*npsind(tth/2.))
    21162116    global Data,Masks
    21172117    colors=['b','g','r','c','m','k']
     
    24942494                xyI = []
    24952495                for azm in Azm:
    2496                     xyI.append(G2img.GetDetectorXY(dspI,azm,Data))
     2496                    xyI.append(G2img.GetDetectorXY(dspI,azm,Data))      #what about hyperbola?
    24972497                xyI = np.array(xyI)
    24982498                arcxI,arcyI = xyI.T
     
    25012501                xyO = []
    25022502                for azm in Azm:
    2503                     xyO.append(G2img.GetDetectorXY(dspO,azm,Data))
     2503                    xyO.append(G2img.GetDetectorXY(dspO,azm,Data))      #what about hyperbola?
    25042504                xyO = np.array(xyO)
    25052505                arcxO,arcyO = xyO.T
     
    25192519                Plot.plot(xring,yring,'r+',picker=3)
    25202520            if Data['setRings']:
    2521     #            rings = np.concatenate((Data['rings']),axis=0)
    25222521                N = 0
    25232522                for ring in Data['rings']:
     
    25252524                    Plot.plot(xring,yring,'+',color=colors[N%6])
    25262525                    N += 1           
    2527             for ellipse in Data['ellipses']:
    2528 #                print 'plot:',ellipse
     2526            for ellipse in Data['ellipses']:      #what about hyperbola?
    25292527                cent,phi,[width,height],col = ellipse
    2530                 Plot.add_artist(Ellipse([cent[0],cent[1]],2*width,2*height,phi,ec=col,fc='none'))
    2531                 Plot.text(cent[0],cent[1],'+',color=col,ha='center',va='center')
     2528                if width > 0:       #ellipses
     2529                    Plot.add_artist(Ellipse([cent[0],cent[1]],2*width,2*height,phi,ec=col,fc='none'))
     2530                    Plot.text(cent[0],cent[1],'+',color=col,ha='center',va='center')
    25322531        if G2frame.PatternTree.GetItemText(G2frame.PickId) in 'Stress/Strain':
    25332532            print 'plot stress/strain stuff'
     
    25552554                tth,thick = ring
    25562555                wave = Data['wavelength']
    2557                 x1,y1 = np.hsplit(np.array(G2img.makeIdealRing(G2img.GetEllipse(Dsp(tth+thick/2.,wave),Data))),2)
    2558                 x2,y2 = np.hsplit(np.array(G2img.makeIdealRing(G2img.GetEllipse(Dsp(tth-thick/2.,wave),Data))),2)
     2556                xy1 = []
     2557                xy2 = []
     2558                Azm = np.linspace(0,362,181)
     2559                for azm in Azm:
     2560                    xy1.append(G2img.GetDetectorXY(Dsp(tth+thick/2.,wave),azm,Data))      #what about hyperbola
     2561                    xy2.append(G2img.GetDetectorXY(Dsp(tth-thick/2.,wave),azm,Data))      #what about hyperbola
     2562                x1,y1 = np.array(xy1).T
     2563                x2,y2 = np.array(xy2).T
    25592564                G2frame.ringList.append([Plot.plot(x1,y1,'r',picker=3),iring,'o'])           
    25602565                G2frame.ringList.append([Plot.plot(x2,y2,'r',picker=3),iring,'i'])
     
    25642569                tth,azm,thick = arc           
    25652570                wave = Data['wavelength']
    2566                 x1,y1 = np.hsplit(np.array(G2img.makeIdealRing(G2img.GetEllipse(Dsp(tth+thick/2.,wave),Data),azm)),2)
    2567                 x2,y2 = np.hsplit(np.array(G2img.makeIdealRing(G2img.GetEllipse(Dsp(max(0.01,tth-thick/2.),wave),Data),azm)),2)
     2571                xy1 = []
     2572                xy2 = []
     2573                aR = azm[0],azm[1],azm[1]-azm[0]
     2574                if azm[1]-azm[0] > 180:
     2575                    aR[2] /= 2
     2576                Azm = np.linspace(aR[0],aR[1],aR[2])
     2577                for azm in Azm:
     2578                    xy1.append(G2img.GetDetectorXY(Dsp(tth+thick/2.,wave),azm,Data))      #what about hyperbola
     2579                    xy2.append(G2img.GetDetectorXY(Dsp(tth-thick/2.,wave),azm,Data))      #what about hyperbola
     2580                x1,y1 = np.array(xy1).T
     2581                x2,y2 = np.array(xy2).T
    25682582                G2frame.arcList.append([Plot.plot(x1,y1,'r',picker=3),iarc,'o'])           
    25692583                G2frame.arcList.append([Plot.plot(x2,y2,'r',picker=3),iarc,'i'])
Note: See TracChangeset for help on using the changeset viewer.