diff --git a/400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj b/400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj
index 1b5272d..daf99fb 100644
--- a/400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj
+++ b/400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj
@@ -74,7 +74,6 @@
-
diff --git a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
index 07720cb..6077048 100644
--- a/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
+++ b/400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
@@ -49,6 +49,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
// This variable is used for unhighlight previously highlighted body portion, if multiAnnotation is false.
$scope.machedIcolorInBodyRegion = [];
+ $scope.MaskCanvasData = [];
+
//array for bodyviewid correspoing to male female(used for gender change)
$scope.correspondingBodyViewIds = {
'1': '5',
@@ -1058,6 +1060,19 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
document.getElementById('canvasDiv').appendChild(FlipedImgCanvas);
+ if (FlipedImgCanvas.id.match('_mci')) {
+
+ var maskImgData = context.getImageData(0, 0, w, h);
+
+ $scope.MaskCanvasData.push(
+ {
+ "bodyRegionId": bodyRegionId,
+ "canvasId": FlipedImgCanvas.id,
+ "maskData": maskImgData,
+
+ }
+ );
+ }
}
@@ -1312,124 +1327,145 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
function start() {
// debugger;
context.drawImage(img, 0, 0);
+
+ if (imgCanvas.id.match('_mci')) {
+ var maskImgData = context.getImageData(0, 0, w, h);
+ $scope.MaskCanvasData.push(
+ {
+ "bodyRegionId": bodyRegionId,
+ "canvasId": imgCanvas.id,
+ "maskData": maskImgData,
+
+ }
+ );
+ }
};
document.getElementById('canvasDiv').appendChild(imgCanvas);
+
}
-
$scope.highLightBodyBasedOnIcolor = function (RGBColor) {
+
+ //2. Find Actul Term No Based on Icolor.
+ var ActualTermNo = $scope.getActualTermNumber(RGBColor);
- $scope.previousSelectedTermList.length=0;
- if ($scope.previousSelectedTermList.length > 0) {
-
- //alert('previousSelectedTermList length: ' + $scope.previousSelectedTermList.length);
-
- for (var i = 0; i < $scope.previousSelectedTermList.length; i++) {
- var RGBColor = $scope.previousSelectedTermList[i];
+ //3. Find Term No List Based on ActualTermNo
+ var TermList = $scope.getTermNumberList(ActualTermNo);
+ //4.
- //2. Find Actul Term No Based on Icolor.
- var ActualTermNo = $scope.getActualTermNumber(RGBColor);
+ $scope.machedTermNoLocation = [];
+ console.log(' TermList.length= ' + TermList.length)
- //3. Find Term No List Based on ActualTermNo
- var TermList = $scope.getTermNumberList(ActualTermNo);
+ var worker = new Worker('term-number-wp.js');
+ for (var i = 0; i < TermList.length; i++) {
- //4.
+ 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({
+ 'termNumber': TermList[i]._TermNumber,
+ 'maskCanvasData': $scope.MaskCanvasData
+
+ });
- $scope.machedTermNoLocation = [];
- //for (var i = 0; i < TermList.length; i++) {
+ }
+ worker.onmessage = function (e) {
+ console.log('callback time taken : ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"));
+ $scope.fillMatchedTerm(e.data.value);
- // var termNumber = parseInt(TermList[i]._TermNumber);
- // //Match Term No List in each bodyRegion
- // $scope.getLocationsForMatchedTermsInWholeBody(termNumber);
- //}
+ };
+ worker.onerror = function (e) {
+ alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
+ };
+ }
- var worker = new Worker('term-number-wp.js');
+ //$scope.highLightBodyBasedOnIcolor = function (RGBColor) {
-
+ // $scope.previousSelectedTermList.length = 0;
- //start the worker
- worker.postMessage({
- 'cmd': 'abc',
- 'value': 'send msg from DA controller'
- });
+ // var RGBColor = $scope.previousSelectedTermList[i];
- worker.onmessage = function (e) {
- var msg = e.data.msg;
- };
- worker.onerror = function (e) {
- alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- };
- }
- }
- else {
- //2. Find Actul Term No Based on Icolor.
- var ActualTermNo = $scope.getActualTermNumber(RGBColor);
+ // //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);
+ // //3. Find Term No List Based on ActualTermNo
+ // var TermList = $scope.getTermNumberList(ActualTermNo);
+ // if ($scope.previousSelectedTermList.length > 0) {
- //4.
+ // var worker = new Worker('term-number-wp.js');
- $scope.machedTermNoLocation = [];
- for (var i = 0; i < TermList.length; i++) {
- var termNumber = parseInt(TermList[i]._TermNumber);
-
- 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);
- //start the worker
- worker.postMessage({
- 'cmd': 'abc',
- 'value': 'send msg from DA controller'
- });
+ // // //Match Term No List in each bodyRegion
+ // // $scope.getLocationsForMatchedTermsInWholeBody(termNumber);
- 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);
- }
+ // worker.postMessage({
+ // 'cmd': 'abc',
+ // 'value': termNumber
+ // });
+ // }
+
+ // }
- debugger;
- var worker = new Worker('term-number-wp.js');
+ // worker.onmessage = function (e) {
+ // var msg = e.data.msg1;
+ // };
+ // worker.onerror = function (e) {
+ // alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
+ // };
+ // }
+ // else {
- worker.onmessage = function (e) {
- var msg = e.data.msg;
- };
- worker.onerror = function (e) {
- alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
- };
+ // $scope.machedTermNoLocation = [];
+ // for (var i = 0; i < TermList.length; i++) {
- //start the worker
- worker.postMessage({
- 'cmd': 'abc',
- 'value': 'send msg from DA controller'
- });
- }
- }
+ // var termNumber = parseInt(TermList[i]._TermNumber);
+
+ // var worker = new Worker('term-number-wp.js');
+
+ // //start the worker
+ // worker.postMessage({
+ // 'cmd': 'abc',
+ // 'value': termNumber
+ // });
+
+ // 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.getLocationsForMatchedTermsInWholeBody = function (termNo) {
+ $scope.fillMatchedTerm = function (matchedLocationData)
+ {
+ 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;
@@ -1445,17 +1481,17 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
// 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 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);
+ //}
+ //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.
@@ -1496,97 +1532,39 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo
var counter = 0;
- var imageDataVar = maskImgData.data;
-
- // var previousBRID;
-
- var counter = 0;
-
-
- var n = maskImgData.data.length;
-
- for (var i = 0; i < n; i += 4) {
-
-
- var RED = imageDataVar[i] - 9;
- var GREEN = imageDataVar[i + 1] - 9;
- var BLUE = imageDataVar[i + 2] - 9;
-
- var Red;
- var Green;
- var Blue;
- var zero = "0";
-
- 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()
-
- }
-
- var Icolor = (Red + Green + Blue);
- // alert('Icolor: ' + Icolor)
-
- if (parseInt(termNo) == parseInt(Icolor)) {
-
- counter++;
- var have = $scope.machedIcolorInBodyRegion.indexOf(bodyRegionId);
-
-
- if (have == -1) {
- $scope.machedIcolorInBodyRegion.push(bodyRegionId);
- }
- else {
-
- }
-
-
- //previousGrayColoredData = i;
- if (coloredImageDataVar != null) {
-
- var RED_coloredImage = coloredImageDataVar[i];
+ var dataForthisBR = new jinqJs()
+ .from(matchedLocationData)
+ .where('BRId == ' + bodyRegionId)
+ .select();
- grayImageDataVar[i] = RED_coloredImage;
+ for (var z = 0; z < dataForthisBR.length; z++)
+ {
+ var location = parseInt(dataForthisBR[z].location);
+
+ var RED_coloredImage = coloredImageDataVar[location];
- var GREEN_coloredImage = coloredImageDataVar[i + 1];
- grayImageDataVar[i + 1] = GREEN_coloredImage;
+ grayImageDataVar[location] = RED_coloredImage;
- var BLUE_coloredImage = coloredImageDataVar[i + 2];
- grayImageDataVar[i + 2] = BLUE_coloredImage;
+ var GREEN_coloredImage = coloredImageDataVar[location + 1];
+ grayImageDataVar[location + 1] = GREEN_coloredImage;
- var ALPHA_coloredImage = coloredImageDataVar[i + 3];
- grayImageDataVar[i + 3] = ALPHA_coloredImage;
+ var BLUE_coloredImage = coloredImageDataVar[location + 2];
+ grayImageDataVar[location + 2] = BLUE_coloredImage;
- }
+ var ALPHA_coloredImage = coloredImageDataVar[location + 3];
+ grayImageDataVar[location + 3] = ALPHA_coloredImage;
- }
-
- // grayCanvasContext.putImageData(grayImageData, 0, 0);
}
-
grayCanvasContext.putImageData(grayImageData, 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) {
diff --git a/400-SOURCECODE/AIAHTML5.Web/app/workeroprocess/term-number-wp.js b/400-SOURCECODE/AIAHTML5.Web/app/workeroprocess/term-number-wp.js
index fed79c6..e705e79 100644
--- a/400-SOURCECODE/AIAHTML5.Web/app/workeroprocess/term-number-wp.js
+++ b/400-SOURCECODE/AIAHTML5.Web/app/workeroprocess/term-number-wp.js
@@ -2,14 +2,19 @@
{
- var msg1 = msg;
-
+ var msg1 = msg;
+ alert(msg1);
+ worker.postMessage({
+ 'cmd': 'getLocationsForMatchedTermsInWholeBody',
+ 'value': msg1
+ });
}
self.onmessage = function (e) {
- abc(e.data.value);
+ abc(e.data.termNumber);
+
}
function launchMatchPixelWorkerProcess() {
@@ -26,9 +31,6 @@ function launchMatchPixelWorkerProcess() {
};
- worker.postMessage({
- 'cmd': 'getLocationsForMatchedTermsInWholeBody',
- 'value': 'msg from term-number-wp'
- });
+
}
diff --git a/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js b/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
index 1d413bc..4404553 100644
--- a/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
+++ b/400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
@@ -1,17 +1,210 @@
-function abc(msg)
-{
+function abc(msg) {
+
+
+ var msg1 = msg;
- var msg1 = msg;
+ self.postMessage({
+ 'cmd': 'getLocationForMatchedTermsInWholeBody',
+ 'value': msg1
+ });
+
+
+}
+
+getLocationForMatchedTermsInWholeBody = function (termNo, maskCanvasData)
+{
+
+ var matchedRGBLocationInBodyRegion = [];
+ for (var x = 0; x < maskCanvasData.length; x++) {
+ // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId);
+ var bodyRegionId = maskCanvasData[x].bodyRegionId;
+ var canvasId = maskCanvasData[x].canvasId;
+ var maskData = maskCanvasData[x].maskData;
+
+ // {
+ //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;
+
+ var imageDataVar = maskData.data;
+
+ // var previousBRID;
+
+ var counter = 0;
+
+
+ var n = maskData.data.length;
+
+ for (var i = 0; i < n; i += 4) {
+
+
+ var RED = imageDataVar[i] - 9;
+ var GREEN = imageDataVar[i + 1] - 9;
+ var BLUE = imageDataVar[i + 2] - 9;
+
+ var Red;
+ var Green;
+ var Blue;
+ var zero = "0";
+
+ 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()
+
+ }
+
+ var Icolor = (Red + Green + Blue);
+ // alert('Icolor: ' + Icolor)
+
+ if (parseInt(termNo) == parseInt(Icolor)) {
+
+ counter++;
+
+ //var obj = new Object();
+ //obj.bodyRegionId = bodyRegionId;
+ //obj.location = i;
+
+ matchedRGBLocationInBodyRegion.push({ "BRId": bodyRegionId, "location": i });
+
+ // var have = machedIcolorInBodyRegion.indexOf(bodyRegionId);
+
+
+ //if (have == -1) {
+ // // machedIcolorInBodyRegion.push(bodyRegionId);
+ //}
+ //else {
+
+ //}
+
+
+ //previousGrayColoredData = i;
+ //if (coloredImageDataVar != null) {
+
+
+ // var RED_coloredImage = coloredImageDataVar[i];
+
+ // // grayImageDataVar[i] = RED_coloredImage;
+
+
+ // 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;
+
+
+ //}
+
+ }
+
+
+ // grayCanvasContext.putImageData(grayImageData, 0, 0);
+ }
+ self.postMessage({
+ 'cmd': 'getLocationsForMatchedTermsInWholeBody',
+ 'value': matchedRGBLocationInBodyRegion
+ });
+
+ // grayCanvasContext.putImageData(grayImageData, 0, 0);
+ //}
+
+
+ }
+
+
+
-
}
self.onmessage = function (e) {
- abc(e.data.value);
+ getLocationForMatchedTermsInWholeBody(e.data.termNumber, e.data.maskCanvasData);
+
}
function launchMatchPixelWorkerProcess() {
-
+
var worker = new Worker('match-pixel-wp.js');
worker.onmessage = function (e) {
@@ -23,10 +216,7 @@ function launchMatchPixelWorkerProcess() {
alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message);
};
-
- worker.postMessage({
- 'cmd': 'getLocationsForMatchedTermsInWholeBody',
- 'value': 'msg from term-number-wp'
- });
+
+
}