Basic Writer questions and bug report

Hi all, I wanted to ask you if you ever came across a bug where basicwriter just doesn’t work?
I am switching between usd’s and getting some synthetic data and sometimes it just skips some files. That gives this warning for next usd processes after it skips one;

[Warning] [omni.graph.core.plugin] Node compute request is ignored because “/Render/PostProcess/SDGPipeline/RenderProduct_Viewport_InstanceSegmentationSDExportRawArray” is not request-driven

And also is that possible to set name of file using basicwriter ?

Here is the code I’m working on.

import os
import time
def render_with_omni(projectid):
    usdpath = f"P:/Projects/A/scenes/output/usds/v05/{projectid}/"
    # Get from args
    GEN_CONFIG = {
        "renderer": "RayTracedLighting",
        # "renderer": "PathTracing",
        # "renderer": "Iray",

        "headless": True,
    }

    RES = (600, 600)
    from omni.isaac.kit import SimulationApp
    simulation_app = SimulationApp(GEN_CONFIG)

    
    import omni.replicator.core as rep
    from omni.replicator.core import Writer, AnnotatorRegistry
    import omni.kit
    from pxr import Usd
    import omni.usd
    import carb
    from semantics.schema.editor import PrimSemanticData

    output_directory = r'C:/Users/arda/Documents/Arda/omniverse_test/out/'
    # Get all the file names from given path
    usd_files = [f for f in os.listdir(usdpath) if os.path.isfile(os.path.join(usdpath, f))]
    
    
    for usdfile in usd_files:
        workid = usdfile.replace(".usd", "").split("_")[1]

        omni.usd.get_context().open_stage(f"{usdpath}{usdfile}")
        with rep.new_layer():
            render_product = rep.create.render_product("/AI_DRONE_STREET_RENDER", RES)

            stage = omni.usd.get_context().get_stage()
            for prim in stage.Traverse():
                if prim.GetTypeName() == "Mesh":
                    
                    prim_sd = PrimSemanticData(prim)
                    prim_sd.add_entry("class", f"House{prim.GetName()}")

            writer = rep.WriterRegistry.get("BasicWriter")
            writer.initialize(
                output_dir=f"{output_directory}{projectid}_{workid}/",
                instance_id_segmentation=True,
                bounding_box_2d_tight=True
            )

            writer.attach([render_product]) 

            with rep.trigger.on_frame(num_frames=1):
                rep.orchestrator.step()

if __name__ == "__main__":
    folder_path = r"P:/Projects/A/scenes/output/usds/v05/"
    projectids = [f for f in os.listdir(folder_path) if os.path.isdir(os.path.join(folder_path, f))]
    for projectid in projectids:
        render_with_omni(projectid)
        time.sleep(0.3)
    print("Done")

Hi. Checking with the dev team on this.

Hi @berkayeraydin. I’ve open internal issue OM-74648 for this and the dev team is looking into it.

Can you please test with Code-2022.3 and let me know if you have any update that I can share with the dev team?

Thank you!

Hi, thanks for your support. We didn’t see the same bug after the update anymore.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.