Jump to content

Biometrology

Members
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0

About Biometrology

  • Rank
    Active

Profile Information

  • Gender
    Male
  • Location
    Teddington

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2013
  • Since
    2007
  1. As hooovahh said, you need to use a for loop to index into the array. Inside the for loop you will have a 1D array which you need to index the first and second elements and add them. Concatenate that with the input 1 D array. Auto-indexing is your friend here.
  2. Is this what you need? Treats your angle array as the imaginary component of a complex number (with a 0 real value component). Check out the help for Re/Im To Complex and Exponential Function. A.
  3. Thanks asbo, I don't know why I couldn't fond that information... The problem lies in the fact that these predefined palettes for IMAQ are all 256 element array palettes. A signed 16-bit image (I16) has 65,536 possible values so these will not work with the IMAQ predefined palettes. Kind of of obvious really, if there aren't enough values in the colour map it won't work. But it's a bit disappointing that this all happens silently without any helpful error messages... I'll try converting to U8 as the images for presentation rather than analysis. A.
  4. Hi folks, I'm trying to save some U16 data in PNG format with a color palette. Saving without the color palette works fine, grayscale image as expected. But saving with a palette gives exactly the same result. What am I missing? Thanks! Alex
  5. I'm afraid I can't help with the server setup - fortunately our IT department took care of that for me . The shell extension generally works very well and there's really no big need for the LV integration. The other advantage of working this way is that you can use TortoiseSVN with other programming languages you may use (if that's not sacrilege!) - for example I use it a lot for MATLAB code and also for LaTeX. it can all go in the same repository without any worries. I'd not used source control before, but I was an instant convert. You'll never look back! Cheers Alex
  6. George, you could do this (I did) - but I wouldn't necessarily recommend it. One of the problems of keeping the repository on a network drive is that any random person can accidentally move, delete or rename the path to them. To move from the shared drive to a server I had to do the following steps (from memory): export the repository using Subversion (I had to install it just to do this). The very large file resulting then had to be imported into the new repository on the server by one of our IT guys All the working copies then have to be changed to point at the new repositories (using the relocate command) This only works if the repository has not changed since you exported it!!!! Hope this guides your decision.... Alex
  7. You need to use a MATLAB script node. This requires you to have a MATLAB licence available but enables you to run native MATLAB code including using the toolboxes. You just need to have a script file that calls your functions - like in the example here. Cheers Alex
  8. There's also the Math Interface Toolkit, which lets you call Labview from MATLAB. Not sure how that would work in a compiled application though. I briefly looked into the possibility of calling a MATLAB-generated DLL from LabVIEW. Turns out not to be so easy (Translation: I gave up). Mathscript might be the way forward, if your code doesn't need any of the MATLAB toolboxes. Cheers Alex
  9. I didn't say that MATLAB was better than LabVIEW at memory management! - In fact often the reverse... Actually, it depends on what you are trying to do. One of the problems in MATLAB is importing integer data without it being converted into double. But once you have the data in MATLAB, there are a number of things you can do to manage memory efficiently. You might want to take a look at this webinar: http://www.mathworks...=32517&p2=32518. Cheers Alex
  10. GSR, I can't comment on all your points, but I can make a few remarks based on personal experience: You can interface MATLAB with a lot of hardware, but in my experience this can be done more easily, with more hardware, in LabVIEW. We had an NI counter/timer card which was listed as supported by the MathWorks data acquisition toolbox. So we bought the toolbox, only to discover that only the digital I/O functions of the card were supported but not the counter/timer functions (because there are no counter/timer functions in the toolbox). The only reason for using the data acquisition toolbox is if you are a primarily MATLAB user who doesn't want to buy LabVIEW and needs to import data directly to the MATLAB workspace. Despite having a significant MATLAB code base, we bought LabVIEW. Picture controls allow you draw objects in the LabVIEW front panel. Is this what you meant? There are a variety of ways of interfacing MATLAB with other programming languages/code, e.g. Java, C, C++, I think FORTRAN and DLLs. You can also use ActiveX. For data acquisition, I would almost always go for LabVIEW, because of the easier hardware interfacing, more sophisticated GUI design, better multi-threading/timing control and memory management. For data analysis, I would tend to go for MATLAB in most cases, because of the ease of doing exploratory data analysis, which can then be captured into code, and the better graphics and extensive libraries. Having said that, I recently wrote a data analysis GUI in LabVIEW because I can run this without being connected to my company's network (license server needed for MATLAB and toolboxes). I'm still wrestling with the various ways of communicating or data transfer between the two environments... Cheers Alex (Biometrology)
  11. QUOTE (OlivierL @ Nov 5 2008, 05:39 PM) Very neat Olivier - thanks! :thumbup: Alex
  12. This is a great idea - I have been having exactly this problem recently, working with 3D arrays. An alternative would be a more powerful transposition function, something like the permute function in MATLAB, where you can freely re-order the dimensions of an N-D array. Then you could simply re-order the dimensions before/after the for-loop. And while we're at it, how about something like the MATLAB squeeze command, which removes "singleton" dimensions, i.e. dimensions with size 1? Alex
×
×
  • Create New...

Important Information

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