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!
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

MAX will list all of the Cameras that are attached to the PC, along with attached DAQmx Devices, VISA Devices, and other Devices.  There is a very useful DAQmx System property node that returns an I/O reference to all the DAQmx Devices, allowing the user (me) to "find the USB-6002 with serial number 12345 that I so carefully calibrated and am using in my Test".  I'd like to be able to do the same thing for Cameras -- I have multiple cameras visible in MAX, but I want my code to use a particular Camera and would like to programmatically "discover" it by enumerating the Cameras and getting relevant properties (Name, Serial Number, other ID information, potentially IMAQdx parameters) to find the Camera I want to use.

 

Bob Schor

Lately I've been working on projects that use high-resolution cameras (10+MP). Typically I use the Vision Assistant to quickly prototype a vision inspection, then rewrite the inspection in LabVIEW.

 

When working with large images, I often need to pan around to different parts of the image. However, the only way to pan the image in the Vision Assistant is by using the scrollbars, which often feels clunky. I would love to be able to navigate around the image more easily and fluidly.

 

A few possible ideas:

  • Add the Pan tool to the toolbar, like the Image Display indicators have in LabVIEW, so that the image can be navigated by clicking + dragging
  • Click the middle mouse-wheel to toggle panning with the mouse position, like in Chrome/Firefox/Excel
  • Click + hold the middle mouse button to drag and pan the image, like Paint.NET
  • Change the behavior of the mouse scroll-wheel to align with familiar software, like Chrome/Firefox and Paint.NET, instead of just having the school wheel be zoom, that is:
    • Scrolling up/down would pan the image up/down
    • Shift+scroll wheel would pan the image left/right
    • Ctrl+scroll wheel would zoom in/out

Problem:

I need to acquire images from a camera and rotate them 90-degrees counter-clockwise on a cRIO-9034 target. Rotating the image on the camera sensor is not supported by the camera.

 

Current situation:

IMAQ rotate.png

It is currently possible to rotate an image using “IMAQ Rotate.vi”. This VI has a floating point input angle which can be set to 90 degrees. It is however a bit slow (around 80 ms on a cRIO-9034 for a 3840x1200 image). It should be possible to implement a faster way of rotating an image when the angle is in increments of 90 degrees.

 

My suggestion:

Create a new IMAQ vi for rotating images in increments of 90 degrees. The VI could be similar to "IMAQ Symmetry.vi" which can be used to flip images horizontally and vertically.

 

There are multiple places where we can configure constants in Vision Assistant, but which are not available inside LabVIEW.

 

For example: IMAQ GetKernel is severely limited by the kernel size (3,5,7). Nowadays, images are larger and computers are faster, so we often require larger kernel sizes. It is possible to create larger kernels in Vision Assistant, so porting that functionality should not be a problem.

 

Also, Vision Assistant provides more palettes than IMAQ GetPalette. (DICOM Hot Iron, DICOM PET etc). 

 

In both cases, it is possible to create code from Vision Assistant and copy-paste the constants, or create "custom" versions of the vis. But this is such a waste of time.

 

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.

 

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. 

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 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.

 

 

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.

 

Improvement:

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.

It would be very nice to be able to document the state diagram in Vision Builder, at this point the only thing we have is the state name that has to be descritive, that's not a lot...

 

Ideally, having all the documentation option that we have on a LabVIEW diagram : decorations, bookmarks, text with connected arrow, etc...

 

The use case is to be able to document the state diagram like a state machine, this is really needed to document inspection templates. 

When Vision Assistant steps are converted to LabVIEW VI, the overlay of result (i.e. edge detect, particle counts) is lost.

no overlay.png

 

Adding overlay function on VI requires not only LabVIEW skills, but Vision knowledge due to image memory handling.

So it'd be nice to have an option to keep the overlay functionality on Vision Assistant even when converting to LabVIEW VI to have a smooth transition.

 

Ryuji Kuwajima

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.

 

 

undo is really a must-have function

Functions* that insert overlay's into images can define a Group, so later you can e.g. delete the whole overlay group at once. Currently there is no VI that would be able to get a list af all Group names preset/used in the image (if you e.g. load an image saved with overlay's and you want to know the Group names, so you can access theyr properties). It could look like this:

 

group.png

Then it would be also easy to get properties if all of the overlay group's (with IMAQ Get Overlay Properties VI)... This VI could also return a array of integers, that would give information about how many Bytes each overlay group uses in memory - for debuging puposes, or if you have some memory shortage problems...

 

 

 


*

IMAQ Overlay Arc
IMAQ Overlay Closed Contour
IMAQ Overlay Line
IMAQ Overlay Oval
IMAQ Overlay Points
IMAQ Overlay Rect
IMAQ Overlay Text

...

Problem Description :
I am unable to enter more than two places past the decimal when entering in
tolerance into the pass inspection if.....
is there an update that can fix this issue? I believe this has never been addressed in any of the new
versions of VB. I can hold micron tolerances but cant do any pass fail because
when i put the numbers in they round up or down. they may be going in but i
cant see them and therefor cant refer back to what was put in because they do
not show past the 2nd decimal place. 

It would be _really_ helpful if LabView could read/write mp4 / h.264 files, so please could that be added to a future version? I'm working with a company who generate long mp4 files that are quite efficiently compressed. These need to be analysed using LabVIEW but to create an mjpeg version just so that LabVIEW can open it wastes a lot of time and space + needs another software install. It's embarassing to say that LabVIEW just can't do it. ps please can we have the ability to read / write data fields on AVI files put back in to the latest versions? Thanks

This idea is something I have implemented in house and posting is motivated by the following discussion:

 

http://forums.ni.com/t5/Machine-Vision/Simulate-GigE-Vision-Basler-Runner-Camera-ruL2098-10gc/m-p/30...

 

I would like to have the ability to add a simulated imaq camera in max to use with the imaqdx driver.  

The camera should be able to specify wither it is linescan or area scan, as well as sensor size and specifications.  The simulated device should support the basic property nodes (AOI, exposure line or frame rate ..... could even have a xml for iGenCam).  Ideally the source of the image (directory) could be specified so that grabs or snaps would play back previously acquired images or a test pattern could be selected instead.

 

I might be asking for too much, but this allows for offline testing on vision systems, something that is common after deployment.

In Vision Development Module, it seems new functions are being created to replace older versions from time to time. ie: IMAQ Set Calibration Axis Info.vi --> IMAQ Set Calibration Axis Info 2.vi.  This is fine, however, the Vision Examples still use the older versions of these VIs, ie. they don't seem to have been updated also. 

 

For instance: Using Vision Development Module 2014 SP1, example Simple Calibration.vi.  In this example, the following VIs are being used: IMAQ Setup Match Pattern 2.vi, IMAQ Match Pattern 3.vi, IMAQ Set Calibration Axis Info.vi.  However when you look at the LabVIEW functions pallette, the following VIs are available: IMAQ Learn Pattern 4.vi, IMAQ Match Pattern 4.vi, IMAQ Set Calibration Axis Info 2.vi.

 

This tends to confuse things.  It would be great if the examples were also updated to use these new functions available

 

Also, the help files do not seem to differentiate between these older and newer functions.

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).

Use case : I create inspection templates in VBAI so that my customers have a base to start from.

I'd love to be able to "lock" a state, just like I can lock a VI in LabVIEW (with the same options : with or without password).

It would be practital if locked states could have a different colour and if we could put some text next to them on the diagram to explain why they are locked.

This way, it would be much easir for my customers to know what part of the inspection they can work on and the part that they are not supposed to modify (sometimes they modify things by mistake, but the undo will one day take care of that)