4242)
4343from isaacsim .core .utils .render_product import get_resolution , set_camera_prim_path , set_resolution
4444from omni .isaac .IsaacSensorSchema import IsaacRtxLidarSensorAPI
45- from pxr import Sdf , Usd , UsdGeom , Vt
45+ from pxr import Sdf , Usd , UsdGeom , Vt , Gf
4646
4747# Attribute maps for lens distortion models
4848OPENCV_PINHOLE_ATTRIBUTE_MAP = ["k1" , "k2" , "p1" , "p2" , "k3" , "k4" , "k5" , "k6" , "s1" , "s2" , "s3" , "s4" ]
@@ -1884,21 +1884,29 @@ def _set_lens_distortion_properties(
18841884 ** kwargs ,
18851885 ) -> None :
18861886 """Sets lens distortion model parameters if camera prim is using lens distortion model."""
1887+ #https://docs.omniverse.nvidia.com/materials-and-rendering/latest/cameras.html#lens-calibration
18871888 self .prim .ApplyAPI (f"OmniLensDistortion{ distortion_model } API" )
1889+ print ('Applying lens distortion model:' , distortion_model )
18881890 self .prim .GetAttribute ("omni:lensdistortion:model" ).Set (distortion_model_attr )
18891891 for coefficient_name , coefficient_value in zip (coefficient_map or [], coefficients or []):
18901892 if coefficient_value is None :
18911893 continue
1894+ print (f"omni:lensdistortion:{ distortion_model_attr } :{ coefficient_name } " , coefficient_value )
18921895 self .prim .GetAttribute (f"omni:lensdistortion:{ distortion_model_attr } :{ coefficient_name } " ).Set (
18931896 coefficient_value
18941897 )
1898+ print ('Named coefficient:' , {coefficient_name : coefficient_value })
18951899 for attr_name , attr_value in kwargs .items ():
18961900 if attr_value is None :
18971901 continue
18981902 tokens = attr_name .split ("_" )
18991903 updated_attr_name = tokens [0 ]
19001904 for i in tokens [1 :]:
19011905 updated_attr_name += i .capitalize ()
1906+ if updated_attr_name == 'imageSize' :
1907+ attr_value = Gf .Vec2i (int (attr_value [0 ]), int (attr_value [1 ]))
1908+ print ('kwarg coefficient: ' , {updated_attr_name : attr_value })
1909+ print (f"omni:lensdistortion:{ distortion_model_attr } :{ updated_attr_name } " , attr_value )
19021910 self .prim .GetAttribute (f"omni:lensdistortion:{ distortion_model_attr } :{ updated_attr_name } " ).Set (attr_value )
19031911 return
19041912
@@ -2129,6 +2137,7 @@ def set_opencv_pinhole_properties(
21292137 fx : Optional [float ] = None ,
21302138 fy : Optional [float ] = None ,
21312139 pinhole : Optional [List [float ]] = None ,
2140+ imageSize : Optional [List [float ]] = None
21322141 ) -> None :
21332142 """
21342143 Applies OpenCV pinhole distortion model to camera prim, then sets distortion parameters.
@@ -2149,6 +2158,7 @@ def set_opencv_pinhole_properties(
21492158 cy = cy ,
21502159 fx = fx ,
21512160 fy = fy ,
2161+ imageSize = imageSize ,
21522162 )
21532163
21542164 def get_opencv_pinhole_properties (self ) -> Tuple [float , float , float , float , List ]:
0 commit comments