Jump to content

rpursley

Members
  • Posts

    48
  • Joined

  • Last visited

Posts posted by rpursley

  1. See the other thread.

    You can create and ROI like you want. Draw two triangles using Polygon, one inside the other (holding down the Ctrl key allows you to add another ROI to the image control). Read the ROI property to get the data for the ROI. There should be two contours listed in the order they were drawn. If the inner triangle was drawn second, then read out that contour and set the Contour Type (Contour ID) to 1 (Internal) and the write it back.

    There is a bug present in LabVIEW that doesn't keep the Contour Type (Contour ID) value when you read it from the ROI property, but it does write it properly.

    post-1423-064436300 1278703192_thumb.png

    post-1423-032119300 1278703192_thumb.png

    Triangle Outline.vi

  2. mzu: the unwrap phase vi needs an array of phase inputs, I am un sure how to extract this from a sine wave signal.

    hooovahh: another method I could employ is to calculate the phase, to do this I would need measure the time delay between two real signals, could you offer any ideas on how to accomplish this?

    Take a look at using the Hilbert Transform to turn each of your signals into an analytic signal (original signal is real part, Hilbert transform signal is the imaginary part). Then you can get the phase of the complex number.

    post-1423-127436074828_thumb.png

  3. I've installed LabVIEW 2009 32bit on Win7 64bit and I've only noticed two potential issues:

    1) Traditional DAQ is no longer supported (not a big deal since we've had a long time to convert old programs over)

    2) Default installation is "C:\Program Files (x86)\National Instruments" which affects absolute paths within instr.lib and user.lib

    Otherwise, so far so good!

    I've installed LabVIEW 2009 32-bit and 64-bit on both Vista 64-bit and Win 7 64-bit and have had no problems. My 32-bit version has FPGA, RT, Mathscript, and Vision installed as well. The 64-bit has Vision installed.

  4. Has anyone created an envelope detector? I have a 300 KHz signal that will be on for varying amounts of time (20 to 40 msec) with a gap between the pulses of about 10 msec. I'd need to figure out the actual on time of the signal. I suppose I could use a peak detector to find all the peaks in the burst and then determine when the peaks drop out, but that just seems kind of clumsy. Any better ideas?

    George

    Take a look at using a Hilbert Transform on your pulses. Create an analytic signal (original signal + j (Hilbert transform of original signal)) and the magnitude of this signal will be the envelope.

  5. index.php?app=downloads&module=display&section=screenshot&id=35

    Name: Hover Button Xcontrol

    Submitter: rpursley

    Submitted: 02 Jul 2009

    Category: X-Controls

    LabVIEW Version: 8.2

    Version: 1.1.0

    License Type: Creative Commons Attribution 3.0

    Make this available on the VI Package Network?: Undecided

    Copyright © 2007, Randall Pursley

    All rights reserved.

    Author:

    Randall Pursley

    --see readme file for contact information

    Description:

    The is an Xcontrol that gives a Boolean button, Hover button functionality. As the mouse 'hovers' over the button,

    the appearance of the button changes to indicate that is the case. The change in appearance can be user defined

    initially and programmatically.

    Dependancies:

    Labview 8.2.x or higher

    hopefully any OS (tested with XP)

    Change Log:

    1.0.0: Initial release of the code.

    1.1.0: Added ability to change Font properties of boolean text

    Click here to download this file

  6. I had some delay problems when there were a couple toolkits on a machine with an expired license for that toolkit (primarily VI Analyzer). Once I uninstalled them, the problem disappeared.

    QUOTE (Jim Kring @ Mar 16 2009, 12:58 PM)

    Has anyone encountered this? I have a customer who complains about the following:

    When I start LabVIEW 8.6 with my network connection active, it takes a long time. But, with the network disabled/unplugged, it starts up very quickly. It's worth noting that this doesn't happen in 8.2

    Any LabVIEW.ini keys or other settings that might help?

  7. It appears that the output of the USB snap function is always a RGB U32 image, regardless of what the input image is. That is why you are getting the error. The IMAQ Count Objects 2 vi will not accept and RGB image. After the USB Snap, add an IMAQ Cast Image vi to convert it back to a U8 image and then pass it to the IMAQ Count Objects 2 vi.

    QUOTE (X_DOT @ Mar 16 2009, 10:52 AM)

    Hi.

    Iam trying to make a simple VI to count objects using Vision and a USB camera.

    I am getting the error:

    -1074396080

    IMAQ Threshold

    Invalid image type.

    I have attached my front diagram, block diagram and a picture of the objects I am trying to count.

    Hope someon can help me.

    Iam still a novice / rookie sow please no flame.

    Thx.

    / Jens Poulsen

  8. I've only successfully done it by integrating calls to Photoshop from LabVIEW. I do not know of any LabVIEW toolkits for this.

    QUOTE (professor_rumsdiegeige @ Feb 26 2009, 04:36 AM)

    Hello!

    Has anybody got some hints on how to perform image stitching using Labview?

    I.e. I've got a couple of overlapping small images and would like to merge them into a global (bigger) image.

    If this is not available in Labview, do you happen to know of another library with which this is possible?

    Please note: I know there are ready-to-use programs that do exactly that, but I need the functionality in my own program.

    Regards

    Sabine Lorentz

  9. First thing I would do is add some external circuitry to turn the RF pulses into a pulse. The easiest way to do this is use a diode to rectify the signal and then filter it to remove the higher frequency stuff. You would only need a simple AM demodulation circuit. A resistor around 1 kohm and a capacitor of 1 uF should be enough.

    If this doesn't give you the kind of response you need, then a more complicated approach might work.

    1. Maybe amplify the signal

    2. Use a comparator to turn it into a digital signal

    3. Use a one-shot in retriggerable mode to get the envelope of the signal

    Hope this helps some.

    QUOTE (Danyc @ Feb 7 2009, 12:11 PM)

    Member

    p.gif

    environment-clouds.gif

    Message 2 sur 2

    p.gif

    Visualisé 1 fois

    p.gif

    Nobody can help me ?

    Here a copy of the signal that i need to treat. I need to made ramp voltage (1 or more) during the RF pulse.

  10. How about this.

    1. Find Xmin, Ymin, Xmax, Ymax for each smaller circles (Xmin = Xcenter-radius, Ymin=Ycenter-radius, Xmax=Xcenter+radius, Ymax=Ycenter+radius).

    2. Use the smallest min values and the largest max values of all of the smaller circles to define a rectangle.

    3. Find the center of this rectangle (Ax, Ay). This should be the center of the circle that would encompass all of your circles.

    4. Measure the distance from this center (Ax, Ay) to the farthest edge of each circle relative to this point (magnitude of distance from center to center plus radius of each smaller circle.

    5. The largest of these measures should be the radius of your encompassing circle.

  11. The Time node returns the same value as the Tick Count (ms) function. It is the current value of the millisecond timer. This is a free running timer that has a max value of (2^32)-1 and then resets.

    QUOTE(Val Brown @ Feb 20 2008, 02:28 PM)

    I'm trying to use the Time node inside one of the Events of an Event Structure and I'm getting what to me seem to be odd results. If I could figure out how to post an image from the snipping tool I'd include it but all I'm doing is:

    1. Right click on the Time Node to create an indicator

    2. Connect the To Time Stamp function to the Time Node

    3. Right click on the To Time Stamp function to create an indicator

    When I run my VI and trigger the event I see a numeric value in the indicator and a time stamp in the time stamp indicator but the year is 1904.

    The numeric value is 2123678

    The time stamp value is 6:54:38.000 AM 1/25/1904

    On the other hand, in the same event case, using the Get Date/Time in Seconds function gives 12:25:56.188 PM 2/20/2008

    so what am I doing wrong?

    BTW, I'm using 8.5.

  12. post-7603-0-56358600-1369765215.png Try the attached example. It uses the event structure to trigger the reads and also allows instant stopping of loop.

    QUOTE(patufet_99 @ Feb 15 2008, 08:32 AM)

    Hello,

    What is the best way to do a slow (less than an acquisition per second)

    but accurate (on time) acquisition for data logging?

    I have tried to do it with a timed loop in order to be able to fast stop

    the loop when required (see LabView 8.5 attached example).

    This approach works or not depending on the hardware. I tested 3 different DAQ cards with different results. For the two ones that worked, I had to select a different "Sample Clock" sampling mode:

    DacqCard 6036E: "Hardware Timed single Point" sampling mode

    USB-6016: "Continuous Sample" sampling mode

    USB-6009: Did not work

    By using a simulated device, this approach dit not seem to work neither.

    How could this be done in such a way to be independent on the hardware? Would there be other ways to do it without timed loops?

    Thank you for your suggestions.

  13. QUOTE(BrokenArrow)

    While experimenting with methods to update an array, I intended to check the speed difference when initializing outside the loop vs. inside. While it wasn't surprising that that made no difference, I was surprised at the difference the "zero" timer makes.

    Is there a faster way to do this? Oddly, I found using Build Array in the loop (a LabVIEW no-no, I thought) is just as fast as this method, and a little cleaner looking.

    Check this VI if you get a chance. My results are written on the BD.

    Thanks,

    Richard

    I get 505 ms without zero timer

    I get 680 ms with zero timer

  14. There are three things you can do to deal with this.

    1. Add a filter before the peak detection to filter out the higher frequency peaks. Your data has a small bandwidth (~5-10 Hz). This will eliminate the narrow close together peaks.

    2. Play with the width of the peak detector to optimize it for your data.

    3. After peak detection, add some code to throw out peaks that are too close to other peaks. You know that heart rate falls within a specific range (40-300 beats/min). Any peaks that produce a heart rate measurement outside of this range are peaks that can be thrown out.

    QUOTE(Stevio @ Dec 18 2007, 12:21 PM)

    I have tried the peakdetector. I noticed some problems. There are 3 "non real" peaks (see 1st attachement).

    When i zoomed into the graph, i dont see special things (see 2nd attachement). The threshold is not passed.

    This will cause a heartbeat frequency that is much higher (+18 (3x6)).

    How can i solve this? I dont know how this can happen.

    Greetz

  15. The loop period sets the rate for each point that the sine generator produces not for each cycle (or group of points). For example, if you want to generate a sinusoid at 10 kHz that consists of 100 points/cycle, then your loop timer must be set to 1 us.

    QUOTE(millansf @ Sep 30 2007, 04:46 AM)

    But if I want to get a sinosuidal pulse, the period of the loop timer must be bigger than the period of the sinusoid. For example i want 5 periods of the sinusoid inside a period of thepulse train

    thanks!

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.