From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Extract height info from 3D Surface

Hello,

 

I have an array of 2D data(which is the height information of disks taken from a sensor placed in XY plane).

Now i need to extract the Height information for all the disks and need to calculate other info from this height. Has anyone done this sort of exraction before or could help me in getting a solution. Please find the VI attached with the data samples

 

 

test1.png

Regards
Guru (CLA)
Message 1 of 13
(3,218 Views)

"Array min&max" from the array pallette?

0 Kudos
Message 2 of 13
(3,213 Views)

No that wont help.. It will just give the min and max of the enitre array. I am looking in to height of each disk...

 

I opened up the block digram for the surface graph but was not able to figure out which vi wasactaully plotting the data. If i could find out probably i can extract the info? I am not sure just guessing...

Regards
Guru (CLA)
0 Kudos
Message 3 of 13
(3,204 Views)

Then use a FOR loop and autoindex over each disk...

0 Kudos
Message 4 of 13
(3,200 Views)

Thats the real problem.. The disk are not aligned veritically or horizonatlly. Most of the time they overlap (as seen in the digram) and hence it becomes tricky to extract the data corresponding to each disk...

 

Regards
Guru (CLA)
0 Kudos
Message 5 of 13
(3,198 Views)
Sorry, I was posting by phone. Cannot look at your VI.

You said you have a 2D array, where is the information kept that relates array element to disk number?

I will look at your VI later...
0 Kudos
Message 6 of 13
(3,192 Views)

There is no information that relates to disk number. The scanner/sensor would juxt scan any number of disks kept on the XY plane and gives out a 2D array of data.

 

I just plotted this 2D data on the surface graph, and the plot was almost accurate. So i believe the one fecade vi's whcih plotted out this information must have the complete information regarding the height data for each disk.. 

 

 

Regards
Guru (CLA)
0 Kudos
Message 7 of 13
(3,182 Views)

Hi Guru,

 

the height data is in your 2D array.

 

You need to apply some filtering to your data:

- remove background by threshold comparison, that way you will know the location of your discs.

- find the center for those discs and use this to separate the discs. According to your example VI the discs are NOT overlapping, in the worst case they touch…

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 13
(3,175 Views)

I agree that the disks wont overlap ( what i meant to say that they are not alligned vertically or horizontally. My bad)

 

I was trying for the same as suggested by you. let me see how it goes.....

Regards
Guru (CLA)
0 Kudos
Message 9 of 13
(3,162 Views)

Hi Guru,

 

you might start using an intensity graph instead of the 3d surface:

check.png

Here a simple threshold comparison gives a nice black/white image much easier to search for interesting spots…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 10 of 13
(3,131 Views)