LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Unexpected behavior of IMAQ Correct Calibrated Image VI

Hello,

 

I need to correct multiple images in a short time using IMAQ Correct Calibrated Image VI. First, I am using IMAQ Set Calibration Axis Info VI in Reference Points mode to set the calibration. After that I use IMAQ Correction Learn Setup VI. Unfortunately, the documentation of IMAQ Correction Learn Setup VI is very limited and I couldn't find a single example that makes use of this VI. IMAQ Correction Learn Setup has one input that can be very useful to me, namely the Learn Correction Table? flag. Here is what the documentation says about it:

 

Learn Correction Table? is a Boolean input value. Set this input to TRUE if you want the correction table to be determined and stored. The correction table accelerates the process of correcting an image. It is useful if several images are going to be corrected. 

 

According to the explanation above, when I set the Learn Correction Table? flag to true, I expect the IMAQ Correct Calibrated Image VI to finish faster than before. It turns out this is not the case.

If I set this flag to false, the IMAQ Correction Learn Setup VI finishes in no time and the IMAQ Correct Calibrated Image VI takes about 550 milliseconds to finish. On the other hand, if I set this flag to true, the IMAQ Correction Learn Setup VI takes about 700 milliseconds to finish and the IMAQ Correct Calibrated Image VI takes about 850 milliseconds to finish. With the flag enabled, the total correction duration is 3 times the correction duration with the flag disabled.

 

Of course, I understand why IMAQ Correction Learn Setup VI takes some time to finish, it builds correction table data for later use. But I have no clue why IMAQ Correct Calibrated Image VI takes longer to finish. Wasn't the whole purpose of building a correction table to make the correction VI finish faster?

 

Am I making a mistake in correction table usage? Can anbody point me to the right direction for using correction tables? The documentation is between poor and non-existent.


Any help is appreciated.

 

Burak Soysal

 


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 1 of 12
(4,410 Views)

I've never done this, and (like you) I could not find much in the way of Help.  However, this link might provide some useful information (too bad there's no LabVIEW Example ...).

 

Bob Schor

0 Kudos
Message 2 of 12
(4,368 Views)

Thank you for the link, Bob. Unfortunately, it's probably about all that can be found online.


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 3 of 12
(4,364 Views)

The problem is still not resolved... Can an NI engineer shed some light on this?


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 4 of 12
(4,310 Views)

Hi Burak,

 

I am currently working on reproducing the behavior you are seeing to determine if a CAR is needed for this function.  If you have a deadline coming up for this project, I recommend reaching out to your local NI branch and opening up a service request.  I will update tomorrow with my testing results.

 

 

Kelli Kravetz
Product Marketing Manager
LabVIEW, LabVIEW NXG, LabWindows/CVI, Measurement Studio
National Instruments
0 Kudos
Message 5 of 12
(4,297 Views)

Thank you, Kelly. There are a few weeks for the deadline, it's not imminent. The project requires almost real-time inspection. Therefore my calculation time constraint is tight. I would love to reduce the correction time if possible.


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 6 of 12
(4,288 Views)

Hello Burak,

 

I have been having a difficult time reproducing your issue.  Would you be able to send me your full code that you are using for benchmarking and a sample image?  It will help me escalate the issue to our R&D group?

Kelli Kravetz
Product Marketing Manager
LabVIEW, LabVIEW NXG, LabWindows/CVI, Measurement Studio
National Instruments
0 Kudos
Message 7 of 12
(4,267 Views)

Hello Kelli,

 

Sorry I couldn't respond quickly. I was allowed to share neither the source code nor the image, so I had to build an image and VI from scratch. "forum_test_correct_image.vi" is the test VI. I attached the reference image and the image that needs to be corrected. Basically the latter is a slightly rotated version of the former. I also attached the measurements taken with the Profile Performance and Memory tool. I hope I was able to show that there is an obvious problem with the Learn Correction Table option.


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 8 of 12
(4,241 Views)

I wasn't able to attach more than 3 files in the previous message. Here are the rest of the files.


Burak Soysal

Acrome Robotik Sistemleri
İTÜ Ayazağa Kampüsü Koruyolu ARI4 Binası No:B204 34469 Maslak İstanbul
0 Kudos
Message 9 of 12
(4,240 Views)

Hello Burak,

 

Thank you for attaching these files.  I was able to see the same behavior you explained in the forums and have filed a Corrective Action Request with R&D. There is not a specific timeline to know if and when a CAR will be fixed, but all corrections that have been fixed in each patch and release will be listed out by number.  This was filed under CAR #611257 for your records.

 

Thank you for bringing this to our attention. It helps us greatly to receive feedback about what our customers are doing with our products as well as hearing how we can improve!

Kelli Kravetz
Product Marketing Manager
LabVIEW, LabVIEW NXG, LabWindows/CVI, Measurement Studio
National Instruments
0 Kudos
Message 10 of 12
(4,179 Views)