Esempio n. 1
0
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)