Commit cb66df48a395be93a7f557bfc94d903b2e19eea7
merged code
Showing
5 changed files
with
280 additions
and
288 deletions
350-UTILITIES/Parser/XMLtoJSON_utility/XMLtoJSON_utility.v12.suo
No preview for this file type
400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj
... | ... | @@ -74,6 +74,8 @@ |
74 | 74 | <Content Include="app\views\LabExerc\LabExerc-view.html" /> |
75 | 75 | <Content Include="app\widget\MainMenu.html" /> |
76 | 76 | <Content Include="match-pixel-wp.js" /> |
77 | + <Content Include="term-number-wp.js" /> | |
78 | + <Content Include="term-wp.js" /> | |
77 | 79 | <Content Include="content\css\main.css" /> |
78 | 80 | <Content Include="content\data\json\da\body-views\1\da_dat_tm_sg_1.json" /> |
79 | 81 | <Content Include="content\data\json\da\body-views\10\da_dat_body_system_term_10.json" /> |
... | ... | @@ -42902,6 +42904,7 @@ |
42902 | 42904 | <Content Include="libs\videogular\vg-controls.min.js" /> |
42903 | 42905 | <Content Include="libs\videogular\videogular.js" /> |
42904 | 42906 | <Content Include="libs\videogular\videogular.min.js" /> |
42907 | + <Content Include="libs\worker.js" /> | |
42905 | 42908 | <Content Include="login.html" /> |
42906 | 42909 | <Content Include="app\widget\MainView.html" /> |
42907 | 42910 | <Content Include="term-number-wp.js" /> |
... | ... | @@ -42998,7 +43001,7 @@ |
42998 | 43001 | </Content> |
42999 | 43002 | </ItemGroup> |
43000 | 43003 | <ItemGroup> |
43001 | - <Folder Include="app\workeroprocess\" /> | |
43004 | + <Folder Include="app\worker-process\" /> | |
43002 | 43005 | <Folder Include="content\data\json\ca\" /> |
43003 | 43006 | <Folder Include="content\images\ca\" /> |
43004 | 43007 | <Folder Include="content\images\DA\75\body-views\4\layers\329\6\" /> | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
... | ... | @@ -32,7 +32,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
32 | 32 | $rootScope.isHighLight = false; |
33 | 33 | $rootScope.coloredImageCanvasList = []; |
34 | 34 | $rootScope.coloredImageMRCanvasList = []; |
35 | - $rootScope.ColoredCanvasData= []; | |
35 | + $rootScope.ColoredCanvasData = []; | |
36 | 36 | $rootScope.grayImageDataList = []; |
37 | 37 | $rootScope.grayImageMRDataList = []; |
38 | 38 | |
... | ... | @@ -1175,13 +1175,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1175 | 1175 | var RGBColor = $scope.GetRGBColor(maskCanvasContext, actulalX, actualY, x, y); |
1176 | 1176 | |
1177 | 1177 | if ($rootScope.isHighLight) { |
1178 | - | |
1179 | - if ($scope.machedIcolorInBodyRegion.length > 0) | |
1180 | - { | |
1181 | - if ($scope.multiAnnotationIsON == false) | |
1182 | - { | |
1183 | - for (var i = 0; i < $scope.machedIcolorInBodyRegion.length; i++) | |
1184 | - { | |
1178 | + | |
1179 | + if ($scope.machedIcolorInBodyRegion.length > 0) { | |
1180 | + if ($scope.multiAnnotationIsON == false) { | |
1181 | + for (var i = 0; i < $scope.machedIcolorInBodyRegion.length; i++) { | |
1185 | 1182 | var bodyRegionId = $scope.machedIcolorInBodyRegion[i]; |
1186 | 1183 | |
1187 | 1184 | var grayCanvasID = 'imageCanvas' + bodyRegionId; |
... | ... | @@ -1310,7 +1307,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1310 | 1307 | if ($('#sppeachBubble').length > 0) { |
1311 | 1308 | $('#sppeachBubble').remove(); |
1312 | 1309 | } |
1313 | - | |
1310 | + | |
1314 | 1311 | |
1315 | 1312 | |
1316 | 1313 | $scope.createDynamicSpeechBubble(evt, annotationText, evt.pageX + horizontlScrollPosition - $('#canvasDiv').offset().left, evt.pageY + verticalScrollPosition - $('#canvasDiv').offset().top); |
... | ... | @@ -1379,7 +1376,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1379 | 1376 | //4. |
1380 | 1377 | |
1381 | 1378 | $scope.machedTermNoLocation = []; |
1382 | - console.log(' TermList.length= ' + TermList.length) | |
1379 | + // console.log(' TermList.length= ' + TermList.length) | |
1383 | 1380 | |
1384 | 1381 | |
1385 | 1382 | |
... | ... | @@ -1390,9 +1387,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1390 | 1387 | var coloredImageData = dataForthisBR.coloredImageData; |
1391 | 1388 | var worker = new Worker('term-number-wp.js'); |
1392 | 1389 | |
1393 | - for (var i = 0; i < TermList.length; i++) { | |
1394 | 1390 | |
1395 | - console.log('Start time taken for term: ' + TermList[i]._TermNumber + 'in posting: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1396 | 1391 | worker.postMessage({ |
1397 | 1392 | 'termNumber': TermList[i]._TermNumber, |
1398 | 1393 | 'maskCanvasData': $scope.MaskCanvasData, |
... | ... | @@ -1403,24 +1398,27 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1403 | 1398 | |
1404 | 1399 | }); |
1405 | 1400 | |
1406 | - } | |
1407 | 1401 | |
1408 | - //var candata = e.value; | |
1409 | - //var grayCanvasID = 'imageCanvas1' | |
1410 | - //var grayCanvas = document.getElementById(grayCanvasID); | |
1411 | - //var grayCanvasContext = grayCanvas.getContext("2d"); | |
1412 | - //var imageData = grayCanvasContext.getImageData(0, 0 ,348,507); | |
1402 | + var dataForthisBR = new jinqJs() | |
1403 | + .from($scope.ColoredCanvasData) | |
1404 | + .where('bodyRegionId == ' + 1) | |
1405 | + .select(); | |
1406 | + var coloredImageData = dataForthisBR.coloredImageData; | |
1413 | 1407 | |
1408 | + //for (var i = 0; i < TermList.length; i++) { | |
1409 | + var worker = new Worker('term-number-wp.js'); | |
1414 | 1410 | |
1415 | - // worker.postMessage({ candata: coloredImageData }); | |
1411 | + // console.log('Start time taken for term: ' + TermList[i]._TermNumber + 'in posting: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1412 | + worker.postMessage({ | |
1416 | 1413 | |
1417 | - worker.onmessage = function (e) { | |
1418 | - var candata = e.data.value; | |
1419 | - var grayCanvasID = 'imageCanvas1' | |
1420 | - var grayCanvas = document.getElementById(grayCanvasID); | |
1421 | - var grayCanvasContext = grayCanvas.getContext("2d"); | |
1414 | + 'termList': TermList, | |
1415 | + 'maskCanvasData': $scope.MaskCanvasData, | |
1416 | + 'coloredImageCanvasList': $rootScope.coloredImageCanvasList, | |
1417 | + 'coloredImageMRCanvasList': $rootScope.coloredImageMRCanvasList, | |
1418 | + 'grayImageDataList': $rootScope.grayImageDataList, | |
1419 | + 'grayImageMRDataList': $rootScope.grayImageMRDataList | |
1422 | 1420 | |
1423 | - // var tempCanvas = document.createElement('canvas'); | |
1421 | + }); | |
1424 | 1422 | // tempCanvas.id = 'tempCanvas'; |
1425 | 1423 | // $scope.tempCanvas = tempCanvas.id; |
1426 | 1424 | // tempCanvas.height = 507; |
... | ... | @@ -1429,15 +1427,34 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1429 | 1427 | // tempCanvas.style.left = 200 + 'px'; |
1430 | 1428 | // tempCanvas.style.top = 100 + 'px'; |
1431 | 1429 | |
1432 | - //// tempCanvas.style.backgroundColor = "transparent"; | |
1430 | + //} | |
1433 | 1431 | // tempCanvas.style.visibility = 'visible'; |
1434 | 1432 | // document.getElementById('canvasDiv').appendChild(tempCanvas); |
1435 | 1433 | |
1436 | - // var tempCanvas1 = document.getElementById('tempCanvas'); | |
1437 | - // var Context = tempCanvas1.getContext("2d"); | |
1434 | + worker.onmessage = function (e) { | |
1435 | + console.log('callback: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1438 | 1436 | |
1439 | - grayCanvasContext.putImageData(e.data.value, 0, 0); | |
1437 | + // alert(e.data.value + '....name= ' + e.data.name) | |
1438 | + var updatedData = e.data.value; | |
1439 | + // debugger; | |
1440 | + for (var i = 1; i <= updatedData.length; i++) { | |
1440 | 1441 | |
1442 | + var grayCanvasID = 'imageCanvas' +i; | |
1443 | + var grayCanvas = document.getElementById(grayCanvasID); | |
1444 | + var grayCanvasContext = grayCanvas.getContext("2d"); | |
1445 | + | |
1446 | + | |
1447 | + | |
1448 | + grayCanvasContext.putImageData(updatedData[i], 0, 0); | |
1449 | + } | |
1450 | + //var upadteddata = e.data.value; | |
1451 | + //var bodyRegionId = e.data.bodyRegionId; | |
1452 | + | |
1453 | + | |
1454 | + //$scope.highLightBodyBasedOnIcolor = function (RGBColor) { | |
1455 | + | |
1456 | + | |
1457 | + // $rootScope.grayImageDataList[bodyRegionId - 1] = upadteddata; | |
1441 | 1458 | |
1442 | 1459 | }; |
1443 | 1460 | worker.onerror = function (e) { |
... | ... | @@ -1452,6 +1469,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1452 | 1469 | // $scope.previousSelectedTermList.length = 0; |
1453 | 1470 | |
1454 | 1471 | // var RGBColor = $scope.previousSelectedTermList[i]; |
1472 | + // $scope.machedTermNoLocation = []; | |
1473 | + // for (var i = 0; i < TermList.length; i++) { | |
1455 | 1474 | |
1456 | 1475 | // //2. Find Actul Term No Based on Icolor. |
1457 | 1476 | // var ActualTermNo = $scope.getActualTermNumber(RGBColor); |
... | ... | @@ -1460,27 +1479,45 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1460 | 1479 | // var TermList = $scope.getTermNumberList(ActualTermNo); |
1461 | 1480 | |
1462 | 1481 | // if ($scope.previousSelectedTermList.length > 0) { |
1463 | - | |
1482 | + // 'cmd': 'abc', | |
1483 | + // 'value': termNumber | |
1484 | + // }); | |
1485 | + // } | |
1486 | + | |
1464 | 1487 | // var worker = new Worker('term-number-wp.js'); |
1465 | 1488 | |
1489 | + // var msg = e.data.msg1; | |
1490 | + // }; | |
1491 | + // worker.onerror = function (e) { | |
1492 | + // alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message); | |
1493 | + // }; | |
1494 | + // } | |
1495 | + // else { | |
1466 | 1496 | |
1467 | 1497 | // for (var i = 0; i < $scope.previousSelectedTermList.length; i++) { |
1468 | 1498 | // $scope.machedTermNoLocation = []; |
1469 | 1499 | // for (var i = 0; i < TermList.length; i++) { |
1470 | - | |
1500 | + // var termNumber = parseInt(TermList[i]._TermNumber); | |
1501 | + | |
1471 | 1502 | // var termNumber = parseInt(TermList[i]._TermNumber); |
1472 | 1503 | |
1473 | 1504 | // // //Match Term No List in each bodyRegion |
1474 | 1505 | // // $scope.getLocationsForMatchedTermsInWholeBody(termNumber); |
1506 | + // 'value': termNumber | |
1507 | + // }); | |
1475 | 1508 | |
1476 | 1509 | // worker.postMessage({ |
1477 | 1510 | // 'cmd': 'abc', |
1478 | 1511 | // 'value': termNumber |
1479 | 1512 | // }); |
1480 | 1513 | // } |
1481 | - | |
1514 | + // }; | |
1515 | + // //Match Term No List in each bodyRegion | |
1516 | + // //$scope.getLocationsForMatchedTermsInWholeBody(termNumber); | |
1482 | 1517 | // } |
1483 | 1518 | |
1519 | + // } | |
1520 | + | |
1484 | 1521 | // worker.onmessage = function (e) { |
1485 | 1522 | // var msg = e.data.msg1; |
1486 | 1523 | // }; |
... | ... | @@ -1494,8 +1531,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1494 | 1531 | // for (var i = 0; i < TermList.length; i++) { |
1495 | 1532 | |
1496 | 1533 | // var termNumber = parseInt(TermList[i]._TermNumber); |
1497 | - | |
1534 | + | |
1498 | 1535 | // var worker = new Worker('term-number-wp.js'); |
1536 | + { | |
1537 | + console.log('Start time taken in fillMatchedTerm: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1499 | 1538 | |
1500 | 1539 | // //start the worker |
1501 | 1540 | // worker.postMessage({ |
... | ... | @@ -1513,14 +1552,14 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1513 | 1552 | // //$scope.getLocationsForMatchedTermsInWholeBody(termNumber); |
1514 | 1553 | // } |
1515 | 1554 | |
1516 | - | |
1555 | + | |
1517 | 1556 | // } |
1518 | 1557 | //} |
1519 | 1558 | |
1559 | + // var coloredImg = $scope.ColoredImageSRC[x].SRC; | |
1520 | 1560 | |
1521 | 1561 | |
1522 | - $scope.fillMatchedTerm = function (grayImageDataVar, BrId) | |
1523 | - { | |
1562 | + $scope.fillMatchedTerm = function (grayImageDataVar, BrId) { | |
1524 | 1563 | console.log('Start time taken in fillMatchedTerm: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); |
1525 | 1564 | |
1526 | 1565 | //for (var x = 0; x < $scope.ColoredImageSRC.length; x++) { |
... | ... | @@ -1532,7 +1571,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1532 | 1571 | // var scaledWidth = $scope.ColoredImageSRC[x].Width; |
1533 | 1572 | // var scaledHeight = $scope.ColoredImageSRC[x].Height; |
1534 | 1573 | // //var maskImg = $scope.ColoredImageSRC[x].SRC; |
1574 | + // // maskCanvasID = 'imageCanvas' + bodyRegionId + '_MR_mci'; | |
1575 | + // //} | |
1576 | + // //else { | |
1577 | + // // maskCanvasID = 'imageCanvas' + bodyRegionId + '_mci'; | |
1535 | 1578 | |
1579 | + // //var maskCanvasContext = maskCanvas.getContext("2d"); | |
1580 | + // //var maskImgData = maskCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
1536 | 1581 | |
1537 | 1582 | // var coloredImg = $scope.ColoredImageSRC[x].SRC; |
1538 | 1583 | |
... | ... | @@ -1542,6 +1587,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1542 | 1587 | // var scledX = $scope.ColoredImageSRC[x].x; |
1543 | 1588 | // var scledY = $scope.ColoredImageSRC[x].y; |
1544 | 1589 | |
1590 | + // } | |
1591 | + // else { | |
1592 | + // coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(bodyRegionId - 1)]; | |
1593 | + // } | |
1594 | + // var grayImageDataVar; | |
1595 | + // var grayCanvas; | |
1596 | + // if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1545 | 1597 | |
1546 | 1598 | // // 1. get mask canvas for this body region. |
1547 | 1599 | // //var maskCanvasID; |
... | ... | @@ -1555,8 +1607,12 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1555 | 1607 | // //var maskCanvas = document.getElementById(maskCanvasID); |
1556 | 1608 | // //var maskCanvasContext = maskCanvas.getContext("2d"); |
1557 | 1609 | // //var maskImgData = maskCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); |
1610 | + // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
1611 | + // grayImageDataVar = grayImageData.data; | |
1612 | + // } | |
1558 | 1613 | |
1559 | 1614 | // // 2. get coloured canvas for this body region. |
1615 | + // var coloredImageDataMR | |
1560 | 1616 | |
1561 | 1617 | |
1562 | 1618 | // var coloredImageDataVar; |
... | ... | @@ -1604,7 +1660,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1604 | 1660 | // for (var z = 0; z < dataForthisBR.length; z++) |
1605 | 1661 | // { |
1606 | 1662 | // var location = parseInt(dataForthisBR[z].location); |
1607 | - | |
1663 | + | |
1608 | 1664 | |
1609 | 1665 | // var RED_coloredImage = coloredImageDataVar[location]; |
1610 | 1666 | |
... | ... | @@ -1622,29 +1678,27 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1622 | 1678 | // grayImageDataVar[location + 3] = ALPHA_coloredImage; |
1623 | 1679 | |
1624 | 1680 | // } |
1625 | - var grayCanvasID = 'imageCanvas' + BrId; | |
1626 | - var grayCanvas = document.getElementById(grayCanvasID); | |
1627 | - var grayCanvasContext = grayCanvas.getContext("2d"); | |
1681 | + var grayCanvasID = 'imageCanvas' + BrId; | |
1682 | + var grayCanvas = document.getElementById(grayCanvasID); | |
1683 | + var grayCanvasContext = grayCanvas.getContext("2d"); | |
1628 | 1684 | |
1629 | 1685 | |
1630 | - debugger; | |
1631 | - var garyDatalength = grayImageDataVar.length; | |
1632 | - var pixelData = new Uint8ClampedArray(garyDatalength); | |
1633 | - for (var i = 0; i < garyDatalength; i++) { | |
1634 | - pixelData[i] = grayImageDataVar[i]; | |
1686 | + var garyDatalength = grayImageDataVar.length; | |
1687 | + var pixelData = new Uint8ClampedArray(garyDatalength); | |
1688 | + for (var i = 0; i < garyDatalength; i++) { | |
1689 | + pixelData[i] = grayImageDataVar[i]; | |
1635 | 1690 | } |
1636 | - var imgDta = grayCanvasContext.getImageData(0, 0, 348, 507); | |
1637 | - imgDta.data.set | |
1638 | - grayCanvasContext.putImageData(imgDta, 0, 0); | |
1639 | - //} | |
1691 | + var imgDta = grayCanvasContext.getImageData(0, 0, 348, 507); | |
1692 | + imgDta.data.set | |
1693 | + grayCanvasContext.putImageData(imgDta, 0, 0); | |
1694 | + //} | |
1640 | 1695 | |
1641 | - // } | |
1696 | + // } | |
1642 | 1697 | |
1643 | 1698 | console.log('End time taken in fillMatchedTerm: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); |
1644 | 1699 | } |
1645 | 1700 | |
1646 | 1701 | $scope.GetRGBColor = function (maskCanvasContext, actulalX, actualY, x, y) { |
1647 | - debugger; | |
1648 | 1702 | var pixelData = maskCanvasContext.getImageData(Math.round(actulalX - x), Math.round(actualY - y), 1, 1); |
1649 | 1703 | |
1650 | 1704 | pixelData.data[0] = pixelData.data[0] - 9; |
... | ... | @@ -1847,15 +1901,15 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1847 | 1901 | $scope.DisableProgressBar = function () { |
1848 | 1902 | |
1849 | 1903 | // alert('Disabled wait cursor is called'); |
1850 | - | |
1851 | - | |
1904 | + | |
1905 | + | |
1852 | 1906 | if ($rootScope.isHighLight) { |
1853 | 1907 | //alert('isHighlight: ' + $scope.isHighLight); |
1854 | 1908 | |
1855 | 1909 | $('#btnHighLight').removeClass('btn btn-black'); |
1856 | 1910 | $('#btnHighLight').addClass('btn-primary'); |
1857 | 1911 | |
1858 | - $scope.highLightBody() ; | |
1912 | + $scope.highLightBody(); | |
1859 | 1913 | |
1860 | 1914 | |
1861 | 1915 | |
... | ... | @@ -1943,7 +1997,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1943 | 1997 | |
1944 | 1998 | $(".com").css("display", "none"); |
1945 | 1999 | $("#bord").css({ "width": "0px", "display": "none" }); |
1946 | - | |
2000 | + | |
1947 | 2001 | $('<div id="dot" style="position:absolute;height:15px;width:35px;display:none;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' |
1948 | 2002 | + '<div id="sppeachBubble" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;width:200px;position:absolute;color:#000;text-align:left;font-size:12px;background-color:#fff;font-weight:bold;"><span>' + text + '</span>' |
1949 | 2003 | + '<span style="position:absolute;right:-4px;top:-4px;color:#ffffff;cursor:pointer;">' |
... | ... | @@ -3011,7 +3065,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3011 | 3065 | $scope.getAnnotationForTransparencyBox = function (pixelData, pixelDataTrans, scope) { |
3012 | 3066 | |
3013 | 3067 | |
3014 | - | |
3068 | + | |
3015 | 3069 | pixelData.data[0] = pixelData.data[0] - 9; |
3016 | 3070 | pixelData.data[1] = pixelData.data[1] - 9; |
3017 | 3071 | pixelData.data[2] = pixelData.data[2] - 9; |
... | ... | @@ -3327,20 +3381,20 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3327 | 3381 | |
3328 | 3382 | $scope.enableHighlight = function () { |
3329 | 3383 | |
3330 | - if ($rootScope.isHighLight == true) | |
3384 | + if ($rootScope.isHighLight == true) { | |
3331 | 3385 | { |
3332 | 3386 | |
3333 | 3387 | } |
3334 | - else | |
3335 | - { | |
3388 | + else { | |
3389 | + $rootScope.isHighLight = true; | |
3336 | 3390 | $rootScope.isHighLight = true; |
3337 | - $scope.highLightBody(); | |
3391 | + $scope.highLightBody(); | |
3338 | 3392 | } |
3339 | 3393 | |
3340 | 3394 | |
3341 | 3395 | } |
3342 | 3396 | |
3343 | - | |
3397 | + | |
3344 | 3398 | $scope.highLightBody = function () { |
3345 | 3399 | |
3346 | 3400 | |
... | ... | @@ -3445,7 +3499,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3445 | 3499 | } |
3446 | 3500 | } |
3447 | 3501 | |
3448 | - | |
3502 | + | |
3449 | 3503 | |
3450 | 3504 | $scope.applyGrayMatrix = function (img, context_gray) { |
3451 | 3505 | var DAData = new BitmapData(img.width, img.height); |
... | ... | @@ -3713,7 +3767,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3713 | 3767 | function OnPaintCanvasMouseMove(event) { |
3714 | 3768 | |
3715 | 3769 | if ($rootScope.isDrawingToolSelected == true) { |
3716 | - // console.log('moving'); | |
3770 | + // console.log('moving'); | |
3717 | 3771 | //var mousePos = $scope.getMousePos(event); |
3718 | 3772 | //var canvasDiv = document.getElementById('canvasDiv'); |
3719 | 3773 | //var verticalScrollPosition = canvasDiv.scrollTop; |
... | ... | @@ -3781,9 +3835,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3781 | 3835 | .from($rootScope.BodySystemData.BodySystem.BodySystemTerm) |
3782 | 3836 | .where('_SystemNumber == ' + event.currentTarget.id) |
3783 | 3837 | .select(); |
3784 | - | |
3838 | + | |
3785 | 3839 | //color the body gray |
3786 | - $rootScope.isHighLight =true | |
3840 | + $rootScope.isHighLight = true | |
3787 | 3841 | $scope.highLightBody(); |
3788 | 3842 | //now highlight the selected body system in whole body |
3789 | 3843 | ... | ... |
400-SOURCECODE/AIAHTML5.Web/match-pixel-wp.js
1 | -๏ปฟ | |
2 | -function getLocationsForMatchedTermsInWholeBody(msg) | |
1 | +๏ปฟpreviousGrayImageDataList = []; | |
2 | + | |
3 | +function updateGrayCanvasDataOnMatcghedLocation(termList, maskCanvasData, coloreImageData, | |
4 | + grayImageData, grayImageMRDataList, bodyRegionId) | |
3 | 5 | { |
4 | - debugger; | |
6 | + console.log('updateGrayCanvasDataOnMatcghedLocation= ' + bodyRegionId) | |
7 | + | |
8 | + | |
9 | + var n = maskCanvasData.data.length; | |
10 | + var maskData = maskCanvasData.data; | |
11 | + for (var z = 0; z < termList.length; z++) { | |
12 | + | |
13 | + if (previousGrayImageDataList[parseInt(bodyRegionId - 1)] != null) { | |
14 | + grayImageData = previousGrayImageDataList[parseInt(bodyRegionId - 1)]; | |
15 | + | |
16 | + } | |
17 | + var grayImageDataVar = grayImageData.data; | |
18 | + var coloredImageDataVar = coloreImageData.data; | |
19 | + | |
20 | + for (var i = 0; i < n; i += 4) { | |
21 | + | |
22 | + | |
23 | + var RED = maskData[i] - 9; | |
24 | + var GREEN = maskData[i + 1] - 9; | |
25 | + var BLUE = maskData[i + 2] - 9; | |
26 | + | |
27 | + var Red; | |
28 | + var Green; | |
29 | + var Blue; | |
30 | + var zero = "0"; | |
31 | + | |
32 | + if ((RED).toString().length != 2) { | |
33 | + Red = zero.concat((RED).toString()) | |
34 | + } | |
35 | + else { | |
36 | + Red = (RED).toString() | |
37 | + } | |
38 | + if ((GREEN).toString().length != 2) { | |
39 | + Green = zero.concat((GREEN).toString()) | |
40 | + } | |
41 | + else { | |
42 | + Green = (GREEN).toString() | |
43 | + | |
44 | + } | |
45 | + if ((BLUE).toString().length != 2) { | |
46 | + Blue = zero.concat((BLUE).toString()) | |
47 | + } | |
48 | + else { | |
49 | + Blue = (BLUE).toString() | |
50 | + | |
51 | + } | |
52 | + | |
53 | + var Icolor = (Red + Green + Blue); | |
54 | + // alert('Icolor: ' + Icolor) | |
55 | + | |
56 | + if (parseInt(termList[z]._TermNumber) == parseInt(Icolor)) { | |
57 | + | |
58 | + | |
59 | + | |
60 | + | |
61 | + // matchedRGBLocationInBodyRegion.push({ "BRId": bodyRegionId, "location": i }); | |
62 | + | |
63 | + | |
64 | + // matched = true; | |
5 | 65 | |
6 | - self.postMessage({ 'value': msg }); | |
66 | + var RED_coloredImage = coloredImageDataVar[i]; | |
67 | + | |
68 | + grayImageDataVar[i] = RED_coloredImage; | |
69 | + | |
70 | + | |
71 | + var GREEN_coloredImage = coloredImageDataVar[i + 1]; | |
72 | + grayImageDataVar[i + 1] = GREEN_coloredImage; | |
73 | + | |
74 | + var BLUE_coloredImage = coloredImageDataVar[i + 2]; | |
75 | + grayImageDataVar[i + 2] = BLUE_coloredImage; | |
76 | + | |
77 | + | |
78 | + var ALPHA_coloredImage = coloredImageDataVar[i + 3]; | |
79 | + grayImageDataVar[i + 3] = ALPHA_coloredImage; | |
80 | + | |
81 | + } | |
82 | + | |
83 | + | |
84 | + } | |
85 | + | |
86 | + previousGrayImageDataList[parseInt(bodyRegionId - 1)] = grayImageData; | |
87 | + | |
88 | + // if (matched == true) { | |
89 | + self.postMessage({ | |
90 | + 'bodyRegionId': bodyRegionId, | |
91 | + 'value': grayImageData, | |
92 | + | |
93 | + | |
94 | + }); | |
95 | + // } | |
7 | 96 | |
8 | 97 | } |
98 | + | |
99 | +} | |
9 | 100 | |
10 | 101 | self.onmessage = function (e) { |
11 | - getLocationsForMatchedTermsInWholeBody(e.data.candata); | |
12 | -} | |
13 | 102 | \ No newline at end of file |
103 | + console.log('shd') | |
104 | + updateGrayCanvasDataOnMatcghedLocation(e.data.termList, e.data.maskCanvasData, e.data.coloreImageData, | |
105 | + e.data.grayImageData, e.data.grayImageMRDataList, e.data.bodyRegionId); | |
106 | + | |
107 | +} | |
108 | + | ... | ... |
400-SOURCECODE/AIAHTML5.Web/term-number-wp.js
1 | -๏ปฟfunction abc(msg) { | |
2 | - | |
3 | - | |
4 | - var msg1 = msg; | |
5 | - | |
6 | - self.postMessage({ | |
7 | - 'cmd': 'getLocationForMatchedTermsInWholeBody', | |
8 | - 'value': msg1 | |
9 | - }); | |
10 | - | |
11 | - | |
12 | -} | |
13 | - | |
14 | -getLocationForMatchedTermsInWholeBody = function (termNo, maskCanvasData, coloredImageCanvasList, coloredImageMRCanvasList, grayImageDataList, grayImageMRDataList) | |
15 | -{ | |
1 | +๏ปฟvar UpdatedGrayImageDataList = []; | |
2 | +var doneBRID = []; | |
3 | +var abc = 'hello'; | |
16 | 4 | |
5 | +getLocationForMatchedTermsInWholeBody = function (termList, maskCanvasData, coloredImageCanvasList, coloredImageMRCanvasList, grayImageDataList, grayImageMRDataList) { | |
6 | + // console.log('for termNumer: ' + termNo + ', time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")) | |
17 | 7 | var matchedRGBLocationInBodyRegion = []; |
18 | - for (var x = 0; x < maskCanvasData.length; x++) { | |
8 | + var matched; | |
9 | + | |
10 | + for (var x = 0; x < maskCanvasData.length; x++) | |
11 | + { | |
12 | + | |
13 | + matched = false; | |
19 | 14 | // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId); |
20 | 15 | var bodyRegionId = maskCanvasData[x].bodyRegionId; |
21 | 16 | var canvasId = maskCanvasData[x].canvasId; |
22 | 17 | var maskData = maskCanvasData[x].maskData; |
23 | 18 | |
24 | - var coloredImageDataVar = coloredImageCanvasList[bodyRegionId -1]; | |
25 | - var grayImageDataVar = grayImageDataList[bodyRegionId-1]; | |
26 | - | |
27 | - | |
28 | - // { | |
29 | - //var scaledWidth = $scope.ColoredImageSRC[x].Width; | |
30 | - //var scaledHeight = $scope.ColoredImageSRC[x].Height; | |
31 | - ////var maskImg = $scope.ColoredImageSRC[x].SRC; | |
32 | - | |
33 | - | |
34 | - //var coloredImg = $scope.ColoredImageSRC[x].SRC; | |
35 | - | |
36 | - //var maskImg = $scope.GetMaskImageSource(coloredImg); | |
37 | - | |
38 | - | |
39 | - //var scledX = $scope.ColoredImageSRC[x].x; | |
40 | - //var scledY = $scope.ColoredImageSRC[x].y; | |
41 | - | |
42 | - | |
43 | - //// 1. get mask canvas for this body region. | |
44 | - //var maskCanvasID; | |
45 | - //if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
46 | - // maskCanvasID = 'imageCanvas' + bodyRegionId + '_MR_mci'; | |
47 | - //} | |
48 | - //else { | |
49 | - // maskCanvasID = 'imageCanvas' + bodyRegionId + '_mci'; | |
50 | - | |
51 | - //} | |
52 | - //var maskCanvas = document.getElementById(maskCanvasID); | |
53 | - //var maskCanvasContext = maskCanvas.getContext("2d"); | |
54 | - //var maskImgData = maskCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
55 | - | |
56 | - //// 2. get coloured canvas for this body region. | |
57 | - | |
58 | - | |
59 | - //var coloredImageDataVar; | |
60 | - //var coloredImageDataMRVar | |
61 | - | |
62 | - //if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
63 | - | |
64 | - // coloredImageDataVar = $rootScope.coloredImageMRCanvasList[parseInt(bodyRegionId)]; | |
65 | - //} | |
66 | - //else { | |
67 | - // coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(bodyRegionId - 1)]; | |
68 | - //} | |
69 | - | |
70 | - //var grayImageDataVar; | |
71 | - //var grayCanvas; | |
72 | - //if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
73 | - | |
74 | - // //// 3. get mask canvas for this body region._MR | |
75 | - // var grayCanvasID = 'imageCanvas' + bodyRegionId + '_MR'; | |
76 | - // grayCanvas = document.getElementById(grayCanvasID); | |
77 | - // var grayCanvasContext = grayCanvas.getContext("2d"); | |
78 | - // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
79 | - // grayImageDataVar = grayImageData.data; | |
80 | - //} | |
81 | - | |
82 | - //else { | |
83 | - // var grayCanvasID = 'imageCanvas' + bodyRegionId; | |
84 | - // grayCanvas = document.getElementById(grayCanvasID); | |
85 | - // var grayCanvasContext = grayCanvas.getContext("2d"); | |
86 | - // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
87 | - // grayImageDataVar = grayImageData.data; | |
88 | - //} | |
89 | - | |
90 | - //var coloredImageDataVarMR; | |
91 | - //var coloredImageDataMR | |
92 | - | |
93 | - | |
94 | - var counter = 0; | |
95 | - | |
96 | - var imageDataVar = maskData.data; | |
97 | - | |
98 | - // var previousBRID; | |
99 | - | |
100 | - var counter = 0; | |
101 | - | |
102 | - | |
103 | - var n = maskData.data.length; | |
104 | - | |
105 | - for (var i = 0; i < n; i += 4) { | |
106 | - | |
107 | - | |
108 | - var RED = imageDataVar[i] - 9; | |
109 | - var GREEN = imageDataVar[i + 1] - 9; | |
110 | - var BLUE = imageDataVar[i + 2] - 9; | |
19 | + var coloredImageDataVar= coloredImageCanvasList[bodyRegionId - 1]; | |
20 | + var grayImageDataVar = grayImageDataList[bodyRegionId - 1]; | |
21 | + | |
22 | + //var coloredImageDataVar = coloredImageDataVar1.data; | |
23 | + //var grayImageDataVar = grayImageDataVar1.data; | |
111 | 24 | |
112 | - var Red; | |
113 | - var Green; | |
114 | - var Blue; | |
115 | - var zero = "0"; | |
25 | + var counter = 0; | |
116 | 26 | |
117 | - if ((RED).toString().length != 2) { | |
118 | - Red = zero.concat((RED).toString()) | |
119 | - } | |
120 | - else { | |
121 | - Red = (RED).toString() | |
122 | - } | |
123 | - if ((GREEN).toString().length != 2) { | |
124 | - Green = zero.concat((GREEN).toString()) | |
125 | - } | |
126 | - else { | |
127 | - Green = (GREEN).toString() | |
27 | + var imageDataVar = maskData.data; | |
128 | 28 | |
129 | - } | |
130 | - if ((BLUE).toString().length != 2) { | |
131 | - Blue = zero.concat((BLUE).toString()) | |
132 | - } | |
133 | - else { | |
134 | - Blue = (BLUE).toString() | |
29 | + var machLocationWP = new Worker('match-pixel-wp.js'); | |
30 | + | |
135 | 31 | |
136 | - } | |
32 | + machLocationWP.postMessage({ | |
137 | 33 | |
138 | - var Icolor = (Red + Green + Blue); | |
139 | - // alert('Icolor: ' + Icolor) | |
34 | + 'termList': termList, | |
35 | + 'maskCanvasData': maskData, | |
36 | + 'coloreImageData': coloredImageDataVar, | |
37 | + 'grayImageData': grayImageDataVar, | |
38 | + 'grayImageMRDataList': grayImageMRDataList, | |
39 | + 'bodyRegionId': bodyRegionId | |
140 | 40 | |
141 | - if (parseInt(termNo) == parseInt(Icolor)) { | |
142 | - | |
143 | - counter++; | |
144 | - | |
145 | - //var obj = new Object(); | |
146 | - //obj.bodyRegionId = bodyRegionId; | |
147 | - //obj.location = i; | |
148 | - | |
149 | - matchedRGBLocationInBodyRegion.push({ "BRId": bodyRegionId, "location": i }); | |
150 | - | |
151 | - | |
152 | - | |
153 | - | |
154 | - var RED_coloredImage = coloredImageDataVar[i]; | |
155 | - | |
156 | - grayImageDataVar[i] = RED_coloredImage; | |
157 | - | |
158 | - | |
159 | - var GREEN_coloredImage = coloredImageDataVar[i + 1]; | |
160 | - grayImageDataVar[i + 1] = GREEN_coloredImage; | |
161 | - | |
162 | - var BLUE_coloredImage = coloredImageDataVar[i + 2]; | |
163 | - grayImageDataVar[i + 2] = BLUE_coloredImage; | |
164 | - | |
165 | - | |
166 | - var ALPHA_coloredImage = coloredImageDataVar[i + 3]; | |
167 | - grayImageDataVar[i + 3] = ALPHA_coloredImage; | |
168 | - | |
169 | - | |
170 | - | |
171 | - | |
172 | - | |
173 | - | |
174 | - //// var have = machedIcolorInBodyRegion.indexOf(bodyRegionId); | |
175 | - | |
176 | - | |
177 | - // //if (have == -1) { | |
178 | - // // // machedIcolorInBodyRegion.push(bodyRegionId); | |
179 | - // //} | |
180 | - // //else { | |
181 | - | |
182 | - // //} | |
183 | - | |
184 | - | |
185 | - // //previousGrayColoredData = i; | |
186 | - // //if (coloredImageDataVar != null) { | |
187 | - | |
188 | - | |
189 | - // // var RED_coloredImage = coloredImageDataVar[i]; | |
190 | - | |
191 | - // // // grayImageDataVar[i] = RED_coloredImage; | |
192 | - | |
193 | - | |
194 | - // // var GREEN_coloredImage = coloredImageDataVar[i + 1]; | |
195 | - // // /// grayImageDataVar[i + 1] = GREEN_coloredImage; | |
196 | - | |
197 | - // // var BLUE_coloredImage = coloredImageDataVar[i + 2]; | |
198 | - // // //grayImageDataVar[i + 2] = BLUE_coloredImage; | |
41 | + }); | |
199 | 42 | |
43 | + machLocationWP.onmessage = function (e) { | |
44 | + console.log('callback: ' + e.data.value+', x='+x); | |
45 | + | |
46 | + //var upadteddata = e.data.value; | |
47 | + //var bodyRegionId = e.data.bodyRegionId; | |
200 | 48 | |
201 | - // // var ALPHA_coloredImage = coloredImageDataVar[i + 3]; | |
202 | - // // // grayImageDataVar[i + 3] = ALPHA_coloredImage; | |
49 | + //var grayCanvasID = 'imageCanvas' + bodyRegionId; | |
50 | + //var grayCanvas = document.getElementById(grayCanvasID); | |
51 | + //var grayCanvasContext = grayCanvas.getContext("2d"); | |
203 | 52 | |
204 | 53 | |
205 | - // //} | |
54 | + | |
55 | + //grayCanvasContext.putImageData(upadteddata, 0, 0); | |
56 | + doneBRID.push(e.data.bodyRegionId); | |
57 | + UpdatedGrayImageDataList[e.data.bodyRegionId] = e.data.value | |
58 | + | |
59 | + console.log('UpdatedGrayImageDataList: '+ UpdatedGrayImageDataList); | |
206 | 60 | |
207 | - } | |
208 | - | |
61 | + console.log('doneBRID: ' + doneBRID.length); | |
209 | 62 | |
210 | - // grayCanvasContext.putImageData(grayImageData, 0, 0); | |
63 | + if (doneBRID.length==9) { | |
64 | + console.log('before sending UpdatedGrayImageDataList= ' + UpdatedGrayImageDataList) | |
65 | + self.postMessage({ | |
66 | + 'value': UpdatedGrayImageDataList, | |
67 | + 'name': 'Happy' | |
68 | + }) | |
211 | 69 | } |
212 | - self.postMessage({ | |
213 | - | |
214 | - 'value': grayImageDataVar | |
215 | - }); | |
216 | 70 | |
217 | - // grayCanvasContext.putImageData(grayImageData, 0, 0); | |
218 | - //} | |
71 | + }; | |
72 | + machLocationWP.onerror = function (e) { | |
73 | + console.log('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message); | |
74 | + }; | |
219 | 75 | |
220 | - | |
76 | + | |
221 | 77 | } |
222 | 78 | |
223 | 79 | |
... | ... | @@ -226,25 +82,9 @@ getLocationForMatchedTermsInWholeBody = function (termNo, maskCanvasData, colore |
226 | 82 | } |
227 | 83 | |
228 | 84 | self.onmessage = function (e) { |
229 | - getLocationForMatchedTermsInWholeBody(e.data.termNumber, e.data.maskCanvasData,e.data.coloredImageCanvasList, | |
230 | - e.data.coloredImageMRCanvasList,e.data.grayImageDataList,e.data.grayImageMRDataList); | |
85 | + getLocationForMatchedTermsInWholeBody(e.data.termList, e.data.maskCanvasData, e.data.coloredImageCanvasList, | |
86 | + e.data.coloredImageMRCanvasList, e.data.grayImageDataList, e.data.grayImageMRDataList); | |
231 | 87 | |
232 | 88 | } |
233 | 89 | |
234 | -function launchMatchPixelWorkerProcess() { | |
235 | - | |
236 | - var worker = new Worker('match-pixel-wp.js'); | |
237 | - | |
238 | - worker.onmessage = function (e) { | |
239 | - var pixelLocation = e.data.msg; | |
240 | - | |
241 | - self.postMessage({ 'msg': pixelLocation }); | |
242 | - }; | |
243 | - worker.onerror = function (e) { | |
244 | - alert('Error: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message); | |
245 | - }; | |
246 | - | |
247 | - | |
248 | - | |
249 | -} | |
250 | 90 | ... | ... |