public void setUp() { System.err.println("TestBufferInterpolation running..."); int[] drawableBands = {0, 1, 2}; try { f = RasterDataset.open(null, path); } catch (NotSupportedExtensionException e) { e.printStackTrace(); return; } catch (RasterDriverException e) { e.printStackTrace(); return; } ds = new BufferFactory(f); ds.setDrawableBands(drawableBands); try { ds.setAreaOfInterest(0, 0, f.getWidth(), f.getHeight()); } catch (InvalidSetViewException e1) { e1.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (RasterDriverException e) { e.printStackTrace(); } RasterBuffer buf = (RasterBuffer) ds.getRasterBuf(); try { IBuffer b1 = buf.getAdjustedWindow(size, size, BufferInterpolation.INTERPOLATION_NearestNeighbour); convertBufferToTif(fileNeighbour, f.getAffineTransform(), b1); b1 = buf.getAdjustedWindow(size, size, BufferInterpolation.INTERPOLATION_Bilinear); convertBufferToTif(fileBilinear, f.getAffineTransform(), b1); b1 = buf.getAdjustedWindow(size, size, BufferInterpolation.INTERPOLATION_InverseDistance); convertBufferToTif(fileInverseDistance, f.getAffineTransform(), b1); b1 = buf.getAdjustedWindow(size, size, BufferInterpolation.INTERPOLATION_BSpline); convertBufferToTif(fileBSpline, f.getAffineTransform(), b1); b1 = buf.getAdjustedWindow(size, size, BufferInterpolation.INTERPOLATION_BicubicSpline); convertBufferToTif(fileBicubicSpline, f.getAffineTransform(), b1); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (RasterDriverException e) { e.printStackTrace(); } }
public void testStack() { int[] drawableBands = {0, 1, 2}; try { f = RasterDataset.open(null, path); } catch (NotSupportedExtensionException e) { e.printStackTrace(); return; } catch (RasterDriverException e) { e.printStackTrace(); return; } ds = new BufferFactory(f); ds.setDrawableBands(drawableBands); try { ds.setAreaOfInterest(645817.0, 4923851.0, 40, 40); dataTest1(); } catch (RasterDriverException e) { e.printStackTrace(); } catch (InvalidSetViewException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } // print(); try { ds.setAreaOfInterest(645829.8, 4923840.4, 2, 2); dataTest2(); } catch (RasterDriverException e) { e.printStackTrace(); } catch (InvalidSetViewException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } // print(); }
private void dataTest2() throws InterruptedException { IBuffer raster = ds.getRasterBuf(); // Upper Left assertEquals((int) (raster.getElemByte(0, 0, 0) & 0xff), 64); assertEquals((int) (raster.getElemByte(0, 0, 1) & 0xff), 81); assertEquals((int) (raster.getElemByte(0, 0, 2) & 0xff), 39); // Upper Right assertEquals((int) (raster.getElemByte(0, 1, 0) & 0xff), 64); assertEquals((int) (raster.getElemByte(0, 1, 1) & 0xff), 81); assertEquals((int) (raster.getElemByte(0, 1, 2) & 0xff), 39); // Lower Left assertEquals((int) (raster.getElemByte(1, 0, 0) & 0xff), 64); assertEquals((int) (raster.getElemByte(1, 0, 1) & 0xff), 81); assertEquals((int) (raster.getElemByte(1, 0, 2) & 0xff), 39); // Lower Right assertEquals((int) (raster.getElemByte(1, 1, 0) & 0xff), 64); assertEquals((int) (raster.getElemByte(1, 1, 1) & 0xff), 81); assertEquals((int) (raster.getElemByte(1, 1, 2) & 0xff), 39); }
/** * Constructs a new VecBuffer with the specified vector size, number of vectors, and buffer * factory. * * @param coordsPerVec the number of coordinates per logical vector. * @param size the number of vectors. * @param factory the factory used to a backing BufferWrapper of the appropriate size. * @throws IllegalArgumentException if coordsPerElem is 0 or negative, if size is negative, or if * the factory is null. */ public VecBuffer(int coordsPerVec, int size, BufferFactory factory) { if (coordsPerVec < 1) { String message = Logging.getMessage("generic.ArgumentOutOfRange", "coordsPerVec < 1"); Logging.logger().severe(message); throw new IllegalArgumentException(message); } if (size < 0) { String message = Logging.getMessage("generic.SizeOutOfRange", size); Logging.logger().severe(message); throw new IllegalArgumentException(message); } if (factory == null) { String message = Logging.getMessage("nullValue.FactoryIsNull"); Logging.logger().severe(message); throw new IllegalArgumentException(message); } this.coordsPerVec = coordsPerVec; this.buffer = factory.newBuffer(coordsPerVec * size); }
private void dataTest1() throws InterruptedException { IBuffer raster = ds.getRasterBuf(); // Upper Left assertEquals((int) (raster.getElemByte(0, 0, 0) & 0xff), 14); assertEquals((int) (raster.getElemByte(0, 0, 1) & 0xff), 14); assertEquals((int) (raster.getElemByte(0, 0, 2) & 0xff), 0); // Upper Right assertEquals((int) (raster.getElemByte(0, 24, 0) & 0xff), 68); assertEquals((int) (raster.getElemByte(0, 24, 1) & 0xff), 90); assertEquals((int) (raster.getElemByte(0, 24, 2) & 0xff), 52); // Lower Left assertEquals((int) (raster.getElemByte(23, 0, 0) & 0xff), 129); assertEquals((int) (raster.getElemByte(23, 0, 1) & 0xff), 122); assertEquals((int) (raster.getElemByte(23, 0, 2) & 0xff), 106); // Lower Right assertEquals((int) (raster.getElemByte(23, 24, 0) & 0xff), 145); assertEquals((int) (raster.getElemByte(23, 24, 1) & 0xff), 140); assertEquals((int) (raster.getElemByte(23, 24, 2) & 0xff), 134); assertEquals((int) (raster.getElemByte(6, 6, 0) & 0xff), 21); assertEquals((int) (raster.getElemByte(6, 6, 1) & 0xff), 37); assertEquals((int) (raster.getElemByte(6, 6, 2) & 0xff), 10); assertEquals((int) (raster.getElemByte(6, 23, 0) & 0xff), 91); assertEquals((int) (raster.getElemByte(6, 23, 1) & 0xff), 105); assertEquals((int) (raster.getElemByte(6, 23, 2) & 0xff), 92); assertEquals((int) (raster.getElemByte(23, 6, 0) & 0xff), 153); assertEquals((int) (raster.getElemByte(23, 6, 1) & 0xff), 133); assertEquals((int) (raster.getElemByte(23, 6, 2) & 0xff), 122); assertEquals((int) (raster.getElemByte(9, 14, 0) & 0xff), 63); assertEquals((int) (raster.getElemByte(9, 14, 1) & 0xff), 69); assertEquals((int) (raster.getElemByte(9, 14, 2) & 0xff), 55); assertEquals((int) (raster.getElemByte(6, 13, 0) & 0xff), 70); assertEquals((int) (raster.getElemByte(6, 13, 1) & 0xff), 78); assertEquals((int) (raster.getElemByte(6, 13, 2) & 0xff), 55); }
/** * Compara dos ficheros raster * * @param f1 * @param f2 * @throws InterruptedException */ private void compareResult(String f1, String f2) throws InterruptedException { int[] drawableBands = {0, 1, 2}; RasterDataset d1 = null; RasterDataset d2 = null; try { d1 = RasterDataset.open(null, f1); d2 = RasterDataset.open(null, f2); } catch (NotSupportedExtensionException e) { e.printStackTrace(); return; } catch (RasterDriverException e) { e.printStackTrace(); return; } BufferFactory ds = new BufferFactory(d1); ds.setDrawableBands(drawableBands); try { ds.setAreaOfInterest(0, 0, d1.getWidth(), d1.getHeight()); } catch (InvalidSetViewException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (RasterDriverException e) { e.printStackTrace(); } IBuffer b1 = ds.getRasterBuf(); ds = new BufferFactory(d2); ds.setDrawableBands(drawableBands); try { ds.setAreaOfInterest(0, 0, d1.getWidth(), d1.getHeight()); } catch (InvalidSetViewException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (RasterDriverException e) { e.printStackTrace(); } IBuffer b2 = ds.getRasterBuf(); for (int k = 0; k < b1.getBandCount(); k++) { for (int i = 0; i < b1.getHeight(); i++) { for (int j = 0; j < b1.getWidth(); j++) { switch (b1.getDataType()) { case IBuffer.TYPE_BYTE: assertEquals(b1.getElemByte(i, j, k), b2.getElemByte(i, j, k)); break; case IBuffer.TYPE_SHORT: assertEquals(b1.getElemShort(i, j, k), b2.getElemShort(i, j, k)); break; case IBuffer.TYPE_INT: assertEquals(b1.getElemInt(i, j, k), b2.getElemInt(i, j, k)); break; case IBuffer.TYPE_FLOAT: assertEquals((int) b1.getElemFloat(i, j, k), (int) b2.getElemFloat(i, j, k)); break; case IBuffer.TYPE_DOUBLE: assertEquals((int) b1.getElemDouble(i, j, k), (int) b2.getElemDouble(i, j, k)); break; } } } } }
public Ssend(String args[]) throws Exception { /* * args[0]=0 * args[1]=http://148.197.150.3:15000/mpjdev.conf * args[2]=mxdev */ int DATA_SIZE = 2; Object[] source = new Object[5]; // xdev.Device device = xdev.Device.newInstance("mxdev"); xdev.Device device = MPJDev.init(new String[] {"", "", "mxdev"}); ProcessID[] ids = device.init(args); int sendOverhead = device.getSendOverhead(); int recvOverhead = device.getRecvOverhead(); int intArray[] = new int[DATA_SIZE]; int intReadArray[] = new int[DATA_SIZE]; for (int i = 0; i < intArray.length; i++) { intArray[i] = i + 1; intReadArray[i] = 3; } Vector vector1 = null; Vector vector = new Vector(); for (int i = 0; i < 10; i++) { vector.add(i + ""); } Object[] objArray = new Object[5]; source[2] = null; source[3] = null; source[4] = null; if (Integer.parseInt(args[0]) == 0) { source[0] = vector; source[1] = vector; RawBuffer rawBuffer = BufferFactory.create(100); mpjbuf.Buffer sbuf = new mpjbuf.Buffer(rawBuffer, sendOverhead, sendOverhead + 100); // simple case .. sbuf.putSectionHeader(Type.INT); sbuf.write(intArray, 0, intArray.length); sbuf.commit(); device.ssend(sbuf, ids[1], 10, 10); sbuf.clear(); // Java object case .. sbuf.putSectionHeader(Type.OBJECT); sbuf.write(source, 0, 1); sbuf.commit(); device.ssend(sbuf, ids[1], 11, 11); sbuf.clear(); // ANY_TAG case .. sbuf.putSectionHeader(Type.OBJECT); sbuf.write(source, 0, 1); sbuf.commit(); device.isend(sbuf, ids[1], 13, 13); // request.iwait(); sbuf.clear(); // ANY_SRC case sbuf.putSectionHeader(Type.OBJECT); sbuf.write(source, 0, 1); sbuf.commit(); device.ssend(sbuf, ids[1], 12, 12); // request.iwait(); sbuf.clear(); // ANY_TAG and ANY_SRC case ... sbuf.putSectionHeader(Type.OBJECT); sbuf.write(source, 0, 1); sbuf.commit(); device.ssend(sbuf, ids[1], 14, 14); // request.iwait(); sbuf.clear(); // .. .. BufferFactory.destroy(rawBuffer); } else if (Integer.parseInt(args[0]) == 1) { source[0] = null; source[1] = null; RawBuffer rawBuffer = BufferFactory.create(100); mpjbuf.Buffer rbuf = new mpjbuf.Buffer(rawBuffer, recvOverhead, recvOverhead + 100); mpjdev.Status status = new mpjdev.Status(); Type sectionHeader = null; int sectionSize; // simple case .. status = device.recv(rbuf, ids[0], 10, 10); System.out.println("status.srcID " + status.srcID); System.out.println("status.tag " + status.tag); rbuf.commit(); sectionHeader = rbuf.getSectionHeader(); sectionSize = rbuf.getSectionSize(); rbuf.read(intReadArray, 0, intArray.length); rbuf.clear(); if (Arrays.equals(intArray, intReadArray)) { System.out.println("\n#################" + "\n <<<<PASSED>>>> " + "\n################"); } else { System.out.println("\n#################" + "\n <<<<FAILED>>>> " + "\n################"); } // Java object case .. status = device.recv(rbuf, ids[0], 11, 11); System.out.println("status.srcID " + status.srcID); System.out.println("status.tag " + status.tag); rbuf.commit(); rbuf.getSectionHeader(); sectionSize = rbuf.getSectionSize(); // System.out.println("sectionSize "+sectionSize); rbuf.read(source, 0, 1); vector1 = (java.util.Vector) source[0]; if (vector1.equals(vector)) { System.out.println("Object case passed"); } else { System.out.println("Object case failed"); } // .. .. mpjdev.Status status3 = new mpjdev.Status(); status3 = device.recv(rbuf, ids[0], Device.ANY_TAG, 13); // mpjdev.Status ret_status3 = request.iwait(); System.out.println("status.srcID " + status3.srcID); System.out.println("status.tag " + status3.tag); rbuf.commit(); rbuf.getSectionHeader(); sectionSize = rbuf.getSectionSize(); rbuf.read(source, 0, 1); vector1 = (java.util.Vector) source[0]; if (vector1.equals(vector)) { System.out.println("**************************"); System.out.println("Object case passed ANY_TAG "); System.out.println("**************************"); } else { System.out.println("Object case failed"); } mpjdev.Status status2 = new mpjdev.Status(); status2 = device.recv(rbuf, Device.ANY_SRC, 12, 12); // mpjdev.Status ret_status2 = request.iwait(); System.out.println("status.srcID " + status2.srcID); System.out.println("status.tag " + status2.tag); rbuf.commit(); rbuf.getSectionHeader(); sectionSize = rbuf.getSectionSize(); rbuf.read(source, 0, 1); vector1 = (java.util.Vector) source[0]; if (vector1.equals(vector)) { System.out.println("**************************"); System.out.println("Object case passed ANY_SRC "); System.out.println("**************************"); } else { System.out.println("Object case failed"); } mpjdev.Status status4 = new mpjdev.Status(); status4 = device.recv(rbuf, Device.ANY_SRC, Device.ANY_TAG, 14); // mpjdev.Status ret_status4 = request.iwait(); System.out.println("status.srcID " + status4.srcID); System.out.println("status.tag " + status4.tag); rbuf.commit(); rbuf.getSectionHeader(); sectionSize = rbuf.getSectionSize(); rbuf.read(source, 0, 1); vector1 = (java.util.Vector) source[0]; if (vector1.equals(vector)) { System.out.println("**************************"); System.out.println("Object case passed ANY_TAG && ANY_SRC "); System.out.println("**************************"); } else { System.out.println("Object case failed"); } // .. .. BufferFactory.destroy(rawBuffer); } device.finish(); }