Pose-batch shape helpers for VIN candidate scorers.
VIN scorer inputs use :class:efm3d.aria.pose.PoseTW tensors with explicit candidate and batch axes. These helpers centralize the tolerated shorthand forms before model code computes relative poses, projection grids, or rollout candidate scores.
# vin.geometry.pose_batch { #aria_nbv.vin.geometry.pose_batch }`vin.geometry.pose_batch`Pose-batch shape helpers for VIN candidate scorers.VIN scorer inputs use :class:`efm3d.aria.pose.PoseTW` tensors with explicitcandidate and batch axes. These helpers centralize the tolerated shorthandforms before model code computes relative poses, projection grids, or rolloutcandidate scores.## Functions| Name | Description || ---| ---||[ensure_candidate_batch](#aria_nbv.vin.geometry.pose_batch.ensure_candidate_batch)| Ensure candidate camera poses are shaped as ``PoseTW["B N 12"]``. ||[ensure_pose_batch](#aria_nbv.vin.geometry.pose_batch.ensure_pose_batch)| Broadcast one pose tensor to the VIN batch size. |### ensure_candidate_batch { #aria_nbv.vin.geometry.pose_batch.ensure_candidate_batch }```pythonvin.geometry.pose_batch.ensure_candidate_batch(candidate_poses_world_cam)```Ensure candidate camera poses are shaped as ``PoseTW["B N 12"]``.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||---------------------------|-------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|------------|| candidate_poses_world_cam |[PoseBatchT](`aria_nbv.vin.geometry.pose_batch.PoseBatchT`)| Candidate camera poses ``T_w_c`` with shape ``PoseTW["N 12"]`` for one snippet or ``PoseTW["B N 12"]`` for a batch. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|-------------------------------------------------------------|----------------------------------------------|||[PoseBatchT](`aria_nbv.vin.geometry.pose_batch.PoseBatchT`)| Candidate poses with an explicit batch axis. |#### Raises {.doc-section .doc-section-raises}| Name | Type | Description ||--------|----------------------------|---------------------------------------------------------------|||[ValueError](`ValueError`)| If the pose tensor is neither ``(N, 12)`` nor ``(B, N, 12)``. |### ensure_pose_batch { #aria_nbv.vin.geometry.pose_batch.ensure_pose_batch }```pythonvin.geometry.pose_batch.ensure_pose_batch(pose, *, batch_size, name)```Broadcast one pose tensor to the VIN batch size.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------|-------------------------------------------------------------|-------------------------------------------------------------------------------------|------------|| pose |[PoseBatchT](`aria_nbv.vin.geometry.pose_batch.PoseBatchT`)| Pose tensor with shape ``PoseTW["12"]``, ``PoseTW["1 12"]``, or ``PoseTW["B 12"]``. | _required_ || batch_size |[int](`int`)| Required batch size ``B``. | _required_ || name |[str](`str`)| Human-readable input name used in validation errors. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|-------------------------------------------------------------|----------------------------------------|||[PoseBatchT](`aria_nbv.vin.geometry.pose_batch.PoseBatchT`)| ``pose`` shaped as ``PoseTW["B 12"]``. |#### Raises {.doc-section .doc-section-raises}| Name | Type | Description ||--------|----------------------------|-----------------------------------------------------------------------------|||[ValueError](`ValueError`)| If ``pose`` has an unsupported rank or a non-broadcastable batch dimension. |