01-29-2017 10:12 PM
I have 3D images that are plotted in straightforward 3D grids formed from stacking 2D grayscale images.
Right now I am processing them like point clouds and associating closely related voxels into objects by thresholding and then applying the dbscan algorithm (using the MATLAB script). This works however when the objects become large a brute force dbscan method becomes quite inefficient.
What would be ideal would be a 3D extrapolation of the thresholding and blob anaylsis tools found in the NI Vision dev module. Does something like this exist out there already? I'm prepared to tackle it myself but want to avoid re-inventing the wheel.
I'm aware of non-LabVIEW toolkits and libraries such as ITK that have these sorts of capabilities, but nothing developed more directly for LabVIEW use.
A clunky option would be to run the 2D IMAQ thresholding functions on a plane and stitch closely located blobs in adjacent planes together to form a 3D blob. That may be my best plan at this point.
All thoughts welcome!
01-31-2017 10:42 AM
Hi Caleyjag,
We don't currently have any 3D object / point cloud analysis tools built into VDM that would accomplish this task. Since VDM now integrates with OpenCV, you may be able to use one of its algorithms such as surface matching or the like to accomplish this.
Cheers,
Kevin
01-31-2017 11:32 AM
I need to do a better job of leveraging OpenCV in my work anyway so this suggestion is a good starting point.