Sample points on a ray using inverse transform stratified sampling.
tfg.geometry.representation.ray.sample_inverse_transform_stratified_1d(
ray_org: TensorLike,
ray_dir: TensorLike,
z_values_init: TensorLike,
weights_init: TensorLike,
n_samples: int,
combine_z_values=True,
name: str = 'sample_inverse_transform_stratified_1d'
)
The rays are defined by their origin and direction. Along each ray, there are
M samples (provided as 1D distances from the ray origin) and the corresponding
weights (probabilities) that facilitate the inverse transform sampling.
Args |
ray_org
|
A tensor of shape [A1, ..., An, 3] ,
where the last dimension represents the 3D position of the ray origin.
|
ray_dir
|
A tensor of shape [A1, ..., An, 3] ,
where the last dimension represents the 3D direction of the ray.
|
z_values_init
|
A tensor of shape [A1, ..., An, M] ,
where the last dimension is the location of M points along the ray.
|
weights_init
|
A tensor of shape [A1, ..., An, M] ,
where the last dimension is the density of M points along the ray.
|
n_samples
|
A number M to sample on the ray.
|
combine_z_values
|
Wether to combine the new 1D samples with
the initial points.
|
name
|
A name for this op that defaults to "stratified_sampling".
|
Returns |
A tensor of shape [A1, ..., An, M, 3] indicating the M points on the ray
and a tensor of shape [A1, ..., An, M] for the Z values on the points.
|