Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in Outlier correction #17

Closed
JensBlack opened this issue Apr 3, 2020 · 1 comment
Closed

Error in Outlier correction #17

JensBlack opened this issue Apr 3, 2020 · 1 comment

Comments

@JensBlack
Copy link
Contributor

Describe the bug
After starting the outlier correction with both parameters set to 0 (the plan was to skip the correction with this), i got the following error message:

Exception in Tkinter callback Traceback (most recent call last): File "D:\Anaconda\envs\simba-gpu\lib\tkinter\__init__.py", line 1705, in __call__ return self.func(*args) File "simba.py", line 3818, in correct_outlier dev_loc_user_defined(configini) File "C:\Users\schwa\PycharmProjects\simba\simba\outlier_scripts\location\correct_devs_loc_user_defined.py", line 100, in dev_loc_user_defined currentArray[currentPosition][0] = reliableCoordinates[currentPosition][0] IndexError: index 7 is out of bounds for axis 0 with size 7

The csv file was transfered/created in the correct folder i assume "project_folder\csv\outlier_corrected_movement" but there is no file in "outlier_corrected_movement_location".
I checked your code and i guess it did not go through as the error occurs in one of the essential scripts.

To Reproduce
My user defined settings are: 9 points , 1 Animal (directly from DLC analysis)
The csv file is ca. 55k rows long

I am using a Windows 10 computer and your newest simba version (updated at 10 am local time)

Additional context
I cannot continue with extraction of features however.
It results in a message within your app:
Pose-estimation body part setting for feature extraction: user_defined Extracting features from 0 files... All feature extraction complete.
which is probably due a non working import in your code:

def extract_features_wotarget(inifile): .... csv_dir_in = os.path.join(csv_dir, 'outlier_corrected_movement_location') ....

########### FIND CSV FILES ########### for i in os.listdir(csv_dir_in): if i.__contains__(".csv"): fname = os.path.join(csv_dir_in, i) filesFound.append(fname) print('Extracting features from ' + str(len(filesFound)) + ' files...')

I can however continue if i copy+paste the same csv file (from outlier_corrected_movement) into the other folder. I haven't read through all of your code, but i assume that you keep the general structure of the dataframe that comes from dlc so this can work as a workaround for now (especially since i did not want to do a outlier correction anyway).

@JensBlack
Copy link
Contributor Author

JensBlack commented Apr 3, 2020

I just noticed that it wasn't very smart to set the boundary for the corretion to 0 if i wanted to skip everything.
It actually corrected 100% of the data, which is definetly as intended by you...
Setting the boundary higher than the resolution solved that minor hickup and solved the issue.

I will leave this open for you to check out, but i guess the whole issue was an unlikely user interaction you didn't count in when writing your code. You can close it anytime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant