How to change the bit width of destination port?

  • Dear B.Ru,


    I already got the original image from the Camera.


    But when I continued,there were timeouts.

    At tihs moment,I placed five debug-Probes after Image, aver,image2,K2,process.(Not the same with the attachment)


    pasted-from-clipboard.pngpasted-from-clipboard.png


    And I hope you can give me an example of how to place debug-Probes in LOOP, like aver_HBOX.


    And,I want to know that does the different inputs to the SourceSelector can have different bitwidth?

    Since I want to output color image.


    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    As I can see below:

    I already got the original image from the Camera.


    But when I continued,there were timeouts.

    you could get images from the camera. So the camera configuration and the intended CL mode are working as expected now. That is a good step.

    In the quote above you mention that there were timeouts when you continued.

    • Which addional VA design path did you do?
    • What was the exacft configuration?
    • What did the simulation of that path show?
      • Please be aware that most dead-lock sutuation do not get detected by the simulation.

    Please look a few posts back and you will see hints on RX/TXImageLinks.
    Those can be used to "debug" a loop.


    Since we are currently only investigating your design concerning the dead-lock, please use CastBitWidth / SelectComponent to make all pathes compatible.

    When we found the reason, then we can go back to full operation mode, without the unnecessary probe-pathes.

  • Dear Danna,

    As shown above, when I only did Image、K2、Jet、roi、process、DIA H-Box, the hap file can work as expected.


    So I think the problems that cause timeouts are from aver、image2 H-Box.


    Am I right?

    That sounds pretty likely, and now the real dead-lock reason needs to be found.
    Please let me know if you have a clue how to find this.


    If not, please post the related H-Box into this thread, so that the community have a look into it.

  • Dear B.Ru,


    pasted-from-clipboard.pngpasted-from-clipboard.png

    When I only set the detach of DubugProbe_1 to 1 (others:0),the results of Simulation is shown as above, but the results of microDisplay are different:the result of DebugProb4 should only have the 50 blank images, instead of 51 images (50 blank images & 1 orininal image)


    I think this is a problem,but I don not know how to fix it?


    I want to confirm one thing with you,

    I want to realize a loop that obtain the mean image of 50 images and go on,

    like the mean of 1,2,3....49,50; the mean of 2,3,4....49,50,51; the mean of 3,4,5....50,51,52.......


    I use the example processing(D:\VA\VisualApplets_3.1\Examples\Processing\Loop\RollingAverage) to do that.

    Now I want to know the values of (StartUp_SUB--Sequence_Length--N_rolling) and (DynamicDivider--N_rolling)should be set to 128 and 50?

    Is that right?

    pasted-from-clipboard.pngpasted-from-clipboard.png

    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    The Loop-Startup and Exit plus Restart is sometimes difficult.

    I think this is a problem,but I don not know how to fix it?

    Both of your questions point exactly into this.

    Now I want to know the values of (StartUp_SUB--Sequence_Length--N_rolling) and (DynamicDivider--N_rolling)should be set to 128 and 50?

    Is that right?

    So as soon as I find some time I will look into it and let you know.


    Best regards

  • Dear B.Ru,


    pasted-from-clipboard.pngpasted-from-clipboard.png


    There is another problem:when I use the LOOP, I have to change the value_H-BOX to ImageBuffer, maybe you can help me fix this?


    In this va, I only add the mult64(ShiftLeft),and fortunately, this va can work, but still there is a big problem.

    pasted-from-clipboard.png


    It can only work a little time,then there is a warning of Timeout.

    How can I fix this problem?


    And I think the problem of Timeout is not casued by my camera,

    so I think maybe you can use my LOOPTEST.va to generate HAP file, and use your camera to test my VA。


    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    As mentioned in my last post:

    The Loop-Startup and Exit plus Restart is sometimes difficult.

    The loop control is normally the reason for irritation in sync0.

    So, you see a certain amount of loop runs in RT and then a dead-lock.

    We would expect that one of the Image-Memory operators is running full, or the loop start/restart conditions are not getting met.

  • Dear Danna,


    After a first look into your design and finding some small indicators I got a good clue on what is going wrong.
    The next steps from my side will be finding a better understanding and imlementing some corrections.


    Best regards

  • Dear B.Ru,


    pasted-from-clipboard.png


    I need to use the ImageBuffer handle each frame one by one, but there is a problem and I hope you can help me fix it.

    I believe that when this problem is solved, the whole software algorithm can finally work as expected.


    Thank you very much.


    Best regards,

    Danna

  • Dear B.Ru,


    Sorry,I don not really understand the 5th RAM index,

    how can I remove a single RAM to get down to 4 RAMs?


    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    On each current VA platform, mE5-MA-VCL in your case, there are only 4 RAM modules available that can be used by Memory Operators like ImageBuffer etc.

    the 5th RAM index,

    In the ressource overview in VA you can see 5 RAM modules being requested, while there are only 4:

    pasted-from-clipboard.png


    So you need to get rid of 1 of these.


    Best regards

  • Dear B.Ru,


    I have to use two LOOPs,

    as the example(D:\VA\VisualApplets_3.1\Examples\Processing\Loop\RollingAverage) shows,

    each LOOP need one ImageBufferMultiRoiDyn and one ImageBuffer,

    and there is always one ImageBuffer after Camera,

    so I may need 5RAMs, I'm not sure which one I can get rid of.

    I think maybe I can only get rid of the ImageBuffer after Camera?


    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    The RAM for the camera should be there...


    But there is a solution.
    I look into your design and see that there is a Buffer inside the loop that can be used for two cases.

    I think maybe I can only get rid of the ImageBuffer after Camera?

    The data processing network is a O-type network, so you can merge all the data that is running in circle into a single buffer.
    You need a memory per loop image context, but both images can share the same RAM module.


    Additionally you can get rid of the sequence in memory by using a sum and a fixed division, it would reduce precision, but maybe that is ok.


    For sharing memory you can use: MergePixel to align both result image pixels and Cast Bitwidth and shift right, to extract it after the memory.


    Best regards

  • Dear B.Ru,


    Sorry,I'm not very familiar with the MergePixel, can you give me an example with my VA?


    And I wonder if I can use the ImageFifo to get rid of the ImageBuffer?


    Thank you very much.


    Best regards,

    Danna

  • Dear Danna,


    Simply look into the documentation of the MergePixel, it is a really easy to understand o-type operator.

    The bits of two streams get a single pixel. Two 8bit values become a 16 bit pixel, where the upper input represents the LSBs and lower inputs are MSBs...


    Best regards