I am using a standalone application to record some synthetic data. In order receive the groundtruth, I use the “get_groundtruth” function from SyntheticDataHelper class.
For example:
Everytime, when the simulation is restarted, I realized that the instance_segmentation_array has different amount of pixels that are labeled 0. The label zero is not included in the output array given by get_groundtruth function. So I plotted the zero points whenever the simulation is restarted using this array and matplotlib.pyplot:
instance_copy = deepcopy(instance_segmentation_array)
instance_copy[instance_copy != 0] = 1 # so that non zero points are labeled as ones for visualization
plt.imshow(instance_copy)
plt.show()
Thank you for answering. I attached a code snippet with the issue.
The environment is a reference to: omniverse://localhost/NVIDIA/Assets/Isaac/2022.1/Isaac/Environments/Simple_Warehouse/warehouse_multiple_shelves.usd . A Carter robot is added to scene with an additional custom sensors setup: 3 Cameras and a Lidar at the same position, orientations vary.
I use a standalone application so that I can fuse the groundtruth provided by cameras with the point cloud provided by the Lidar. I wasn’t able to get the point cloud via replicator. Besides, I’d like to do the fusion online, if possible.
@rthaker - The issue persists with the newest release as well. I had not migrated my workspace to the newest version, that was the reason why.
For getting the point cloud you can use the pointcloud annotator. In the examples you would for example need to change: rep.AnnotatorRegistry.get_annotator("rgb") to rep.AnnotatorRegistry.get_annotator("pointcloud")