public boolean push(RgbImage rgb) throws jjil.core.Error {
final int nReducedHeight = 300;
final int nReducedWidth = 400;
// build pipeline
Sequence seq = new Sequence();
seq.add(new RgbSubSample(nReducedWidth, nReducedHeight));
seq.add(new RgbAvgGray());
seq.add(new Gray8HistEq());
seq.add(new Gray8HorizVertContrast(5, 2, -8, 3));
seq.add(new Gray16Threshold(20));
seq.push(rgb);