sgoldenlab / simba

SimBA (Simple Behavioral Analysis), a pipeline and GUI for developing supervised behavioral classifiers
https://simba-uw-tf-dev.readthedocs.io/
GNU General Public License v3.0
296 stars 143 forks source link

extract_features error: input is less than 2-dimensional since it has the same x coordinate\n\n while executing #58

Closed neugun closed 4 years ago

neugun commented 4 years ago

Hi! Great tool!

To Reproduce Steps to reproduce the behavior: When I Click on 'extract_features' after the outlier correction and an error throwed out.

Describe the bug input is less than 2-dimensional since it has the same x coordinate\n\n while executing

Screenshots results[i] = self.f(v) File "c:\programdata\anaconda3\envs\simba-tf\lib\site-packages\simba\features_scripts\extract_features_16bp.py", line 97, in [x['Center_1_x'], x["Center_1_y"]]])).area, axis=1) File "qhull.pyx", line 2335, in scipy.spatial.qhull.ConvexHull.init File "qhull.pyx", line 354, in scipy.spatial.qhull._Qhull.init scipy.spatial.qhull.QhullError: ('QH6013 qhull input error: input is less than 2-dimensional since it has the same x coordinate\n\nWhile executing: | qhull i Qt\nOptions selected for Qhull 2015.2.r 2016/01/18:\n run-id 117636664 incidence Qtriangulate _pre-merge _zero-centrum\n _max-width 0 Error-roundoff 0 _one-merge 0 _near-inside 0\n Visible-distance 0 U-coplanar-distance 0 Width-outside 0 _wide-facet 0\n', 'occurred at index 0')

Desktop (please complete the following information):

Do you have any idea what causes the problem? Maybe I need fix the coordinate?

Thanks a lot!

sgoldenlab commented 4 years ago

Hi @neugun!

Yes - check out this prior error report: https://github.com/sgoldenlab/simba/issues/42#issuecomment-653085571

And the 2nd FAQ entry here: https://github.com/sgoldenlab/simba/blob/SimBA_no_TF/docs/FAQ.md

In short, this can happen when there are no animals, or a single animal, in the image, and all the body-parts are placed on a single x,y coordinate during pose-estimation. When SimBA then tries to calculate the hull of the animal to estimate its size, it fails because the animal is not represented in 2D. If you look into either the outlier correction and/or video pre-processing, you should be able to fix it.

neugun commented 4 years ago

Thank you for the reply!