$:.unshift(File.dirname(__FILE__)) require "json" require "vem" require "singleton" class MockControl < VEM include Singleton def initialize @params = { :stage => { :x => 0, :y => 0, :z => 0, :a => 0, }, :ccdCamera => { :binning => 1, :expTime => 1, :imageSize => 0 }, :proj => { :magIndex => 0 }, :ill => { :spotSizeIndex => 0 } } @send_size = 2048 end def get_params puts "MOCK get params" return @params.to_json end def set_stageA(x, y, z, a) puts "MOCK setStageA" @params[:stage][:x] = x @params[:stage][:y] = y @params[:stage][:z] = z @params[:stage][:a] = a return @params[:stage].to_json end def set_stageR(x, y, z, a) puts "MOCK setStageR" @params[:stage][:x] = @params[:stage][:x].to_i + x @params[:stage][:y] = @params[:stage][:y].to_i + y @params[:stage][:z] = @params[:stage][:z].to_i + z @params[:stage][:a] = @params[:stage][:a].to_i + a return @params[:stage].to_json end def set_spotsize(spsize) puts "MOCK setSpotSize" @params[:ill][:spotSizeIndex] = spsize return @params[:ill].to_json end def set_magnification(magsize) puts "MOCK setMagnification" @params[:proj][:magIndex] = magsize return @params[:proj].to_json end def acquisition_init( binning, exp_time, image_size ) if(image_size==0) @send_size = 2048/binning elsif(image_size==1) @send_size = 2048/(2*binning) elsif(image_size==2) @send_size = 2048/(4*binning) end @params[:ccdCamera][:binning] = binning @params[:ccdCamera][:expTime] = exp_time @params[:ccdCamera][:imageSize] = image_size return @params[:ccdCamera].to_json end def acquisition img_array = Array.new # 画像ファイルをひらく File.open("#{File.dirname(__FILE__)}/image/image#{@send_size}", "r") do |file| img_array = JSON.load(file) end return img_array end end