/** * */ package fr.unistra.pelican; import static org.junit.Assert.assertEquals; import org.junit.Test; /** * @author Ben * */ public class ImageTest { private int xdim=2; private int ydim=3; private int zdim=4; private int tdim=5; private int bdim=6; private int bxyztToLinear(int b,int x, int y, int z, int t) { return b + bdim * (x + xdim * (y + ydim * (z + t * zdim))); } @Test public void imageDoubleReadTest() { DoubleImage im = new DoubleImage(xdim,ydim,zdim,tdim,bdim); for(int i=0;i<im.size();i++) im.setPixelDouble(i, i); assertEquals(im.getPixelDouble(1,1,1,1,1), bxyztToLinear(1,1,1,1,1),0.000001); assertEquals(im.getPixelXYZTBDouble(1,1,1,1,1), bxyztToLinear(1,1,1,1,1),0.000001); assertEquals(im.getPixelXYZTDouble(1,1,1,1), bxyztToLinear(0,1,1,1,1),0.000001); assertEquals(im.getPixelXYZDouble(1,1,1), bxyztToLinear(0,1,1,1,0),0.000001); assertEquals(im.getPixelXYDouble(1,1), bxyztToLinear(0,1,1,0,0),0.000001); assertEquals(im.getPixelXYBDouble(1,1,1), bxyztToLinear(1,1,1,0,0),0.000001); assertEquals(im.getPixelXYTDouble(1,1,1), bxyztToLinear(0,1,1,0,1),0.000001); assertEquals(im.getPixelXYZBDouble(1,1,1,1), bxyztToLinear(1,1,1,1,0),0.000001); assertEquals(im.getPixelXYTBDouble(1,1,1,1), bxyztToLinear(1,1,1,0,1),0.000001); } @Test public void imageDoubleWriteTest() { DoubleImage im = new DoubleImage(xdim,ydim,zdim,tdim,bdim); double val=1.0; im.setPixelDouble(1,1,1,1,1,val); im.setPixelXYZTBDouble(1,1,1,1,1,val); im.setPixelXYZTDouble(1,1,1,1,val); im.setPixelXYZDouble(1,1,1,val); im.setPixelXYDouble(1,1,val); im.setPixelXYBDouble(1,1,1,val); im.setPixelXYTDouble(1,1,1,val); im.setPixelXYZBDouble(1,1,1,1,val); im.setPixelXYTBDouble(1,1,1,1,val); assertEquals(im.getPixelDouble(1,1,1,1,1), val,0.000001); assertEquals(im.getPixelXYZTBDouble(1,1,1,1,1), val,0.000001); assertEquals(im.getPixelXYZTDouble(1,1,1,1), val,0.000001); assertEquals(im.getPixelXYZDouble(1,1,1), val,0.000001); assertEquals(im.getPixelXYDouble(1,1), val,0.000001); assertEquals(im.getPixelXYBDouble(1,1,1), val,0.000001); assertEquals(im.getPixelXYTDouble(1,1,1), val,0.000001); assertEquals(im.getPixelXYZBDouble(1,1,1,1), val,0.000001); assertEquals(im.getPixelXYTBDouble(1,1,1,1), val,0.000001); } @Test public void imageBooleanReadTest() { BooleanImage im = new BooleanImage(xdim,ydim,zdim,tdim,bdim); for(int i=0;i<im.size();i++) im.setPixelBoolean(i, i%2 == 0); // et pour quoi pas ? assertEquals(im.getPixelBoolean(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)%2 == 0); assertEquals(im.getPixelXYZTBBoolean(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)%2 == 0); assertEquals(im.getPixelXYZTBoolean(1,1,1,1), bxyztToLinear(0,1,1,1,1)%2 == 0); assertEquals(im.getPixelXYZBoolean(1,1,1), bxyztToLinear(0,1,1,1,0)%2 == 0); assertEquals(im.getPixelXYBoolean(1,1), bxyztToLinear(0,1,1,0,0)%2 == 0); assertEquals(im.getPixelXYBBoolean(1,1,1), bxyztToLinear(1,1,1,0,0)%2 == 0); assertEquals(im.getPixelXYTBoolean(1,1,1), bxyztToLinear(0,1,1,0,1)%2 == 0); assertEquals(im.getPixelXYZBBoolean(1,1,1,1), bxyztToLinear(1,1,1,1,0)%2 == 0); assertEquals(im.getPixelXYTBBoolean(1,1,1,1), bxyztToLinear(1,1,1,0,1)%2 == 0); } @Test public void imageBooleanWriteTest() { BooleanImage im = new BooleanImage(xdim,ydim,zdim,tdim,bdim); im.fill(false); boolean val=true; im.setPixelBoolean(1,1,1,1,1,val); im.setPixelXYZTBBoolean(1,1,1,1,1,val); im.setPixelXYZTBoolean(1,1,1,1,val); im.setPixelXYZBoolean(1,1,1,val); im.setPixelXYBoolean(1,1,val); im.setPixelXYBBoolean(1,1,1,val); im.setPixelXYTBoolean(1,1,1,val); im.setPixelXYZBBoolean(1,1,1,1,val); im.setPixelXYTBBoolean(1,1,1,1,val); assertEquals(im.getPixelBoolean(1,1,1,1,1), val); assertEquals(im.getPixelXYZTBBoolean(1,1,1,1,1), val); assertEquals(im.getPixelXYZTBoolean(1,1,1,1), val); assertEquals(im.getPixelXYZBoolean(1,1,1), val); assertEquals(im.getPixelXYBoolean(1,1), val); assertEquals(im.getPixelXYBBoolean(1,1,1), val); assertEquals(im.getPixelXYTBoolean(1,1,1), val); assertEquals(im.getPixelXYZBBoolean(1,1,1,1), val); assertEquals(im.getPixelXYTBBoolean(1,1,1,1), val); } @Test public void imageByteReadTest() { ByteImage im = new ByteImage(xdim,ydim,zdim,tdim,bdim); for(int i=0;i<im.size();i++) im.setPixelByte(i, i); // et pour quoi pas ? assertEquals(im.getPixelByte(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)); assertEquals(im.getPixelXYZTBByte(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)); assertEquals(im.getPixelXYZTByte(1,1,1,1), bxyztToLinear(0,1,1,1,1)); assertEquals(im.getPixelXYZByte(1,1,1), bxyztToLinear(0,1,1,1,0)); assertEquals(im.getPixelXYByte(1,1), bxyztToLinear(0,1,1,0,0)); assertEquals(im.getPixelXYBByte(1,1,1), bxyztToLinear(1,1,1,0,0)); assertEquals(im.getPixelXYTByte(1,1,1), bxyztToLinear(0,1,1,0,1)); assertEquals(im.getPixelXYZBByte(1,1,1,1), bxyztToLinear(1,1,1,1,0)); assertEquals(im.getPixelXYTBByte(1,1,1,1), bxyztToLinear(1,1,1,0,1)); } @Test public void imageByteWriteTest() { ByteImage im = new ByteImage(xdim,ydim,zdim,tdim,bdim); im.fill(0); byte val=2; im.setPixelByte(1,1,1,1,1,val); im.setPixelXYZTBByte(1,1,1,1,1,val); im.setPixelXYZTByte(1,1,1,1,val); im.setPixelXYZByte(1,1,1,val); im.setPixelXYByte(1,1,val); im.setPixelXYBByte(1,1,1,val); im.setPixelXYTByte(1,1,1,val); im.setPixelXYZBByte(1,1,1,1,val); im.setPixelXYTBByte(1,1,1,1,val); assertEquals(im.getPixelByte(1,1,1,1,1), val); assertEquals(im.getPixelXYZTBByte(1,1,1,1,1), val); assertEquals(im.getPixelXYZTByte(1,1,1,1), val); assertEquals(im.getPixelXYZByte(1,1,1), val); assertEquals(im.getPixelXYByte(1,1), val); assertEquals(im.getPixelXYBByte(1,1,1), val); assertEquals(im.getPixelXYTByte(1,1,1), val); assertEquals(im.getPixelXYZBByte(1,1,1,1), val); assertEquals(im.getPixelXYTBByte(1,1,1,1), val); } @Test public void imageIntReadTest() { IntegerImage im = new IntegerImage(xdim,ydim,zdim,tdim,bdim); for(int i=0;i<im.size();i++) im.setPixelInt(i, i); // et pour quoi pas ? assertEquals(im.getPixelInt(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)); assertEquals(im.getPixelXYZTBInt(1,1,1,1,1), bxyztToLinear(1,1,1,1,1)); assertEquals(im.getPixelXYZTInt(1,1,1,1), bxyztToLinear(0,1,1,1,1)); assertEquals(im.getPixelXYZInt(1,1,1), bxyztToLinear(0,1,1,1,0)); assertEquals(im.getPixelXYInt(1,1), bxyztToLinear(0,1,1,0,0)); assertEquals(im.getPixelXYBInt(1,1,1), bxyztToLinear(1,1,1,0,0)); assertEquals(im.getPixelXYTInt(1,1,1), bxyztToLinear(0,1,1,0,1)); assertEquals(im.getPixelXYZBInt(1,1,1,1), bxyztToLinear(1,1,1,1,0)); assertEquals(im.getPixelXYTBInt(1,1,1,1), bxyztToLinear(1,1,1,0,1)); } @Test public void imageIntWriteTest() { IntegerImage im = new IntegerImage(xdim,ydim,zdim,tdim,bdim); im.fill(0); int val=2; im.setPixelInt(1,1,1,1,1,val); im.setPixelXYZTBInt(1,1,1,1,1,val); im.setPixelXYZTInt(1,1,1,1,val); im.setPixelXYZInt(1,1,1,val); im.setPixelXYInt(1,1,val); im.setPixelXYBInt(1,1,1,val); im.setPixelXYTInt(1,1,1,val); im.setPixelXYZBInt(1,1,1,1,val); im.setPixelXYTBInt(1,1,1,1,val); assertEquals(im.getPixelInt(1,1,1,1,1), val); assertEquals(im.getPixelXYZTBInt(1,1,1,1,1), val); assertEquals(im.getPixelXYZTInt(1,1,1,1), val); assertEquals(im.getPixelXYZInt(1,1,1), val); assertEquals(im.getPixelXYInt(1,1), val); assertEquals(im.getPixelXYBInt(1,1,1), val); assertEquals(im.getPixelXYTInt(1,1,1), val); assertEquals(im.getPixelXYZBInt(1,1,1,1), val); assertEquals(im.getPixelXYTBInt(1,1,1,1), val); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } }