def mc_replicate_jvb(R0,U0,pVec0,detectorGeom,planeData,omeMin,omeMax,stdev = rad(.1),tweak = False): import detector import spotFinder import grain_wrap_precession as gw import grain as G import valUnits angles = MC_make_angles_jvb(R0,U0,pVec0,detectorGeom, planeData,omeMin,omeMax,stdev = stdev, tweak = tweak) spotsForFit = spotFinder.Spots(planeData, angles.T, detectorGeom, (omeMin, omeMax)) grain = G.Grain(spotsForFit, rMat=R0, pVec=pVec0, etaTol=valUnits.valWUnit('etaTol', 'angle', 1.0, 'degrees'), omeTol=valUnits.valWUnit('omeTol', 'angle', 1.0, 'degrees')) grain_wrap = gw.grainStrainAnalysis(grain) grain_wrap.assignUncertainties_angles(1e-4,1e-4,1e-2,1e-5,1e-5,1e-3) return grain_wrap, grain, angles
def mc_replicate(R0,U0,pVec0,detectorGeom,planeData,omeMin,omeMax,stdev = rad(.1),tweak = False): import detector import spotFinder import grain_wrap_precession as gw import grain as G import valUnits angles = MC_make_angles_(R0,U0,pVec0,detectorGeom, planeData,omeMin,omeMax,stdev = stdev, tweak = tweak) all_angs = [] for key in angles.keys(): angsol, unc = angles[key] all_angs.append(angsol) all_angs_ = num.array(all_angs) spotsForFit = spotFinder.Spots(planeData, all_angs_, detectorGeom, (omeMin, omeMax)) grain = G.Grain(spotsForFit, rMat=R0, pVec=pVec0, etaTol=valUnits.valWUnit('etaTol', 'angle', 1.0, 'degrees'), omeTol=valUnits.valWUnit('omeTol', 'angle', 1.0, 'degrees')) grain_wrap = gw.grainStrainAnalysis(grain) grain_wrap.assignUncertainties_angles(1e-4,1e-4,1e-2,1e-5,1e-5,1e-3) return grain_wrap, grain, all_angs_
def mc_replicate_nrb(R0,U0,pVec0,detectorGeom,planeData,omeMin,omeMax,tweak = False, stdev = rad(.1),angle_stdev_fact = 10): import detector import spotFinder import grain_wrap_precession as gw import grain as G import valUnits print 'making angles' angles,ang_dev = MC_make_angles_nrb(R0,U0,pVec0,detectorGeom, planeData,omeMin,omeMax,stdev = stdev, tweak = tweak) spotsForFit = spotFinder.Spots(planeData, angles, detectorGeom, (omeMin, omeMax)) grain = G.Grain(spotsForFit, rMat=R0, pVec=pVec0, etaTol=valUnits.valWUnit('etaTol', 'angle', 1.0, 'degrees'), omeTol=valUnits.valWUnit('omeTol', 'angle', 1.0, 'degrees')) grain_wrap = gw.grainStrainAnalysis(grain) #grain_wrap.assignUncertainties_angles(1e-4,1e-4,1e-2,1e-5,1e-5,1e-3) an1 = angle_stdev_fact*stdev an2 = angle_stdev_fact*stdev an3 = angle_stdev_fact*10*stdev st1 = .1*an1 st2 = .1*an2 st3 = .1*an3 grain_wrap.assignUncertainties_angles(an1,an2,an3,st1,st2,st3) return grain_wrap, grain, angles