Vision Idea Exchange

Community Browser
About Vision Idea Exchange

Have a Vision Product Idea?
  1. Browse by label or search in the Vision Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. Be sure to submit a separate post for each idea.
    Note: Please post technical vision support questions to the Machine Vision forum, not the Vision Idea Exchange.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As Vision R&D considers the idea, they will change the idea status.
    Note: Vision R&D is committed to reviewing every idea posted in the Vision Idea Exchange. However, the implementation of any Vision Idea Exchange submission cannot be guaranteed.
  5. Give kudos to other ideas that you would like to see implemented!
Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea

I have run into this problem with the Vision run time, Vision Acquisition run time since I began using Labview. The problem here is that every time I upgrade my development software for example Vision Development Module 2016 to 2017 then update my customers they need to actively re-license both the VD run time and VA run times. This seems to make no sense since both run times were already activated in the previous version. This is a real issue when you are updating software on customers machines that have no internet access. The Vision Development run times need to automatically transfer from version to version since the Vision run time keys are good indefinitely for updates. This would prevent customers from having to re-license yearly like they do now which in my opinion does not make sense. At the very least there could be a way to add a 20 character code problematically when updating versions so users don't have to work their way through NI's license manager. 

0 Kudos

This would help reduce complexity and overhead of VBAI state diagrams.  Often states are created empty with the only purpose is to use transitions to skip or bypass other states.  When a state is disabled, VBAI would skip the steps in the state and immediately evaluate the transitions.   Any transitions which rely on results from a disabled state would be "results unavailable".



With the release of LV 2017 and therefore Vision 2017 I expected the 2GB limit to be gone.

Unfortunately and with great diappointment I have found out that this was not the case and it's still not possible to create or handle image files greater than 2GB even in LV 64bit 2017.

Latest linear image sensors can go up to 32.000 pixels (per line and per channel) and we currently use a 16K sensor in our camera and easily can exceed the 2GB limit when we scan long materials specially if 16bit precision is required and RGB color is also needed. This means that we had to implement several tricks in order to break down the image size (we process each RGB color layer as a separate image file and divide the image in several chunks) but we are still anyway experiencing many bottlenecks and are frustrated in the software development because we cannot use many of the exhisting Vision tools that are limited to 2GB. And of course VISION/IMAQ libraries cannot handle image processing when image information is distributed into different images and therefore we had to write our own libraries (even for image viewing) so as to handle the images properly. 

Furthermore, despite the TIFF format is limited to 4GB (not 2 GB) it's relatively easy to split the image file into separate TIFF files while it's not easy to handle or process image data in separate chunks or channels. Furthermore there are also other image formats that allows for very large file sizes (i.e. BigTIFF which is extremely easy to implement as it's only a 64bit extension of the currently 32bit limit in the TIFF format).


So my suggestion is: to break the 2GB limit and finally allow handling very large image files directly into Labview and the Vision libraries !!!




This could be a good improvement to create good programs in VBAI.

It could be very good if we can set the limits of functions based on variables or previous measurements. It is like how we can use the previous measurements when we Create ROI, select the position of a Custom Overlay.


Without this option, creating a user interface is not really functional, because whenever there is anything new, you need to go to programming interface and change the limits. But if we can enter variables for the limits of a function, we can create a good program to automate the inspections much more.


With this way, the operator can make everything without going to programming.


And it can also be very helpful to create operator independent automated inspections, which is very important for Quality Management System.



0 Kudos

Long names may get cut off in Measurement window, allow for a separate window, like the View Measurements dialog box, to fully display names and values with resizeable fields, instead of just relying on tool tips

I noticed different cameras have different names for setting exposure time. Here's some examples:

  • CameraAttributes::AcquisitionControl::ExposureTime
  • CameraAttributes::Exposure::Value
  • CameraAttributes::AcquisitionTrigger::ExposureTimeRaw
  • etc

It would be really great if there was a way to have one function "Set Exposure" that would work for most cameras. This is analogous to how in IVI, you can have generic instruments and use the generic drivers to control them. Maybe we could assemble some sort of user driven database file we could download to provide a look up for the correct attribute for a given camera.


Another option is to iterate through the list and see if any of those attributes are present on the given camera and apply the setting to the one that's matched.


There's other really common settings like exposure mode (auto vs manual), gamma, gain, pixel format, etc

When a camera is not present in MAX, it disappears.  I'd prefer if they would show but show disconnected, so that they can be managed a bit and allow us to change some items (at least in the database, I know changes will not be saved to the camera).  For example, in the image I'm upgrading a camera, but I cannot rename this camera because the previous camera had the same name, and now I need to go find the old camera, rename it to something else, THEN I can name the new camera with the original name.



The updates I'd like to see boil down to the following:

1. Parity between the C and .NET APIs.  There are methods available in the C API that did not make it to the .NET offering most importantly the ability to set VBAI parameters at runtime.

2. 64bit DLLs.


I've been using VBAI through the .NET API in production for about a year now, the above requests would make future expansion much easier.


Thanks for the consideration.

When merge overlay is performed on image with multiple overlay groups, it merges selected group (correct) and clears all others (wrong!).

It seems that it should affect only what has been said to it (selected group), and do not touch what belongs to somebody else.  If you need to kill all other overlays, use clear overlay after it. Or new version needs a switch to not kill other groups - for compatibility.

Imho this behaviour is more like a bug.

I don't know what the current official status of AIPD is, but the polymorphic "IMAQ Write File 2" VI which is in the LV palette does not offer AIPD in its selector. For me this means that there is no official support for AIPD anymore.

Unfortunately there is also no alternative for storing SGL or complex images.


My request: Add the AIPD format as an officially supported file format to "IMAQ Write File 2" or offer an appropriate alternative for all image types.



Current situation:

More and more image sensors do support bit depths of more than 16Bit.

Just two examples: Aptina MT9M034, Omni Vision OV10640


Currently it is not possible to handle image from those sensors within LabVIEW except as a 2D-Array / Matrix.

Using the SGL image type would be possible on the first sight but it has several disadvantages: storing of those image is not possible and a lot of image processing and calculation function do not support SGL.



Add support for the image types U32, I32 and RGB128. Personally I see the priority at U32 and I32 because those types are needed to handle the RAW data from the sensors.

Very important: Do not just add those types to your typedef! There must be a real support from all basic functions!! Basic functions are in my opinion / for my usage: write to file, read from file, all functions in the palettes "Vision Utilites", "Processing", "Filters", "Operators" and the functions "Histogram", "Histograph",  "Line Profile", "ROI Profile", "Linear Averages" and all other statics functions.

The zoom tool of the image display control is antiquated. Currently (Vision 2016), you select it and then click in the image to zoom by a fixed amount.

Consider upgrading its capabilities to match modern UIs:

- Selecting a rectangular ROI with the zoom tool should zoom to that ROI, i.e., the ROI should be expanded to fill the imag display control.

- support mouse wheel (and touch screen if needed) to act as a zoom in and out no matter which tool is selected.

- support fixed aspect ratio hot key (e.g. Ctrl key): zooming with the above ROI selection while the hot key is pressed will zoom the image to fill the display with the largest (or smallest) dimension of the ROI.


Feel free to add suggestions below.


As the title says.

Currently, there is an ellipse tool, a rotated rectangle tool, but no rotated ellipse tool...

But while we are at it, why not allow rotating ANY ROI (or selection, whatever you want to call them)?


Application example: let the user define a ROI in the image and rotate it (as an overlay first, but as a final cut and paste later).

The title says it all, but let me expand a little...


Since LabVIEW 8, trying to create a VI from a selection containing a reference to an Image Control fails. It does absolutely nothing, nada, nitchevo, nichts, rien...

There are at least TWO CARs about it: 54165 and 35835.

Yet, years after years, nothing is done about it.


A workaround for creating VI is to remove the connections to any of the image control references in the original selection, and once in the created subVI, drop a custom control that you will have strategically dropped in your Favorites Control Palette:


Screen Shot 2016-11-29 at 14.49.41.png

Then you need to add it to the connector pane, reconnect in the original calling VI...

Not the easiest but manageable.


Now, what about managing events using a Register Event node handling several controls, including a couple of Image controls? Usually, when not using images, I bundle references to the controls and do the Event Registration in a subVI (there are typically a lot of wires and large nodes involved, therefore this would take an undue amount of real estate in a main VI).

The problem is, any cluster containing a Image Control Reference can apparently not be created as a control in a "Create subVI" or even a "Create Control" operation:


Screen Shot 2016-11-29 at 14.56.09.png



Screen Shot 2016-11-29 at 14.57.20.png


Once again, it is possible to do all this manually, but if you have a bunch of Image Control references and other references to bundle, this is becoming rapidly tedious.

0 Kudos


I've Labview 14.0,  i have to make project involving recognizing colours. I installed Vision Acquisition Software 14.0 but there is something wrong because i don't have this blocks like IMAQ Particle Analysis, Reject Border ect... Is that IMAQdx driver missinng or i need some driver for Windows 10. ? Thank You for help Smiley Happy

0 Kudos

In some applications I've had better OCR result using Tesseract ( than NI's OCR.

One thing that is nice with Tesseract is that in requires no training like NI's OCR does.


So it would be nice to have both option integrated in VDM and VBAI.

there are some vi in vision toolkit that their controls have not any useful information in labview help for user  so many ability of these vi are not discovered by LV user like  me 
for example IMAQ Particle Filter have input control with name of  selection value  inside this cluster we have item with name of Measurement Parameter  that have many mode to select but no detail information for them to know what kind of ability they have 
I think in next version of this toolkit it should be release  with enough information about these controls of  such vis

This idea is to have an option in the Image Indicator to change to Image Display.

Currently to get Image Display Developer needs to right click on the Front panel of Image Indicator -- Replace---Select Vision and the needs to select the kind of diplay needed.Image Display.PNG


If by default the right click option provides Display also as an option, then its easy to navigate in single selection.



0 Kudos

One of my problem for creating image processing project is to make a special overlay that should be rotate expand shrink or change in size, based on processed data
in many times creating code for such overlay  waste  so many time for calculation and test because of so many  geometry concept that we should regard 
and I have to allocate most of my time to solve this problem instead of using this time to solve processing problems that are more important than overlay
I think if we have a   assistant software in Labview like file ,daq,imaqdx and ... assistant in labview that we could use it for design special overlay and also define variant that should be change based on processing data
we will be save so many time to  allocate solve image processing issue instead of making an overlay 
I think it is possible to make such assistant and also I could help to NI to production of this  assistant software 

It would be nice if NI can provide Reset to default Values for settings in Vision assistant for many functions for e.g., Shape Detection etc. Currently either the developer should be getting default values from context help or delete the fuction and add it again.