At present I have been using Isaac’s synthetic data helper to generate ground truth data. I would also like to capture the normal maps of objects in the scene. I got the impression this would be supported due to the preview available in the GUI. It looks like the API has been setup to do this but it is missing from the configuration dictionary as a valid option. So far I have dug a little deeper and tried to call it directly using:
After some more digging I found I can modify the SyntheticDataHelperclass to allow get_groundtruth to accept "normals" as a valid key. To do this I modified SyntheticDataHelper’s constructor in .local/share/ov/pkg/isaac_sim-2021.1.1/exts/omni.isaac.synthetic_utils/omni/isaac/synthetic_utils/scripts/sytheticdata.py
by adding this pair to the dictionary self.sensor_helpers:
"normals": sensors.get_normals,
And this pair to the self.sensor_types dictionary:
"normals": self.sd.SensorType.Normal,
After doing this you will be able to add "normals" to your list of ground truth and SyntheticDataHelper will retrieve it for you along with the other requested types.
Instead of modifying source you can use this monkey patch for now: