OSDN Git Service

sync iwasaki mac
authoriwasaki <iwaaya@yasunaga-lab.bio.kyutech.ac.jp>
Tue, 1 Dec 2015 09:40:58 +0000 (18:40 +0900)
committeriwasaki <iwaaya@yasunaga-lab.bio.kyutech.ac.jp>
Tue, 1 Dec 2015 09:40:58 +0000 (18:40 +0900)
1  2 
vem/.feicontrol.rb.un~
vem/.test.rb.un~
vem/feicontrol.rb
vem/feicontrol.rb~
vem/test.rb
vem/test.rb~

index e2c9776,b5f0980..672c884
Binary files differ
index 637cc76,637cc76..511d12b
Binary files differ
@@@ -7,144 -9,85 +9,116 @@@ require 'vem
  
  
  class FEIControl < VEM
--  def initialize
--    puts "FEI initialize"
--
-     #@@tem = WIN32OLE.new('TEMScripting.Instrument')
 -    @@tem = WIN32OLE.new('TEMScripting.Instrument')
--  end
--
--  def setStageA(x, y, z, a)
--    puts "FEI setStageA"
--
--    o,s = Open3.capture2("cscript vem/tool/setStageA.js " + x.to_s + " " + y.to_s + " " + z.to_s + " " + a.to_s)
--    position = o.lines.to_a[3]
--    puts position
--    return position
--  end
--
--  def setStageR(x, y, z, a)
--
--    puts "FEI setStageR"
-     o,s = Open3.capture2("cscript ../../vem/tool/setStageR.js " + x.to_s + " "+ y.to_s + " " + z.to_s + " " + a.to_s)
 -    o,s = Open3.capture2("cscript vem/tool/setStageR.js " + x.to_s + " "+ y.to_s + " " + z.to_s + " " + a.to_s)
--    position = o.lines.to_a[3]
--    puts position
--    return position
--  end
--
--  def setSpotSize(spsize)
--    puts "FEI setSpotSize"
--
--    ill    = @@tem.Illumination
--    ill.SpotsizeIndex = ill.SpotsizeIndex + spsize
--    return ill.SpotsizeIndex
--  end
--
--  def setMagnification(magsize)
--    puts "FEI setMagnification"
--
--    proj = @@tem.Projection
--    proj.MagnificationIndex = proj.MagnificationIndex + magsize
--    return proj.MagnificationIndex
--  end
-   def acquisition
-     puts "FEI acquisition"
-     WIN32OLE.ole_initialize   
-     @@tem = WIN32OLE.new('TEMScripting.Instrument')
--
-     # get acquitision object
-     acq = @@tem.Acquisition
 -  def acquisitionInit(binning, expTime, imageSize)
 -     # get acquitision object
 -    @@acq = @@tem.Acquisition
--    # acquire an image from "CCD" camera
-     acq.AddAcqDeviceByName("CCD")
 -    @@acq.AddAcqDeviceByName("CCD")
--
--    ## settings for acquisition parameters
--    # ccdCamerasAcqParams
-     ccdCamerasAcqParams = acq.Cameras.Item(0).AcqParams
 -    ccdCamerasAcqParams = @@acq.Cameras.Item(0).AcqParams
--    # binning
-     ccdCamerasAcqParams.Binning = 4
 -    ccdCamerasAcqParams.Binning = binning
--    # exposuretime
-     ccdCamerasAcqParams.ExposureTime = 0.07
 -    ccdCamerasAcqParams.ExposureTime = expTime
--    # imagesize
-     ccdCamerasAcqParams.ImageSize = 2
-     # acquisition Image
-     imageCollection = acq.AcquireImages
-     img     = imageCollection.Item(0)
-     imgData = img.AsSafeArray
-     return imgData.to_json
 -    ccdCamerasAcqParams.ImageSize = imageSize
--  end
-   def acquisition255
-     puts "FEI acquisition"
-     WIN32OLE.ole_initialize   
-     @@tem = WIN32OLE.new('TEMScripting.Instrument')
-     # get acquitision object
-     acq = @@tem.Acquisition
-     # acquire an image from "CCD" camera
-     acq.AddAcqDeviceByName("CCD")
-     # ---settings for acquisition parameters
-     # ccdCamerasAcqParams
-     ccdCamerasAcqParams = acq.Cameras.Item(0).AcqParams
-     # binning
-     ccdCamerasAcqParams.Binning = 4
-     # exposuretime
-     ccdCamerasAcqParams.ExposureTime = 0.07
-     # imagesize
-     ccdCamerasAcqParams.ImageSize = 0
-     # ---end
--
-     # acquisition Image
 -  def acquisition
 -      # acquisition Image
--    imageCollection = acq.AcquireImages
--
--    img     = imageCollection.Item(0)
--    imgData = img.AsSafeArray
-     imgLength = imgData.length
-     # ---conversion
-     #max, min
-     imgMax = imgData.flatten.max
-     imgMin = imgData.flatten.min
-     #conversion factor for 255 scale
-     conversion = 255/(imgMax.to_f - imgMin.to_f)
-     img255 = Array.new(imgLength){ Array.new(imgLength) }
-     imgLength.times do |x|
-       imgLength.times do |y|
-         img255[y][x] = ((imgData[x][y]-imgMin.to_f)*conversion).to_i
-       end
-     end
-     
-     # ---end
-     
-     puts imgLength
-     return img255.to_json
 -    return imgData.to_json
--  end
--
--  def setObj(params)
--    puts "FEI setObj"
--  end
--
--  def setBeamTilt(params)
--    puts "FEI setBeamTilt"
 -  end
 -
 -  def setSpeed(params)
 -  end
 -
 -  def getCondition
 -    puts "FEI getCondition"
--  end
 +
-   def setSpeed(params)
-   end
-   def getCondition
-     puts "FEI getCondition"
-   end
++      @@params = {
++              "x" => 0,
++              "y" => 0,
++              "z" => 0,
++              "a" => 0
++      }
++
++      @@acq = nil
++
++
++      def initialize
++              puts "FEI initialize"
++
++              @@tem    = WIN32OLE.new('TEMScripting.Instrument')
++      end
++
++      def get_params
++              puts "FEI get params"
++
++              @@params["x"] = @@tem.Stage.Position.X
++              @@params["y"] = @@tem.Stage.Position.Y
++              @@params["z"] = @@tem.Stage.Position.Z
++              @@params["a"] = @@tem.Stage.Position.A
++              return @@params
++      end
++
++      def set_stageA(x, y, z, a)
++              puts "FEI setStageA"
++
++              position = @@tem.Stage.Position
++              position.X = x*1e-7
++              position.Y = y*1e-7
++              position.Z = z*1e-7
++              position.A = a*(3.145159/180.0)
++
++              @@tem.Stage.GoTo(position, 15)
++              get_params
++              return @@params
++      end
++
++      def set_stageR(x, y, z, a)
++              puts "FEI setStageR"
++
++              position = @@tem.Stage.Position
++              position.X = position.X + x*1e-7
++              position.Y = position.Y + y*1e-7
++              position.Z = position.Z + z*1e-7
++              position.A = position.A + a*(3.145159/180.0)
++
++              @@tem.Stage.GoTo(position, 15)
++              get_params
++              return @@params
++      end
++
++      def set_spotsize(spsize)
++              puts "FEI setSpotSize"
++
++              ill    = @@tem.Illumination
++              ill.SpotsizeIndex = ill.SpotsizeIndex + spsize
++              return ill.SpotsizeIndex
++      end
++
++      def set_magnification(magsize)
++              puts "FEI setMagnification"
++
++              proj = @@tem.Projection
++              proj.MagnificationIndex = proj.MagnificationIndex + magsize
++              return proj.MagnificationIndex
++      end
++
++      def acquisition_init(binning, expTime, imageSize)
++              # get acquitision object
++              @@acq = @@tem.Acquisition
++              # acquire an image from "CCD" camera
++              @@acq.AddAcqDeviceByName("CCD")
++
++              ## settings for acquisition parameters
++              # ccdCamerasAcqParams
++              ccdCamerasAcqParams = @@acq.Cameras.Item(0).AcqParams
++              # binning
++              ccdCamerasAcqParams.Binning = binning
++              # exposuretime
++              ccdCamerasAcqParams.ExposureTime = expTime
++              # imagesize
++              ccdCamerasAcqParams.ImageSize = imageSize
++      end
++
++      def acquisition
++              # acquisition Image
++              imageCollection = @@acq.AcquireImages
++
++              img     = imageCollection.Item(0)
++              imgData = img.AsSafeArray
++              return imgData.to_json
++      end
++
++      def setObj(params)
++              puts "FEI setObj"
++      end
++
++      def setBeamTilt(params)
++              puts "FEI setBeamTilt"
++      end
++
++      def setSpeed(params)
++      end
++
++      def getCondition
++              puts "FEI getCondition"
++      end
  end
  
index b05fd4f,0000000..722cc75
mode 100644,000000..100644
--- /dev/null
@@@ -1,150 -1,0 +1,124 @@@
- require '../vem/vem'
++$:.unshift(File.dirname(__FILE__))
++
 +require 'win32ole'
 +require 'open3'
 +require 'json'
 +
-   def initialize
-     puts "FEI initialize"
-     #@@tem = WIN32OLE.new('TEMScripting.Instrument')
-   end
-   def setStageA(x, y, z, a)
-     puts "FEI setStageA"
-     o,s = Open3.capture2("cscript vem/tool/setStageA.js " + x.to_s + " " + y.to_s + " " + z.to_s + " " + a.to_s)
-     position = o.lines.to_a[3]
-     puts position
-     return position
-   end
-   def setStageR(x, y, z, a)
-     puts "FEI setStageR"
-     o,s = Open3.capture2("cscript ../../vem/tool/setStageR.js " + x.to_s + " "+ y.to_s + " " + z.to_s + " " + a.to_s)
-     position = o.lines.to_a[3]
-     puts position
-     return position
-   end
-   def setSpotSize(spsize)
-     puts "FEI setSpotSize"
-     ill    = @@tem.Illumination
-     ill.SpotsizeIndex = ill.SpotsizeIndex + spsize
-     return ill.SpotsizeIndex
-   end
-   def setMagnification(magsize)
-     puts "FEI setMagnification"
-     proj = @@tem.Projection
-     proj.MagnificationIndex = proj.MagnificationIndex + magsize
-     return proj.MagnificationIndex
-   end
-   def acquisition
-     puts "FEI acquisition"
-     WIN32OLE.ole_initialize   
-     @@tem = WIN32OLE.new('TEMScripting.Instrument')
-     # get acquitision object
-     acq = @@tem.Acquisition
-     # acquire an image from "CCD" camera
-     acq.AddAcqDeviceByName("CCD")
-     ## settings for acquisition parameters
-     # ccdCamerasAcqParams
-     ccdCamerasAcqParams = acq.Cameras.Item(0).AcqParams
-     # binning
-     ccdCamerasAcqParams.Binning = 4
-     # exposuretime
-     ccdCamerasAcqParams.ExposureTime = 0.07
-     # imagesize
-     ccdCamerasAcqParams.ImageSize = 2
-     # acquisition Image
-     imageCollection = acq.AcquireImages
-     img     = imageCollection.Item(0)
-     imgData = img.AsSafeArray
-     return imgData.to_json
-   end
-   def acquisition255
-     puts "FEI acquisition"
-     WIN32OLE.ole_initialize   
-     @@tem = WIN32OLE.new('TEMScripting.Instrument')
-     # get acquitision object
-     acq = @@tem.Acquisition
-     # acquire an image from "CCD" camera
-     acq.AddAcqDeviceByName("CCD")
-     # ---settings for acquisition parameters
-     # ccdCamerasAcqParams
-     ccdCamerasAcqParams = acq.Cameras.Item(0).AcqParams
-     # binning
-     ccdCamerasAcqParams.Binning = 4
-     # exposuretime
-     ccdCamerasAcqParams.ExposureTime = 0.07
-     # imagesize
-     ccdCamerasAcqParams.ImageSize = 0
-     # ---end
-     # acquisition Image
-     imageCollection = acq.AcquireImages
-     img     = imageCollection.Item(0)
-     imgData = img.AsSafeArray
-     imgLength = imgData.length
-     # ---conversion
-     #max, min
-     imgMax = imgData.flatten.max
-     imgMin = imgData.flatten.min
-     #conversion factor for 255 scale
-     conversion = 255/(imgMax.to_f - imgMin.to_f)
-     img255 = Array.new(imgLength){ Array.new(imgLength) }
-     imgLength.times do |x|
-       imgLength.times do |y|
-         img255[x][y] = ((imgData[y][x]-imgMin.to_f)*conversion).to_i
-       end
-     end
-     
-     # ---end
-     
-     puts imgLength
-     return img255.to_json
-   end
-   def setObj(params)
-     puts "FEI setObj"
-   end
-   def setBeamTilt(params)
-     puts "FEI setBeamTilt"
-   end
++require 'vem'
 +
 +
 +
 +class FEIControl < VEM
-   def setSpeed(params)
-   end
-   def getCondition
-     puts "FEI getCondition"
-   end
 +
++      @@params = {
++              "x" => 0,
++              "y" => 0,
++              "z" => 0,
++              "a" => 0
++      }
++
++      @@acq = nil
++
++
++      def initialize
++              puts "FEI initialize"
++
++              @@tem    = WIN32OLE.new('TEMScripting.Instrument')
++      end
++
++      def get_params
++              puts "FEI get params"
++
++              @@params["x"] = @@tem.Stage.Position.X
++              @@params["y"] = @@tem.Stage.Position.Y
++              @@params["z"] = @@tem.Stage.Position.Z
++              @@params["a"] = @@tem.Stage.Position.A
++              return @@params
++      end
++
++      def set_stageA(x, y, z, a)
++              puts "FEI setStageA"
++
++              position = @@tem.Stage.Position
++              position.X = x*1e-7
++              position.Y = y*1e-7
++              position.Z = z*1e-7
++              position.A = a*(3.145159/180.0)
++
++              @@tem.Stage.GoTo(position, 15)
++              get_params
++              return @@params
++      end
++
++      def set_stageR(x, y, z, a)
++              puts "FEI setStageR"
++
++              position = @@tem.Stage.Position
++              position.X = position.X + x*1e-7
++              position.Y = position.Y + y*1e-7
++              position.Z = position.Z + z*1e-7
++              position.A = position.A + a*(3.145159/180.0)
++
++              @@tem.Stage.GoTo(position, 15)
++              get_params
++              return @@params
++      end
++
++      def set_spotsize(spsize)
++              puts "FEI setSpotSize"
++
++              ill    = @@tem.Illumination
++              ill.SpotsizeIndex = ill.SpotsizeIndex + spsize
++              return ill.SpotsizeIndex
++      end
++
++      def set_magnification(magsize)
++              puts "FEI setMagnification"
++
++              proj = @@tem.Projection
++              proj.MagnificationIndex = proj.MagnificationIndex + magsize
++              return proj.MagnificationIndex
++      end
++
++      def acquisition_init(binning, expTime, imageSize)
++              # get acquitision object
++              @@acq = @@tem.Acquisition
++              # acquire an image from "CCD" camera
++              @@acq.AddAcqDeviceByName("CCD")
++
++              ## settings for acquisition parameters
++              # ccdCamerasAcqParams
++              ccdCamerasAcqParams = @@acq.Cameras.Item(0).AcqParams
++              # binning
++              ccdCamerasAcqParams.Binning = binning
++              # exposuretime
++              ccdCamerasAcqParams.ExposureTime = expTime
++              # imagesize
++              ccdCamerasAcqParams.ImageSize = imageSize
++      end
++
++      def acquisition
++              # acquisition Image
++              imageCollection = acq.AcquireImages
++
++              img     = imageCollection.Item(0)
++              imgData = img.AsSafeArray
++              return imgData.to_json
++      end
++
++      def setObj(params)
++              puts "FEI setObj"
++      end
++
++      def setBeamTilt(params)
++              puts "FEI setBeamTilt"
++      end
++
++      def setSpeed(params)
++      end
++
++      def getCondition
++              puts "FEI getCondition"
++      end
 +end
 +
diff --cc vem/test.rb
@@@ -1,26 -1,26 +1,33 @@@
--require "../../vem/vem"
--require "../../vem/feicontrol"
++require "./vem"
++require "./feicontrol"
  
  class TEST
        def initialize
                @@vem = VEM.create("fei")
        end
  
--      def test_setStageA
--              @@vem.setStageA(2, 0, 0, 0)
++      def test_set_stageA
++              @@vem.set_stageA(3, 0, 0, 0)
        end
  
--      def test_setStageR
--              @@vem.setStageR(1, 0, 0, 0)
++      def test_set_stageR
++              @@vem.set_stageR(1, 0, 0, 0)
        end
  
--      def test_setSpotSize
--              @@vem.setSpotSize(1)
++      def test_set_spotsize
++              @@vem.set_spotsize(1)
        end
  
--      def test_acquisition
++      def test_acq_init
++              @@vem.acquisition_init(4, 0.07, 0)
++      end
++
++      def test_acq
                @@vem.acquisition
        end
  end
  
++test = TEST.new
++test.test_acq_init
++test.test_acq
  
diff --cc vem/test.rb~
index 9ca51bc,0000000..a16e64e
mode 100644,000000..100644
--- /dev/null
@@@ -1,26 -1,0 +1,32 @@@
- require "./vem/vem"
- require "./vem/feicontrol"
++require "./vem"
++require "./feicontrol"
 +
 +class TEST
 +      def initialize
 +              @@vem = VEM.create("fei")
 +      end
 +
-       def test_setStageA
-               @@vem.setStageA(2, 0, 0, 0)
++      def test_set_stageA
++              @@vem.set_stageA(3, 0, 0, 0)
 +      end
 +
-       def test_setStageR
-               @@vem.setStageR(1, 0, 0, 0)
++      def test_set_stageR
++              @@vem.set_stageR(1, 0, 0, 0)
 +      end
 +
-       def test_setSpotSize
-               @@vem.setSpotSize(1)
++      def test_set_spotsize
++              @@vem.set_spotsize(1)
 +      end
 +
-       def test_acquisition
++      def test_acq_set
++              @@vem.acquisition_set()a
++      end
++
++      def test_acq
 +              @@vem.acquisition
 +      end
 +end
 +
++test = TEST.new
++test.test_setStageR
 +