Raw array to temperature array

Hi,
As a Flir´s infrared camera user I´m trying to devellop a LabVIEW based software using the following VIs (distributed with Flir´s Thermovision Digital Toolkit 3.1)
1 - EmissivityRawArraytoTemperatureArray.vi
2 - Thermovision Digital To Temperature.vi
In fact my goal is to read and display temperature from an infrared based image previously acquired and saved by Flir´s camera. 
So the question is : Anyone can help me with an example code or even describing how to use properly these VIs?
Thanks,
Cesar

Hi,
Did you solve the problem concerning EmissivityRawArraytoTemperatureArray.vi and Thermovision Digital To Temperature.vi?
I have another problem with Thermocam SC2000, ICPCI FrameGrabber and Lab View 7.1 without IMAQ !!! but with Thermovision Digital LabView Toolkit 3.1
I need only get one image by force of ThermoVision Digital GetImage.vi, I think that it is possible without IMAQ, is it not?
There is my nonfunctional rubbish, GetImage.vi returns empty array   .Can you help me pls?
Thanks,
Cagik
Attachments:
TESTcam.vi ‏183 KB

Similar Messages

  • The case for raw arrays?

    My understanding is Java's designers prefered extensiblity, ease of support, and faster app development, and that performance was given less emphasis.
    I know the subject of Java perfomance is the subject of heated debate, so I am not asking about that. Rather,
    What did the designers of Java have in mind with regard to raw arrays? An ArrayList is everything a raw array is, and more. While a raw array is
    very limited (fixed size, cannot hold object references).
    So, I can understand why you read out of Streams with byte[] chunks. However, is there a case for using a raw array as a method level data structure?

    tjacobs01 wrote:
    #1 Memory usage when dealing with primitives, is much much higherOops?
    I think you ment to say: Memory usage when dealing with Object[]s, is much much higher than the equivalent primitive array, especially ${AnyCollection}<Byte> vs byte[]
    Yes?
    Also could I suggest pcj. Even though primitive collections are a bit old, and a bit daggy, in my opinion they still have a place in the panopoly of data-structures... somewhere between int[] and List<Integer>... although I must admit that generics and auto-boxing superceded the motivation for much of there use... it was just so nice to not-have-to un/box everything manually from/to Object (yuck).
      IntList list = new IntArrayList(1000);
      list.set(i, list.get(i)+1);
    .... verses ... pre-generics and autoboxing ....
      List list = new ArrayList(1000);
      list.set(  i,  Integer.valueOf( ((Integer)list.get(i)).intValue() + 1 )  );Much simpler to read and write... Yes?
    Not to mention the memory savings gained by using arrays of primitives, and the operations are (according to my not-authorative tests) very nearly as fast as raw arrays... if it's possible to "do it better" I admit I can't see how... except it does have the odd (unnessary as far as I'm concerned) index check... but if your timing if (index < 0 || index >= size) you're either optimising the wrong code, or your writing FTL code again... and that trick never works ;-)
    Also could I suggest an ArrayList of primitive-arrays (think book of "pages")... although I haven't (yet) found a nice ready made library which implements this... In the good ole' days (ansi C) we used linked-lists-of-arrays when we needed growable datastructures... like when you couldn't know the size of a string beforehand (especially building reports).
    ... and I'd just like to say I think the above discussion is a good insightful summary of the topic... Thank you!
    Cheers all. Keith.

  • How can I use a variable as an array's name?

    Ok I have several arrays in my code (lets call them "array1", "array2" etc) and I want to load them based on the users input. So if the user enters array1, I want the first array to be loaded, and the same with the other arrays.
    I tried saving the user's input on a string variable called ARRAY_NAME, so that each time the user enters a different array name, the corresponding array is loaded. Something like this:
      ARRAY_NAME[c1][c2]; but I get this error:
    array required, but java.lang.String found
              ARRAY_NAME[c1][c2];
    ___________^
    Can you please tell me what is the correct way of doing it?
    Thanx!

    The short answer is you can't. An object name can't be
    variable and must be known at compile time. But you
    could associate the user input name with a particular
    array, for example, using a HashMap with the user name
    as the key to an array. However, you'd need to use a
    container class (Vector, ArrayList, etc.) rather than
    a raw array, because containers only take class
    instances as elements.Maps can't deal with primitives, that is true. However, arrays are full scale objects, so they can be put into maps.
    Also, my code had a bug in it. Try this:
    int userIndex = getUserIndex();
    String userInput = getUserInput();
    Field array = getClass().getDeclaredField(userInput);
    Object item = Array.get(array.get(this), userIndex);

  • Array Dimensions

    In my code, i have two arrays. one for storing names and another to store a set of grades. The problem im having is defining the array dimensions.
    The info is read in from a txt file so do i have to count the number of lines in the file in order to set the dimensions?

    Use HashMap with [name(key) : grade(value)] pairs.
    You don't need the total number of them beforehand.
    Raw arrays should not be used as application's first
    class data in a serious
    Java project. Use java.util.Collection/Map family of
    data structures instead.While I would tend to agree with the above suggestion, here's another idea for you:
    if you use an ArrayList, you don't have to set the dimesion before hand. And if you're bent on using an array (as opposed to an ArrayList), there is a method of the List interface that returns an array (it's called toArray). So you could add everything to a LinkedList (faster than adding to an ArrayList), and get the contents back as an array.
    But again, I recommend the HashMap approach.
    - Adam

  • Converting an array of RGB bytes into an Image

    Hello,
    I have written a scanner intreface (SANE) in JNI, and it gives me an array of RGB bytes as output. There is no transparency (obviously). I'm sure there is a way to use MemoryImageSource to turn this raw array into a plain old Image, but I'm not finding how to do it. I've tried:
         ColorSpace rgbColorSpace = ColorSpace.getInstance(ColorSpace.CS_sRGB);
         ColorModel ccm = new ComponentColorModel(rgbColorSpace, new int[] { 8, 8, 8 }, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
         MemoryImageSource mis = new MemoryImageSource(width, height, ccm, imageBytes, 0, 0);
         Toolkit kit = Toolkit.getDefaultToolkit();
         Image image = kit.createImage(mis);but that doesn't work. Any ideas on this? Surely it is possible, but it seems like Java always wants an alpha channel, something which I don't have.
    Thanks

    In other words, if I dump the bytes to a file, I can get an image like this:
    rawtoppm -rgb 424 585 foo.raw > foo.ppm
    where the image is 424x585, and the image comes up nicely. Surely there is some way to do what rawtoppm is doing in Java?

  • Construct image from Array of pixels

    Here's my problem:
    I've managed to call the pixelgrabber method on an image, so i've got a 1d array of pixels. Now i want to use that array to create the image within the internal frame so that the image can be changed quickly when the contents of the array change. I was wondering whether using the paint method and mofiying it in some way is the way to go, or is there a much better way to do it?

    i'm guessing that no one knows an answer?Bad guess. I know the answer.
    The solution lays in the correct use of the following classes:
    BufferedImage
    WritableRaster
    DataBuffer
    SampleModel
    ColorModel
    It goes something like this:
    1) Wrap a raw array (probably bytes or ints) in a DataBuffer.
    2) Create a SampleModel that describes the layout of the raw data.
    3) Now create a WritableRaster that wraps the DataBuffer and SampleModel
    4) Create a ColorModel that describes how the raw data maps to the color of a pixel.
    5) A BufferedImage can be created from the WritableRaster and the ColorModel.
    Drawing operations on the BufferedImage's Graphics2D objects will be reflected in the raw data array. And modifications to the raw data array will be shown when the BufferedImage is drawn onto other Graphics.

  • Misteriously Colour Temperature change from my computer to others

    Ok, I've been stuck with this strange problem now. Out of the blue it started happening and realised when I uploaded some pictures on Flickr. I open my NEF file (from Lightroom) as a Smart Object and start working upon it as normal. I move it to 8 bits when finished the first steps, save as a JPEG. Close the TIFF, open the JPEG, change a couple of things as some of my filters only allow me to work JPEG (at least they are always disabled otherwise). And save again. IF I open it up from my computer, the colours are ok. Whenever I upload to Flickr OR Facebook, OR email them to anyone, the colours change. Specially the temperature. And no, it's not the monitor because I can see them on Flickr with a different colour from my very own computer.
    My basic workflow is as follows:
    Lighrtoom 2.4 => [Open as .NET smart object into CS4] => CS4 Camera RAW [Adjust Colour Temperature, Saturation, Contrast, Vibration, etc, click ok, open all adjusted on CS4 Again] => Filters adjust [Topaz Adjust, Sometimes Noisewaire or Portraiture, Nik Colour Effect (I GUESS here is the problem but not sure).
    When done with this first set, I change the picture from a 16bits format into a bits image in order to save as a JPEG. => [Save as] > .JPEG 12 (Minimum compression). I then close the open TIFF image and open the respective .JPEG image. All colours are exactly as I saved. All the same. I work upon a couple of more things (such as LUCISAR SE, for instance, smoothly). Save again. And that's it.
    I found an answer in stuckincustoms.com. He had the same problem and found the answer in correctly Colour Settings:
    [EDIT]=> [COLOUR SETTINGS] // Then select [Colour Management Policies] and move RGB to 'Convert to working RGB', all other 2 as OFF and click on 3 icons underneath. Save as a new file, close it all. Send. This seems to work sometimes, but not always. I'm not sure if it's the 'Nik Software Colour Effect' which is not holding...
    Here are two links as an example. The first one is with the right colour settings. I've done what Ratcliff told. The second one 'cooled down', even so I did what he told me to. I mean, same workflow both, different results.
    http://photos-a.ak.fbcdn.net/hphotos-ak-snc1/hs244.snc1/9122_147658726621_505071621_276412 0_283341_n.jpg
    http://photos-e.ak.fbcdn.net/hphotos-ak-snc1/hs264.snc1/9122_147646046621_505071621_276406 8_6740954_n.jpg
    You can see all my latest Flickr pictures have got the same problem. Some look nice, BUT it was not as I had edited.
    http://www.flickr.com/lteles
    HOW do I correct this??? And most importantly: WHY is this hapening?
    Thanks,
    Regards,
    Leo

    What do you mean "it dropped during transition."  If you are maintaining temperature at some level, then the transition should have no affect on the temperature unless you reinitialize or have wired a default number to the temperature you are trying to control.  I tried loading your program.  I don't have the instrument controls for the instrument you are using -- not a problem -- but it is hard to follow what you are doing.  It looks like you have many different setpoints all coming from the ni435x read.vi in a 2d array.  You should check that the values you expect out of that array are correct for each of the points that you use it.
    Tom

  • How iPhoto treats RAW files?

    I was wondering about how iPhoto 06 works with RAW files.
    When photos are imported, the program places .NEFs (from my Nikon) into the 'Originals' folder and processed JPEGs into 'Modified'. In the library these photos have a "RAW" keyword and "Nikon RAW" string in the "File type" field.
    If I doubleclick on such a photo, the program opens it for edit within itself. The 'Temperature', 'Saturation' and 'Tint' sliders are not in the zero position - that's the settings from camera, stored in RAW. If I move these and other sliders, iPhoto works with JPEG, or re-processes original RAW with new settings?
    So, the question is if I first edit RAW-file, modify Temperature, Brightnes, Contrast, Straighten (any of the settings in the 'Adjust' floating window) - does iPhoto re-process the original or works with JPEG?
    PowerBook G4, iMac G5, iPod ClickWheel   Mac OS X (10.4.6)  

    Hi svintuss,
    I don't work with RAW so I will let others explain to you.
    I can get you some info with these links.
    Supported RAW cameras
    iPhoto 5 Frequently Asked Questions (FAQ): Working with RAW images
    Working with RAW in iPhoto 5
    For iPhoto 6 check out this link;
    http://www.thedigitalstory.com/blog/2006/01/iphoto6_changesfor.html

  • Search and replace string function

    Hello, I am using the "search and replace string" function and it does nt seem to work consistently for me.   I am using it in a situation where I am taking an array of strings, converting this into a spreadsheet string then deleting all of the commas.  Has anyone experienced the same behavior? I have searched through other posts and found other simular faults but none of the fixes worked for this. I can post the code it needed.
    Thanks,
    Andrew

    I agree that commas are often not desirable, especially if your software should also work in countries where comma is used as a decimal seperator.
    Where are the commas coming from? Does (1) each element of the original array have one (or more), do you (2) use comma as seperator if you convert it to a spreadhseet string?
    For (1), you might just strip out the comma for each element right in the loop. For case (2) you would simply use a different separator to begin with, of course.
    Btw: you are abusing a WHILE loop as a FOR loop, because you have a fixed number of iterations. Please replace it with a FOR loop. If you use a FOR loop, LabVIEW can manage memory much more efficiently, because it can allocate the entire output array before the loop starts. For While loops, the total number of iterations is not known to the compiler. (Of course a real program would also stop the loop if an error occurs. In this case you would need to stay woth the WHILE loop. )
    Do you have a simple example how the raw array elements look like. How many commas are there?
    LabVIEW Champion . Do more with less code and in less time .

  • Time stamps not linear

    Hi,
    I have a DAQ USB-6251 driven by labview.
    The time stamps on the text file have backward and forward jumps in them.  See attached for picture.
    They increase linearly for about 12000 samples, then jump backwards
    about a 3 sec, linearly increase for about 1000, then jump forward
    about 6 seconds.  This cycle then repeats ie increasing nice and
    linearly for about 12000 samples, jumping back etc.
    I suspect there is a buffer somewhere which fills up and then acts strangly when trying to reset.
    Any explanations?  Any solutions?
    Here's some further info about my setup:
    Producer loop:
    I generate a continuous analog output signal which I feed back into one of analog input pins which I also continuously acquire.
    The generation and acquisition both have sample rates of 4096
    samples/sec and 1024 samples are set to acquire/generate per loop.
    The recorded input is enqueued.
    Consumer loop:
    Dequeues data and write to text file.
    Regards,
    Jamie
    Using Labview version 8.0
    Attachments:
    time stamps not linear.jpg ‏17 KB

    Ben,
    Maybe this is a good chance for me to learn (be convinced of) something then.  I'd try this out for myself on hw, but I've got tests running now.
    Let's suppose I have both an AI and an AO task, both set up to start off the same sample clock.  However, the AO outputs on the leading edge of a clock while the AI samples on the trailing edge of the clock.  Let's further stipulate that the clock is generated by an on-board counter at 5 kHz with 90% duty cycle.  So the AO update occurs 180 microseconds before the AI.  How do waveforms handle this offset in t0?  Will t0 simply be set to 0 because of the use of an "external" sampling clock?  Or will the two t0 values be equal and non-zero?  Or will they be sometimes equal and sometimes different, depending on the "phase" of the system clock -- either the 1 msec one or the 16 msec one used for system timestamps?
    Now, concerning triggering:  Does t0 represent the time of the trigger?  Or of the first sample / output *after* the trigger?  Or is it the time you call DAQmx Start prior to receiving a trigger signal?
    Other concern: even when not *strictly* necessary, I try to make a habit of making code that runs pretty efficiently, unless that puts an undue burden on development / maintenance effort.  My experience with processing large arrays vs. processing clusters containing large arrays has suggested that pure arrays are typically significantly more efficient to manage.  (I'm sure it depends on sizes and kinds of processing too.)  Aren't waveforms essentially cluster-like?
    Well, enough of the blah, blah, blah.  I really *am* interested.  I know many of the analysis functions prefer (if not require) waveform inputs rather than raw arrays these days, so there are some clear code simplicity advantages to waveforms IF I can be convinced that I'm fully informed of the downsides and gotchas.  (Another example of worry: when integrating a waveform, how does the floating point roundoff accumulate from the 'dt' value?  Will results late in a long array contain more cumulative roundoff error?)
    -Kevin P.

  • Loading a class via reflection without knowing the full qualified path ?

    Hi there
    I d like to load a class via reflection and call the constructor of the class object. My problem is that I dont know the full qulified name e.g. org.xyz.Classname bur only the Classname.
    I tried different things but none seem to work:
         1. Class c = Class.forName("Classname");  //does not suffice, full qualified name required
    2. ClassLoader classloader = java.lang.ClassLoader.getSystemClassLoader();
             try {
               Class cl = classloader.loadClass(stripFileType(Filename));//if i do not pass the full qualified name i get a ClassNotFoundException
    3. I tried to consruct a class object with my own classloader , calling:
              Class cl = super.defineClass(null, b, 0, b.length );     b is of type byte[]This almost works. I get a class Object without knowing the full qulified path. I can transform a filename into a raw array of bytes and I get the class out of it. But there is still a problem: If there are more than on classes defined in the same textfile I get an InvocationTargetException.
    It looks like this:
    package org.eml.adaptiveUI.demo;
    import com.borland.jbcl.layout.*;
    import java.awt.*;
    import org.eml.adaptiveUI.layout.*;
    import javax.swing.*;
    import java.awt.event.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author not attributable
    * @version 1.0
    public class twoButtons extends JFrame {
      SPanel sPanel1 = new SPanel();
      JButton jButton1 = new JButton();
      GridBagLayout gridBagLayout1 = new GridBagLayout();
      GridBagLayout gridBagLayout2 = new GridBagLayout();
      public twoButtons() throws HeadlessException {
        try {
          jbInit();
        catch(Exception e) {
          e.printStackTrace();
      public static void main(String args[]){
        twoButtons twob = new twoButtons();
        twob.pack();
        twob.show();
      private void jbInit() throws Exception {
        this.getContentPane().setLayout(gridBagLayout1);
        jButton1.setText("button 1");
        jButton1.addActionListener(new TransformationDemo_jButton1_actionAdapter(this));
        this.getContentPane().add(sPanel1,  new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
                ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(57, 52, 94, 108), 35, 44));
        sPanel1.add(jButton1,  new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
                ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 41, 0, 0), 0, 0));
      void jButton1_actionPerformed(ActionEvent e) {
        System.out.println("button 1 source: " + e.getSource());
        System.out.println("d: " + e.getID());
       System.out.println("/n commmand: " + e.getActionCommand());
    class TransformationDemo_jButton1_actionAdapter implements java.awt.event.ActionListener {
      twoButtons adaptee;
      TransformationDemo_jButton1_actionAdapter(twoButtons adaptee) {
        this.adaptee = adaptee;
      public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }As you can see there is the class TransformationDemo_jButton1_actionAdapter class defined in the same classfile. The problem is now that the twoButtons constructor calls the TransfomationDemo_jButton1_actionAdapter constructor and this leads to InvocationTargetException. I dont know if this is a java bug because it should be possible.
    Can you help me?

    hi thanks at first,
    the thing you mentioned could be a problem, but I dont think it is.
    If I have the full qualified name (which I havent) then everything goes normal. I only have to load the "twoButtons" class and not the other (actionadapter class), so I dont think this is the point. In this case the twoButtons constructor constructs an object of the actionadapter class and everything goes well. The bad thing is though that I do not have the full qulified name :(
    Invocation target exception tells me (in own words): Tried to acces the constructor of the actionadapter class (which is not public) out of class reflectionTest class .
    reflectionTest is the class where the reflection stuff happens and the twoButttons class is defineClass() ed.
    The problem is, only twoButtons class has the rights to call methods from the actionadapter class, the reflection class does not. BUT: I do not call the actionadapter methods from the reflection class. I call them only from the twoButtons class.
    I hope somebody understands my problem :)

  • Why not static methods in an Interface

    why can't i make static methods part of an Interface?
    for example:
    public interface Names {
        public static String[] getNames(); // <--- "static" not allowed in an Interface.
    }what i want to say is:
    every class that implements the Names interface must have a static method, getNames() , that returns a raw array of Strings.
    why won't jave let me do this with an Interface?
    Edited by: kogose on Feb 4, 2009 5:47 PM

    this is my current solution:
    public interface Symbols {
        public String[] getSymbols();
    public class ETF implements Symbols {
        public String[] getSymbols() {
            return(ETF.symbols);
        private static String[] symbols =    { "DIG", "UYM", ...... }
    public class INDEXES implements Symbols {
        public String[] getSymbols() { return(symbols); }
        private static String[] symbols = { "^DZC", "^UTIL", "^GWI", .... }
    public class NYSE implements Symbols {
        public String[] getSymbols() {
            return(NYSE.symbols);
        private static String[] symbols =  { "GDL", "GDI", .... }
    }then to get the data:
    analyzer.analyze((new ETF()).getSymbols());
    analyzer.analyze((new INDEXES()).getSymbols());
    analyzer.analyze((new NYSE()).getSymbols());
    this looks like a hack to me?
    its weird that i create an object just to invoke one method and get static data.....
    is there an elegant way?

  • Generate and synchronize 6 digital channels with differents phases/frequencies/duty cycles/...

    Hello,
    For some kind of tests we need to generate, with a 6534 card, 6 signals.
    The 6534 has 32 digital E/S and can go up to 20MB/s !
    Each channel must be independant so that it can have it's own frequency and duty cycle. But for exemple the second channel can be delayed in reference at first channel. I put an image so that you can understand better what i try to do (3 signals are shown but six are needed).
    I see a lot of things on forum that are close to my probleme, but none seems to be as advanced as mine.
    http://sine.ni.com/devzone/cda/epd/p/id/4683 -> 6534 doesn't have timers
    http://forums.ni.com/ni/board/message?board.id=40&message.id=5167 -> Just a phase probleme
    http://forums.ni.com/ni/board/message?board.id=170&message.id=261289 -> Another board
    http://forums.ni.com/ni/board/message?board.id=40&message.id=5090 -> Another probleme
    I contacted NI support, they send me an exemple on "patterns" but it generates frequencies that are multiple of one with no phase consideration or duty cycle.
    Any idea ?
    Thanks in advance for your advice and help.
    Eric.
    Message Edité par Eric31 le 08-10-2007 06:52 AM
    Message Edité par Eric31 le 08-10-2007 06:55 AM
    Attachments:
    Sans titre.PNG ‏8 KB

    At best, that's gonna be a pain in the neck with that board.  If you need very precise timing for freqs, duty cycles and offsets, it gets worse.  If they need to change on-the-fly, it'll be near-impossible.
    1. You can only operate 1 hw-timed digital output task at a time.  So all 6 signals must be part of that 1 task.
    2. Thus, you need to define an output buffer representing the states of those 6 bits throughout your entire generation.
    3. There's a bunch of greatest common factor and least common multiple stuff needed to figure out the right output rate and buffer size, assuming you'll want to regenerate repetitively.  You first need the gcf of all the transition times to come up with the right output rate since all the transitions need to occur on some integer multiple of the output period.   You'll then need the lcm of the 6 signals' periods, combined with the output rate, to size up a buffer that can be regenerated.
    4. Forming the output data array may be quite complex.   Personally, I always do my stuff with raw arrays and I know that interleaving all those signals can be quite tricky, especially if there may be an occasional simultaneous transition.   However, I suppose there's a chance that some of the digital waveform functions *might* make this step a bit simpler.  I just haven't played around with that format much.
    Editorial opinion: Buy a 6602.  You can trigger 6 counters to start with different initial phasing, and will be able to change freq & duty cycle on-the-fly for each one independently.
    Editorial opinion #2: For higher channel count apps, I'd also recommend checking out the DIO-64 board put out by Viewpoint Systems, an NI Alliance partner.  It gives you much smarter hardware-timed DIO.  With the NI board, there can be huge amounts of redundant info in the DO buffer.  If you find that your GCF is 10 microsec, but the time between consecutive transitions is 10 millisec, you'll have to stuff 1000 identical values into your output buffer.   With Viewpoint's board, your data acq buffer *only* contains data at the transition times.  Timing is controlled by delivering a separate array defining the timestamps that correspond to those transitions.
    -Kevin P.

  • Convertion from FFT to waw

    Hi everyone,
    I had createed a labview application for grab my microphone audio using Bass.dll (http://www.un4seen.com/)
    but i'm stuck .
    I have useed this function
    DWORD BASS_ChannelGetData(
        DWORD handle,
        void
    *buffer,
        DWORD length
    The function works well.
    I recieved a string data from  void
    *buffer , the data are a sample of FFT and I recieved a lenght data.
    The problem is :
    How is it possible to convert my FFT data in to a wav file .
    Any Help or advice is much appreciated
    Simone
    Attachments:
    delta.zip ‏381 KB

    Hi Simone,
    Take a look at this documents that maybe can help you:
    http://digital.ni.com/public.nsf/allkb/1BE60DBBFA22ACC186256DFB000B8464
    http://www.scribd.com/doc/15962724/Reading-and-Writing-Audio-Files-in-LabVIEW
    http://cnx.org/content/m14771/latest/
    Once you know how to convert raw (array of numbers) to wav, you can extrat this RAW data from FFT and do the job.
    Let me know.
    Best Regards
    Luca Gallo
    Sales Engineer

  • Subvi and input

    The diagram function "Flatten To String" takes any datatype on its input
    connector.
    Is it possible to create a subvi that takes any datatype on its input
    connector?
    Thanks for yor answer
    Petter Kristiansen
    Industriell Informasjonsteknologi AS
    P.O.B 8208, Vågsbygd
    N-4602 Kristiansand, Norway
    Tel: +47 38 01 95 50, Direct: +47 38 01 95 53
    Fax: +47 38 01 95 59, Mobile: +47 915 88 802
    E_Mail: [email protected]

    X. wrote:
    Amazing how 16 years later, that's still pretty much the only supported approach...
    That's not true at all.  LabVIEW is a striclty typed programming language so having flexibility in input is going to be a problem.  Of course this gives the benefit of knowing you'll never have any compile type syntax errors.
    So you can flatten to a string, or you can convert to a raw array of bytes, or you can use a variant.  All of these options will allow you have an input that accepts multiple data types but they all have the same problem, which is that you need to code each data type you actually want by converting it to the strictly typed data you want so you can use it.
    This is why most people when they need this look for polymorphic VIs which allow them to have a VI for each type, and then have the VI automatically select the type based on the wired input.  This works well if you have say 10 or less data types to support.  It can work for 60+ but managing those instances can be a pain without proper scripting.
    But the magic bullet in my opinion is XNodes.  They are nodes on the block diagram, that create code, as you interact with them.  They have easy type adaption for inputs and outputs, and can allow for things like resizing, adding inputs or outputs.  The regular expression function is an XNode which is just a collection of VIs in a specific library, which says when to run each VI as you interact with it.
    XNodes development is not something NI wants non-NI developers doing, but some amazing things can be done with XNodes where the code to interact with something is written, as you wire it up.  It has the flexibility of variants, but the strict data typing of polymorphic VIs.
    Remember XNodes are very experimental and NI will not support code written with them, that being said XNodes are made by NI and shipped with LabVIEW, so they are considered stable in some cases.  They are also a lot of fun to play with and make, here are some of my favorite examples.
    https://lavag.org/files/file/250-circular-buffer/
    https://lavag.org/files/file/260-find-references-x​node/
    https://lavag.org/files/file/248-variant-repositor​y/
    https://lavag.org/files/file/169-openg-array-xnode​s/
    http://forums.ni.com/t5/LabVIEW/Truth-Table-Node/t​d-p/1293680
    https://decibel.ni.com/content/docs/DOC-13859
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Maybe you are looking for

  • Java Web Start and pack200

    Hi! What do I have to do to deploy my jar-archives that are packed with pack200? Do I have to change the jnlp files? Do I have to change any server settings? At the moment I successfully deploy our software using Java Web Start and simple jar files.

  • New Report including Serial numbers

    Hi all Need to develop a new report Feilds to be included are - PO number, Material code, Serial number , GRN , Goods issue note, text feild what are  the most suiatable tables that i can collect the above information Thanks and Regards Sasika

  • JRE error in mapquest?

    Hi, I get blank maps with IE7 on my desktop butLaptop is fine. 2 Things: 1) On laptop it says it has MSFT VM in TOOLS->INTERNET OPTIONS->ADVANCED. On Desktop in same place it has no MSFT VM but shows Java Sun version 1.05_09. 2. When I download a map

  • How to delete large numbers of photos from Camera Roll in Iphone 4S

    I want to delete large numbers of photos from Camera Roll.  Do I have to do it one at a time?

  • Update the table when Document successfull with BDC

    Hi,     I am changing the Billing document header and item level using BDC call Transaction. When the document is success fulley saved at that time I have to modify the flag in the table with 'X', when it fails or if it has errors I have to set the F