This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Mapping algorithm from 1280x800 to 912x1140?

Hi,

Our lab is using DMD to modulate the laser beam. We need to control every mirror on the DMD chip. Right now, we know that we can only do that under sequence mode. But in that case, we need to open GUI and set DMD to be sequence mode. Sometimes, I know there are some bugs with GUI when I enter sequence mode. Compared to sequence mode, the video mode is much simpler. We don't even need to connect the usb, because the default mode seems to be video mode. However, there is a mapping algorithm that maps the 1280x800 image pixels to 912x1140 mirrors, which will usually make some mirrors flip and doesn't satisfy our goal to control every mirror and keep them in a static states. I think one solution is that we generate our 912x1140 image (all pixels are 0 or 1) first and then apply a inverse mapping algorithm to get the 1280x800 image, then just load this 1280x800 image on DMD so that the mapping algorithm will transfer them back to 912x1140 image (all pixels are 0 or 1) and distribute them to every mirror. I guess to make this work, the mapping algorithm needs to be deterministic and also has a deterministic inverse mapping. 

So, my question is:

1. Can anyone tell me the details of the mapping algorithm?

2. Does the mapping algorithm have a inverse mapping? If yes, are both of them deterministic?

Thanks all,

Junling

  • Hello Junling,

    #1. 1280x800 to 912x1140 transfer happen through Diamond Translation Logic hardware block inside the controller. Unfortunately it is not a public information so it is not possible to share details on the algorithm part.

    #2. There is no inverse mapping; we need mapping to bring down to the actual DMD resolution. In video mode as know it is capable of locking to various resolution, the block by default activated to translate a given resolution to native DMD  mirror resolution 912x1140. 

    On your original question -

    we need to open GUI and set DMD to be sequence mode. Sometimes, I know there are some bugs with GUI when I enter sequence mode. Compared to sequence mode, the video mode is much simpler

    I want to tell you we have simplified many things in the new upcoming release v3.0, and GUI bugs are addressed. All you have to do is create a pattern sequence and save the configuration as INI file; use it to build new firmware. Once done after reboot you don't require to send any other commands you can just stream the 912x1140 video data it will just work fine. At present the v3.0 software is ready currently going through the documentation changes.

    Regards,

    Sanjeev

  • Hi Sanjeev,

    Thanks for your response. As for the v3.0, do you mean after build the new firmware, the default mode of DMD can be set to be sequence mode, and I don't need to open the GUI again to make it enter the sequence mode? If it is true, that would be so cool. One more thing, when will the v3.0 be available online? Or can you send me one copy if I still need to wait for a long time? I mean because we have so many problems when we are trying to use sequence mode, we don't want to waste more time here. If v3.0 can solve these problems, I hope I can get it as soon as possible.

    Thanks,
    Junling
  • Hi Junling,

    Yes, from v3.0 onwards you don't need the GUI to reconfigure everytime, like video mode the pattern sequence mode also can be stored as default setup. The release will happen this month for sure, currently we are working on updating the documentation in Programmer's Guide and User's Guide the software is ready.

    Regards,

    Sanjeev