diff --git a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
index 9ba92cd..b9cd3e2 100644
--- a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
+++ b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
@@ -1365,7 +1365,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
}
$scope.highLightBodyBasedOnIcolor = function (RGBColor) {
-
+ console.log(' $scope.highLightBodyBasedOnIcolor')
//2. Find Actul Term No Based on Icolor.
var ActualTermNo = $scope.getActualTermNumber(RGBColor);
@@ -1376,259 +1376,76 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
//4.
$scope.machedTermNoLocation = [];
- // console.log(' TermList.length= ' + TermList.length)
-
-
+
- //var dataForthisBR = new jinqJs()
- // .from($scope.ColoredCanvasData)
- // .where('bodyRegionId == ' + 1)
- // .select();
- //var coloredImageData = dataForthisBR.coloredImageData;
-
-
- var worker = new Worker('term-number-wp.js');
+ var n = $scope.MaskCanvasData.length;
+ // console.log('$scope.MaskCanvasData.length= ' + n)
// console.log('Start time taken for term: ' + TermList[i]._TermNumber + 'in posting: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
- worker.postMessage({
-
- 'termList': TermList,
- 'maskCanvasData': $scope.MaskCanvasData,
- 'coloredImageCanvasList': $rootScope.coloredImageCanvasList,
- 'coloredImageMRCanvasList': $rootScope.coloredImageMRCanvasList,
- 'grayImageDataList': $rootScope.grayImageDataList,
- 'grayImageMRDataList': $rootScope.grayImageMRDataList
-
- });
-
- //}
-
- worker.onmessage = function (e) {
- console.log('callback: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
-
- // alert(e.data.value + '....name= ' + e.data.name)
- var updatedData = e.data.value;
- debugger;
- for (var i = 1; i <= updatedData.length; i++) {
-
- var grayCanvasID = 'imageCanvas' + i;
- var grayCanvas = document.getElementById(grayCanvasID);
- var grayCanvasContext = grayCanvas.getContext("2d");
-
-
-
- grayCanvasContext.putImageData(updatedData[i], 0, 0);
- }
- //var upadteddata = e.data.value;
- //var bodyRegionId = e.data.bodyRegionId;
-
-
-
-
- // $rootScope.grayImageDataList[bodyRegionId - 1] = upadteddata;
-
- };
- worker.onerror = function (e) {
- alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- };
- }
-
-
-
- //$scope.highLightBodyBasedOnIcolor = function (RGBColor) {
-
- // $scope.previousSelectedTermList.length = 0;
-
- // var RGBColor = $scope.previousSelectedTermList[i];
-
- // //2. Find Actul Term No Based on Icolor.
- // var ActualTermNo = $scope.getActualTermNumber(RGBColor);
-
- // //3. Find Term No List Based on ActualTermNo
- // var TermList = $scope.getTermNumberList(ActualTermNo);
-
- // if ($scope.previousSelectedTermList.length > 0) {
-
- // var worker = new Worker('term-number-wp.js');
-
-
- // for (var i = 0; i < $scope.previousSelectedTermList.length; i++) {
- // $scope.machedTermNoLocation = [];
- // for (var i = 0; i < TermList.length; i++) {
-
- // var termNumber = parseInt(TermList[i]._TermNumber);
-
- // // //Match Term No List in each bodyRegion
- // // $scope.getLocationsForMatchedTermsInWholeBody(termNumber);
-
- // worker.postMessage({
- // 'cmd': 'abc',
- // 'value': termNumber
- // });
- // }
-
- // }
-
- // worker.onmessage = function (e) {
- // var msg = e.data.msg1;
- // };
- // worker.onerror = function (e) {
- // alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- // };
- // }
- // else {
+ // debugger
+ for (var x = 0; x < n; x++) {
+ console.log('$scope.MaskCanvasData.length= ' + n)
- // $scope.machedTermNoLocation = [];
- // for (var i = 0; i < TermList.length; i++) {
+ var bodyRegionId = $scope.MaskCanvasData[x].bodyRegionId;
+ var canvasId = $scope.MaskCanvasData[x].canvasId;
+ var maskData = $scope.MaskCanvasData[x].maskData;
- // var termNumber = parseInt(TermList[i]._TermNumber);
+ var coloredImageDataVar = $rootScope.coloredImageCanvasList[bodyRegionId - 1];
+ var grayImageDataVar = $rootScope.grayImageDataList[bodyRegionId - 1];
- // var worker = new Worker('term-number-wp.js');
+ var worker = new Worker('term-number-wp.js');
- // //start the worker
- // worker.postMessage({
- // 'cmd': 'abc',
- // 'value': termNumber
- // });
+ console.log('for bodyRegionId = ' + bodyRegionId+ ', time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"))
+ worker.postMessage({
- // worker.onmessage = function (e) {
- // var msg = e.data.msg;
- // };
- // worker.onerror = function (e) {
- // alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- // };
- // //Match Term No List in each bodyRegion
- // //$scope.getLocationsForMatchedTermsInWholeBody(termNumber);
- // }
-
-
- // }
- //}
-
-
-
- $scope.fillMatchedTerm = function (grayImageDataVar, BrId) {
- console.log('Start time taken in fillMatchedTerm: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
-
- //for (var x = 0; x < $scope.ColoredImageSRC.length; x++) {
- // // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId);
- // var bodyRegionId = $scope.ColoredImageSRC[x].bodyRegionId;
-
- // {
-
- // var scaledWidth = $scope.ColoredImageSRC[x].Width;
- // var scaledHeight = $scope.ColoredImageSRC[x].Height;
- // //var maskImg = $scope.ColoredImageSRC[x].SRC;
-
-
- // var coloredImg = $scope.ColoredImageSRC[x].SRC;
-
- // var maskImg = $scope.GetMaskImageSource(coloredImg);
-
-
- // var scledX = $scope.ColoredImageSRC[x].x;
- // var scledY = $scope.ColoredImageSRC[x].y;
-
-
- // // 1. get mask canvas for this body region.
- // //var maskCanvasID;
- // //if ($scope.ColoredImageSRC[x].haveMirror == 'true') {
- // // maskCanvasID = 'imageCanvas' + bodyRegionId + '_MR_mci';
- // //}
- // //else {
- // // maskCanvasID = 'imageCanvas' + bodyRegionId + '_mci';
-
- // //}
- // //var maskCanvas = document.getElementById(maskCanvasID);
- // //var maskCanvasContext = maskCanvas.getContext("2d");
- // //var maskImgData = maskCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight);
-
- // // 2. get coloured canvas for this body region.
-
-
- // var coloredImageDataVar;
- // var coloredImageDataMRVar
-
- // if ($scope.ColoredImageSRC[x].haveMirror == 'true') {
-
- // coloredImageDataVar = $rootScope.coloredImageMRCanvasList[parseInt(bodyRegionId)];
- // }
- // else {
- // coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(bodyRegionId - 1)];
- // }
- // var grayImageDataVar;
- // var grayCanvas;
- // if ($scope.ColoredImageSRC[x].haveMirror == 'true') {
-
- // //// 3. get mask canvas for this body region._MR
- // var grayCanvasID = 'imageCanvas' + bodyRegionId + '_MR';
- // grayCanvas = document.getElementById(grayCanvasID);
- // var grayCanvasContext = grayCanvas.getContext("2d");
- // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight);
- // grayImageDataVar = grayImageData.data;
- // }
-
- // else {
- // var grayCanvasID = 'imageCanvas' + bodyRegionId;
- // grayCanvas = document.getElementById(grayCanvasID);
- // var grayCanvasContext = grayCanvas.getContext("2d");
- // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight);
- // grayImageDataVar = grayImageData.data;
- // }
-
- // var coloredImageDataVarMR;
- // var coloredImageDataMR
-
-
- // var counter = 0;
+ 'termList': TermList,
+ 'maskCanvasData': maskData,
+ 'coloredImageData': coloredImageDataVar,
+ 'coloredImageMRCanvasList': $rootScope.coloredImageMRCanvasList,
+ 'grayImageData': grayImageDataVar,
+ 'grayImageMRDataList': $rootScope.grayImageMRDataList,
+ 'bodyRegionId': bodyRegionId
+ });
- // var dataForthisBR = new jinqJs()
- // .from(matchedLocationData)
- // .where('BRId == ' + bodyRegionId)
- // .select();
+ //}
- // for (var z = 0; z < dataForthisBR.length; z++)
- // {
- // var location = parseInt(dataForthisBR[z].location);
+ worker.onmessage = function (e) {
+ console.log('callback: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
+
+ var updatedData = e.data.value;
- // var RED_coloredImage = coloredImageDataVar[location];
+ var bodyRegionId = e.data.bodyRegionId;
+ //debugger;
+ //for (var i = 1; i <= updatedData.length; i++) {
- // grayImageDataVar[location] = RED_coloredImage;
+ var grayCanvasID = 'imageCanvas' + bodyRegionId;
+ var grayCanvas = document.getElementById(grayCanvasID);
+ var grayCanvasContext = grayCanvas.getContext("2d");
- // var GREEN_coloredImage = coloredImageDataVar[location + 1];
- // grayImageDataVar[location + 1] = GREEN_coloredImage;
- // var BLUE_coloredImage = coloredImageDataVar[location + 2];
- // grayImageDataVar[location + 2] = BLUE_coloredImage;
+ grayCanvasContext.putImageData(updatedData, 0, 0);
+ // }
- // var ALPHA_coloredImage = coloredImageDataVar[location + 3];
- // grayImageDataVar[location + 3] = ALPHA_coloredImage;
+ worker.terminate();
- // }
- var grayCanvasID = 'imageCanvas' + BrId;
- var grayCanvas = document.getElementById(grayCanvasID);
- var grayCanvasContext = grayCanvas.getContext("2d");
+ // $rootScope.grayImageDataList[bodyRegionId - 1] = upadteddata;
- var garyDatalength = grayImageDataVar.length;
- var pixelData = new Uint8ClampedArray(garyDatalength);
- for (var i = 0; i < garyDatalength; i++) {
- pixelData[i] = grayImageDataVar[i];
+ };
+ worker.onerror = function (e) {
+ alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
+ };
}
- var imgDta = grayCanvasContext.getImageData(0, 0, 348, 507);
- imgDta.data.set
- grayCanvasContext.putImageData(imgDta, 0, 0);
- //}
-
- // }
- console.log('End time taken in fillMatchedTerm: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
}
+
+
+
$scope.GetRGBColor = function (maskCanvasContext, actulalX, actualY, x, y) {
var pixelData = maskCanvasContext.getImageData(Math.round(actulalX - x), Math.round(actualY - y), 1, 1);
@@ -1720,6 +1537,15 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
//layer change function
$scope.LayerChange = function () {
// alert('layer chnage')
+ if ($scope.MaskCanvasData.length > 0) {
+ $scope.MaskCanvasData = null;
+ $scope.MaskCanvasData = [];
+ }
+
+ if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
+ // huzzah! a worker!
+ console.log('worker is running')
+ }
var canvasDiv = document.getElementById('canvasDiv');
$scope.imageVerticalScrollPosition = canvasDiv.scrollTop;
diff --git a/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js b/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
index e260a7f..ba3a6e7 100644
--- a/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
+++ b/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
@@ -1,94 +1,109 @@
var UpdatedGrayImageDataList = [];
var doneBRID = [];
var abc = 'hello';
-
-getLocationForMatchedTermsInWholeBody = function (termList, maskCanvasData, coloredImageCanvasList, coloredImageMRCanvasList, grayImageDataList, grayImageMRDataList) {
- // console.log('for termNumer: ' + termNo + ', time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"))
+previousGrayImageDataList = [];
+getLocationForMatchedTermsInWholeBody = function (termList, maskCanvasData, coloredImageData, coloredImageMRCanvasList, grayImageData, grayImageMRDataList, bodyRegionId) {
+ console.log('for bodyRegionId: ' + bodyRegionId + ', time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"))
var matchedRGBLocationInBodyRegion = [];
var matched;
- for (var x = 0; x < maskCanvasData.length; x++) {
+
+ var n = maskCanvasData.data.length;
+ var maskData = maskCanvasData.data;
+ for (var z = 0; z < termList.length; z++) {
+
+ if (previousGrayImageDataList[parseInt(bodyRegionId - 1)] != null) {
+ grayImageData = previousGrayImageDataList[parseInt(bodyRegionId - 1)];
- matched = false;
- // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId);
- var bodyRegionId = maskCanvasData[x].bodyRegionId;
- var canvasId = maskCanvasData[x].canvasId;
- var maskData = maskCanvasData[x].maskData;
+ }
+ var grayImageDataVar = grayImageData.data;
+ var coloredImageDataVar = coloredImageData.data;
- var coloredImageDataVar = coloredImageCanvasList[bodyRegionId - 1];
- var grayImageDataVar = grayImageDataList[bodyRegionId - 1];
+ for (var i = 0; i < n; i += 4) {
- //if (canvasId.match('MR')) {
- // coloredImageDataVar = coloredImageMRCanvasList[bodyRegionId - 1];
- // grayImageDataVar = grayImageMRDataList[bodyRegionId - 1];
- //}
- //else {
- // coloredImageDataVar = coloredImageCanvasList[bodyRegionId - 1];
- // grayImageDataVar = grayImageDataList[bodyRegionId - 1];
- //}
- var counter = 0;
+ var RED = maskData[i] - 9;
+ var GREEN = maskData[i + 1] - 9;
+ var BLUE = maskData[i + 2] - 9;
- var imageDataVar = maskData.data;
+ var Red;
+ var Green;
+ var Blue;
+ var zero = "0";
- var machLocationWP = new Worker('match-pixel-wp.js');
+ if ((RED).toString().length != 2) {
+ Red = zero.concat((RED).toString())
+ }
+ else {
+ Red = (RED).toString()
+ }
+ if ((GREEN).toString().length != 2) {
+ Green = zero.concat((GREEN).toString())
+ }
+ else {
+ Green = (GREEN).toString()
+ }
+ if ((BLUE).toString().length != 2) {
+ Blue = zero.concat((BLUE).toString())
+ }
+ else {
+ Blue = (BLUE).toString()
+
+ }
- machLocationWP.postMessage({
+ var Icolor = (Red + Green + Blue);
+ // alert('Icolor: ' + Icolor)
- 'termList': termList,
- 'maskCanvasData': maskData,
- 'coloreImageData': coloredImageDataVar,
- 'grayImageData': grayImageDataVar,
- 'grayImageMRDataList': grayImageMRDataList,
- 'bodyRegionId': bodyRegionId
+ if (parseInt(termList[z]._TermNumber) == parseInt(Icolor)) {
- });
- machLocationWP.onmessage = function (e) {
- console.log('callback: ' + e.data.value + ', x=' + x);
- //var upadteddata = e.data.value;
- //var bodyRegionId = e.data.bodyRegionId;
- //var grayCanvasID = 'imageCanvas' + bodyRegionId;
- //var grayCanvas = document.getElementById(grayCanvasID);
- //var grayCanvasContext = grayCanvas.getContext("2d");
+ // matchedRGBLocationInBodyRegion.push({ "BRId": bodyRegionId, "location": i });
+ // matched = true;
- //grayCanvasContext.putImageData(upadteddata, 0, 0);
- doneBRID.push(e.data.bodyRegionId);
- UpdatedGrayImageDataList[e.data.bodyRegionId] = e.data.value
+ var RED_coloredImage = coloredImageDataVar[i];
- console.log('UpdatedGrayImageDataList: ' + UpdatedGrayImageDataList);
+ grayImageDataVar[i] = RED_coloredImage;
- console.log('doneBRID: ' + e.data.bodyRegionId + 'length: ' + doneBRID.length);
- if (doneBRID.length == 9) {
- console.log('before sending UpdatedGrayImageDataList= ' + UpdatedGrayImageDataList)
- self.postMessage({
- 'value': UpdatedGrayImageDataList,
- 'name': 'Happy'
- })
+ var GREEN_coloredImage = coloredImageDataVar[i + 1];
+ grayImageDataVar[i + 1] = GREEN_coloredImage;
+
+ var BLUE_coloredImage = coloredImageDataVar[i + 2];
+ grayImageDataVar[i + 2] = BLUE_coloredImage;
+
+
+ var ALPHA_coloredImage = coloredImageDataVar[i + 3];
+ grayImageDataVar[i + 3] = ALPHA_coloredImage;
+
}
- };
- machLocationWP.onerror = function (e) {
- console.log('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- };
+ }
- }
+ previousGrayImageDataList[parseInt(bodyRegionId - 1)] = grayImageData;
+
+ // if (matched == true) {
+ // }
+
+ }
+ self.postMessage({
+ 'bodyRegionId': bodyRegionId,
+ 'value': grayImageData,
+ });
}
self.onmessage = function (e) {
- getLocationForMatchedTermsInWholeBody(e.data.termList, e.data.maskCanvasData, e.data.coloredImageCanvasList,
- e.data.coloredImageMRCanvasList, e.data.grayImageDataList, e.data.grayImageMRDataList);
+ getLocationForMatchedTermsInWholeBody(e.data.termList, e.data.maskCanvasData, e.data.coloredImageData,
+ e.data.coloredImageMRCanvasList, e.data.grayImageData, e.data.grayImageMRDataList, e.data.bodyRegionId);
}