{
const div = d3.select(DOM.element('div'));
let container = div
.append('div')
.style('position', 'relative')
.style('width', `${imgWidth}px`)
.style('height', `${imgHeight}px`);
let image = container.node().appendChild(enableWebcam ? video : testimage);
d3.select(image)
.style('position', 'absolute')
.style('top', 0)
.style('left', 0)
.attr('width', imgWidth)
.attr('height', imgHeight);
let canvas = container
.append('canvas')
.style('position', 'absolute')
.style('top', 0)
.style('left', 0)
.attr('width', imgWidth)
.attr('height', imgHeight);
let svg = container
.append('svg')
.style('position', 'absolute')
.style('top', 0)
.style('left', 0)
.attr('width', imgWidth)
.attr('height', imgHeight);
svg.node().appendChild(starSVG);
svg
.selectAll('circle')
.data([0, 100, 200, 300, 400])
.enter()
.append('circle')
.attr('cx', d => imgWidth - d)
.attr('cy', d => d)
.attr('r', 10)
.attr('fill', 'limegreen');
const context = canvas.node().getContext('2d');
context.fillStyle = 'orange';
context.strokeStyle = 'lightblue';
context.lineWidth = 5;
context.fillRect(225, 225, 100, 100);
context.clearRect(245, 245, 60, 60);
context.strokeRect(250, 250, 50, 50);
return div.node();
}