RE: Caputring points on a threshold
Here's a quick way. I don't know if it is the fastest possible, but it works well. >From your original array A, compare it to the threshold T to get boolean array B: B = A > T Use a loop with a shift register to compare each value of B with its previous value. When it changes from F to T, you have found a crossing point. Output the loop index and whatever other info you need. Bruce ---------- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Allen Sent: Tuesday, January 20, 2004 2:12 PM To: '[EMAIL PROTECTED]' Subject: Caputring points on a threshold Salutations, On behalf of a co-worker: Analyzing an array of 600 acquired points over 3 milli-seconds post-process; we would like to capture the values that cross a set (Y) threshold and then save them to a separate array along with their (X) value. (Y) representing the value of the threshold and (X) representing the "point" (0-600) that hit the threshold. Any suggestions greatly appreciated. Thanks. -- Patrick Allen SciMech Technical Services Inc. Tel: (905) 693-0866 Fax: (905) 693-0867 Email: [EMAIL PROTECTED]
RE: absence of IMAQ vision mouse move event?
Adam, I dropped one of the new vision displays on my front panel, and could add an event for that control called "Mouse move" that returns coordinates. Is this what you are looking for? I think it returns front panel coordinates instead of image coordinates. You might need to do a little math to convert front panel coordinates to image coordinates. You will need to figure out the image coordinates of 0,0 on the front panel image display. You might run into trouble when zooming and windowing also. Using the zoom value and image center info, it should still be possible to do the conversion. It sure would be nice if those image coordinates were an easily available output. The way I solved this in LV 6 is that I forced the user to click on the image whenever they wanted an update, and used "Get last event" to get the image coordinates of the click. You could probably do the same thing with the invoke node for "Get last event". Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, January 21, 2004 8:30 AM To: Info-LabVIEW Mailing List Subject: absence of IMAQ vision mouse move event? IMAQ vision users, Does anyone know if a mouse move event for an image control that returns image coordinates exists? I am trying to continuously display coordinates remapped from pixels (x,y) to celestial coordinates. This event is critical. The tools palette and the image info display in 7.0 both show continuously updated image information, but the ability to detect this event isn't available. Adam Crain This message was sent using UNC Physics' Webmail http://webmail.physics.unc.edu
RE: Automated test using Tektronix 7000 series.
Joe, I am probably displaying my ignorance of scopes here, but is there enough additional features in the Tek scope that it wouldn't be a good idea to use the NI scope card instead? I suppose if the Tek scope is not fully dedicated to your project it would make sense to have a stand alone scope. I believe an OCX interface is the same as an ActiveX interface, which should be fairly easy to program from LabVIEW. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jasniewski, Joe Sent: Wednesday, January 21, 2004 11:54 AM To: [EMAIL PROTECTED] Subject: Automated test using Tektronix 7000 series. Hello! We are considering replacing aging Tek scopes with the new 7000 series. As you probably know, these new oscilloscopes have an embedded PC running win2K with a GPIB controller. What's nice is through VISA, you can get large length waveforms into LabVIEW PDQ for processing. The demo unit we have also has a serial port and two USB ports. However, I use a NI6713 analog output card in the PC which runs my test VIs. The scope doesn't have a PCI bus card slot. For some of my testing, I load the 6713 with trapezoidal waveforms on a few channels, then generate simultaneous output. On a per bench basis, I really don't want to maintain two OS installations, though I do realize LV could probably "virtually" see the 6713 card from the LV running on the scope, with e-net connections to both boxes. I want a USB 4 or 8 output waveform generator that can do simultaneous output. I found something called a WaveLAB USB http://www.add2.co.uk/wavelab.html but alas, they don't mention anything about LabVIEW. They do say "The WaveLAB OCX enables bespoke applications to be written in Visual Basic". Sounds like a long way from a LabVIEW driver for my skills... Does anyone have a suggestion as to how I might solve my problem? I have NI working on it now, but I thought I'd ask here as well. Best Regards, Joe Jasniewski
RE: Fuse Vision System suggestions.
Diego, Without more information, I can't really tell you much about what you should do. I can give you a few pointers, though: Once you know the size of the field of view and the resolution you need, you can figure out the best hardware for imaging your fuses. I recommend talking to Graftek (800) 441-2118 to get help selecting a camera, lens, lights, etc. They also could point you in the right direction for your software. NI has a simple example for examination of color fuses that might help you get started. It is part of the Vision toolkit, which is really all the additional software you need to do what you are asking. Vision Builder AI might be useful, but it is usually missing that one function you need to get everything working correctly. If you need help designing the system, I can help you out. After all, that is my area of expertise. Take a look at my web site below. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Castro, Diego Sent: Tuesday, January 20, 2004 12:49 PM To: [EMAIL PROTECTED] Subject: Fuse Vision System suggestions. Hello all: Our Corporation Engineering Group is looking to develop a Fuse Color Detection system based on LabVIEW, although I have plenty experience working with LabVIEW, I am far from being an expert in Vision System Design, so I am looking for advice on a minimum Cost system being able to look at 40 different components (fuses) simultaneously , capable to identify Colors and Patterns and being easily upgradeable. Any suggestions as the minimum software add-ons I will need will be greatly appreciated. Thanks Diego Castro NGV Systems Engineer Alphabet Portland Stoneridge Corporation (260) 726 6501 [EMAIL PROTECTED]
RE: [A,W] Picture func, fill
Knut, How about using "Draw Multiple Lines" with Fill True? That should fill in your polygon for you. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Knut Steinnes Sent: Thursday, January 22, 2004 2:52 AM To: [EMAIL PROTECTED] Subject: [A,W] Picture func, fill Dear folks, I have an application where I need to draw a few areas upon a picture and calculate the ratio between these areas. I'm using 7.0 PDS and the Picture functions. Reading a picture and drawing some closed polygons in a Picture object does work well. However, the filling procedure is more akward. The algorithm always corner itself before finishing the closed polygon. (It is following the inner edge so creating 'islands' is unavoidable) Any hints about how to fill an area? Maybe it can be done by searching line by line...or buying the Vision module, but the app is to 'simple' for that. Knut University of Tromsø, Medical Faculty, Medical Physiology, N-9037 Tromsø, Norway Tel. +47 776 44692, Fax. +47 776 45440
RE: absence of IMAQ vision mouse move event?
I went to the trouble of programming the mapping of the screen coordinates to image coordinates, and it works pretty well. I would offer this to everybody, but... I was not aware of the IMAQ WindGetMouse function. I checked, and it still exists in the same place for Vision 7, and it DOES work with the new image display. The Window Number output is garbage (to me), but the X and Y coordinates match the vision display exactly. Just put it in an event for a mouse move on the image display. Thanks Tim for the extra piece of info I needed to figure it out. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Timothy Fallon Sent: Thursday, January 22, 2004 10:00 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: absence of IMAQ vision mouse move event? Hi Adam, I think the old IMAQ WindGetMouse (on my system it's at C:\Program Files\National Instruments\LabVIEW 6.1\vi.lib\Vision\Compatibility.llb\IMAQ WindGetMouse) is what you're looking for. Unfortunately, I can't find the equivalent of this vi in the vision7 world. As far as I can tell, Bruce's idea of using mouse move event coordinates and adjusting properly is the only way to go. I'd be interested in what you find as I may be looking for the same thing shortly. -Tim Timothy Fallon Senior Software Developer Image Therm Engineering Sudbury, MA -- >IMAQ vision users, > >Does anyone know if a mouse move event for an image control that returns image >coordinates exists? I am trying to continuously display coordinates remapped from >pixels (x,y) to celestial coordinates. This event is critical. The tools palette >and the image info display in 7.0 both show continuously updated image information, >but the ability to detect this event isn't available. > >Adam Crain
RE: Replacing one instance of a VI versus many
Scott, If you keep the name of the vi the same, it should update everywhere automatically. If you are changing the name of the vi, the fastest way I have found to do the global change is to exit LabVIEW, rename the old vi (I usually add OLD to the name), then rename the new vi to the old name. When you load your program, it will automatically switch to the new vi since it load by name. Open the new vi and use "Save as" to save it to a new name, and it will change everywhere. Make sure you use "Save all" immediately following to make sure all of your vi's are saved with the new name. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Serlin Sent: Thursday, January 22, 2004 5:39 PM To: [EMAIL PROTECTED] Subject: FW: Replacing one instance of a VI versus many My last post did not make it to the list for some reason. Anyway, here's a repeat of the question: My VI has a subVI that is called out in many places within the top level VI. How do I get the parent VI to pick up the subVI that has been changed through the entire parent VI in one shot?
RE: read strings INTO enum?
Bill, You can't do it with an enum, but you can do it with a text ring. Create a small vi that just sets the strings[] list for a blank text ring. Copy the text ring into your program and convert it to an enum. Ta-daa! Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bill Gilbert Sent: Wednesday, January 28, 2004 12:27 PM To: Labview Listserv posting Subject: read strings INTO enum? In th past when using an enum for a state variable, I 've read the strings out as an array from a property node. Works fine. I got to thinking that if I could reverse the process and paste a list of strings into a string control(from excel), generate a string array, and read them INTO a blank enum, I could save myself a bunch of typing. I can get the string array, no problem, but I can't get the enum to accept them. I get a broken Run arrow, with the message "Enum has duplicate values", usually two blank entries. Am I just barking up the wrong tree? --BG Bill Gilbert, EM Tech UMN School of Physics and Astronomy Tel 612 624 4870 Fax 612 624 4578
RE: Report in PDF Format
I have been using CutePDF to generate PDF files for a while. It is a free utility and it works pretty well. It installs as a printer, so all you have to do is print to the CutePDF printer. It will prompt you for a file name to store the PDF file in. To find it, search the internet for CutePDF. I haven't tried this on a LabVIEW panel, so I don't know how well it will work. It does a great job with Word and a few others, though. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of BCD - Jérôme Orteu Sent: Friday, January 30, 2004 3:03 AM To: [EMAIL PROTECTED] Subject: Report in PDF Format Hello everyone, Is someone known if it's possible to generate a report in pdf format from LabVIEW? And this one without install the Acrobat (professional or standard) software. I imagine a vi front panel saved in a pdf format file, similar of the report tools in LabVIEW to create html files. Thanks Jerome Orteu BCD microtechnique SA Switzerland
RE: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi"
Roman, I would start by creating a single waveform for your entire data, and figure out your time step for your overlapping data. Set up a loop for the number of waveforms you will average. Each time through the loop, use Get Waveform Subset to extract a subset of the waveform and process it. I recommend lengths of a power of 2 for faster processing. Use the FFT Spectrum (Mag-Phase).vi for calculating your average. Set up the averaging parameters for the number of averages, RMS averaging and Linear. It should do all the work for you, and the final output will be the RMS averaged spectrum that you are asking for. Note that the phase will be meaningless, but the magnitude will be correct. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Roman Golubovski Sent: Tuesday, February 03, 2004 9:51 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" Colleagues, I need help/guidance on how to use "FFT Spectrum (Mag-Phase).vi" to perform RMS averaging on sampled strip(s). DAQ produces strip of up to 120.000 samples (max 120sec at max 1kS/s). After that I am asked to do the following: 1) segment the strip into overlaping segments (equally sized) 2) perform RMS averaging on them I am not familiar with this particular technological background and the "customer" also cannot explain how it is being done - he just wants me to perform what his signal analyzer does! I am not even sure the segmentation is compatible with the RMS averaging process. Anyway, lets assume the strip length is 200 samples, the egment size is 40 samples and the overlap is 10 samples. Than obviously I can segment the strip into 6 segments starting at strip positions 0, 29,59,89,119,159. What do I do now? I gues I have to turn the segments into waveforms with dt=1/fs and t0=0? I guess I should put the "FFT Spectrum (Mag-Phase).vi" in a loop with 6 iterations feeding a segment-waveform into the "time signal" connector each iteration? I expect the output is NOT auto-indexed? How to apply it properly actually? Roman Golubovski, MSc Dipl-EEng [EMAIL PROTECTED]
RE: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi"
The only way to get meaningful phase is to start your acquisition at the same phase for every segment. An example of this would be an encoder pulse. If each acquisition starts at a once per rev pulse from the encoder, they will all have the same phase components. Another possibility is doing order tracking, where there is a fixed number of samples per revolution. If you shift your window by the number of samples per revolution, you will get the same phase again. Any time you have a steady stream of data with no reference point, the phase data is essentially useless. If it is a repeating signal you should be able to identify a reference point. I suppose if you don't have a hardware signal, you could use convolution to identify repeating cycles of data. If phase is important, you should have a reference signal. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gerd Rech Sent: Wednesday, February 04, 2004 3:36 AM To: [EMAIL PROTECTED] Subject: Re: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" Hi folks, I know the "overlapping average" technology from signal analysers. In those cases I used them up to now, phase was not relevant. Now I have an idea about a different use where phase would be important. Scott's comment that phase would be meaningless if overlapping averaging is used is making me thinking. What about this: 1. Cut the long waveform stream into a number of (overlapping) pieces. 2. Use the FFT vi for each piece, which will produce amplitudes and phases for each frequency bin. 3. Average apmlitude and phase for each frequency bin separately. Would this create meaningful phase? I would guess yes, as all pieces were acquired in a consistant stream of data originally. Seems that my mathematical understanding does not reach far enough to understand this completely. Cheers Gerd
RE: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi"
Actually, it shouldn't work every time. If you have two identical FFTs with opposite phases, adding the complex FFTs will cancel them out. You would lose data if you add up all the complex FFTs, and the "average" value would be smaller than the correct value. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dr Sanjay Gupta Sent: Wednesday, February 04, 2004 5:49 AM To: Gerd Rech Cc: [EMAIL PROTECTED] Subject: Re: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" Gerd, Why not just add up the complex fft's of the various segments prior to computing the magnitude and phase. Works every time. Sanjay Gupta +-+ + Chief Scientific Officer & Former Head Phones:0512-2597830 (Off)+ + Advanced Centre for Materials Science 2574628, 3117477 (Res)+ + Indian Institute of Technology + + Kanpur 208016, India Fax:+91-(0)512-2597459 + + + +-+
RE: [W] Image acquisition
I don't really see a need for anything else for your application. If you are using a non-NI driver to acquire from the image, you should be getting a 2D array from the camera. If not, you should be able to easily convert it to a 2D array. The summing operations are standard array manipulation. You can always display the results using an intensity plot or picture control. If you want higher speed, you could use the new image control in LV 7. You might have to install IMAQ to get that control. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jean-Pierre Drolet Sent: Wednesday, February 04, 2004 10:18 AM To: Info-LabVIEW Subject: [W] Image acquisition Hello all. I'm not familiar with image acquisition and I have to communicate with a CCD camera, Photometrics CE 300, using its driver PVCAM. The camera acquires a spectrum and the only processing required is to sum horizontal or vertical lines into bins. I have LabVIEW 7 Pro and I would like to know if someone here can tell me what else is required to get this job done. Thanks Jean-Pierre Drolet Avensys.
RE: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi"
I don't see any benefit to averaging parts of the signal. If you average within a single revolution, you will lose your phase information. There is no benefit of averaging sections of repeated signals either. Just do a large FFT for each revolution and average them. FYI, you could average the signals themselves or the complex FFTs for repeated signals. I don't recommend averaging magnitude and phase in this case. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gerd Rech Sent: Wednesday, February 04, 2004 10:26 AM To: Bruce Ammons Cc: Info LabVIEW Subject: AW: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" I have a phase reference pulse once per rev which starts the acquisition. So I should get consistent phase readings for repeated measurements. However, I was wondering if it would make sense to average parts of the signal(using overlapping segments) for speeding up the averaging process. The idea is to make as much use as possible out of the data that I get into the PC. Gerd -Ursprungliche Nachricht----- Von: Bruce Ammons [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 4. Februar 2004 15:27 An: 'Gerd Rech'; [EMAIL PROTECTED] Betreff: RE: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" The only way to get meaningful phase is to start your acquisition at the same phase for every segment. An example of this would be an encoder pulse. If each acquisition starts at a once per rev pulse from the encoder, they will all have the same phase components. Another possibility is doing order tracking, where there is a fixed number of samples per revolution. If you shift your window by the number of samples per revolution, you will get the same phase again. Any time you have a steady stream of data with no reference point, the phase data is essentially useless. If it is a repeating signal you should be able to identify a reference point. I suppose if you don't have a hardware signal, you could use convolution to identify repeating cycles of data. If phase is important, you should have a reference signal. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gerd Rech Sent: Wednesday, February 04, 2004 3:36 AM To: [EMAIL PROTECTED] Subject: Re: [W6.1] RMS averaging with "FFT Spectrum (Mag-Phase).vi" Hi folks, I know the "overlapping average" technology from signal analysers. In those cases I used them up to now, phase was not relevant. Now I have an idea about a different use where phase would be important. Scott's comment that phase would be meaningless if overlapping averaging is used is making me thinking. What about this: 1. Cut the long waveform stream into a number of (overlapping) pieces. 2. Use the FFT vi for each piece, which will produce amplitudes and phases for each frequency bin. 3. Average apmlitude and phase for each frequency bin separately. Would this create meaningful phase? I would guess yes, as all pieces were acquired in a consistant stream of data originally. Seems that my mathematical understanding does not reach far enough to understand this completely. Cheers Gerd
RE: 60MS/sec- is this possible?
Instead of asking if this is possible, I would ask if this is necessary. If you are just averaging the data, there is no reason to acquire at 10 MS/s. I assume you are using a portion of this data for some sort of analysis or storing it for later use. Perhaps you could use a slower speed card and an averaging filter to monitor the data, then use the high speed card to grab the block of data you need. If the events being monitored are not predictable, you could use a circular buffer to acquire 3 seconds worth of data for each channel into onboard memory. Whenever you need the data, you could download it into the computer's memory. I don't know if this would work with your application, but it is probably worth looking at alternative strategies for acquiring the data you need with lower overhead. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of E. Blasberg Sent: Tuesday, February 10, 2004 9:30 AM To: [EMAIL PROTECTED] Subject: 60MS/sec- is this possible? Hi All, This may sound naive, but I have a customer who wants to sample up to 6 channels across 3 boards (2 channels/board) at a sampling rate of 10 Megasamples/sec/channel (i.e., 60 MS/s in total). Three different units are being measured simultaneously, which is why 3 boards are necessary (they don't all start or stop at the same time, but they could all be on at the same time). Currently the system measures 50KS/s/channel with no problem (plus up to 2 channels of AO). The data is averaged each second and put into a FIFO buffer which is usually 2 minutes (120 samples) long. Every 2 seconds, the FIFO is averaged (to get a running average). I should add that a GPIB data logger is read every 2 seconds for slower data. My NI rep has suggested the PCI-6115 whose specs could certainly handle this. What I'm worried about is the computer keeping up with averaging 60MS/s. Anyone have any experience using these data rates over an extended period of time (measurements can last WEEKS). Much TIA, E. Blasberg iDAQ Solutions Ltd
RE: Distributed network control hardware
Have you looked at the newer NI compact Fieldpoint hardware? It appears to be about the same size as the UEI solution. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bartkowski, Peter (Civ,ARL/WMRD) Sent: Wednesday, February 18, 2004 12:25 PM To: [EMAIL PROTECTED] Subject: Distributed network control hardware Question, I've used NI's Fieldpoint hardware extensively over the past few years. Now I have a new application that is very volume constrained. I've looked at United Electronic Industries Power DNA hardware, which is a bit smaller than NI's hardware but I still need to go smaller. I only need a few digital outputs and a few analog inputs. Does anyone know of any other hardware out there that might be smaller? Oh, and of course, I'd like the company to have labview drivers for the hardware. thanks, Peter Bartkowski U.S. Army Research Lab Aberdeen Proving Ground
RE: [A] Infinite continuous logging of 16 TV (A+V) channels
I would initially say it is not feasible. You would need multiple PCs with several IMAQ cards (+ audio) each to get all the data into a system, and very large, fast hard drives to store the data. The drives would fill up very quickly. If you went to on demand recording of selected channels, it becomes reasonable, but still big. It would depend on the actual requirements. One thing I would consider if you decide to do a system like this is to look at video to firewire converters that combine a video and audio signal and convert it to digital video for firewire. I don't know if this format is compatible with the NI firewire drivers (I doubt it), but that might compress the video enough to record several channels on a single computer. They might be cheaper than IMAQ cards, which could only handle one channel each. They would also take care of synchronizing the video and audio for you. I don't know if the quality would be considered professional quality, though. I would probably just look at a large tape machine that records several channels to a large magnetic tape, and have backup system ready when you need to change the tape. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Roman Golubovski Sent: Monday, March 01, 2004 4:24 AM To: [EMAIL PROTECTED] Subject: [A] Infinite continuous logging of 16 TV (A+V) channels Hello, This is out of my expertise so I am posting it on the forum. A friend from a TV station would like to set a system for continuous 24h (or on-demand) recording of 16 TV channels (composite or AV) with professional quality. What would be the cheapest and most efficient solution HW&SW - single or multiple IMAQ cards, single or multiple PCs, drivers, software, ..., considerations on reliability? I appreciate any info regarding any aspect, especially concrete products. Thanks in advance, Roman Golubovski, MSc Dipl-EEng [EMAIL PROTECTED]
RE: Opening and Reading
The 1 is actually wired to the deny mode, not the open mode. I would probably save a copy of the vi with a new name and change the open mode to read only. I suspect that would fix it. You would need to be careful though, because you would have to use the original version when writing files. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rochefort, Paul Sent: Monday, March 01, 2004 2:47 PM To: Info-Labview (E-mail) Subject: Opening and Reading My problem is opening read-only files using the waveform file open vi. At the heart of this vi in the "Open file" primitive with mode input set to 1 (open). When I try to open the file, I get the following error "Error 8 occurred at a Open File in Myvi". To confirm my assumption Open file primitive was the source of the problem, I did a quick test trying to open a .txt file set to read-only and got the same error message. (The file are set to read-only because the file were burned to a CD and then transferred to another computer for analysis.) Obviously I am not first to discover this behaviour so I checked the Info-search without any luck. Is there a good way or utility to opening and reading this type of file while preserving its protective state. I running Windoze 2000 with LabVIEW 7.0 (Oh how I wish I could use my mac) Paul A. Rochefort Chalk River Laboratories AECL
RE: [A] Evaluating a 3D Prametric Surface
I spent some time modifying the non-linear Lev-Mar fit to do a rational polynomial fit of z=f(x,y). The one I ended up using was the ratio of two polynomials, where both polynomials went up to a power of 4 in x and/or y. It worked really well for smooth functions. It is just like a least squares fit, but it uses non-linear equations and is iterative. At the moment, I think I spent too much time on it to give it away. This might help you get started in the right direction, though. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Max Harbor Sent: Monday, March 08, 2004 5:44 PM To: [EMAIL PROTECTED] Subject: [A] Evaluating a 3D Prametric Surface I have assembled data taken in a series of stepped tests that I have plotted using the 3D Parametric Surface Graph. Essentially the inputs are X, Y, and Z matrices that describe a ribbon like surface that does not fold under or back upon itself. I want to perform a fit and evaluation on the data such that I can input scalar X and Y and output scalar Z. Because the data are distributed unevenly I am having fits coming up with an evaluation routine to handle this. Does anyone have any suggestions or a canned solution to this kind of a problem. Thanks, Max Harbor [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Search - Find what you're looking for faster http://search.yahoo.com
RE: 2D interpolation from a randomly distributed 3D array
Here is a trick I picked up while searching for methods to blend images. Create a weighting function that is a function of x and y. Probably a gaussian or something like that. For each point, evaluate the functions using dx and dy distances from the point. Multiply by z and sum the values for all the points, then divide by the sum of all the weighting functions. In summary: F(x,y) = weighting function Z = sum F*z / sum F Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jin Xuesong Sent: Wednesday, March 24, 2004 1:58 PM To: [EMAIL PROTECTED] Subject: 2D interpolation from a randomly distributed 3D array Hi, all I am facing a problem now and hope to get some help from you. The problem is: I collect a bunch of 3D data (x,y,z) which x and y are not uniformly distributed. To draw a contour graph, I need a matrix which is built from the (x,y,z) data. How can I do a 2D interpolation from a randomly distributed 3D array? Thanks for your kindly help in advance. Sincerely Xuesong Jin -- Dr. Xuesong Jin Physics Department Trinity College Dublin 2 Ireland Tel: 353-1-6083031 FAX: 353-1-6083037 Mobile phone: 353-087-7851016 Email: [EMAIL PROTECTED]
RE: Detect Motion in Camera-Images
Marco, Subtracting the images sounds like a reasonable approach. I assume you are using the absolute difference, not just difference. I would suggest obtaining the mean brightness of the original image. You could divide the mean of the difference image by it to normalize your results. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax
RE: Info-LabVIEW Digest - 04/05/04
I haven't had any luck yet. I can't even change the size programatically. The properties that would appear to control it are read only. If anybody does know a way to change the image control size during program execution I would like to hear it also. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lewis Drake Sent: Tuesday, April 06, 2004 9:06 AM To: [EMAIL PROTECTED] Subject: RE: Info-LabVIEW Digest - 04/05/04 I am using the new IMAQ 7.0 image control that imbeds an image on the front panel of a LV VI. However, I can't seem to find a way to make it autosize to the image. Has anyone been able to do this? Lewis Drake Process Automation Corporation Belle Mead, NJ 908 359-1011 www.processauto.com
RE: Image Resizing
I know how to do all that. I don't want to resize my image. What I want to do is change the size of the image control to match my image. The old image window could easily be resized to fit your image, and could even do it automatically. The picture control is very easily resized to whatever you want. It has a property "DrawAreaSize" that you can set as 640x480 or any size you want. I am amazed they did not include an equivalent property for the new image control. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 11:01 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Image Resizing Hi; This may not be the exact answer but it is close:) There is a writeable property called Zoom, you can only have exact numbers 1, 2 or -2 -3 etc. This way your original image is zoomed and displayed. However if you want to exactly fit the original image into the control, I guess one need to do a bit more work (there is a vi called image resample). You can get the size of your control (and also the aspect ratio) and then resample and/or zoom your original image to fit your control. Very doable approach, but maybe a bit slow! Hope this helps Hamid + Dr. Hamid R. Yazdi Federal Mogul Manufacturing technology 3935 Research park drive Ann Arbor, MI 48108 Tel: 734 222 4108
RE: Image Resizing
Hamid, The answer you gave just didn't answer my question. It appeared that you didn't understand what I was looking for. I was trying to clarify what the problem was, but it must have sounded like I was upset or offended. It is more that a key feature is missing from the image control that upsets me. I apologize for making my reply sound upset. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax
RE: (DOS-Like-) key control : Ideas wanted
Uwe, Would the new keyboard vis in LV 7 do what you want? They will return the keys pressed by the operator without needing to be in a control. I would probably use a simple loop to monitor the keyboard and send commands into a queue whenever specific keys are pressed. You could enable/disable the keyboard monitoring using a more complicated key combination (CTRL-K or something). This way, text could be entered into controls without activating the commands. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Uwe Frenz Sent: Friday, April 23, 2004 3:45 AM To: list LV-Info Subject: W: (DOS-Like-) key control : Ideas wanted Hi all, I had at least two customers that wanted to have a keyboard control for a rather complex LV app (ECG analysis tools). Such like old 'Wordstar' or Word3 had. For the younger ones: pressing dedicated keys on the keyboard activates special functions under specified circumstances. For example, the key used to be 'one (line) up', 'one left', 'to the left border' and so on. JUST that key did that, meaning there was no or mouse click or anything else needed neither inbetween two of such key strokes nor after the last one. I had tried several attempts starting with LV 5.1 and none of them really satisfied me nor the customers. Don't want to bias you with those attempts... Has anyone of you some ideas or even better some proven concepts or code to share? Any ideas are welcome! BTW, There are better UI concepts for most UIs, but if there are literally 10th of different actions availabel that must be performed quickly and sometimes many of them, then such kind of an UI is still usefull. Takes as few actions as possibel and can be quite quick. In this special case a 96 channel ECG was transformed to a voltage mapping onto a cube around the heart. This cube is displayed from two opposide views, where the view angles must be changed. The voltage levels of different curves must be changed, curves added/deleted, some algorithms for the mapping or potential adaption are to change and so on. Greetings from Germany! -- Uwe Frenz ~ Dr. Uwe Frenz Entwicklung getemed Medizin- und Informationtechnik AG Oderstr. 59 D-14513 Teltow Tel. +49 3328 39 42 0 Fax +49 3328 39 42 99 [EMAIL PROTECTED] WWW.Getemed.de
RE: DAQmx, etc.
That's funny, because I recently experienced the CPU slowdown also when reading fixed size blocks from a continuous acquisition in DAQmx. Perhaps it is not being totally blocked, but it definitely slows it down. Perhaps there is a bug in DAQmx that NI is not aware of. I am pretty sure I set up multithreading properly, but I'm not positive. I fixed the problem by using the old method. I check the number of samples available using a property node, calculate how many milliseconds it will be until my data is ready, use a millisecond delay to wait until the data is ready, then read the block of data. My CPU time went from a high percentage to a very low percentage when this was added to the code. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, May 19, 2004 8:59 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: DAQmx, etc. Hi, I'd like to clarify a few things about the "blocking" behavior of the Read vis (the same rules also apply to the rest of DAQmx). - One of the main problems with the blocking behavior in Traditional DAQ was that you could not do other operations while you were waiting in the AI.Read.vi for samples to become available. This was due to the single threaded model of the Traditional DAQ driver and the fact the Traditional DAQ used CINs (though they were replaced by DLLs in NI-DAQ 6.x) DAQmx if fully multithreaded and does not have this limitation. For example, you can run two versions of your "cont&graph.vi" example simultaneously (on different devices) w/o problems. Alternately, if you have two parallel while loops in a VI with a Read.vi in one of them, the other while loop will not be slowed down while the Read vi is waiting for samples to become available. - Scott's "non-blocking AI. Read vi" in Traditional DAQ works by waiting for the requested number of samples to become available before calling the Read.vi. DAQmx supports this feature natively when "-1" is wired into the "number of samples per channel" parameter on the DAQmx Read vis for continuous acquisitions. Here is the online documentation for this parameter. number of samples per channel specifies the number of samples to read. If you leave this input unwired or set it to -1, NI-DAQmx determines how many samples to read based on if the task acquires samples continuously or acquires a finite number of samples. If the task acquires samples continuously and you set this input to -1, this VI reads all the samples currently available in the buffer. If the task acquires a finite number of samples and you set this input to -1, the VI waits for the task to acquire all requested samples, then reads those samples. If you set the Read All Available Data property to TRUE, the VI reads the samples currently available in the buffer and does not wait for the task to acquire all requested samples. Regards, Rajesh Vaidya Measurements Infrastructure Group National Instruments >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Subject: Re: DAQmx, etc. From: "Scott Hannahs" <[EMAIL PROTECTED]> Date: Tue, 18 May 2004 15:16:16 -0400 At 10:24 -0700 5/18/04, tim wen wrote: >In LV6 the 'AI read.vi' hogs the CPU waiting for the number of samples requested to be available. >someone (sorry for not remembering the name) came up with a >'non-blocking AI read.vi' which i have >been using happily. >i noticed the new DAQmx 'cont&graph.vi' is hogging the CPU also. is >there a cure for it ( i think it makes >DLL calls)? One version is at <http://sthmac.magnet.fsu.edu/labview> in the VI library. I think there are a number of these around. I have not updated it for DAQmx since it is not available for my development platform. :-( I don't know if it would be a simple modification to make it work with DAQmx. It is a fairly simple concept and not too complicated code. >another question: i've been using LV2 style globals to pass data >between parallel loops >and am wondering if a queue is a better way to go? Probably. If you are just passing data in one direction it can work well. With a LV2 style global you can build in internal processing and value manipulation to the global (ie intelligent global). -Scott
RE: Question to Info-LabVIEW Digest
Barry, The SCXI 1100 only has a single filter which is after the multiplexer. To obtain a filtered output for each channel, you must stay on that channel long enough for the filter to settle. If you are only looking at a single channel you get a nice filtered output, but if you are multiplexing you get a mess at high sample rates. The total sampling rate must be lower than the selected filter frequency. With the 10 kHz filter you can sample a total of 6.6 kS/s. If you want to use the 4 Hz filter, you can only sample at 3 samples per second!!! Take a look at the specs on NI's website. The SCXI 1102 has a filter on each channel, so even when you are multiplexing you get a clean filtered value for each channel. I have yet to find an application where I would want to use the 1100 instead of the 1102. My advice would be to replace the 1100 with an 1102, but that is an expensive option. Turning off the filter may improve the accuracy of the data, but it will be noisy. I would use the lowest frequency filter possible that works with your sampling rate. Check the specs to figure that out. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Barry Brophy Sent: Monday, May 24, 2004 11:01 AM To: [EMAIL PROTECTED] Subject: Question to Info-LabVIEW Digest LabVIEW SCXI 1100 anomaly Dear all, I have run into a truly bizarre anomaly when reading from an SCXI 1100 card with labview 6.1. I have been using labview for over 4 years and have never seen anything like this. I wonder if anyone can help me. I have an application with many temperature readings. I have a dedicated SCXI 1102 card for most of these but I have not got enough channels so I have been using an SCXI 1100 card for the spillover. I noticed that the readings I was getting for this card were fluctuating a lot, much more than they did when I checked the signal in MAX. Also, I noticed that when I acquired from the 1100 card in a calibration routine elsewhere in my application, the signal wasn't fluctuating at all. The only difference between the calibration routine and the main application is that in the main application I am acquiring over 40 channels whereas in the calibration routine I am taking only 3 or 4 at a time. The code I am using is exactly the same in the two locations. only the number of channels being acquired is different. The signals from the 1100 are affected but the signals from the 1102 are fine in both routines. I have repeated this problem in two different locations. I have also noticed that it affects pressure signals on the SCXI 1100 as well. Can anyone offer me any advice on this? Regards, Barry Brophy
RE: Leaving cross marks and coordinate capture on mouse clicks in Vision
Berns, Monitor the IMAQ window for mouse clicks using Last Event. Whenever the mouse is clicked, add the XY coordinates to your list. Use overlays to add a small crosshair bitmap to your image. You can make a simple 5x5 crosshair and plot it at X-2, Y-2 using the bitmap overlay. Save the list to a file when you are done. Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Berns J. Buenaobra Sent: Friday, June 04, 2004 7:25 PM To: [EMAIL PROTECTED] Subject: Leaving cross marks and coordinate capture on mouse clicks in Vision Hello: I need to customize an ROI to scan on a smaller area from a generated image. I wanted to leave cross marks on the JPEG image while I selectively select by my mouse and saving the coordinates on an XY-file. Any suggestions? Regards, Berns B. Bernardino J. Buenaobra University Research Associate National Institute of Physics University of the Philippines Diliman, Quezon City 1101 Philippines Email: [EMAIL PROTECTED] Tel/Voice: +632-434-4232 Fax/Data: +632-928-0296 Mobile:0916-2550-056 URL: www.nip.upd.edu.ph/ipl
RE: [W] Machine Vision question
Howard, 1. If you want to do color measurements, you need a color camera. You would need double the resolution of the screen (or more) to examine individual pixels. It sounds like you may need in the neighborhood of 1300x1000 resolution. You will need a little more resolution to handle the different sizes of screens and variations in position of the screen. I strongly suggest a camera that converts to digital onboard instead of sending an analog signal. You also need to select the appropriate lens to give you the best field of view. Graftek Imaging (800) 441-2118 is a good place to get the camera, lens, etc. They can help you figure out what you need. 2. I prefer firewire for its simplicity. The actual connection to your computer will depend on the camera. You just need to get the board that matches your camera type. 3. This could possibly be done using Vision Builder for Automated Inspection. It wouldn't take long to get a prototype working. I'm not sure if the final version would work in VBAI or if it would need to be converted over to LV. 4. No, you don't need to upgrade. You might be missing a few new tools in the old version of LV, but the newest version of Vision will work with older versions of LV. 5. Good question. If the backlight isn't strong enough, you would need additional lighting. If outside light is on the same order of magnitude as the backlight, you will need to shield the outside light. Lighting is a little bit of trial and error. 6. With a high resolution color camera, you could probably do most of this. If you go with a less expensive B&W camera, you probably won't be able to do this. 7. Fixturing really depends on the system. You don't want the camera to move relative to the screen so that the focus and field of view are consistent. It also depends on what lighting is used. 8. It really depends what the test is. If you are just adding another of the same, such as OCR of certain regions, it would be hours. If you are developing a new test to detect missing pixels, it would take much longer. The most critical thing in vision applications is getting a good image for analysis. Camera, lens, lighting, field of view, depth of field, etc. all play a part in this. Once you have a good image the analysis can be fairly straightforward. Also make sure you have enough resolution for the OCR to work. The width of each line in the characters should be several pixels in your image for the best results. You will need to do a lot of prototyping to make sure this works properly. Bruce ------ Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Spec, Howard Sent: Thursday, June 03, 2004 2:21 PM To: Info LabVIEW Mailing List Subject: [W] Machine Vision question Hi, I have been asked to look into the feasibility of using Vision S/W and H/W inorder to automate verification testing of avionics boxes with Active Matrix or LCD displays. The display size is typically 4X5 inches. I think the requirement would be simple - take a snapshot of the display and get the text/numeric data from specific fields. This would be repeated for a number of different screens. I might have to verify that the data field is in the right location on the screen as well. Most of the box displays are monochrome active matrix Electro luminescent, but newer products are using color LCD displays. The resolution of the displays range from 320X192 up to 640 X480. I am a Labview programmer with 8 years of experience, but have no experience with machine vision. I would really appreciate it if anyone out there that has done something similar to this could provide answers to the following questions: 1. What type of camera would be required for this type of app, with what resolution? Do I really need a video camera or could I just use a single shot digital camera. 2. What NI board would I need. 3. How long would it take an experienced Labview programmer to come up to speed with the Vision Development module and OCR inorder to be able to produce a simple demo (grab a frame, read data from two or three fields)? 4. I am using Labview 6.0.2 - will I have to upgrade to 7.1 inorder to use the latest Vision Development Module? 5. What will the lighting issues be - since the display is back lit, would I even need additional light? Would I have to block outside light? 6. Would I also be able to perform optical testing of Luminance, chromaticity, legibility and pixel defects (not a requirement but for future growth ;) 7. What is recommended for fixturing. 8. Once up to speed with the vision tools, how quickly could a test for a new screen be done - hours, days?? I really look forward to the challenge of learning vision acquisition techniques, but I am a bit worried that I may have bitten off a littl