diff --git a/client/css/main.css b/client/css/main.css index f9ba15a..504ec5e 100644 --- a/client/css/main.css +++ b/client/css/main.css @@ -77,3 +77,13 @@ body, border-radius: 5px; padding: 10px; } + +.brainbrowser { + height: 100%; + width: 100%; +} + +.matrix { + text-align: center; + vertical-align: center; +} diff --git a/client/js/controllers/ExperimentRunnerCtrl.js b/client/js/controllers/ExperimentRunnerCtrl.js index 3437229..52187ee 100644 --- a/client/js/controllers/ExperimentRunnerCtrl.js +++ b/client/js/controllers/ExperimentRunnerCtrl.js @@ -1,11 +1,11 @@ angular.module('app') - .controller('ExperimentRunnerCtrl', function($scope, $rootScope, $http, benchmarkData) { + .controller('ExperimentRunnerCtrl', function($scope, $rootScope, $http, dataTransformOrPipelineData) { $scope.data = { "backend": { "name": "Octave", "version": "3.4.3" }, - "benchmark": { + "dataTransformOrPipeline": { "name": "escoufier", "version": "1.0", "iteration": 3, @@ -17,8 +17,8 @@ angular.module('app') $scope.sendRunCommand = function () { $scope.isPolling = true; - $scope.data.benchmark.iteration = parseInt($scope.data.benchmark.iteration, 10); - $scope.data.benchmark.scale = parseInt($scope.data.benchmark.scale, 10); + $scope.data.dataTransformOrPipeline.iteration = parseInt($scope.data.dataTransformOrPipeline.iteration, 10); + $scope.data.dataTransformOrPipeline.scale = parseInt($scope.data.dataTransformOrPipeline.scale, 10); $http.post('http://184.107.193.50:8080/performance/run', $scope.data) .success(function (response) { var taskId = response.result[1].id, @@ -31,7 +31,7 @@ angular.module('app') if (response.result.status === "done") { clearInterval(intervalId); $scope.$apply(function() { - benchmarkData.getAll(); + dataTransformOrPipelineData.getAll(); $scope.isPolling = false; }); } else if(response.result.status === "failed") { @@ -54,9 +54,9 @@ angular.module('app') $scope.open = function (evt, data) { if (!data) { data = { - "benchmark": { - "name": $scope.benchmark.instances[0].benchmarkName, - "version": $scope.benchmark.instances[0].benchmarkVersion + "dataTransformOrPipeline": { + "name": $scope.dataTransformOrPipeline.instances[0].dataTransformOrPipelineName, + "version": $scope.dataTransformOrPipeline.instances[0].dataTransformOrPipelineVersion } } } @@ -77,4 +77,4 @@ angular.module('app') backdropFade: true, dialogFade:true }; - }); \ No newline at end of file + }); diff --git a/client/js/controllers/MainCtrl.js b/client/js/controllers/MainCtrl.js index 112f820..cf47835 100644 --- a/client/js/controllers/MainCtrl.js +++ b/client/js/controllers/MainCtrl.js @@ -1,43 +1,76 @@ angular.module('app') - .controller('MainCtrl', function($scope, $location, benchmarkData) { - $scope.benchmarks = benchmarkData.getAll(); - $scope.benchmark = null; + .controller('MainCtrl', function($scope, $location, dataTransformOrPipelineData) { + $scope.dataTransformOrPipelines = dataTransformOrPipelineData.getAll(); + $scope.dataTransformOrPipeline = null; + + $scope.matrix = [ + [, "subject1", "subject2", "subject3", "subject4", "subject5", "subject6", "subject7", "subject8", "subject9", "subject10", "subject11", "subject12"], + ["subject1", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ["subject2", 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ["subject3", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ["subject4", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], + ["subject5", 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + ["subject6", 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + ["subject7", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + ["subject8", 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + ["subject9", 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + ["subject10", 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], + ["subject11", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], + ["subject12", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] + ]; + + $scope.layers = [{ + label: "layer1", + visibility: 50 + }, { + label: "layer2", + visibility: 20 + }, { + label: "layer3", + visibility: 0 + }]; + + $scope.runScript = function(scriptname) { + console.warn("security hole, this should not permit execution of unknown scripts."); + scriptname = scriptname.trim().replace(/[\/\\]+/g, ""); + console.log("TODO call api to run this " + scriptname + "script on the data."); + }; $scope.useLogScaleForBubbleSize = false; $scope.toogleButtonScale = function() { $scope.useLogScaleForBubbleSize = !$scope.useLogScaleForBubbleSize; }; - $scope.selectBenchmark = function(benchmark) { - $scope.benchmark = benchmark; - if (benchmark) { - $location.url('/benchmark/' + benchmarkUrl(benchmark)); + $scope.selectBenchmark = function(dataTransformOrPipeline) { + $scope.dataTransformOrPipeline = dataTransformOrPipeline; + if (dataTransformOrPipeline) { + $location.url('/dataTransformOrPipeline/' + dataTransformOrPipelineUrl(dataTransformOrPipeline)); } }; - var stopBenchmarksWatch = $scope.$watch('benchmarks.length', function(length) { + var stopBenchmarksWatch = $scope.$watch('dataTransformOrPipelines.length', function(length) { if (length) { - if ($location.url().indexOf("/benchmark/") == 0) { - var benchmarkName = $location.url().match(/^\/benchmark\/(.+)/); - if (benchmarkName) { - benchmarkName = benchmarkName[1]; - angular.forEach($scope.benchmarks, function(benchmark) { - if (benchmarkName === benchmarkUrl(benchmark)) { - $scope.selectBenchmark(benchmark); + if ($location.url().indexOf("/dataTransformOrPipeline/") == 0) { + var dataTransformOrPipelineName = $location.url().match(/^\/dataTransformOrPipeline\/(.+)/); + if (dataTransformOrPipelineName) { + dataTransformOrPipelineName = dataTransformOrPipelineName[1]; + angular.forEach($scope.dataTransformOrPipelines, function(dataTransformOrPipeline) { + if (dataTransformOrPipelineName === dataTransformOrPipelineUrl(dataTransformOrPipeline)) { + $scope.selectBenchmark(dataTransformOrPipeline); } }); } else { - $scope.selectBenchmark($scope.benchmarks[0]); + $scope.selectBenchmark($scope.dataTransformOrPipelines[0]); } } else { - $scope.selectBenchmark($scope.benchmarks[0]); + $scope.selectBenchmark($scope.dataTransformOrPipelines[0]); } stopBenchmarksWatch(); } }); - function benchmarkUrl(benchmark) { - return encodeURIComponent(benchmark.name.replace(/ /, '-')); + function dataTransformOrPipelineUrl(dataTransformOrPipeline) { + return encodeURIComponent(dataTransformOrPipeline.name.replace(/ /, '-')); } - }); \ No newline at end of file + }); diff --git a/client/js/directives/highlight.js b/client/js/directives/highlight.js index df70e4d..6e98ddb 100644 --- a/client/js/directives/highlight.js +++ b/client/js/directives/highlight.js @@ -77,7 +77,7 @@ angular.module('app') }); } - scope.$watch(attr.benchmarkName, function (name) { + scope.$watch(attr.dataTransformOrPipelineName, function (name) { if (sources.hasOwnProperty(name)) { element.html(sources[name]); @@ -85,8 +85,8 @@ angular.module('app') addExecutionByNumber(); } else { var info = name.split(' '); - $http.post("http://184.107.193.50:8080/benchmarks/src", { - "benchmark": { + $http.post("http://184.107.193.50:8080/dataTransformOrPipelines/src", { + "dataTransformOrPipeline": { "name": info[0], "version": info[1] } @@ -101,4 +101,4 @@ angular.module('app') }); } }; - }); \ No newline at end of file + }); diff --git a/client/js/directives/scatterplot.js b/client/js/directives/scatterplot.js index db16c31..e68ffab 100644 --- a/client/js/directives/scatterplot.js +++ b/client/js/directives/scatterplot.js @@ -10,7 +10,7 @@ angular.module('app') "name": "Octave", "version": "3.4.3", }, - "benchmark": { + "dataTransformOrPipeline": { "name": "escoufier", "version": "1.0", "iteration": 3, @@ -20,10 +20,10 @@ angular.module('app') jsonForServer.backend.version = json.backendVersion; jsonForServer.backend.name = json.backendName; - jsonForServer.benchmark.name = json.benchmarkName; - jsonForServer.benchmark.version = json.benchmarkVersion; - jsonForServer.benchmark.iteration = json.iteration; - jsonForServer.benchmark.scale = json.scale; + jsonForServer.dataTransformOrPipeline.name = json.dataTransformOrPipelineName; + jsonForServer.dataTransformOrPipeline.version = json.dataTransformOrPipelineVersion; + jsonForServer.dataTransformOrPipeline.iteration = json.iteration; + jsonForServer.dataTransformOrPipeline.scale = json.scale; scope.$apply(function () { scope.$emit("openExperimentRunner", jsonForServer); @@ -163,7 +163,7 @@ angular.module('app') .on("mouseover", function(object) { return tooltip .style("visibility", "visible") - .html("
Benchmark: " + object.benchmarkName + "
Time: " + object.runtime + "
Iterations: " + object.iteration + "
Dataset Size: " + object.scale + "
"); + .html("
Benchmark: " + object.dataTransformOrPipelineName + "
Time: " + object.runtime + "
Iterations: " + object.iteration + "
Dataset Size: " + object.scale + "
"); }) .on("mousemove", function(object) { return tooltip.style("top", (event.pageY - 10) + "px") @@ -189,4 +189,4 @@ angular.module('app') } } - }); \ No newline at end of file + }); diff --git a/client/js/services/benchmarkData.js b/client/js/services/benchmarkData.js deleted file mode 100644 index c03b88f..0000000 --- a/client/js/services/benchmarkData.js +++ /dev/null @@ -1,40 +0,0 @@ -angular.module('app') - .service('benchmarkData', function ($http, $q, Benchmark) { - var benchmarks = []; - // 184.107.193.50:8080/performance - return { - getAll: function () { - $http.get("http://184.107.193.50:8080/performance").success(function (data) { - var benchmarkByName = {}; - - angular.forEach(data.result, function (benchmark) { - var name = benchmark.benchmarkName + " " + benchmark.benchmarkVersion; - if (!benchmarkByName[name]) { - benchmarkByName[name] = []; - } - - benchmarkByName[name].push(benchmark); - }); - - var existingBenchmarks = {}; - angular.forEach(benchmarks, function (benchmark) { - existingBenchmarks[benchmark.name] = benchmark; - }); - - angular.forEach(benchmarkByName, function (allData, name) { - if (!existingBenchmarks.hasOwnProperty(name)) { - benchmarks.push(new Benchmark(name, allData)); - } else { - var benchmark = existingBenchmarks[name]; - angular.forEach(allData, function (data) { - if (!benchmark.hasEntry(data)) { - benchmark.addEntry(data); - } - }); - } - }); - }); - return benchmarks; - } - } - }); \ No newline at end of file diff --git a/client/js/services/dataTransformOrPipelineData.js b/client/js/services/dataTransformOrPipelineData.js new file mode 100644 index 0000000..420d6d2 --- /dev/null +++ b/client/js/services/dataTransformOrPipelineData.js @@ -0,0 +1,40 @@ +angular.module('app') + .service('dataTransformOrPipelineData', function ($http, $q, Benchmark) { + var dataTransformOrPipelines = []; + // 184.107.193.50:8080/performance + return { + getAll: function () { + $http.get("http://184.107.193.50:8080/performance").success(function (data) { + var dataTransformOrPipelineByName = {}; + + angular.forEach(data.result, function (dataTransformOrPipeline) { + var name = dataTransformOrPipeline.dataTransformOrPipelineName + " " + dataTransformOrPipeline.dataTransformOrPipelineVersion; + if (!dataTransformOrPipelineByName[name]) { + dataTransformOrPipelineByName[name] = []; + } + + dataTransformOrPipelineByName[name].push(dataTransformOrPipeline); + }); + + var existingBenchmarks = {}; + angular.forEach(dataTransformOrPipelines, function (dataTransformOrPipeline) { + existingBenchmarks[dataTransformOrPipeline.name] = dataTransformOrPipeline; + }); + + angular.forEach(dataTransformOrPipelineByName, function (allData, name) { + if (!existingBenchmarks.hasOwnProperty(name)) { + dataTransformOrPipelines.push(new Benchmark(name, allData)); + } else { + var dataTransformOrPipeline = existingBenchmarks[name]; + angular.forEach(allData, function (data) { + if (!dataTransformOrPipeline.hasEntry(data)) { + dataTransformOrPipeline.addEntry(data); + } + }); + } + }); + }); + return dataTransformOrPipelines; + } + } + }); diff --git a/client/lib/scatterplot/previous_runs.json b/client/lib/scatterplot/previous_runs.json index dad2ffe..06e3197 100644 --- a/client/lib/scatterplot/previous_runs.json +++ b/client/lib/scatterplot/previous_runs.json @@ -2,8 +2,8 @@ "statusCode": 200, "result": [ { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -15,8 +15,8 @@ "endDate": "2013-08-12T02:02:19.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -28,8 +28,8 @@ "endDate": "2013-08-12T02:04:34.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -41,8 +41,8 @@ "endDate": "2013-08-12T02:06:39.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -54,8 +54,8 @@ "endDate": "2013-08-12T02:09:58.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -67,8 +67,8 @@ "endDate": "2013-08-12T02:18:15.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -80,8 +80,8 @@ "endDate": "2013-08-12T02:19:50.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -93,8 +93,8 @@ "endDate": "2013-08-12T02:20:18.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -106,8 +106,8 @@ "endDate": "2013-08-12T12:48:29.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -119,8 +119,8 @@ "endDate": "2013-08-12T12:48:38.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -132,8 +132,8 @@ "endDate": "2013-08-12T13:19:03.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -145,8 +145,8 @@ "endDate": "2013-08-12T13:19:39.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -158,8 +158,8 @@ "endDate": "2013-08-12T13:20:10.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -171,8 +171,8 @@ "endDate": "2013-08-12T13:21:25.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -184,8 +184,8 @@ "endDate": "2013-08-12T13:21:43.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -197,8 +197,8 @@ "endDate": "2013-08-12T13:22:10.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -210,8 +210,8 @@ "endDate": "2013-08-12T13:23:14.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -223,8 +223,8 @@ "endDate": "2013-08-12T18:32:39.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -236,8 +236,8 @@ "endDate": "2013-08-12T18:32:54.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -249,8 +249,8 @@ "endDate": "2013-08-12T18:33:12.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -262,8 +262,8 @@ "endDate": "2013-08-12T18:59:09.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -275,8 +275,8 @@ "endDate": "2013-08-12T19:00:34.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -288,8 +288,8 @@ "endDate": "2013-08-12T20:41:41.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -301,8 +301,8 @@ "endDate": "2013-08-12T20:43:38.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -314,8 +314,8 @@ "endDate": "2013-08-12T20:43:45.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -327,8 +327,8 @@ "endDate": "2013-08-12T21:07:54.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -340,8 +340,8 @@ "endDate": "2013-08-12T21:07:55.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -353,8 +353,8 @@ "endDate": "2013-08-12T21:07:56.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -366,8 +366,8 @@ "endDate": "2013-08-12T21:07:57.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -379,8 +379,8 @@ "endDate": "2013-08-12T21:08:46.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -392,8 +392,8 @@ "endDate": "2013-08-12T21:08:47.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -405,8 +405,8 @@ "endDate": "2013-08-12T21:08:48.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -418,8 +418,8 @@ "endDate": "2013-08-12T21:08:48.000Z" }, { - "benchmarkName": "fibonacci", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "fibonacci", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -431,8 +431,8 @@ "endDate": "2013-08-12T21:08:49.000Z" }, { - "benchmarkName": "escoufier", - "benchmarkVersion": "1.0", + "dataTransformOrPipelineName": "escoufier", + "dataTransformOrPipelineVersion": "1.0", "backendName": "Octave", "backendVersion": "3.4.0", "compile": true, @@ -444,4 +444,4 @@ "endDate": "2013-08-17T03:19:34.000Z" } ] -} \ No newline at end of file +} diff --git a/client/lib/scatterplot/scatterplot.js b/client/lib/scatterplot/scatterplot.js index f1a43b3..ea5cd36 100644 --- a/client/lib/scatterplot/scatterplot.js +++ b/client/lib/scatterplot/scatterplot.js @@ -133,7 +133,7 @@ ScatterPlot.controller( .on("mouseover", function(object) { return tooltip .style("visibility", "visible") - .html("
Benchmark: " + object.benchmarkName + .html("
Benchmark: " + object.dataTransformOrPipelineName + "
Time: "+ object.runtime + "
Dataset Size: "+object.runtime + "
"); @@ -164,4 +164,4 @@ ScatterPlot.controller( }); - }); \ No newline at end of file + }); diff --git a/client/manifest.json b/client/manifest.json index 32b1f9b..3e218b6 100644 --- a/client/manifest.json +++ b/client/manifest.json @@ -8,7 +8,7 @@ "author": "awesome people", "app": { "launch": { - "local_path": "bower_components/brainbrowser/examples/index.html" + "local_path": "app.html" } }, "icons" : { diff --git a/client/package.json b/client/package.json index 36b095e..4ddd65f 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "mmmri-client", - "description": "Visualize performance results of benchmarks.", + "description": "Visualize results of brain scans.", "version": "0.0.1", "devDependencies": { "grunt": "~0.4.1", diff --git a/client/partials/base.html b/client/partials/base.html index a7a6665..0a74362 100644 --- a/client/partials/base.html +++ b/client/partials/base.html @@ -1,23 +1,44 @@
- -
\ No newline at end of file +
diff --git a/client/partials/benchmark-view.html b/client/partials/dataTransformOrPipeline-view.html similarity index 53% rename from client/partials/benchmark-view.html rename to client/partials/dataTransformOrPipeline-view.html index 198cc98..2db4293 100644 --- a/client/partials/benchmark-view.html +++ b/client/partials/dataTransformOrPipeline-view.html @@ -1,15 +1,14 @@ -
- Results: {{ benchmark.data.length }} +
+ Results: {{ dataTransformOrPipeline.data.length }}
Bubble radius:
-
-

+    
+

 
-
- Please select a benchmark in the sidebar on the left +
diff --git a/client/partials/experiment-runner-modal.html b/client/partials/experiment-runner-modal.html index 667be69..850512c 100644 --- a/client/partials/experiment-runner-modal.html +++ b/client/partials/experiment-runner-modal.html @@ -24,22 +24,22 @@

Benchmark

Name: - +
Version: - +

Iteration: - +
Scale: - +
@@ -51,4 +51,4 @@

Benchmark

-
\ No newline at end of file + diff --git a/lib/benchmark.js b/lib/benchmark.js index 7ea2a2d..9b4967c 100644 --- a/lib/benchmark.js +++ b/lib/benchmark.js @@ -30,23 +30,23 @@ function arrayToSet(a) { return set; } -function createId (benchmark) { - return parseInt(murmurhash.v2(benchmark.name + benchmark.version), 10); +function createId (dataTransformOrPipeline) { + return parseInt(murmurhash.v2(dataTransformOrPipeline.name + dataTransformOrPipeline.version), 10); } -var benchmarks = {}; -fs.readdirSync(appConfig.benchmarks.path).forEach(function (dir) { - var info = JSON.parse(fs.readFileSync(path.join(appConfig.benchmarks.path, dir, appConfig.benchmarks.metadata))); +var dataTransformOrPipelines = {}; +fs.readdirSync(appConfig.dataTransformOrPipelines.path).forEach(function (dir) { + var info = JSON.parse(fs.readFileSync(path.join(appConfig.dataTransformOrPipelines.path, dir, appConfig.dataTransformOrPipelines.metadata))); var id = createId(info); info.id = id; - benchmarks[id] = info; + dataTransformOrPipelines[id] = info; }); function add(attributes) { var deferred = Q.defer(); process.nextTick(function () { - deferred.reject(new errors.NotImplemented("Unimplemented add operation for benchmarks")); + deferred.reject(new errors.NotImplemented("Unimplemented add operation for dataTransformOrPipelines")); }); return deferred.promise; @@ -55,10 +55,10 @@ function add(attributes) { function get(id) { var deferred = Q.defer(); process.nextTick(function () { - if (Object.prototype.hasOwnProperty.call(benchmarks, id)) { - deferred.resolve(deepCopy(benchmarks[id])); + if (Object.prototype.hasOwnProperty.call(dataTransformOrPipelines, id)) { + deferred.resolve(deepCopy(dataTransformOrPipelines[id])); } else { - deferred.reject(new errors.NotFound("benchmark '" + id + "' could not be found")); + deferred.reject(new errors.NotFound("dataTransformOrPipeline '" + id + "' could not be found")); } }); return deferred.promise; @@ -68,7 +68,7 @@ function getAll() { var deferred = Q.defer(); process.nextTick(function () { - deferred.resolve(deepCopy(benchmarks)); + deferred.resolve(deepCopy(dataTransformOrPipelines)); }); return deferred.promise; @@ -78,10 +78,10 @@ function getSome(attributes) { var deferred = Q.defer(); process.nextTick(function () { - function match(benchmark) { + function match(dataTransformOrPipeline) { for (var p in attributes) { var pattern = attributes[p]; - var value = benchmark[p]; + var value = dataTransformOrPipeline[p]; if (p === "tags") { var expected = arrayToSet(pattern); @@ -92,16 +92,16 @@ function getSome(attributes) { } } - if (benchmark[p] !== attributes[p]) return false; + if (dataTransformOrPipeline[p] !== attributes[p]) return false; return true; } } var list = []; - for (var id in benchmarks) { - if (match(benchmarks[id])) { - list.push(deepCopy(benchmarks[id])); + for (var id in dataTransformOrPipelines) { + if (match(dataTransformOrPipelines[id])) { + list.push(deepCopy(dataTransformOrPipelines[id])); } } @@ -115,7 +115,7 @@ function update(id, attributes) { var deferred = Q.defer(); process.nextTick(function () { - deferred.reject(new errors.NotImplemented("Unimplemented update operation for benchmarks")); + deferred.reject(new errors.NotImplemented("Unimplemented update operation for dataTransformOrPipelines")); }); return deferred.promise; @@ -125,7 +125,7 @@ function remove(id) { var deferred = Q.defer(); process.nextTick(function () { - deferred.reject(new errors.NotImplemented("Unimplemented remove operation for benchmarks")); + deferred.reject(new errors.NotImplemented("Unimplemented remove operation for dataTransformOrPipelines")); }); return deferred.promise; @@ -133,9 +133,9 @@ function remove(id) { function getSrc(id) { var deferred = Q.defer(); - return get(id).then(function (benchmark) { + return get(id).then(function (dataTransformOrPipeline) { var srcFile = "src/run.m"; - var srcPath = path.join(appConfig.benchmarks.path, benchmark.name, appConfig.benchmarks.runFile); + var srcPath = path.join(appConfig.dataTransformOrPipelines.path, dataTransformOrPipeline.name, appConfig.dataTransformOrPipelines.runFile); fs.readFile(srcPath, 'utf8', function (err, data) { if (!err) { deferred.resolve(data); @@ -147,7 +147,7 @@ function getSrc(id) { }); } -var benchmarkSchema = type.object({ +var dataTransformOrPipelineSchema = type.object({ name: type.string }); @@ -160,4 +160,4 @@ exports.remove = remove; exports.getId = createId; exports.getSrc = getSrc; -exports.schema = benchmarkSchema; +exports.schema = dataTransformOrPipelineSchema; diff --git a/lib/performance.js b/lib/performance.js index ea7134c..23905db 100644 --- a/lib/performance.js +++ b/lib/performance.js @@ -10,7 +10,7 @@ var performanceSchema = { name: type.string, version: type.string, }, - benchmark: { + dataTransformOrPipeline: { name: type.string, version: type.string, iteration: type.integer, @@ -25,8 +25,8 @@ var PerformanceResults = { function createDBSchema(connection, Sequelize) { PerformanceResults.connection = connection.define('PerformanceResult', { - benchmarkName: Sequelize.STRING, - benchmarkVersion: Sequelize.STRING, + dataTransformOrPipelineName: Sequelize.STRING, + dataTransformOrPipelineVersion: Sequelize.STRING, backendName: Sequelize.STRING, backendVersion: Sequelize.STRING, compile: Sequelize.BOOLEAN, @@ -40,8 +40,8 @@ function createDBSchema(connection, Sequelize) { } sequelize.CRUD(exports, PerformanceResults, { - benchmarkName: type.string, - benchmarkVersion: type.string, + dataTransformOrPipelineName: type.string, + dataTransformOrPipelineVersion: type.string, backendName: type.string, backendVersion: type.string, compile: type.boolean, diff --git a/package.json b/package.json index dc23f0f..4326faf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mmMRI", - "description": "Visualize performance results of benchmarks.", + "description": "Visualize results of brain scans.", "version": "0.0.1", "private": true, "dependencies": {