3 // 変数 //////////////////////////////////////
6 var i = 0; // 画像取得回数カウント用
10 exptime : 0.07 // 露光時間
17 //////////////////////////////////////////////
20 // イベント登録 //////////////////////////////
24 $( "#start_button" ).toggle( startAcq, stopAcq) ;
28 //////////////////////////////////////////////
31 function startAcq () {
34 $( "#start_button" ).attr( "class", "btn btn-default btn-lg btn-danger");
38 ws = new WebSocket( "ws://"+$ipAddress+":3000" );
40 ws.onopen = function () {
42 ws.onmessage = function( event ){
45 data = JSON.parse(event.data)
46 if(data["type"]=="connection"){
47 if(data["data"]=="open"){
48 sendBuf["type"] = "req";
49 sendBuf["data"] = "img";
50 ws.send(JSON.stringify(sendBuf));
53 }else if(data["type"]=="img"){
54 draw(JSON.parse(data["data"]));
55 sendBuf["type"] = "req";
56 sendBuf["data"] = "img";
57 ws.send(JSON.stringify(sendBuf));
66 $( "#start_button" ).attr( "class", "btn btn-default btn-lg btn-default");
68 ws.close(1000, "close");
72 function dispParams () {
73 paramsT =JSON.stringify(params);
74 $( "#acqParams" ).html( paramsT );
77 function setParams () {
82 function sendSettings () {
85 url:"http://"+$ipAddress+":"+$port+"/fei/set/acq_init?bng="+cameraParams["binning"]+"&&exp="+cameraParams["exptime"]+"&&size="+cameraParams["size"],
86 success: function(data){
93 function draw (data) {
98 var canvas = document.getElementById('camera_screen');
100 if(canvas.getContext){
101 ctx = canvas.getContext('2d');
108 imgData = ctx.createImageData(length, length);
111 for (var i=0;i<length;i++){
112 for (var j=0;j<length;j++){
113 var n = j*4+i*length*4;
114 var pixel = emData[i][j];
115 imgData.data[n] = pixel;
116 imgData.data[n+1] = pixel;
117 imgData.data[n+2] = pixel;
118 imgData.data[n+3] = 255;
121 // console.timeEnd('draw for');
123 // CanvasのコンテキストにImageDataを設定
124 // console.time('put');
126 ctx.putImageData(imgData, 0, 0);
127 // ctx.drawImage(imgData, 0, 0);
129 // console.timeEnd('put');