/* * Copyright 2013, Morten Nobel-Joergensen * * License: The BSD 3-Clause License * http://opensource.org/licenses/BSD-3-Clause */ package com.mortennobel.imagescaling; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import junit.framework.TestCase; /** * May have to adjust heap using the Xmx vm option */ public class SpeedSingleThreadTest extends TestCase { protected BufferedImage image; public int getNumberOfThreads(){ return 1; } @Override protected void setUp() throws Exception { super.setUp(); this.image = ImageIO.read(getClass().getResource("largeimage.jpg")); } protected void doRescale(final ResampleFilter filter) throws Exception{ final ResampleOp resampleOp = new ResampleOp(200,200); resampleOp.setNumberOfThreads(getNumberOfThreads()); resampleOp.setFilter(filter); resampleOp.filter(this.image, null); } public void testBellFilter() throws Exception { doRescale(new BellFilter()); } public void testBiCubicFilter() throws Exception { doRescale(new BiCubicFilter()); } public void testBiCubicHighFreqResponse() throws Exception { doRescale(new BiCubicHighFreqResponse()); } public void testBoxFilter() throws Exception { doRescale(new BoxFilter()); } public void testBSplineFilter() throws Exception { doRescale(new BSplineFilter()); } public void testHermiteFilter() throws Exception { doRescale(new HermiteFilter()); } public void testLanczos3Filter() throws Exception { doRescale(new Lanczos3Filter()); } public void testMitchellFilter() throws Exception { doRescale(new MitchellFilter()); } public void testTriangleFilter() throws Exception { doRescale(new TriangleFilter()); } public void testMultiStepRescaleOpLinear(){ final MultiStepRescaleOp mro = new MultiStepRescaleOp(200,200, RenderingHints.VALUE_INTERPOLATION_BILINEAR); mro.filter(this.image, null); } public void testMultiStepRescaleOpBicubic(){ final MultiStepRescaleOp mro = new MultiStepRescaleOp(200,200, RenderingHints.VALUE_INTERPOLATION_BICUBIC); mro.filter(this.image, null); } }