OSDN Git Service

modify vemapi.rb
[vem/vem.git] / vem / mock.rb~
1 $:.unshift(File.dirname(__FILE__))
2
3 require "json"
4 require "vem"
5 require "singleton"
6
7
8 class MockControl < VEM
9   include Singleton
10
11   def initialize
12     @params = {
13       :stage => {
14       :x => 0,
15       :y => 0,
16       :z => 0,
17       :a => 0,
18     },
19     :ccdCamera => {
20       :binning    => 1,
21       :expTime    => 1,
22       :imageSize  => 0
23     },
24       :proj => {
25       :magIndex => 0
26     },
27       :ill => {
28       :spotSizeIndex => 0
29     }
30     }
31     @send_size = 2048
32   end
33
34   def get_params
35     puts "MOCK get params"
36     return @params.to_json
37   end
38
39   def set_stageA(x, y, z, a)
40     puts "MOCK setStageA"
41
42     @params[:stage][:x] = x
43     @params[:stage][:y] = y
44     @params[:stage][:z] = z
45     @params[:stage][:a] = a
46
47     return @params[:stage].to_json
48   end
49
50   def set_stageR(x, y, z, a)
51     puts "MOCK setStageR"
52
53     @params[:stage][:x] = @params[:stage][:x].to_i + x
54     @params[:stage][:y] = @params[:stage][:y].to_i + y
55     @params[:stage][:z] = @params[:stage][:z].to_i + z
56     @params[:stage][:a] = @params[:stage][:a].to_i + a
57
58     return @params[:stage].to_json
59   end
60
61   def set_spotsize(spsize)
62     puts "MOCK setSpotSize"
63
64     @params[:ill][:spotSizeIndex] = spsize
65     return @params[:ill].to_json
66   end
67
68   def set_magnification(magsize)
69     puts "MOCK setMagnification"
70
71     @params[:proj][:magIndex] = magsize
72     return @params[:proj].to_json
73   end
74
75   def acquisition_init( binning, exp_time, image_size )
76     if(image_size==0)
77       @send_size = 2048/binning
78     elsif(image_size==1)
79       @send_size = 2048/(2*binning)
80     elsif(image_size==2)
81       @send_size = 2048/(4*binning)
82     end
83     @params[:ccdCamera][:binning]    = binning
84     @params[:ccdCamera][:expTime]   = exp_time
85     @params[:ccdCamera][:imageSize] = image_size
86     return @params[:ccdCamera].to_json
87   end
88
89   def acquisition
90     img_array = Array.new
91     # 画像ファイルをひらく
92     File.open("#{File.dirname(__FILE__)}/image/image#{@send_size}", "r") do |file|
93       img_array = JSON.load(file)
94     end
95     return img_array
96   end 
97
98 end
99