!7 module ImageSegmenter extends DynImageSurface { start { ownResource(vmBus_onMessage('newClipboardContents, voidfunc(fO o) { if (o cast BufferedImage) { temp enter(); thread { setImage(new BWImage(o)); } } })); } BWImage getBWImage() { toBWImage(getImage()); } visualize { ret withCenteredButtons(super.visualize(), "Auto-contrast", rThread { if (hasImage()) setImage(bwAutoContrast(getBWImage())) }); } }