Hi there,
UPDATE:
It is currently not possible to get amodal and occlusion segementation mask, it is however something that is actively investigated to provide it as default annotators.
As a current workaround you can change the visibility of prims using the python isaac or usd api:
- using
isaac.core.utils
:
from omni.isaac.core.utils import prims
cube1_prim = prims.create_prim(prim_path="/World/Cube1", prim_type="Cube", position=(0., 0., 2.))
cube2_prim = prims.create_prim(prim_path="/World/Cube2", prim_type="Cube", position=(0., 0., -1.))
cube2_ref = prims.get_prim_at_path("/World/Cube2")
prims.set_prim_visibility(cube1_prim, False)
prims.set_prim_visibility(cube2_ref, False)
- using USD:
from pxr import UsdGeom
stage = omni.usd.get_context().get_stage()
cube3_prim = stage.DefinePrim("/World/Cube3", "Cube")
cube4_prim = stage.DefinePrim("/World/Cube4", "Cube")
cube4_ref = stage.GetPrimAtPath("/World/Cube4")
imageable3 = UsdGeom.Imageable(cube3_prim)
imageable3.MakeInvisible()
# imageable3.MakeVisible()
imageable4 = UsdGeom.Imageable(cube4_prim)
imageable4.MakeInvisible()
# imageable4.MakeVisible()
Cheers,
Andrei