Access data from multiple render products at the same time

I am trying to access rgb images from multiple cameras at the same time. I am working on a image based RL project where the observation includes an image from an overhead camera. I see that that the replicator attach function supports a list of render products but only considers the first one. Is there any other way I can access camera data in parallel. Currently I am accessing the cameras serially which is not salable to more than 4 environments in my case. The stepping becomes too slow.

Hi there,

if you are using writers you can attach multiple render product, if you are using annotators they only support one render product atm. You can however create multiple annotators without issues:

see here an example of using multiple cameras: Frequently Used Python Snippets — isaacsim latest documentation

Hi, @ahaidu thanks for your response.
I am able to create multiple annotators but while accessing data I have to loop through each annotator to get its data which constrains the scalability. Is there a way to access data from multiple annotators at the same time?

I am using a semantic segmentation annotator in an RL environment with 9 robots one camera for each robot. As I am accessing the data in a loop every step, the stepping becomes too slow.

Thanks for your help.

Hi there, using annotators directly that is how it should work, you step once then you iterate the annotators to collect the data.

You ca optimize your writing I/O by using writers (BasicWriter or custom ones) by increasing the number of threads and queue size: I/O Optimization Guide — extensions latest documentation (nvidia.com)