04-07-2020 11:21 AM - edited 04-07-2020 11:21 AM
Hi coolhand,
@coolhandLV7 wrote:
Same vi that you created, all i did was pull the -1 values from the data set.
You should have heard of "autoindexing" before, so no need to determine ArraySize!
And when you set the NaN to SGL datatype then your VI requires much less memory (and shows one less coercion dot):
@coolhandLV7 wrote:
As far as i know, the data type is I16, data order is I16 and there is a 4-byte float after that (SGL)
Then it seems you don't know the full format description…
04-07-2020 12:42 PM
Exactly, i don't know the format, that's the reason for the post
04-07-2020 04:05 PM - edited 04-07-2020 04:32 PM
Binary file
Number of columns: I16
Number of Rows: I16
3*nrows*ncols: X,Y,Z data Float32
It can be processed in Matlab, correctly. Labview seems to be clipping the data. The size of the data is the same in Matlab, 1001x1001.
04-08-2020 02:25 AM - edited 04-08-2020 02:30 AM
04-08-2020 09:07 AM - edited 04-08-2020 09:15 AM
Great! That's closer, the data is still being clipped. By clipped it's actually offset by (4) pixels in (x), it acts almost like a carriage return, once the data set reaches pixel y = 1001 it offsets and places the remaining data at y = 0 and x + 4. I cannot understand this phenomenon.
I've attached another example file and the image of what the code generates. The Test1 data also does this but doesn't show up as obvious because the (Z) values are close to the intensity chart minimum (similar color) This is not a true statement and the data for Test1 starts at y = 636.
Why is the data building the chart this way?
Is it possible to change the start position of the data block so that we don't run over the limit? For example the data starts at y = 639 and runs all the way up to y = 1001, overflows and starts over at y = 0.
04-08-2020 09:47 AM
Looks like adding a 1D Rotate array will allow for the shift in Y direction. I'm still puzzled as to why the offset happens.