Class Diagram Architecture#
Software Class Architecture#
classDiagram
ScenariosManager o-- IsaacSimApp
ScenariosManager *-- Scenario
Scenario o-- IsaacSimApp
Scenario *-- NullMasterSynthesizer
Scenario *-- MasterSynthesizer
Scenario *-- SingleCamera
MasterSynthesizer o-- IsaacSimApp
MasterSynthesizer *-- BaseSynthesizer
OVWriter *-- NullWriter
Writer <|-- OffsetWriter
OVWriter *-- OffsetWriter
OVReplicator o-- IsaacSimApp
OVReplicator o-- OVWriter
OVReplicator o-- ScenariosManager
class IsaacSimApp{
+bool debug
+app SimulationApp
+update() None
+close() None
}
class ScenariosManager{
+DictConfig scenarios
+Iterator[Any] scenario_names
+IsaacSimApp isaac_sim
+__iter__() ScenariosManager
+__next__() Scenario
}
class Scenario{
+IsaacSimApp isaac_sim
+Union[NullMasterSynthesizer, MasterSynthesizer] master_synthesizer
+str scenario_name
+DictConfig scenario_dict_config
+int frames_number
+int frames_readout_offset
+prepare(scenario_name) None
+get_cameras() Generator[Tuple[List[Any], List[Any]], None, None]
}
class NullMasterSynthesizer{
+List[Any] synthesizers_worker_names
+__iter__() Iterator[BaseSynthesizer]
}
class MasterSynthesizer{
+IsaacSimApp isaac_sim_app
+List[BaseSynthesizer] synthesizers_workers
+List[str] synthesizers_worker_names
+__iter__() Iterator[BaseSynthesizer]
-_instantiate_synthesizer_workers(synthesizer_workers, scenario_name) None
}
class BaseSynthesizer{
+str scenario_owner
-str __name__
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class OVWriter{
+str fs_store_path
+Union[NullWriter, Writer]
+str writer_name
+bool write_rgb
+bool write_bounding_box_2d_tight
+bool write_bounding_box_2d_loose
+bool write_semantic_segmentation
+bool write_instance_segmentation
+bool write_distance_to_camera
+bool write_distance_to_image_plane
+bool write_bounding_box_3d
+bool write_occlusion
+bool write_normals
+bool write_motion_vectors
+bool write_camera_params
+create(scenario_name, frames_readout_offset) str
+attach(camera_renders) None
}
class NullWriter{
+create(scenario_name) str
+attach(camera_renders) None
+initialize(*args, **kwargs) None
}
class OffsetWriter{
-str __name__
-int _MAX_FRAMES_OFFSET
-int _WRITER_NUMBERING_PADDING
-str _output_dir
-BackendDispatch _backend
-int _frame_id
-str _image_output_format
-int _content_lifespan
+List[Any] annotators
+int frame_read_out_num
+int content_lifespan_init_val
-_write_rgb(fs_relative_path, annotator_data) None
-_write_bounding_box_data(bbox_type, fs_relative_path, annotator_data) None
-_write_camera_params(fs_relative_path, annotator_data) None
-_write_instance_segmentation(fs_relative_path, annotator_data) None
-_write_semantic_segmentation(fs_relative_path, annotator_data) None
-_write_normals(fs_relative_path, annotator_data) None
-_write_distance_to_camera(fs_relative_path, annotator_data) None
-_write_distance_to_image_plane(fs_relative_path, annotator_data) None
-_write_occlusion(fs_relative_path, annotator_data) None
-_write_motion_vectors(fs_relative_path, annotator_data) None
+write(data) None
}
class OVReplicator{
+omni.replicator.core ov_replicator
+ScenariosManager scenarios_manager
+OVWriter ov_writer
+IsaacSimApp isaac_sim
-_remove_camera(camera_setup, writer_name) None
-_run_orchestration() None
+__call__() None
}
class SingleCamera{
+List[float] position
+List[float] rotation
+List[float] clipping_range
+List[int] cam_resolution
+get_cameras() Generator[Tuple[List[Any], List[Any]], None, None]
}
Synthesizer Workers Class Architecture#
classDiagram
BaseSynthesizer <|-- DummySynthesizer
BaseSynthesizer <|-- GroundSynthesizer
BaseSynthesizer <|-- ItemsScatterSynthesizer
BaseSynthesizer <|-- LightSynthesizer
BaseSynthesizer <|-- NVIDIASceneSynthesizer
BaseSynthesizer <|-- SingleItemSynthesizer
BaseSynthesizer <|-- OVAssetsSynthesizer
class BaseSynthesizer{
+str scenario_owner
-str __name__
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class DummySynthesizer{
+str scenario_owner
-str __name__
-str _box_primitive_path
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class GroundSynthesizer{
+str scenario_owner
+List[str] materials_list
-str __name__
-Any _stage
-str _stage_plane_path
-og.Node _plane_node
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class ItemsScatterSynthesizer{
+str scenario_owner
+List[str] placement_synths
+str semantics
+int number_of_assets_displayed_at_once
+int assets_pool_size
-str __name__
-List[str] _placement_prims
-List[str] _scattered_prims
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class LightSynthesizer{
+str scenario_owner
+List[float] position
+List[float] rotation
+List[float] scale
+str light_type
-str __name__
-str _stage_light_path
-og.node _light_node
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class NVIDIASceneSynthesizer{
+str scenario_owner
+str scene_path
-str __name__
-og.Node _scene_node
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
-_load_from_nucleus() Any
}
class SingleItemSynthesizer{
+str scenario_owner
+List[float] position
+str usd_path
+str semantics
-str __name__
-str _stage_prim_path
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}
class OVAssetsSynthesizer{
+str scenario_owner
+int assets_num_to_generate
-str __name__
-Any _stage
-List[og.Node] _created_assets
-List[str] _created_assets_paths
+__call__(camera_setup) None
+get_prims() List[str]
+register_synthesizers_prims(synthesizer_workers) None
}