08-18-2006 03:40 PM
08-18-2006 10:33 PM
Just see if Normalizing each individual Row of your 2 D array, gives you a more closer result
See pic
regards
Dev
08-19-2006 03:31 PM
08-19-2006 04:33 PM
No, the express VI cannot do 2D data! For the dynamic data conversion, you can specify if either rows or columns are channels and the VI will only scale each channel individually, not all channels globally. (Unless I missed something obvious, this is not well documented).
Stick with your own subVI! You can make it a bit more efficient by scaling the multiplier instead of the 2D array. Many fewer operations (see attached)!
If you want to use the express VI, you need to reshape your image into a 1D array and reshape it back to 2D later. (See attached).
08-21-2006 08:38 AM
Christian, you are everywhere (by the way did you post the nice curve fitting VIs and tutorial from NIWeek?).
The performance of the normalization routine has been quite acceptable but you are right, according to LabVIEW coding rules, your modification should increase the speed and I will use it.
You would think the express VI would give an error if you are not allowed to feed in a 2-d array. (I just put in an error cluster indicator, ran, and did not get an error). So I thought it was "polymorphic enough" to allow for direct usage with 2-d array. Maybe LabVIEW R&D should consider making it so.
Thanks again,
Don
08-21-2006 10:33 AM
Sorry, I have not posted the fitting VIs, because there is a tiny bug in LabVIEW 8.0 that breaks the feature where it automatically updates the parameter names. I need to either simplify it for 8.0 or wait for 8.20 before I can post it. I let you know when they're ready.
Yes, the express scaling VI will take 2D arrays but assumes that they are simply a series of 1D signals. There is no dynamic datatype corresponding to a single signal with 2D data! Each of the signals (rows or columns) will be normalized independently. You can actually convert the express VI (right-click...open front panel) and then look at the code to verify this behavior. The normlization is done in a loop, one 1D signal at a time. No error.
08-21-2006 11:15 AM