Fast Inpolygon in MEX
This is a C implementation of the great Matlab code provided by Darren Engwirda. You can find his code in:
http://www.mathworks.com/matlabcentral/fileexchange/10391-fast-points-in-polygon-test
According to my estimates, it works more than 2x as fast. So far, this is one of the fastest implementation that I know of. Sorting is big step of this algorithm. To make it an exact replica, I use stable_sort of std library.
Here is a sample call:
tic(); [In2 On2]=inpolygon_fast(x, y, xv, yv); toc();
The call interface is similiar to inpolygon and not to inpoly. Here x and y are the points to check, where xv and yv define the polygon.
The attachment includes the cpp file, a sample function for comparison and Darren's code.
Cite As
Tolga Birdal (2024). Fast Inpolygon in MEX (https://www.mathworks.com/matlabcentral/fileexchange/30819-fast-inpolygon-in-mex), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Computer Vision Toolbox > Feature Detection and Extraction > Local Feature Extraction > LBP - Local Binary Patterns >
Tags
Acknowledgements
Inspired by: INPOLY: A fast points-in-polygon test
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.