Hello,

I currently capture color images as Still frames to obtain the images ONLY when I want them. It prevents the camera (oak-d poe pro) from keep sending image data to host PC while I don't need it. I specifically wanted this way due to the limited bandwidth between ethernet switch and host PC.

I would like to do the same thing when capturing the stereo images. But, I don't see Still-like method in StereoDepth class. Maybe using the script node is the only way to capture stereo images ONLY when I need?

By the way, my understanding is that the device continuously sends the image data regardless the blocking/non-blocking queue setup on host PC side. Please correct me if this is wrong.

I would much appreciate your advice. Thank you.

  • erik replied to this.

    Hi GeonsooKim ,

    You are right, for StereoDepth you would likely need to implement something in Script node to get similar funcitonaltiy.

    Regarding non/blocking, if host-side queue fills up and is blocking, it will start blocking device-side nodes (if they are configured to blocking as well), some docs on it here.

    Thanks, Erik

      erik

      Thanks for clarification.

      Quick question for your non-/blocking statement, "if host-side queue fills up and is blocking, it will start blocking device-side nodes". I believe, in that way, when the host-side queue has available spot, the old data will be sent from device-side queue, because the old data sits there until it gets used. IIRC, this is the case I encountered while using the oak-d poe pro. I didn't like this queue configuration as I only want the latest image data. If my understanding is wrong, please correct me.

      Another question. You mentioned that, "(if they are configured to blocking as well)". But, I haven't found a way to configure the queue on device side so far. My understanding is that I only can change the queue's size/ behavior on host side. Please correct me if I am wrong.

      I would much appreciate your clarification.
      Thank you

      • erik replied to this.

        Hi GeonsooKim ,
        Yep that's correct. Wrt changing device-side queues, you can configure input queues, eg.:

        nn = pipeline.createYoloDetectionNetwork()
        nn.input.setBlocking(False)
        nn.input.setQueueSize(2)

        Thanks, Erik