creating a spectrometer app

10 vues (au cours des 30 derniers jours)
Ilay perez
Ilay perez le 13 Déc 2023
Commenté : Ilay perez le 29 Déc 2023
I'm trying to build a matlab app to control spectrometer and other instruments simultaneously.
I'm still new to to this and it's going very slow.
My main problem now is seeing the data in a live plot.
For example: If I'm moving a light source back and forth from the spectrometer I want to see the change in the light intensity as I move the light source with out plotting it manually again and again.
If any one could shed light on how to create such a live plot it would be very helpful. I tried to do it with a loop that updates the y axis but it didn't work.
thanks.
  2 commentaires
DGM
DGM le 13 Déc 2023
We don't know anything about the features or interfaces of your spectrometer, how you're getting data from it, or what form that data takes. Consequently, we have no idea why what you tried didn't work. You'll have to provide more information.
Ilay perez
Ilay perez le 13 Déc 2023
Modifié(e) : Ilay perez le 13 Déc 2023
I’m using instrument control toolbox to connect the spectrometer. The spectrometer is spectrasuit hr2000. In order to get the data into a variable I’m using ‘invoke’ function. The wavelengths on the x axis are constant and the intensity on the y axis changes according to the light that get into the spectrometer and the other parameters such as integration time. My question is more general then specific. I just want to know what is the correct way to create such a live plot.

Connectez-vous pour commenter.

Réponse acceptée

Brahmadev
Brahmadev le 27 Déc 2023
As per my understanding, the spectrometer app that you have created is calling the "plot" function for drawing each new iteration of data that is recieved from the spectrometer. If the data is large and the "plot" or similar functions are called repeatedly, this can cause the app to become slow. As an alternative, if the entire data is not changing at each data point, it can be useful to update just the part of the data that has changed.
Some other things to consider are:
  1. The "drawnow" can be used to flush the event queue and update the figure window immediately without waiting for the loop to end. Also, "drawnow limitrate" can be used to limit the number of updates to 20 frames per second. Refer to the following MathWorks documentation for more information: https://www.mathworks.com/help/matlab/ref/drawnow.html
  2. On the other hand, you can update the plot less frequently by using a conditional statement or by inserting a "pause" command to control the update rate. Refer to the following MathWorks documentation for more information: https://www.mathworks.com/help/matlab/ref/pause.html
Hope this helps in resolving your query!
  1 commentaire
Ilay perez
Ilay perez le 29 Déc 2023
Thanks it did

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Instrument Control Toolbox dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by