01-04-2006 07:21 PM
Hello,
I'm looking for some assistance with a Labview project & would really appreciate any advice, hints as I have run into a brick wall
Idea: Convert an acquired 1D-array into a square (row /column, "n x n") matrix array....size of matrix will range from 64 to 1024, but typically will be 256
Requireed:
Separate & access successive AI matrix data lines as each For Loop iteration completes to allow the data to be displayed on screen while acquisition runs...like a TV!
Down the road, but worth mentioning is that I will eventually need to convert the n x n matrix array to a Tab delimited ACSII text file to allow for further processing of the image.
Attached/below is a picture & VI of the For loop/Timed loop VI that I'm using...the 1D array that needs conversion is from the "Mean PtByPt" VI, which if it worked would go to the "Array"outside the For loop.....I have no idea if this is a good method but my logic is to use the sequence of these loops to build the matrix array sequentially row by row.
I have tried what seems to be a million different combinations of loop tunnels (w & w/o auto indexing), as well as, shift registers, build array w/&w/o concatenate etc. but to no avail
In general I've had ~50% luck with this conversion but there is always one part missing
Also something strange with the timed loop - A warning keeps coming up that an "object is hidden" for both INPUT/OUPUT NODES....it doesn't stop the VI from executing but I don't know what the object is because I can't find it!!!
If you happen to be able to lend a hand I would GREATLY appreciate it.
best
SS01-04-2006 07:23 PM
01-04-2006 08:02 PM - edited 01-04-2006 08:02 PM
Message Edited by altenbach on 01-04-2006 06:03 PM
01-04-2006 09:25 PM
01-06-2006 09:13 AM
01-06-2006 10:54 AM
01-06-2006 11:57 AM
01-06-2006 12:25 PM
01-06-2006 12:51 PM
01-06-2006 02:02 PM
In your original question, you wanted to see the graph to built up. This will always be slower. Don't send massive data to the graph terminal unless really needed. Grap updates are relatively expensive.
If you move the terminal utside the inner loop, you update the graph only after each row (or colum) and if you place it completely outside, you only update the full graph.
Most ideally, you should change the behavior depending on the acquisition speed. If the speed is very slow, you want to see it point by point, if it is intermediate, you only want to see completed rows, and if it is fast, update only complete frames. At warp speed, you don't even want to update the graph until the acquisition has finished ;).
Attached is a slight modification of my example that only updates one row at a time. Modify as needed.