N = 64 # Number of Elements dx = 1. # Spacing of Capture Points in mm Lx = 255. # Length of Scan in mm X0 = 25. # Initial Position of Centre of Aperture (mm) X = np.linspace(X0, X0+Lx, int(np.round(Lx/dx))) # Vector of capture positions (mm) T = 2*1.25*np.sqrt(( X[-1] + (N-1)*p/2 - h[-1][0])**2 + h[-1][1]**2)/5.92 # Time gate (mircoseconds) F = mp.PhasedArray(N, fsamp=25., pwidth=1/20.) # MicroPulse object for FMC acquisition G = mc.Controller() # MotionController object for Galil axis control xy = [] # List to store position of hole to be imaged w.r.t. to first element for XX in X: th = np.array([np.arctan2(np.abs(XX - hh[0]), hh[1]) for hh in h]) indh = np.argmin(th) if th < thmax: F.GetFMCData((0., T), 80., 200., 16) xy.append((h[indh][0] - (XX - (N-1)*p/2.),h[indh][1]))
import MotionController as mc import MicroPulse as mp import numpy as np pth = 'E:/MicroPulseFBHBacksideScans/' SampleName = 'D01-03-Backside' m = mp.PhasedArray(32, pwidth=1 / 10.) c = mc.Controller() Npos = 80 speed = 3. p = np.linspace(0, Npos - 1, Npos) for pp in p: c.MoveAbsolute('Y', pp, speed) m.GetFMCData((0., 85.), dB=50., Voltage=200., Averages=8) m.SaveScan(pth + SampleName + '1.p') m.ClearAScans() for pp in p[::-1]: c.MoveAbsolute('Y', pp, speed)