Home / Function/ bitmapToFloatBuffer() — pytorch Function Reference

bitmapToFloatBuffer() — pytorch Function Reference

Architecture documentation for the bitmapToFloatBuffer() function in TensorImageUtils.java from the pytorch codebase.

Entity Profile

Dependency Diagram

graph TD
  146c6cff_527c_f43e_6edc_682205be9eff["bitmapToFloatBuffer()"]
  075236f7_07e3_50da_aa45_e689eb75aec6["bitmapToFloat32Tensor()"]
  075236f7_07e3_50da_aa45_e689eb75aec6 -->|calls| 146c6cff_527c_f43e_6edc_682205be9eff
  d8ee461f_74d8_b8d8_6126_45ec37c0d1e1["checkOutBufferCapacity()"]
  146c6cff_527c_f43e_6edc_682205be9eff -->|calls| d8ee461f_74d8_b8d8_6126_45ec37c0d1e1
  05a4bac3_dc7f_c9e5_0d8d_97a63304a618["checkNormMeanArg()"]
  146c6cff_527c_f43e_6edc_682205be9eff -->|calls| 05a4bac3_dc7f_c9e5_0d8d_97a63304a618
  e79553c3_aa4f_f1b9_50e7_c07930a30ab1["checkNormStdArg()"]
  146c6cff_527c_f43e_6edc_682205be9eff -->|calls| e79553c3_aa4f_f1b9_50e7_c07930a30ab1
  style 146c6cff_527c_f43e_6edc_682205be9eff fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

android/pytorch_android_torchvision/src/main/java/org/pytorch/torchvision/TensorImageUtils.java lines 70–114

  public static void bitmapToFloatBuffer(
      final Bitmap bitmap,
      final int x,
      final int y,
      final int width,
      final int height,
      final float[] normMeanRGB,
      final float[] normStdRGB,
      final FloatBuffer outBuffer,
      final int outBufferOffset,
      final MemoryFormat memoryFormat) {
    checkOutBufferCapacity(outBuffer, outBufferOffset, width, height);
    checkNormMeanArg(normMeanRGB);
    checkNormStdArg(normStdRGB);
    if (memoryFormat != MemoryFormat.CONTIGUOUS && memoryFormat != MemoryFormat.CHANNELS_LAST) {
      throw new IllegalArgumentException("Unsupported memory format " + memoryFormat);
    }

    final int pixelsCount = height * width;
    final int[] pixels = new int[pixelsCount];
    bitmap.getPixels(pixels, 0, width, x, y, width, height);
    if (MemoryFormat.CONTIGUOUS == memoryFormat) {
      final int offset_g = pixelsCount;
      final int offset_b = 2 * pixelsCount;
      for (int i = 0; i < pixelsCount; i++) {
        final int c = pixels[i];
        float r = ((c >> 16) & 0xff) / 255.0f;
        float g = ((c >> 8) & 0xff) / 255.0f;
        float b = ((c) & 0xff) / 255.0f;
        outBuffer.put(outBufferOffset + i, (r - normMeanRGB[0]) / normStdRGB[0]);
        outBuffer.put(outBufferOffset + offset_g + i, (g - normMeanRGB[1]) / normStdRGB[1]);
        outBuffer.put(outBufferOffset + offset_b + i, (b - normMeanRGB[2]) / normStdRGB[2]);
      }
    } else {
      for (int i = 0; i < pixelsCount; i++) {
        final int c = pixels[i];
        float r = ((c >> 16) & 0xff) / 255.0f;
        float g = ((c >> 8) & 0xff) / 255.0f;
        float b = ((c) & 0xff) / 255.0f;
        outBuffer.put(outBufferOffset + 3 * i + 0, (r - normMeanRGB[0]) / normStdRGB[0]);
        outBuffer.put(outBufferOffset + 3 * i + 1, (g - normMeanRGB[1]) / normStdRGB[1]);
        outBuffer.put(outBufferOffset + 3 * i + 2, (b - normMeanRGB[2]) / normStdRGB[2]);
      }
    }
  }

Subdomains

Frequently Asked Questions

What does bitmapToFloatBuffer() do?
bitmapToFloatBuffer() is a function in the pytorch codebase.
What does bitmapToFloatBuffer() call?
bitmapToFloatBuffer() calls 3 function(s): checkNormMeanArg, checkNormStdArg, checkOutBufferCapacity.
What calls bitmapToFloatBuffer()?
bitmapToFloatBuffer() is called by 1 function(s): bitmapToFloat32Tensor.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free