Vision Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Labview should create a photometric stereo algorithm to combine images taken with segmented lights.

CCS and Smart Vision Lights are examples of manufacturers that have these lights.

 

www.computationalimaging.com

www.smartvisionlights.com/products/lm

 

 

 

 

 

 

 

Dear Team.

 

It would be great to have multi - level password in VBAI.

 

This Direct option would be very helpful to limit accessible features in inspection interface for operators, line in-charge, supervisor and for managers.

 

Thanks and Regards,

NJ

Hi,

Say, I am going to build a system and control it using labview through DAQ.

For example, the system has stepper motors to move a heating chamber back and forth, a temperature monitoring system, a pressure controlling gauge etc.

Now, before diving into building the actual system, Is it possible to make a simulation of the whole device and integrate the necessary LV coding, where I can show on screen how the LV program controls the different parts of the system?

 

Thanks.

<rant>

A user of mine who had tried a software I had released as an executable using the trial license offered by NI when first installing the Vision Development Module RTE, decided to go ahead and purchase a single user license from NI to be able to continue using it (note: I don' t get a dime from this transaction and in fact I would argue that being a research only tool, there should be no "Deployment License Fee" charged to any user, but this is another topic).

The user called NI, who told her that the product would ship in 3 days from now. The user reported this to me, and I immediately called NI to figure out what was going on. After all, the deployment license is a simple license number and there is no need to ship anything, since the RTE can be downloaded for free on NI's website.

 

Well, things are different at NI.

 

Yes, the website confirms that a deployment license doesn't need any delivery ("no media" is the only choice on the product page: https://www.ni.com/en-us/shop/product/vision-development-module.html). But still, when you purchase a license on Tuesday, it only "ships" on Friday.

I had to talk to two NI employees before I could get to the point where I was offered to get a "trial license extension" for my user (but no admission that the fact that a software license needs 3 days to be generated is backwards).

I certainly will not go through this a second time, and will clearly spell out the antiquated process that any potential user of my software will need to go through, should they desire to purchase a license...

<end of rant>

 

Idea: Make it simple to get a vision development module deployment license (as in quick email delivery shortly after online purchase).

'NI Vision Template Editor' is very helpful to create templates, but it would be better in a standalone Labview application to avoid calling an external exe (Editor) and browsing throught folders via Windows, allowing a final user (customer) to go around the O.S.

It would be appreciated to have the 'NI Vision Template Editor' available as an Express VI to use inside the standalone LV application.

Thanks.

C.M.

It can be improved in two ways:

 

1) It should work in radial direction with gap parameter in order to better apply different scenarios. Similar to Find Circular Edge function, but the aim is search for defects rather than a diameter. So, it could be implemented in the Annulus Tool of Find Edge function.

2) Many annulus should be added like a combination of image 1 and 2, with two gap parameters.

 

Current workaround is using a polygon tool, which is very time consuming and not fully functional.

 

1)1)workaroundworkaround2)2)

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

It would be nice and useful to have support for MAC Operating Systems for the Vision software (VAS, VBAI, VDE). 

 

I've seen that Vision is used commonly in academia, where many students have MAC computers. 

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.

 

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.

 

The existing LineProfile output is rather unintuitive. It gives you a dx but the dx seems to always be 1. This is made apparent by taking line profiles in a radial pattern. The profiles between 0° and 90° return smaller arrays even though the lines are the same length. My suggestion is to allow the user to select the existing behavior but make dx accurate or to interpolate and use a step size of 1 pixel.

IMAQ Line Profile Improvement2.png

 

Hi !

I have to make a project on Labview involving reading 2D bar codes (Datamatrix) with a bar code reader Matrix 210N. A software is given with this bar code reader called dl.code, to test and configurate it. I want to know if it's possible de create a communication between Labview and this dl.code software. I want to have all the informations that i need from this software on Labview so that i can work on my Datamatrix (processing datamatrix and saving informations in an Excel file)

Thank you for your help 🙂 🙂

1) Allow us to easily comment each step 

2) Allow us to easily see comments as we step through the program in config mode

3) Allow us to comment the state diagrams

4) Give a record button in the tool bar in config mode to record acquired images (without having to put down an image logging step in the code)

5) Give a film strip view option (perhaps between the main window and the steps) to show the last n images.  The strip would show the short history of acquired or selected images so it would also work with a multi-camera setup.

6) Give an option when image logging to save the image as shown by the color pallet lookup table displays.  (especially good for 3D or thermal images)

 

Please include more default VBAI System Variables.

Common and useful system variables would include:

1) Disk Space Remaining on Target default volume (or by drive letter would be even better) in MB

     Target_C_Free = 2203

     Target_U_Free = 435000

... VBAI crashes systems too often when people fill up the hard drive.  Currently the only way to prevent this is with call LabVIEW steps even though the info is already in VBAI under the Target Info menu, just not in the system variables.

2)  Target Temperatures (very useful for NI targets but could be skipped for PC targets)

3)  CPU Utilization %

4)  Pretty much anything you already have in System Info under NIMax would be very useful ... Port IP Addresses, MAC Addresses, Firmware Versions, OS , serial #,  network devices, etc. 

 

 

No need to kill the CPU updating these every 10msec. 

 

5)  And finally an "on event" Boolean flag to snapshot the event log into a string array would be fantastic for troubleshooting.  Currently I can only see the event log when in Config mode which isn't nearly as useful.

 

 

 

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

 

Hello,

 

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.

 

idea.png

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.