package eu.europeana.creative.dataset.pt; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import org.junit.Test; import org.junit.runner.JUnitCore; import eu.europeana.api.client.thumbnails.processing.LargeThumbnailsetProcessing; import eu.europeana.creative.dataset.BaseCreativeDatasetUtil; import eu.europeana.creative.dataset.IRTestConfigurations; import eu.europeana.creative.dataset.pt.classification.GrayScaleSepiaDetector; import eu.europeana.service.ir.image.IRConfiguration; import eu.europeana.service.ir.image.IRConfigurationImpl; public class ThumbnailsCategorizationTest extends BaseCreativeDatasetUtil implements IRTestConfigurations { private static int blockSize=-2; private static int limit=-2; private static int start=-2; public static final String PREFIX_START="start="; public static final String PREFIX_LIMIT="limit="; public static final String PREFIX_BLOCKSIZE="blockSize="; public static final int DEFAULT_BLOCKSIZE = 1000; IRConfiguration config = new IRConfigurationImpl(); // public static String CLASS_WW1 = "ww1"; public static void main(String[] args) throws Exception { parseParams(args); JUnitCore.main( ThumbnailsCategorizationTest.class.getCanonicalName()); } protected static int getValue(String argPrefix, final String arg) { return Integer.parseInt(arg.substring(argPrefix.length())); } @Test public void categorizeThumbnails() throws FileNotFoundException, IOException { ensureParmsInit(); IRConfiguration config = getConfig(); File datasetFile = config.getDatasetFile(DATASET_EU_CREATIVE); File outputFile = config.getDatasetFile(DATASET_EU_CREATIVE_CLASSIFIED); LargeThumbnailsetProcessing datasetCategorization = new LargeThumbnailsetProcessing(datasetFile); File imageFolder = config.getImageFolderAsFile(DATASET_EU_CREATIVE); GrayScaleSepiaDetector observer = new GrayScaleSepiaDetector(imageFolder, 85, 3); observer.setOutputFile(outputFile); datasetCategorization.addObserver(observer); datasetCategorization.processThumbnailset(start, limit, blockSize); System.out.println("Skipped items: " + datasetCategorization.getFailureCount()); } private void ensureParmsInit() { //ensure blocksize set to a positive value if(blockSize < 0) blockSize = DEFAULT_BLOCKSIZE; } protected IRConfiguration getConfig() { return config; } }