Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

IMAQdx Configure Grab decoder error with Mono10 Pixel Format

Solved!
Go to solution

Hello, 

 

I have recently encountered the following problem while I am trying to grab images through a iPort CL-U3 Pleora USB3 vision.

 

"Error -1074360265 occurred at IMAQdx Configure Acquisition.vi

Possible reason(s):

NI-IMAQdx: (Hex 0xBFF69037) No decoder available for selected pixel format."

 

I always get this error when I switch the "Pixel Format" to "Mono10". In my images I use "Image Type" "Greyscale (I16)".

 

My test code works fine for "Pixel Format" "Mono8" but not the other ones.

It is also important to note that in MAX, with "Greyscale (I16)" and "Mono10" it works fine as well.

 

Any help will be appreciated.

Thanks,

Harry

0 Kudos
Message 1 of 9
(5,734 Views)

Hi Harry, 

 

I tried your test code with the device I have (Pleora Technologies Inc. iPORT-CL-U3-PT03-CL0UP04-128xU) this morning, and I didn't have any issues running your test code with the Pixel Format set to Mono10. What model is your device? What OS and version of IMAQdx are you using? Can you think of any other differences you might have in your setup? 

 

Thanks,

Katie

0 Kudos
Message 2 of 9
(5,723 Views)

It looks like your code has a race condition between setting the pixel format and starting the acquisition. The two can run in parallel in your code and give unexpected results based on which completes first. If the acquisition starts first, the pixel format change will fail.

0 Kudos
Message 3 of 9
(5,718 Views)

Hello , 

 

One big difference is that I have disabled all endpoint stalling for USB3 Vision devices for IMAQdx through the registry. I am using Windows 8.1 and you have discovered some difference in the USB traffick I understand between WIndows 8.1 and 7.

 

@Bluecheese

 

I have also tried putting the code in sequence frames and the same result occuered.

 

UPDATE

 

Goodmorning. As I initialised the code today (have not restarted the computer, just the Labview program) I got the same error mentioned before BUT for "Mono8". Which is weird. "Mono10" and "Mono14" work just fine now!.

Tried to restart Labview, open/close MAX, restart PC etc and I could not reproduce the previous state.

I can only assume that something is fishy in the way the PLEORA is initialised, also considering the workaround I had to implement (following Katie's solution).

I guess I really need an updated firmware from Pleora, one that would correctly initialise for Windows 8.1.

 

In the meantime, if you have any other insight on what to try next?

Thanks again for your help!

Harry

 

0 Kudos
Message 4 of 9
(5,699 Views)

Can you post your updated code? The only possible way for that error to occur would be if the pixel format is not what you think you are setting it to. I suspect you the reason you are seeing differences in behavior is that the initial state of the camera (what format it is left in) is changing.

0 Kudos
Message 5 of 9
(5,686 Views)

Hello Bluecheese, 

 

I  am posting my latest code. I have also a read attribute before the configuration vi in order to check what is the actual value of Pixel Format. It behaves the same as I described previously, i.e. I get the "decoder" error for Mono8 and I can use other Mono pixel formats.

0 Kudos
Message 6 of 9
(5,667 Views)

HZaa,

 

It looks like your code still has race conditions. I'm guessing the problem is with the IMAQ Create function and the first property node. Right now, they execute in parallel, meaning that it's undetermined which goes first. What happens if you connect the IMAQ Create to the IMAQdx Open Camera with an error wire? Then, connect the next two property nodes with the continuation of the error wire.

 

Also, it appears that you're duplicating the reference wire coming out of the IMAQdx Open Camera function. One wire is going to the first property node, and the other is going to the next property node. Why are you doing this?

0 Kudos
Message 7 of 9
(5,655 Views)
Solution
Accepted by topic author HZaa

Did you change the requested image type from the default of "Auto" to "Greyscale (I16)" at some point? If you changed this setting in MAX and saved it, this would explain the error you are seeing. Your code is only changing the pixel format, and there is no decoder available inside IMAQdx that takes a Mono8 image in and returns an I16 image (you'd have to cast the image using Vision VIs).

Message 8 of 9
(5,648 Views)

Hello all and thank you for your suggestions.

 

The problem was I had indeed changed the PixelFormat from "Auto" in MAX, while testing it there. Saving it back to "Auto" in MAX solved the problems I was having.

 

Once more thank you for your time!

 

Harry

0 Kudos
Message 9 of 9
(5,624 Views)