From 3e99a5fcb98070b6794a50a788e7ffc74ba832de Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Mon, 2 Oct 2017 11:39:41 -0700 Subject: [PATCH] ImageFormat: Document units/coordinate system for DEPTH_POINT_CLOUD For camera devices, DEPTH_POINT_CLOUD coordinates are in meters and are in the camera's local coordinate system. Test: Built docs, manually verified output. Bug: 67308479 Change-Id: I028e13a2fb79688a7ce440f905fa82826fc38a03 --- graphics/java/android/graphics/ImageFormat.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/graphics/java/android/graphics/ImageFormat.java b/graphics/java/android/graphics/ImageFormat.java index e3527e359d62f..43fd2708ee3e2 100644 --- a/graphics/java/android/graphics/ImageFormat.java +++ b/graphics/java/android/graphics/ImageFormat.java @@ -658,6 +658,14 @@ public class ImageFormat { * float confidence = floatDepthBuffer.get(); * * + * For camera devices that support the + * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT DEPTH_OUTPUT} + * capability, DEPTH_POINT_CLOUD coordinates have units of meters, and the coordinate system is + * defined by the camera's pose transforms: + * {@link android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION} and + * {@link android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION}. That means the origin is + * the optical center of the camera device, and the positive Z axis points along the camera's optical axis, + * toward the scene. */ public static final int DEPTH_POINT_CLOUD = 0x101;