Public
Edited
May 12, 2023
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
docs = exiftooloutput
.split(/ \| \d+\) /)
.filter( s => s.match('EmbeddedImage') )
.map( (s, i) => {
const matchedRect = s.match(/EmbeddedImageRectangle = (\d+) (\d+) (\d+) (\d+)/);
let x1, y1, x2, y2;
if (matchedRect) {
[,x1,y1,x2,y2] = s.match(/EmbeddedImageRectangle = (\d+) (\d+) (\d+) (\d+)/);
}
const imgclass = s.match(/EmbeddedImageClass = (.+)/)?.at(1);
return {
url: prefix + ( i + 1 ) + suffix,
x1,
y1,
x2,
y2,
imgclass
}
} )
Insert cell
Insert cell
Insert cell
Insert cell
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.
Learn more