/** Populates plane by reference using {@link PlanarAccess} interface. */ @Override @SuppressWarnings("unchecked") public <T extends RealType<T>> void populatePlane(final Reader reader, final int imageIndex, final int planeIndex, final byte[] plane, final ImgPlus<T> planarImg, final SCIFIOConfig config) { final Metadata m = reader.getMetadata(); @SuppressWarnings("rawtypes") final PlanarAccess planarAccess = imgUtilService.getPlanarAccess(planarImg); final int pixelType = m.get(imageIndex).getPixelType(); final int bpp = FormatTools.getBytesPerPixel(pixelType); final boolean fp = FormatTools.isFloatingPoint(pixelType); final boolean little = m.get(imageIndex).isLittleEndian(); Object planeArray = Bytes.makeArray(plane, bpp, fp, little); if (planeArray == plane) { // array was returned by reference; make a copy final byte[] planeCopy = new byte[plane.length]; System.arraycopy(plane, 0, planeCopy, 0, plane.length); planeArray = planeCopy; } planarAccess.setPlane(planeIndex, imgUtilService.makeArray(planeArray)); }
/** Populates plane by reference using {@link PlanarAccess} interface. */ @Override @SuppressWarnings("unchecked") public <T extends RealType<T>> void populatePlane(final Reader reader, final int imageIndex, final int planeIndex, final byte[] plane, final ImgPlus<T> planarImg, final SCIFIOConfig config) { final Metadata m = reader.getMetadata(); @SuppressWarnings("rawtypes") final PlanarAccess planarAccess = imgUtilService.getPlanarAccess(planarImg); final int pixelType = m.get(imageIndex).getPixelType(); final int bpp = FormatTools.getBytesPerPixel(pixelType); final boolean fp = FormatTools.isFloatingPoint(pixelType); final boolean little = m.get(imageIndex).isLittleEndian(); Object planeArray = Bytes.makeArray(plane, bpp, fp, little); if (planeArray == plane) { // array was returned by reference; make a copy final byte[] planeCopy = new byte[plane.length]; System.arraycopy(plane, 0, planeCopy, 0, plane.length); planeArray = planeCopy; } planarAccess.setPlane(planeIndex, imgUtilService.makeArray(planeArray)); }
final PlanarAccess<?> planarAccess = utils().getPlanarAccess(imgPlus); @SuppressWarnings("rawtypes") final RealType inputType =
final PlanarAccess<?> planarAccess = utils().getPlanarAccess(imgPlus); @SuppressWarnings("rawtypes") final RealType inputType =