!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() { ret toBWImage(getImage()); } visualize { ret withCenteredButtons(super.visualize(), "Auto-contrast", rThread { setImage(bwAutoContrast(getBWImage())) }, "Contrast+", rThread { setImage(bwContrast(1.1, getBWImage())) } ); } }