package net.semanticmetadata.lire.imageanalysis.features;
import junit.framework.TestCase;
import net.semanticmetadata.lire.imageanalysis.features.global.centrist.SimpleCentrist;
import net.semanticmetadata.lire.imageanalysis.features.global.centrist.SpatialPyramidCentrist;
import net.semanticmetadata.lire.utils.FileUtils;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
/**
* Test class for the Centrist implementation in LIRE.
*
* @author Mathias Lux, mathias@juggle.at, Date: 18.06.2015.
*/
public class TestCentrist extends TestCase {
public void testExtractionSimpleCentrist() throws IOException {
ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true);
SimpleCentrist sc = new SimpleCentrist();
for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) {
File nextImage = iterator.next();
sc.extract(ImageIO.read(nextImage));
assertEquals(sc.getDistance(sc), 0d);
// System.out.println(nextImage.getName() + ": " + Arrays.toString(sc.getFeatureVector()));
}
}
public void testExtractionSpatialPyramidCentrist() throws IOException {
ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true);
SpatialPyramidCentrist sc = new SpatialPyramidCentrist();
for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) {
File nextImage = iterator.next();
sc.extract(ImageIO.read(nextImage));
assertEquals(sc.getDistance(sc), 0d);
// System.out.println(nextImage.getName() + ": " + sc.getFeatureVector().length + " entries -> "+ Arrays.toString(sc.getFeatureVector()));
}
}
}