### Question:
ReinterpretOpImage extends PointOpImage { private void rescaleSByte(UnpackedImageData sourcePixels, UnpackedImageData targetPixels, Rectangle targetRectangle) { final int sourceLineStride = sourcePixels.lineStride; final int sourcePixelStride = sourcePixels.pixelStride; final byte[] sourceData = sourcePixels.getByteData(0); final int targetLineStride = targetPixels.lineStride; final int targetPixelStride = targetPixels.pixelStride; final float[] targetData = targetPixels.getFloatData(0); final int w = targetRectangle.width; final int h = targetRectangle.height; int sourceLineOffset = sourcePixels.bandOffsets[0]; int targetLineOffset = targetPixels.bandOffsets[0]; if (scalingType == EXPONENTIAL) { for (int y = 0; y < h; y++) { int sourcePixelOffset = sourceLineOffset; sourceLineOffset += sourceLineStride; int targetPixelOffset = targetLineOffset; targetLineOffset += targetLineStride; for (int x = 0; x < w; x++) { final double v = sourceData[sourcePixelOffset]; targetData[targetPixelOffset] = (float) Math.exp(factor * v + offset); sourcePixelOffset += sourcePixelStride; targetPixelOffset += targetPixelStride; } } } else { for (int y = 0; y < h; y++) { int sourcePixelOffset = sourceLineOffset; sourceLineOffset += sourceLineStride; int targetPixelOffset = targetLineOffset; targetLineOffset += targetLineStride; for (int x = 0; x < w; x++) { final double v = sourceData[sourcePixelOffset]; targetData[targetPixelOffset] = (float) (factor * v + offset); sourcePixelOffset += sourcePixelStride; targetPixelOffset += targetPixelStride; } } } } private  ReinterpretOpImage(RenderedImage source, ImageLayout imageLayout, Map<Object, Object> config,
                               double factor, double offset, ScalingType scalingType,
                               InterpretationType interpretationType);   }### Answer:
@Test public void testRescaleSByte() { final RenderedImage source = createSourceImage(new Byte[]{-1}); final RenderedImage target = ReinterpretOpImage.create(source, 11.0, 1.0, LINEAR, INTERPRET_BYTE_SIGNED, null); assertTrue(DataBuffer.TYPE_FLOAT == target.getSampleModel().getDataType()); final Raster targetData = target.getData(); assertEquals(-10.0, targetData.getSampleFloat(0, 0, 0), 0.0); }