First pages commit

This commit is contained in:
Rafat Hussain
2015-09-21 17:49:35 +05:30
commit 4645c9b8b9
23 changed files with 87021 additions and 0 deletions

28
js/app.js Normal file
View File

@@ -0,0 +1,28 @@
/*
* Please see the included README.md file for license terms and conditions.
*/
// This file is a suggested starting place for your code.
// It is completely optional and not required.
// Note the reference that includes it in the index.html file.
/*jslint browser:true, devel:true, white:true, vars:true */
/*global $:false, intel:false app:false, dev:false, cordova:false */
// This file contains your event handlers, the center of your application.
// NOTE: see app.initEvents() in init-app.js for event handler initialization code.
// function myEventHandler() {
// "use strict" ;
// // ...event handler code here...
// }
// ...additional event handlers here...
var wave = {};

12127
js/dygraph-combined-dev.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++
/*!
* Copyright 2014 Twitter, Inc.
*
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
(function () {
'use strict';
function emulatedIEMajorVersion() {
var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
if (groups === null) {
return null
}
var ieVersionNum = parseInt(groups[1], 10)
var ieMajorVersion = Math.floor(ieVersionNum)
return ieMajorVersion
}
function actualNonEmulatedIEMajorVersion() {
// Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
// IE JavaScript conditional compilation docs: http://msdn.microsoft.com/en-us/library/ie/121hztk3(v=vs.94).aspx
// @cc_on docs: http://msdn.microsoft.com/en-us/library/ie/8ka90k2e(v=vs.94).aspx
var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line
if (jscriptVersion === undefined) {
return 11 // IE11+ not in emulation mode
}
if (jscriptVersion < 9) {
return 8 // IE8 (or lower; haven't tested on IE<8)
}
return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
}
var ua = window.navigator.userAgent
if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
return // Opera, which might pretend to be IE
}
var emulated = emulatedIEMajorVersion()
if (emulated === null) {
return // Not IE
}
var nonEmulated = actualNonEmulatedIEMajorVersion()
if (emulated !== nonEmulated) {
window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
}
})();

View File

@@ -0,0 +1,22 @@
/*!
* IE10 viewport hack for Surface/desktop Windows 8 bug
* Copyright 2014 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
// See the Getting Started docs for more information:
// http://getbootstrap.com/getting-started/#support-ie10-width
(function () {
'use strict';
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
msViewportStyle.appendChild(
document.createTextNode(
'@-ms-viewport{width:auto!important}'
)
)
document.querySelector('head').appendChild(msViewportStyle)
}
})();

95
js/index_user_scripts.js Normal file
View File

@@ -0,0 +1,95 @@
(function()
{
"use strict";
/*
hook up event handlers
*/
function register_event_handlers()
{
/* button .uib_w_2 */
$(document).on("click", ".uib_w_2", function(evt)
{
var x = $("#inp1").val().split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
wave.sigLength = x.length;
var i;
for(i = 0;i < x.length;i++) {
wave.sigData[i] = parseFloat(x[i]);
}
alert(wave.sigData[2]);
displayPage();
});
/* button .uib_w_4 */
$(document).on("click", ".uib_w_4", function(evt)
{
var fileinput = document.getElementById('finp1');
var finp1 = fileinput.files[0];
var reader = new FileReader();
reader.onload = function(e) {
var x = reader.result.split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
wave.sigLength = x.length;
var i;
for(i = 0;i < x.length;i++) {
wave.sigData[i] = parseFloat(x[i]);
}
alert(wave.sigData[0]);
displayPage();
}
reader.readAsText(finp1);
});
}
document.addEventListener("app.Ready", register_event_handlers, false);
})();
$(document).ready(function(){
$('#testsig1').change(function(){
var value = $(this).val();
var urlx = null;
if (value == "ECG") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/ecg.txt";
} else if (value == "Heavisine") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/heavisine.txt";
} else if (value == "Piecewise Regular 256") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/pieceregular.txt";
} else if (value == "Piecewise Regular 2048") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/pieceregular2048.txt";
} else if (value == "Piecewise Polynomial") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/piecepoly.txt";
} else if (value == "Noisy Bumps") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/noisybumps.txt";
} else if (value == "Noisy Heavisine") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/noisyheavisine.txt";
} else {
alert("Please Select A Signal To Proceed.");
}
console.log(urlx);
$.ajax({
type: "GET",
url: urlx,
success: function(data) {
var x = data.split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
wave.sigLength = x.length;
var i;
for(i = 0;i < x.length;i++) {
wave.sigData[i] = parseFloat(x[i]);
}
console.log(wave.sigLength);
alert(wave.sigData[0]);
displayPage();
},
error: function() {
alert("Signal cannot be loaded. Please try again.")
}
});
});
});

430
js/ngfile.js Normal file
View File

@@ -0,0 +1,430 @@
var app = angular.module('ngmain', ['ngRoute']);
app.config(function($routeProvider){
$routeProvider
//the timeline display
.when('/', {
templateUrl: 'front.html',
controller: 'mainController'
})
.when('/display', {
templateUrl: 'display.html',
controller: 'displayController'
})
.when('/about', {
templateUrl: 'about.html',
controller: 'mainController'
})
.when('/demos', {
templateUrl: 'demos.html',
controller: 'mainController'
})
});
app.factory('wave', function () {
var wave = {};
return wave;
});
/*
app.directive("fileread", [function () {
return {
scope: {
fileread: "="
},
link: function (scope, element, attributes) {
element.bind("change", function (changeEvent) {
var reader = new FileReader();
reader.onload = function (loadEvent) {
scope.$apply(function () {
scope.fileread = loadEvent.target.result;
});
}
reader.readAsDataURL(changeEvent.target.files[0]);
});
}
}
}]);*/
app.controller('mainController', function ($scope, $http, wave) {
$scope.dataInput = function () {
var x = $scope.inp1.valueOf().split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
wave.sigLength = x.length;
//console.log(wave.sigLength);
var i;
for (i = 0; i < x.length; i++) {
wave.sigData[i] = parseFloat(x[i]);
}
//alert(wave.sigData[0]);
location.href = '#/display';
}
$scope.fileInput = function () {
var fileinput = document.getElementById('finp1');
var finp1 = fileinput.files[0];
var reader = new FileReader();
var temp = 3.14159;
reader.onload = function (e) {
var x = reader.result.split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
var i;
var j = 0;
for (i = 0; i < x.length; i++) {
temp = parseFloat(x[i]);
if (!isNaN(temp)) {
wave.sigData[j] = temp;
j = j + 1;
}
}
wave.sigLength = j;
location.href = '#/display';
}
reader.readAsText(finp1);
}
$scope.testInput = function () {
var value = $scope.tvalue;
var urlx = null;
var data;
var temp = 3.14159;
if (value == "ECG") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/ecg.txt";
} else if (value == "Heavisine") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/heavisine.txt";
} else if (value == "Piecewise Regular 256") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/pieceregular.txt";
} else if (value == "Piecewise Regular 2048") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/pieceregular2048.txt";
} else if (value == "Piecewise Polynomial") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/piecepoly.txt";
} else if (value == "Noisy Bumps") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/noisybumps.txt";
} else if (value == "Noisy Heavisine") {
urlx = "https://raw.githubusercontent.com/rafat/rafat.github.io/master/sites/wavelib/data/noisyheavisine.txt";
} else {
alert("Please Select A Signal To Proceed.");
}
$http({ method: 'GET', url: urlx }).
then(function (response) {
$scope.status = response.status;
data = response.data;
var x = data.split(/[\s,;\t\r\n]+/);
wave.sigData = new Float64Array(x.length);
var i;
var j = 0;
for (i = 0; i < x.length; i++) {
temp = parseFloat(x[i]);
if (!isNaN(temp)) {
wave.sigData[j] = temp;
j = j + 1;
}
}
wave.sigLength = j;
location.href = '#/display';
}, function (response) {
$scope.data = response.data || "Request failed";
$scope.status = response.status;
});
}
});
app.controller('siteController', function ($scope) {
});
app.controller('frontController', function ($scope) {
});
app.controller('displayController', function ($scope, $http, wave) {
//console.log(wave.sigLength);
var lbl = [];
$scope.MaxIter = 0;
$scope.selected = {};
$scope.wdisplays = [];
for (i = 0; i < wave.sigLength; ++i) {
lbl[i] = [i, wave.sigData[i]];
//console.log(lbl[i]);
}
g = new Dygraph(document.getElementById("graph1"),
lbl,
{
legend: 'always',
color: '#3399ff',
animatedZooms: true,
title: 'Input'
}
);
/*
$http.get('data/wavedb.json').success(function (data) {
$scope.wavedb = data;
});console
*/
$scope.wavedb = [
{
"id": "0",
"family": "haar",
"wavelets": [
{ "wavelet": "haar", "filtlength": "2" }
]
}, {
"id": "1",
"family": "daubechies",
"wavelets": [
{ "wavelet": "db1", "filtlength": "2" },
{ "wavelet": "db2", "filtlength": "4" },
{ "wavelet": "db3", "filtlength": "6" },
{ "wavelet": "db4", "filtlength": "8" },
{ "wavelet": "db5", "filtlength": "10" },
{ "wavelet": "db6", "filtlength": "12" },
{ "wavelet": "db7", "filtlength": "14" },
{ "wavelet": "db8", "filtlength": "16" },
{ "wavelet": "db9", "filtlength": "18" },
{ "wavelet": "db10", "filtlength": "20" },
{ "wavelet": "db11", "filtlength": "22" },
{ "wavelet": "db12", "filtlength": "24" },
{ "wavelet": "db13", "filtlength": "26" },
{ "wavelet": "db14", "filtlength": "28" },
{ "wavelet": "db15", "filtlength": "30" }
]
}, {
"id": "2",
"family": "biorthogonal",
"wavelets": [
{ "wavelet": "bior1.1", "filtlength": "2" },
{ "wavelet": "bior1.3", "filtlength": "6" },
{ "wavelet": "bior1.5", "filtlength": "10" },
{ "wavelet": "bior2.2", "filtlength": "6" },
{ "wavelet": "bior2.4", "filtlength": "10" },
{ "wavelet": "bior2.6", "filtlength": "14" },
{ "wavelet": "bior2.8", "filtlength": "18" },
{ "wavelet": "bior3.1", "filtlength": "4" },
{ "wavelet": "bior3.3", "filtlength": "8" },
{ "wavelet": "bior3.5", "filtlength": "12" },
{ "wavelet": "bior3.7", "filtlength": "16" },
{ "wavelet": "bior3.9", "filtlength": "20" },
{ "wavelet": "bior4.4", "filtlength": "10" },
{ "wavelet": "bior5.5", "filtlength": "12" },
{ "wavelet": "bior6.8", "filtlength": "18" }
]
}, {
"id": "3",
"family": "coiflets",
"wavelets": [
{ "wavelet": "coif1", "filtlength": "6" },
{ "wavelet": "coif2", "filtlength": "12" },
{ "wavelet": "coif3", "filtlength": "18" },
{ "wavelet": "coif4", "filtlength": "24" },
{ "wavelet": "coif5", "filtlength": "30" }
]
}, {
"id": "4",
"family": "symmlets",
"wavelets": [
{ "wavelet": "sym2", "filtlength": "4" },
{ "wavelet": "sym3", "filtlength": "6" },
{ "wavelet": "sym4", "filtlength": "8" },
{ "wavelet": "sym5", "filtlength": "10" },
{ "wavelet": "sym6", "filtlength": "12" },
{ "wavelet": "sym7", "filtlength": "14" },
{ "wavelet": "sym8", "filtlength": "16" },
{ "wavelet": "sym9", "filtlength": "18" },
{ "wavelet": "sym10", "filtlength": "20" }
]
}
];
$scope.methods = [
{
"id": "0",
"method": "DWT (Symmetric)"
}, {
"id": "1",
"method": "DWT (Periodic)"
}, {
"id": "2",
"method": "SWT"
}, {
"id": "3",
"method": "MODWT"
}
];
$scope.levels = [];
$scope.getMaxIter = function () {
var flength = $scope.selected.wavelet.filtlength;
var slength = wave.sigLength;
$scope.MaxIter = Math.floor(Math.log(slength / (flength - 1)) / Math.log(2.0));
$scope.levels = [];
for (var i = 0; i < $scope.MaxIter; i++) {
$scope.levels[i] = i + 1;
}
}
$scope.waveTest = function () {
var method;
var ext = "NULL";
if ($scope.selected.method.id == "0") {
method = "dwt";
ext = "sym";
} else if ($scope.selected.method.id == "1") {
method = "dwt";
ext = "per";
} else if ($scope.selected.method.id == "2") {
method = "swt";
} else if ($scope.selected.method.id == "3") {
method = "modwt";
}
console.log(method);
var N = wave.sigLength;
var flength = $scope.selected.wavelet.filtlength;
var J = $scope.selected.level;
wave.length = new Int32Array(J + 2);
wave.lenlength = J + 2;
wave.J = J;
//wave.output = [];
//wave.filters = [];
wave.wname = $scope.selected.wavelet.wavelet;
var outlength = Module.ccall('wtoutputlength', 'number', ['number', 'string', 'number', 'number', 'string'], [N, method, flength, J, ext]);
wave.outLength = outlength;
//console.log(wave.sigData, N, wave.wname, method, J, ext, wave.output, wave.length, wave.lenlength, wave.filters, flength);
//wave.filters = new Float64Array(4*filtlength);
var wave_transform = Module.cwrap('wave_transform', 'null', ['number', 'number', 'string', 'string', 'number', 'string', 'number', 'number', 'number']);
//[wave.sigData, N, wave.wname, method, J, ext, wave.output, wave.length, wave.lenlength, wave.filters, flength]);
//input signal on heap
var inpdata = wave.sigLength * wave.sigData.BYTES_PER_ELEMENT;
var inpPtr = Module._malloc(inpdata);
var inpHeap = new Uint8Array(Module.HEAPU8.buffer, inpPtr, inpdata);
inpHeap.set(new Uint8Array(wave.sigData.buffer));
//output on heap
var outdata = outlength * wave.sigData.BYTES_PER_ELEMENT;
var outPtr = Module._malloc(outdata);
var outHeap = new Uint8Array(Module.HEAPU8.buffer, outPtr, outdata);
//inpHeap.set(new Uint8Array(wave.sigData.buffer));
//filters
var filtdata = 4 * flength * wave.sigData.BYTES_PER_ELEMENT;
var filtPtr = Module._malloc(filtdata);
var filtHeap = new Uint8Array(Module.HEAPU8.buffer, filtPtr, filtdata);
//inpHeap.set(new Uint8Array(wave.sigData.buffer));
//length vector
var lendata = (J + 2) * wave.length.BYTES_PER_ELEMENT;
var lenPtr = Module._malloc(lendata);
var lenHeap = new Uint8Array(Module.HEAPU8.buffer, lenPtr, lendata);
lenHeap.set(new Uint8Array(wave.length.buffer));
wave_transform(inpHeap.byteOffset, N, wave.wname, method, J, ext, outHeap.byteOffset, lenHeap.byteOffset, filtHeap.byteOffset);
wave.output = new Float64Array(outHeap.buffer, outHeap.byteOffset, outlength);
wave.filter = new Float64Array(filtHeap.buffer, filtHeap.byteOffset, 4 * length);
wave.length = new Int32Array(lenHeap.buffer, lenHeap.byteOffset, J + 2);
console.log(wave.length);
Module._free(inpHeap.byteOffset);
Module._free(outHeap.byteOffset);
Module._free(filtHeap.byteOffset);
Module._free(lenHeap.byteOffset);
$scope.wdisplays = new Array(J + 3);
$scope.wdisplays[0] = "Input Signal";
$scope.wdisplays[1] = "Full Decomposition";
$scope.wdisplays[2] = "Approx at Level " + J;
for (var i = 3; i < J + 3; i++) {
$scope.wdisplays[i] = "Details at Level " + (J + 3 - i);
}
var lbl = [];
for (var i = 0; i < wave.outLength; ++i) {
lbl[i] = [i, wave.output[i]];
}
g = new Dygraph(document.getElementById("graph1"),
lbl,
{
legend: 'always',
color: '#3399ff',
animatedZooms: true,
title: 'Input'
}
);
}
$scope.updateGraph = function () {
console.log($scope.selected.wdisplay);
var lbl = [];
if ($scope.selected.wdisplay == 0) {
for (var i = 0; i < wave.sigLength; ++i) {
lbl[i] = [i, wave.sigData[i]];
}
} else if ($scope.selected.wdisplay == 1) {
for (var i = 0; i < wave.outLength; ++i) {
lbl[i] = [i, wave.output[i]];
}
} else if ($scope.selected.wdisplay == 2) {
for (var i = 0; i < wave.length[0]; ++i) {
lbl[i] = [i, wave.output[i]];
}
} else {
var k = parseInt($scope.selected.wdisplay) - 2;
var start_index = 0;
for (var i = 0; i < k; i++) {
start_index += wave.length[i];
}
var end_index = start_index + wave.length[k];
for (var i = 0; i < end_index - start_index; ++i) {
lbl[i] = [i, wave.output[start_index + i]];
}
}
g = new Dygraph(document.getElementById("graph1"),
lbl,
{
legend: 'always',
color: '#3399ff',
animatedZooms: true,
title: 'Input'
}
);
}
});

30708
js/wavebak.js Normal file

File diff suppressed because one or more lines are too long

31106
js/wavelet.js Normal file

File diff suppressed because one or more lines are too long

296
js/wavewrapper.js Normal file
View File

@@ -0,0 +1,296 @@
var flength = function (str) {
filtlength = Module.cwrap('filtlength', 'number', ['string']);
return filtlength(str);
};
function zeroArray(length) {
var array = [];
for (var i = 0; i < length; i++) {
array[i] = 0;
}
return array;
}
function sigdata() {
var sigdata = [ -18.3237,-18.2232,-18.0974,-17.9410,-17.7480,-17.5113,-17.2230,-16.8744,-16.4558,-15.9565,-15.3653,-14.6701,-13.8586,-12.9182,
-11.8363,-10.6008,-9.2006,-7.6257,-5.8680,-3.9217,-1.7839,0.5452,3.0614,5.7562,8.6167,11.6252,14.7591,17.9909,21.2884,24.6155,27.9319,
31.1947,34.3587,37.3775,40.2049,42.7957,13.2164,14.2125,15.0317,15.6595,16.0845,16.2990,16.2990,16.0845,15.6595,15.0317,14.2125,13.2164,
12.0608,10.7654,9.3517,34.3587,31.1947,27.9319,24.6155,21.2884,17.9909,14.7591,11.6252,8.6167,5.7562,3.0614,0.5452,-1.7839,-3.9217,-5.8680,
-7.6257,-9.2006,-10.6008,-11.8363,-12.9182,-13.8586,-14.6701,-15.3653,-15.9565,-16.4558,-16.8744,-17.2230,-17.5113,-17.7480,-17.9410,-18.0974,
-18.2232,-18.3237,-18.4035,-18.0080,-17.8889,-17.7403,-17.5533,-17.3156,-17.0102,-16.6129,-16.0884,-15.3848,-14.4239,-13.0840,-11.1708,-8.3634,
-4.1098,2.5833,13.6048,32.7934,28.0187,10.9660,1.0776,-4.9459,-8.7354,-11.1225,-12.4865,-12.8019,-11.2050,-3.3124,1.8995,-11.3573,-15.0684,
-16.5028,-17.1937,-17.5831,-17.8288,-17.9968,-18.1185,-18.2103,-18.2818,-18.3388,-18.3849,-18.4229,-18.4545,-18.4810,-17.4642,-17.2104,-16.9033,
-16.5317,-16.0822,-15.5384,-14.8804,-14.0844,-13.1214,-11.9563,-10.5467,-8.8414,-6.7782,-4.2822,-1.2624,2.3911,6.8111,12.1585,18.6280,26.4549,
35.9241,35.9241,26.4549,18.6280,12.1585,6.8111,2.3911,-1.2624,-4.2822,-6.7782,-8.8414,-10.5467,-11.9563,-13.1214,-14.0844,-14.8804,-15.5384,
-16.0822,-16.5317,-16.9033,-17.2104,-17.4642,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,
-18.6741,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,6.3259,
6.3259,6.3259,6.3259,6.3259,6.3259,34.8066,34.6752,34.5285,34.3645,34.1812,33.9763,33.7474,33.4917,33.2058,32.8863,32.5294,32.1304,31.6846,31.1864,
30.6296,30.0074,29.3121,28.5350,27.6667,26.6963,25.6118,24.3999,23.0456,21.5322,19.8408,17.9507,15.8385,13.4781,10.8403,7.8925,4.5982,0.9168,-3.1972,
-7.7947,-12.932,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.6741,-18.3237];
return sigdata;
}
var fcoef = function (str) {
fcoef = Module.cwrap('filtcoef', 'number', ['string', 'number', 'number', 'number', 'number']);
var length = flength(str);
var lpd = new Float64Array(length);
var hpd = new Float64Array(length);
var lpr = new Float64Array(length);
var hpr = new Float64Array(length);
var lbl = new Uint8Array(length);
for (var i = 0; i < length; ++i) {
lpd[i] = hpd[i] = lpr[i] = hpr[i] = 0.0;
lbl[i] = i;
}
var size = 8 * length;
var ptr1 = Module._malloc(size);
var ptr2 = Module._malloc(size);
var ptr3 = Module._malloc(size);
var ptr4 = Module._malloc(size);
var buf1 = new Uint8Array(Module.HEAPU8.buffer, ptr1, size);
var buf2 = new Uint8Array(Module.HEAPU8.buffer, ptr2, size);
var buf3 = new Uint8Array(Module.HEAPU8.buffer, ptr3, size);
var buf4 = new Uint8Array(Module.HEAPU8.buffer, ptr4, size);
buf1.set(new Uint8Array(lpd.buffer));
buf2.set(new Uint8Array(hpd.buffer));
buf3.set(new Uint8Array(lpr.buffer));
buf4.set(new Uint8Array(hpr.buffer));
var t = fcoef(str, buf1.byteOffset, buf2.byteOffset, buf3.byteOffset, buf4.byteOffset);
var lpd = new Float64Array(buf1.buffer, buf1.byteOffset, length);
var hpd = new Float64Array(buf2.buffer, buf2.byteOffset, length);
var lpr = new Float64Array(buf3.buffer, buf3.byteOffset, length);
var hpr = new Float64Array(buf4.buffer, buf4.byteOffset, length);
Module._free(buf1);
Module._free(buf2);
Module._free(buf3);
Module._free(buf4);
console.log(lpd);
console.log(hpd);
console.log(lpr);
console.log(hpr);
$('#canvas-holder').append("<div class='row' />");
$('#canvas-holder').append("<div class='row' />");
for (var i = 0; i < 2; ++i) {
$('.row').append("<div class='col-md-6' />");
}
var newCanvas = $('<canvas/>',{
id: 'canvas1'
});
$('.col-md-6:eq(0)').append(newCanvas);
var newCanvas2 = $('<canvas/>',{
id: 'canvas2'
});
$('.col-md-6:eq(1)').append(newCanvas2);
var newCanvas3 = $('<canvas/>',{
id: 'canvas3'
});
$('.col-md-6:eq(2)').append(newCanvas3);
var newCanvas4 = $('<canvas/>',{
id: 'canvas4'
});
$('.col-md-6:eq(3)').append(newCanvas4);
var barChartData = {
labels: lbl,
datasets: [
{
fillColor: "rgba(255,0,0,0.5)",
strokeColor: "rgba(255,0,0,0.8)",
highlightFill: "rgba(255,0,0,0.75)",
highlightStroke: "rgba(255,0,0,1)",
data: lpd
},
]
}
var barChartData2 = {
labels: lbl,
datasets: [
{
fillColor: "rgba(0,0,255,0.5)",
strokeColor: "rgba(0,0,255,0.8)",
highlightFill: "rgba(0,0,255,0.75)",
highlightStroke: "rgba(0,0,255,1)",
data: hpd
},
]
}
var barChartData3 = {
labels: lbl,
datasets: [
{
fillColor: "rgba(255,0,0,0.5)",
strokeColor: "rgba(255,0,0,0.8)",
highlightFill: "rgba(255,0,0,0.75)",
highlightStroke: "rgba(255,0,0,1)",
data: lpr
},
]
}
var barChartData4 = {
labels: lbl,
datasets: [
{
fillColor: "rgba(0,0,255,0.5)",
strokeColor: "rgba(0,0,255,0.8)",
highlightFill: "rgba(0,0,255,0.75)",
highlightStroke: "rgba(0,0,255,1)",
data: hpr
},
]
}
window.onload = function () {
var ctx = document.getElementById("canvas1").getContext("2d");
window.myBar = new Chart(ctx).Bar(barChartData, {
responsive: true
});
var ctx2 = document.getElementById("canvas2").getContext("2d");
window.myBar = new Chart(ctx2).Bar(barChartData2, {
responsive: true
});
var ctx3 = document.getElementById("canvas3").getContext("2d");
window.myBar = new Chart(ctx3).Bar(barChartData3, {
responsive: true
});
var ctx4 = document.getElementById("canvas4").getContext("2d");
window.myBar = new Chart(ctx4).Bar(barChartData4, {
responsive: true
});
}
}
var frontpage = function () {
//$('#canvas-holder').append("<img src='img/3dgausswave.png' />");
$('#canvas-holder').append("<div class='row' />");
//$('#canvas-holder').append("<div class='row' />");
//for (var i = 0; i < 2; ++i) {
// $('.row').append("<div class='col-md-6' />");
//}
//$('.col-md-6').append("<img src='img/3dgauss.jpg' />");
//$row.append("<div class='col-md-6' />").append("<img src='img/3dgauss.jpg' />");
$('.row').append("<div class='col-md-3' />");
$('.row').append("<div class='col-md-6' />");
$('.row').append("<div class='col-md-3' />");
var sig = sigdata();
var length = sig.length;
var lbl = [];
for (i = 0; i < length; ++i) {
lbl[i] = i;
}
var sigChartData = {
labels: lbl,
datasets: [
{
label: "Input Signal",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: sig
},
]
}
var newCanvas = $('<canvas/>',{
id: 'canvas1'
});
$('.col-md-6').append(newCanvas);
window.onload = function () {
var ctx = document.getElementById("canvas1").getContext("2d");
window.myBar = new Chart(ctx).Line(sigChartData, {
responsive: true
});
}
}
var frontpage2 = function () {
//$('#canvas-holder').append("<img src='img/3dgausswave.png' />");
$('#canvas-holder').append("<div class='row' />");
//$('#canvas-holder').append("<div class='row' />");
//for (var i = 0; i < 2; ++i) {
// $('.row').append("<div class='col-md-6' />");
//}
//$('.col-md-6').append("<img src='img/3dgauss.jpg' />");
//$row.append("<div class='col-md-6' />").append("<img src='img/3dgauss.jpg' />");
$('.row').append("<div class='col-md-4' />");
$('.row').append("<div class='col-md-4' />");
$('.row').append("<div class='col-md-4' />");
var sig = sigdata();
var length = sig.length;
var lbl = [];
for (i = 0; i < length; ++i) {
lbl[i] = [i, sig[i]];
}
$('.starter-template').empty();
$('.starter-template').append("<div id='graph' style='margin:0 auto' />");
g = new Dygraph(document.getElementById("graph"),
lbl,
{
legend: 'always',
color: '#3399ff',
animatedZooms: true,
title: 'Input'
});
$('.col-md-4:eq(0)').append("<div class='input-group' />");
$('.input-group').append("<input type='text' class='form-control' placeholder='Paste Data....' />");
$('.input-group').append("<span class='input-group-btn' />");
$('.input-group-btn').append("<button class='btn btn-default' type='button' value='GO'>GO</button>");
$('.col-md-4:eq(1)').append("<form role='form' class='form1' />");
$('.form1').append("<div class='form-group' />");
$('.form-group').append("<label />").text("Wavelet Family");
}
var displayPage = function() {
//window.open('display.html','_self');
document.location.href = 'display.html';
$(document).ready(function() {
var lbl = [];
for (i = 0; i < wave.sigLength; ++i) {
lbl[i] = [i, wave.sigData[i]];
}
console.log(lbl[0]);
alert("Page Changed");
g = new Dygraph(document.getElementById("graph1"),
lbl,
{
legend: 'always',
color: '#3399ff',
animatedZooms: true,
title: 'Input'
}
);
});
}