1 $:.unshift(File.dirname(__FILE__))
11 class FEIControl < VEM
26 @@tem = WIN32OLE.new('TEMScripting.Instrument')
32 @@params["x"] = @@tem.Stage.Position.X
33 @@params["y"] = @@tem.Stage.Position.Y
34 @@params["z"] = @@tem.Stage.Position.Z
35 @@params["a"] = @@tem.Stage.Position.A
39 def set_stageA(x, y, z, a)
42 position = @@tem.Stage.Position
46 position.A = a*(3.145159/180.0)
48 @@tem.Stage.GoTo(position, 15)
53 def set_stageR(x, y, z, a)
56 position = @@tem.Stage.Position
57 position.X = position.X + x*1e-7
58 position.Y = position.Y + y*1e-7
59 position.Z = position.Z + z*1e-7
60 position.A = position.A + a*(3.145159/180.0)
62 @@tem.Stage.GoTo(position, 15)
67 def set_spotsize(spsize)
68 puts "FEI setSpotSize"
70 ill = @@tem.Illumination
71 ill.SpotsizeIndex = ill.SpotsizeIndex + spsize
72 return ill.SpotsizeIndex
75 def set_magnification(magsize)
76 puts "FEI setMagnification"
78 proj = @@tem.Projection
79 proj.MagnificationIndex = proj.MagnificationIndex + magsize
80 return proj.MagnificationIndex
83 def acquisition_init(binning, expTime, imageSize)
84 # get acquitision object
85 @@acq = @@tem.Acquisition
86 # acquire an image from "CCD" camera
87 @@acq.AddAcqDeviceByName("CCD")
89 ## settings for acquisition parameters
91 ccdCamerasAcqParams = @@acq.Cameras.Item(0).AcqParams
93 ccdCamerasAcqParams.Binning = binning
95 ccdCamerasAcqParams.ExposureTime = expTime
97 ccdCamerasAcqParams.ImageSize = imageSize
102 imageCollection = @@acq.AcquireImages
104 img = imageCollection.Item(0)
105 imgData = img.AsSafeArray
106 return imgData.to_json
113 def setBeamTilt(params)
114 puts "FEI setBeamTilt"
121 puts "FEI getCondition"