From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Calibration template image info lost

Some strange thing is happening with my machine vision applpication.

I have a calibration process in my main vi "VT; Main.vi" ("BUT.Calibrate" event) which is triggered by pressing the 'Calibrate' button. In that event the subvi is called ''VT; PRCS; IO.vi" with the case 'CalibrateCamera'. Now, the results of the calibration process (convert to greyscale and execute distortion model grid calibration) are put in the calibration template image and as you can see the reference is put correctly in my 'Calibrated image ref'.

 

After executing this [1] "BUT.Calibrate" event, the [0] "Timeout" is again executed, where in the AnalyzeImage step the 'Calibrated image ref' is called. Now the strange thing is that this is suddenly a reference to a different image, clearly seen by the colour image compared to the greyscale one as the outcome of the calibration step, and with NO calibration info. How is this possible?

 

I mean, nothing is happening in between putting the reference and getting it back...

 

Can someone more experienced with Vision please have a look at how this is happening?

And if something is not clear (as I can imagine, because it is difficult to explain), please let me know.

 

To reproduce, just run the main.vi and then press at the Calibrate button upper right. Then immediately the error occurs and therefore the application stops.

 

Kind regards,

DvdM

0 Kudos
Message 1 of 7
(2,944 Views)

Hi,

 

I simplified the whole application and reduced it to only two important events to make things easier to understand with in both events only one type of subvi is called ("VT; PRCS; IO.vi"):

- [0] Timeout

- [1] BUT.Calibrate

 

Now, why is it that in this subvi called 'VT; PRCS; IO.vi' indicators 'Calibration Axis Info 1' & 

'Calibration Axis Info 2' (in case 'CalibrateCamera') are different from 

'Calibration Axis Info 3' (in case 'AnalyzeImage')?? In completely don't understand this.

The solution will probably be very obvious, so sorry for my ignorance.

 

Please someone have a look on this.

 

Kind regards,

DvdM

 

0 Kudos
Message 2 of 7
(2,906 Views)

You ask some very good questions.  So I took a look at the VI's Documentation to see what the Developer had written about what this VI was supposed to be doing, and it was perfectly blank!  No information at all!  It clearly is some high-end Machine Vision thing, but I'm beginning to think the guy writing this VI knows almost nothing about LabVIEW!  One example -- there's a Ref in that, among other things, holds a reference to PRCS (whatever that is).  There are a series of Property Nodes that get properties from this Reference (I can't tell what Properties, because the Property Nodes are largely illegible and, you guessed it, have no documentation).  The strange thing is that several of these Nodes are strung together, but instead of passing the Reference from one to the next, each Node gets its own Reference unbundled from the same input Ref wire.  For code dealing with one of the most complex aspects of LabVIEW, this level of ignorance is astounding!  The developer of this code needs to go back and spend about 4-6 months writing simple LabVIEW code and learning the principles of this Development System!  I'm sorry you inherited such incoherent code.

 

Bob Schor

0 Kudos
Message 3 of 7
(2,887 Views)

Thanks for your reply and assuring me that my question was not completely foolish. I notices that there is also no documentation (context help/detailed help nor in pdf doc about vision acquisition express) about the input called 'Acquisition Control::Acquisition Frame Rate' of the Vision Acquisition Express vi. Of course, I can imagine what is supposed to do, but still remarkable.

 

I send in a service request concerning this issue, so I assume they are going to have a closer look at this.

 

Thanks again for your time spent on this.

0 Kudos
Message 4 of 7
(2,874 Views)

It appears that there's a Standard out there called GenICam that the Camera Manufacturers are beginning to adopt.  They can (and do) specify hundreds of parameters for their Cameras, far many more than NI can document.  The best NI can do is to provide you with tools so that you can inquire of the Camera what its parameters are, and can make a Best Guess (with the help of the Camera's Documentation) what each does.

 

I recently was given a Grasshopper 3 camera to use with NI Vision.  I got a list of about 200 attribute, including AcquisitionFrameRateAuto, AcquisitionFrameRateEnabled, AcquisitionFrameRate, and AcquisitionFrameRateCount.  Not sure what they all mean, but that's the virtue of Experimentation ...

 

Bob Schor

0 Kudos
Message 5 of 7
(2,865 Views)

Hello Bob,

 

I value your contribution and gave me some good directions.

However, concerning this topic, I don´t understand the exact relation if your answer is to to my question. It seems to be an answer on my other post.

 

The service request is still processing though. Hopefully next week I know more about that.

 

Thanks.

0 Kudos
Message 6 of 7
(2,857 Views)

Sorry -- I'm sometimes careless in reviewing the entire thread ...

 

Bob Schor

0 Kudos
Message 7 of 7
(2,851 Views)