├── .gitignore ├── third └── .gitignore ├── examples ├── console │ ├── .gitignore │ ├── init.js │ ├── console.html │ └── ScriptArea.class.js ├── plot │ ├── csv │ │ ├── ExampleId.csv │ │ ├── ExampleB.csv │ │ ├── ExampleA.csv │ │ ├── ExampleC.csv │ │ ├── ExampleC2.csv │ │ └── example-trigo.csv │ ├── images │ │ └── bird.jpg │ ├── plot.css │ └── plot-editor.js ├── gpu │ ├── benchmark.html │ ├── effect-designer.css │ ├── effect-designer.js │ ├── benchmark.js │ ├── effect-designer.html │ └── GLEffect.more.js ├── demo │ ├── demo.html │ └── demo.js ├── common │ ├── FileLoader-Webcam.ext.js │ ├── Webcam.html │ ├── video-loader.html │ ├── FileLoader.html │ ├── FileLoader.css │ ├── Webcam.class.js │ └── Shortcuts.object.js ├── gameoflife │ ├── gameoflife.html │ └── gameoflife.js ├── scripts │ ├── colorEnhancement.js │ └── testCanvas.js ├── imageViewer │ ├── demo.html │ ├── demo.css │ └── demo.js ├── illusion │ ├── illusion.html │ └── illusion.js ├── Disk.js ├── keypoints │ ├── keypoints.html │ └── keypoints.js ├── modes │ └── modes.html ├── base.css ├── sift │ ├── sift.html │ └── sift.js ├── colorenhancement │ ├── demo.js │ └── demo.html └── ppl │ └── ppl.html ├── index.html ├── .gitmodules ├── doc ├── content │ ├── categories.json │ └── readme.md ├── guides │ ├── sandbox │ │ └── README.md │ ├── tests │ │ └── README.md │ ├── eg-iframe.html │ ├── manipulation │ │ └── README.md │ └── functions │ │ └── README.md ├── tags │ ├── matlab_like.rb │ ├── fixme.rb │ └── todo.rb ├── guides.json └── jsduck.json ├── licence.txt ├── src ├── Matching │ ├── Matching.class.js │ └── Matching.Match.js ├── MatrixView │ └── MatrixView.informations.js └── Matrix │ ├── Matrix.elementary_math.complex_numbers.js │ └── Matrix.numeric_types.js ├── projects ├── wDenoising.js ├── colorInvariants.js └── drawHistogram.js ├── Makefile └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /min/*.js 2 | /modules/*.js 3 | -------------------------------------------------------------------------------- /third/.gitignore: -------------------------------------------------------------------------------- 1 | canvas.js 2 | * 3 | 4 | -------------------------------------------------------------------------------- /examples/console/.gitignore: -------------------------------------------------------------------------------- 1 | *.*# 2 | *.*~ 3 | -------------------------------------------------------------------------------- /examples/plot/csv/ExampleId.csv: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 -------------------------------------------------------------------------------- /examples/plot/csv/ExampleB.csv: -------------------------------------------------------------------------------- 1 | 0 5 2 | 2 4 3 | 4 3 4 | 6 2 5 | 8 1 -------------------------------------------------------------------------------- /examples/plot/csv/ExampleA.csv: -------------------------------------------------------------------------------- 1 | 0.1 2 | 0.5 3 | 0.9 4 | 0.7 5 | 0.2 6 | -.3 7 | -.7 -------------------------------------------------------------------------------- /examples/plot/csv/ExampleC.csv: -------------------------------------------------------------------------------- 1 | -2 1. .0 2 | -1 .9 .4 3 | 0 .7 .7 4 | 1 .4 .9 5 | 2 .0 1. -------------------------------------------------------------------------------- /examples/plot/images/bird.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Etsitpab/JSM/HEAD/examples/plot/images/bird.jpg -------------------------------------------------------------------------------- /examples/plot/csv/ExampleC2.csv: -------------------------------------------------------------------------------- 1 | -2 -1. -.0 2 | -1 -.9 -.4 3 | 0 -.7 -.7 4 | 1 -.4 -.9 5 | 2 -.0 -1. -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "submodules/Matrix3x3"] 2 | path = submodules/Matrix3x3 3 | url = https://github.com/Etsitpab/Matrix3x3 4 | [submodule "submodules/SuperCanvas"] 5 | path = submodules/SuperCanvas 6 | url = https://github.com/Etsitpab/SuperCanvas 7 | -------------------------------------------------------------------------------- /doc/content/categories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Classes Documentation", 4 | "groups": [ 5 | { 6 | "name": "Main Classes", 7 | "classes": ["Matrix"] 8 | } 9 | ] 10 | } 11 | ] -------------------------------------------------------------------------------- /examples/plot/plot.css: -------------------------------------------------------------------------------- 1 | #uiLeft { 2 | display: inline-block; 3 | padding-top: 10px; 4 | width: 135px; 5 | float: left; 6 | } 7 | 8 | #uiRight { 9 | padding-top: 10px; 10 | width: 135px; 11 | float: right; 12 | } 13 | 14 | #image { 15 | width: calc(100% - 290px); 16 | } 17 | -------------------------------------------------------------------------------- /doc/guides/sandbox/README.md: -------------------------------------------------------------------------------- 1 | # Debug 2 | 3 | This is *not* a tutorial but a sandbox. 4 | 5 | 6 | ## Small console 7 | 8 | You can use this to execute JS code. 9 | The final value appear in the log. 10 | 11 | @example 12 | execute = function(field) { console.log(eval(field.value)) }; 13 | document.write(''); 16 | 17 | 18 | ## Other examples 19 | 20 | Provide some examples here... -------------------------------------------------------------------------------- /doc/guides/tests/README.md: -------------------------------------------------------------------------------- 1 | # Debug 2 | 3 | This is *not* a tutorial but a sandbox. 4 | 5 | 6 | ## Small console 7 | 8 | You can use this to execute JS code. 9 | The final value appear in the log. 10 | 11 | @example 12 | execute = function(field) { console.log(eval(field.value)) }; 13 | document.write(''); 16 | 17 | 18 | ## Other examples 19 | 20 | Provide some examples here... -------------------------------------------------------------------------------- /examples/gpu/benchmark.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |#{title}
49 | #{content[:doc]} 50 |33 | Upload an image, click on the start button and look at the black point at the center of the picture. 34 | After some time, you should see the color image you uploaded. 35 | This is in fact a black and white version of your picture. 36 |
37 |
35 | Load an image/video and import an effect to start the demo. 36 | 37 |
38 |What is this?
39 |40 | This page allows you to write and run real-time effects on images and videos. 41 | It is a graphical interface for the GLEffect and GLReduction classes. 42 |
43 |Known bugs:
44 |To do:
49 |120 | This demo implements the algorithm introduced in the paper 121 | A Wavelet Perspective on Variational Perceptually-Inspired Color Enhancement 122 | published in 2014 by E Provenzi and V Caselles. 123 | This algorithm performs color and contrast enhancement in the wavelet domain and this demo allows you to test it on your own images. 124 | Note that image larger than 1200x1200 are resized to avoid too long computation time and/or mermory consumption. 125 |
126 |
120 | This demo aims at demonstrating the abilities of the PPL (projections on planckian locus) algorithm. 121 | It allows you to upload an image, set a white reference from a white chart in the picture, remove this white chart, 122 | and finally run several algorithms and compare how well they estimate the illuminant. 123 |
124 |125 | All the algorithms rely linear images, which means that we remove the gamma correction before computing the estimation. 126 | Therefore, the errors are as well are computed on linear images. 127 |
128 |182 | The code and parameters used to compute grey-world, grey-edge, shades-of-grey and white-patch results results 183 | from an adaptation of a matlab code by Joost Van-de-Weijer that can be found on his webpage. 184 |
185 | 186 | 187 | 188 |