CameraView class has wrong width height order in tile rendering

IsaacSim
5.1.0

Topic Description

Detailed Description

In this file source/extensions/isaacsim.sensors.camera/isaacsim/sensors/camera/camera_view.py

The CameraView class has a member called camera_resolution , and in the doc of the arguments, it’s a tuple of int and with order width height.

But in the get_data function, it uses the height width order :

height, width = self.camera_resolution

And at the calling of the omniverse layer:


    def _setup_tiled_sensor(self):
        """Set up the tiled sensor, compute resolutions, attach annotators, and initiate the render process."""
        self._clean_up_tiled_sensor()

        self.tiled_resolution = self._get_tiled_resolution(len(self.prims), self.camera_resolution)
        self._tiled_render_product = rep.create.render_product_tiled(
            cameras=self.prim_paths,
            tile_resolution=self.camera_resolution,
            name=f"{self.name}_tiled_sensor",
        )

The function rep.create.render_product_tiled is not documented in the omniverse doc. But i found the doc for omni.replicator.core.create.render_product

They use width-height order.

So as long as you use a non-square image size, the program crashes.

And I also wonder do you have any plan to open source the omni layer ? It’s very inconvenient to debug code with a close-sourced engine.

An internal ticket has been created to track this issue with the CameraView resolution ordering and the resulting crash for non-square resolutions.​

Thank you for the clear report and for cross-referencing the Replicator API documentation; the team will use this ticket to investigate and address the inconsistency between the documented width–height tuple and the current height–width usage in get_data and tiled rendering.