+++ /dev/null
-$:.unshift(File.dirname(__FILE__))
-
-require 'json'
-require '../vem/vem'
-require '../vem/mock'
-begin
- require '../vem/feicontrol'
-rescue LoadError
-end
-require '../tool/imageProc'
-
-class Request
- include ImageProc
-
- def initialize(command, params)
- puts "create request"
- @command = command
- @params = params
- @result = nil
- @mutex = Mutex.new
- @cv = ConditionVariable.new
- @complete = false
- @em = $em_name
- end
-
- def execute
- @vem = VEM.create(@em)
- case @command
- when "get"
- @result = @vem.get_params
- when "stagea"
- @result = @vem.set_stageA(@params["x"].to_i, @params["y"].to_i, @params["z"].to_i, @params["a"].to_i)
- when "stager"
- @result = @vem.set_stageR(@params["x"].to_i, @params["y"].to_i, @params["z"].to_i, @params["a"].to_i)
- when "spotsize"
- @result = @vem.set_spotsize(@params["sps"].to_i)
- when "magnification"
- @result = @vem.set_magnification(@params["mag"].to_i)
- when "acq_init"
- @result = @vem.acquisition_init(@params["bng"].to_i, @params["exp"], @params["size"].to_i)
- when "acq"
- image = @vem.acquisition
- converted_image = convert_256(image)
- @result = converted_image.to_json
- else
- puts "else"
- end
- @complete = true
- @cv.broadcast
- end
-
- def get_result
- @mutex.synchronize do
- @cv.wait(@mutex) while (@complete == false)
- puts "resturn result"
- puts @result
- return @result
- end
- end
-end