01-10-2023 05:12 AM
hello,
when I use the camera(CS235MU,ThorLab) to get the intensity image from fibers, there are stripes on the image. pic1 is at the closest place, pic2 is at the farthest, and pic3 is between the two, where the stripes occur.
I wonder why there are stripes and how I can fix it.
Thanks sincerely
LabVIEW - 2019 sp
01-10-2023 07:33 AM
When I heard the word "stripes", I thought of the word "moiré", as in moiré pattern. Look it up.
Bob Schor
01-10-2023 09:22 AM
You need to be much more specific in your description. For example "closest" and "farthest" have no meaning to us.
In Image three I see two vertical dark areas on one of the fibers. Are these your "stripes"? Where else should we look?
01-10-2023 09:35 AM
You also attached your VI which is completely useless for us because we don't have your hardware or drivers. We can't even see the image data.
How do you know this is an artifact and not a feature of the fiber?
Still, the code is an absolute mess with many Rube Goldberg constructs. For example can you explain the logic behind the following:
So you have an event structure buried deep inside a sequence structure and an event that fires when the "Gain" changes, where it writes the new value (i.e. the value it already has!) to itself via a value property, and a nanosecond later reads the terminal in the next frame. If you would delete that event structure, nothing would functionally change except that the entire panel would no longer lock up for all user interactions if the event structure is not in the current dataflow.
And that's just the tip of the iceberg!
01-10-2023 09:51 AM - edited 01-10-2023 10:38 AM
So you have a gain that is DBL even though the code wants a U32. Gain=0 is probably not a reasonable default value, right?
Then you get image data as 2D U16 array, but you wire it to the U8 input of "Imaq arraytoimage". Fix this and see if things improve. You might just get wrapping at the 8bit boundary.
Sorry, I don't have IMAQ, so the VI is missing, but we can still see the coercion dot!