<commit_before>/**
* USBカメラクラス。
* @class Camera
* @constructor
* @param {json} config 設定情報、IPアドレスのみ。 
* 設定されなかった場合、window.location.hostnameを使用する。
* @example
* <pre> <code>
* var camera = new Camera({'ip':'192.168.11.2'});
* var camera = new Camera();
* </code></pre>
**/
var Camera = function(config) {
	this.ip = null;
	if (config && config['ip']) {
		this.ip = config['ip'];
	} else {
		this.ip = window.location.hostname;
	}
	
	/**
	* カメラ画像を表示する。
	* @method viewRaw
	* @param {img} 		raw 	image要素
    * @example
    * <pre><code>
	* var camera = new Camera({'ip':'192.168.11.2'});
    * camera.viewRaw($('#camera_raw'));	
	* </code></pre>
	* </code></pre>
	**/
	this.viewRaw = function(raw) {
		var random = Math.floor(Math.random() * Math.pow(2, 31));
		raw.attr('src', 'http://'+ this.ip +':18081/raw?i=' + Math.random());
	}
	/**
	* マーカー検出結果画像を表示する。
	* @method viewMarkerDetect
	* @param {img} 		marker 	image要素
    * @example
    * <pre><code>
	* var camera = new Camera({'ip':'192.168.11.2'});
    * camera.viewMarkerDetect($('#camera_marker'));	
	* </code></pre>
	**/
	this.viewMarkerDetect = function(marker,ip) {
		var random = Math.floor(Math.random() * Math.pow(2, 31));
		marker.attr('src', 'http://'+ this.ip +':18083/marker?i=' + Math.random());
	}

	
	this.ws = null;
	this.cb = null;
	this.ready = false;
	function openWS(self) {
		self.ws = new WebSocket('ws://' + self.ip +':20088','webcam-info');
		self.ws.onerror = function (error) {
		};
		// Log messages from the server
		self.ws.onmessage = function (evt) {
			var remoteMsg = JSON.parse( evt.data );
			if (self.cb) {
				self.cb(remoteMsg);
			}
		};
		self.ws.onopen = function (evt) {
			self.ready = true;
		};
		self.ws.onclose = function(evt){
			var remoteMsg = JSON.parse( evt.data );
			self.ready = false;
			self.ws = null;
		}<commit_msg>battle sample change form jquery api to javascript built in api<commit_after>/**
* USBカメラクラス。
* @class Camera
* @constructor
* @param {json} config 設定情報、IPアドレスのみ。 
* 設定されなかった場合、window.location.hostnameを使用する。
* @example
* <pre> <code>
* var camera = new Camera({'ip':'192.168.11.2'});
* var camera = new Camera();
* </code></pre>
**/
var Camera = function(config) {
	this.ip = null;
	if (config && config['ip']) {
		this.ip = config['ip'];
	} else {
		this.ip = window.location.hostname;
	}
	
	/**
	* カメラ画像を表示する。
	* @method viewRaw
	* @param {img} 		raw 	image要素
    * @example
    * <pre><code>
	* var camera = new Camera({'ip':'192.168.11.2'});
    * camera.viewRaw($('#camera_raw'));	
	* </code></pre>
	* </code></pre>
	**/
	this.viewRaw = function(raw) {
		var random = Math.floor(Math.random() * Math.pow(2, 31));
		raw.setAttribute('src', 'http://'+ this.ip +':18081/raw?i=' + Math.random());
	}
	/**
	* マーカー検出結果画像を表示する。
	* @method viewMarkerDetect
	* @param {img} 		marker 	image要素
    * @example
    * <pre><code>
	* var camera = new Camera({'ip':'192.168.11.2'});
    * camera.viewMarkerDetect($('#camera_marker'));	
	* </code></pre>
	**/
	this.viewMarkerDetect = function(marker,ip) {
		var random = Math.floor(Math.random() * Math.pow(2, 31));
		marker.setAttribute('src', 'http://'+ this.ip +':18083/marker?i=' + Math.random());
	}

	
	this.ws = null;
	this.cb = null;
	this.ready = false;
	function openWS(self) {
		self.ws = new WebSocket('ws://' + self.ip +':20088','webcam-info');
		self.ws.onerror = function (error) {
		};
		// Log messages from the server
		self.ws.onmessage = function (evt) {
			var remoteMsg = JSON.parse( evt.data );
			if (self.cb) {
				self.cb(remoteMsg);
			}
		};
		self.ws.onopen = function (evt) {
			self.ready = true;
		};
		self.ws.onclose = function(evt){
			var remoteMsg = JSON.parse( evt.data );
			self.ready = false;
			self.ws = null;
		}
{'fraction_non_alphanumeric': 0.20956475013433637, 'fraction_numerical': 0.025792584631918324, 'mean_word_length': 3.364595545134818, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 6, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4537730', 'n_tokens_mistral': 1645, 'n_tokens_neox': 1514, 'n_words': 282}