OSDN Git Service

rm vem
[vem/vem.git] / test / server / vem / feicontrol.rb
1 require "json"
2 require "./vem/vem"
3
4
5 class FEIControl < VEM
6
7   @@condition = {
8     "X" => 0,
9     "Y" => 0,
10     "Z" => 0,
11     "A" => 0,
12     "SpotSizeIndex" => 0,
13     "Mag" => 0,
14     "MagIndex" => 0,
15   }
16
17   def initialize
18   end
19
20   def setStageA(params)
21     puts "FEI setStageA"
22
23     @@condition["X"] = params["x"]
24     @@condition["Y"] = params["y"]
25     @@condition["Z"] = params["z"]
26     @@condition["A"] = params["a"]
27
28
29     buf = {
30       :X => @@condition["X"],
31       :Y => @@condition["Y"],
32       :Z => @@condition["Z"],
33       :A => @@condition["A"]
34     }
35
36     return buf.to_json
37   end
38
39   def setStageR(params)
40     puts "FEI setStageR"
41
42     @@condition["X"] = @@condition["X"].to_i + params["x"].to_i
43     @@condition["Y"] = @@condition["Y"].to_i + params["y"].to_i
44     @@condition["Z"] = @@condition["Z"].to_i + params["z"].to_i
45     @@condition["A"] = @@condition["A"].to_i + params["a"].to_i
46
47
48     buf = {
49       :X => @@condition["X"],
50       :Y => @@condition["Y"],
51       :Z => @@condition["Z"],
52       :A => @@condition["A"]
53     }
54
55
56     return buf.to_json
57   end
58
59   def setSpotSize(params)
60     puts "FEI setSpotSize"
61
62     @@condition["SpotSizeIndex"] = params["sps"]
63
64     buf = {
65       :SpotSizeIndex => @@condition["SpotSizeIndex"]
66     }
67
68     return buf.to_json
69   end
70
71   def setMagnification(params)
72     puts "FEI setMagnification"
73
74     @@condition["Mag"] = params["mag"]
75     @@condition["MagIndex"] = params["mag"]
76
77     buf = {
78       :Mag => @@condition["Mag"],
79       :MagIndex => @@condition["MagIndex"]
80     }
81
82     return buf.to_json
83   end
84
85   def acquisition
86    # 画像ファイルをひらく
87     File.open("img", "r") do |file|
88       $img_array = JSON.load(file)
89     end
90
91     # 画像配列の長さ取得
92     img_length = $img_array.length
93
94     # リサイズ用の配列生成
95     array128 = Array.new(128).map{ Array.new(128) }
96
97     # 元画像をリサイズ
98     for x in 0..127 do
99       for y in 0..127 do
100         array128[y][x] = $img_array[y*16][x*16]
101       end
102     end
103
104     "#{array128}"
105   end 
106
107   def getCondition
108     puts "FEI getCondition"
109
110     return @@condition.to_json
111   end
112 end
113