08-26-2014 04:15 PM
I was excited to receive my NI Developer Suite 2014 DS2 recently. Even better, the vision module was listed as having been updated!
Imagine my crushing disappointment when I found that the new facilities added in the LabView library 2 years ago, Optical Flow and 3D stereoscopic vision are STILL not available to Labwindows/CVI users. To add insult to injury, object tracking has been added to the LabView library with this release.
When will the CVI vision functions be upgraded to the same functionality as that available in LabView?
Technically this should not be difficult. I am beginning to suspect that there must be some legal reason. Either patents, or NI simply purchased the rights to implement in Labview only. In which case I'd really like to know so I can stop wasting my time.
09-05-2014 04:30 PM
Hi, Steve—
I have contacted our vision team so they are aware of this issue on the LabWindows/CVI forums. I'll keep checking back here to make sure there is a response in a week or so.
Thanks for your patience while we look into this!
Warm regards,
09-07-2014 10:09 AM
Daniel
Thank you for your response.
The other shortcoming with the CVI version of Vision is the lack of integration with the CVI resource tracking system. Very many functions in the Vision module will take a bite of resources, and it is necessary to call the appropriate de-allocation function to free the resource when you have finished with it. Failure to do so will result in the program eventually crashing.
Other CVI libraries (e.g. the SQL Toolkit) will warn you of un-freed resources and tell you where it was allocated. This makes the task of hunting down memory leaks quite easy.
I would be most grateful if you could add this to the topics you discuss with the Vision team.
Otherwise, I am a big fan of the integration offered by NI products, allowing multiple forms of data acquisition, communications and application programming to be sourced from a single supplier.
09-12-2014 08:19 AM
Hi Steve,
Thank you for your post. To address your initial post, feature parity between LabVIEW and CVI for Vision is definitely something that we are working towards on the NI Vision team. However, as we offer such an extensive product spanning a large number of camera interfaces, hardware (processor-based and FPGA) targets, and software platforms, we have an extensive list of features and functions to address. Due to our present prioritization of certain features over others, we are not quite at full feature parity for NI Vision functions in CVI.
To clarify, when we say "feature parity", we are referring not only to the ability to call the function in CVI, but also the existence of official documentation and shipping examples to match our offering in LabVIEW. For example, Stereovision is actually presently available in CVI under the function name prefixes "imaq3DVision" and "imaqVision3D" (see screenshot below), but official documentation and shipping examples are still lacking, and it is these items that often a great deal of time and effort to develop and deliver into released software.
In any case, we do need to clearly document what is presently available and what is not available for our CVI Vision customers, as there is no documentation presently that outlines the limitations. I will update this thread when we have corrected this with the proper documentation.
Thank you for your feedback regarding the lack of integration with the CVI resource tracking system. I agree that such a feature would be quite useful, especially with Vision where the resources you are dealing with (i.e. images in memory) are potentially very large and can have a significant impact on the performance of your system. We will investigate this feature, but unfortunately at this point in time I cannot provide any further details.
Regards,
Joseph S.
National Instruments
Product Support Engineer
09-12-2014 08:39 AM
Dear Joseph
Thank you for your reply. I think that actually we are in great danger of violent agreement: It is precisely the integration that National Instruments provides across a range of interfaces, platforms and environments that I so value. Especially as this extends so far beyond just Vision.
Can I make one request? I appreciate that extending the Vision library to tie in with the CVI resource tracking system may be a complicated task. In the interim, could we please have a function such as imaqReportResources that simply reports the count of each type of resource currently allocated? That way we can check that we have freed everything we think we have.
By the way, I think you forgot to post the screenshot.
Cheers
Steve