Platform
Resources
Pricing
Sign in
Get started
Jesús Martínez-Blanco
Workspace
Fork
Published
By
Jesús Martínez-Blanco
Edited
Oct 7, 2021
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
####
Helper
Insert cell
img
=
await
Jimp
.
read
(
image
.
src
)
;
Insert cell
Insert cell
linspace
=
function
(
start
,
stop
,
nsteps
)
{
let
delta
=
(
stop
-
start
)
/
(
nsteps
-
1
)
return
d3
.
range
(
start
,
stop
+
delta
,
delta
)
.
slice
(
0
,
nsteps
)
;
}
Insert cell
H
=
linspace
(
0
,
parseFloat
(
height
)
,
img
.
bitmap
.
height
)
Insert cell
W
=
linspace
(
0
,
parseFloat
(
width
)
,
img
.
bitmap
.
width
)
Insert cell
closestIndex
=
function
(
x
,
arr
)
{
var
indexArr
=
arr
.
map
(
k
=>
Math
.
abs
(
k
-
x
)
)
;
var
min
=
Math
.
min
.
apply
(
Math
,
indexArr
)
;
return
indexArr
.
indexOf
(
min
)
;
}
Insert cell
Insert cell
math
=
require
(
"https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.4.2/math.min.js"
)
Insert cell
Plotly
=
require
(
"https://cdn.plot.ly/plotly-latest.min.js"
)
Insert cell
Jimp
=
require
(
'https://cdnout.com/jimp/jimp.js'
)
Insert cell
import
{
imageInput
}
from
"@mbostock/file-input"
Insert cell
import
{
slider
}
from
"@jashkenas/inputs"
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
image
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
width
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
height
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
x
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
y
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
img
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
matrix
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
linspace
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
H
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
W
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
closestIndex
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
math
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Plotly
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Jimp
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML