hornauerp / DeePhys

DeePhys was created to facilitate the analysis of extracellular recordings of neuronal cultures using high-density microelectrode arrays (HD-MEAs)
6 stars 1 forks source link

readNPYheader Error while using sortingExample data for running the Feature extraction tutorial. #1

Closed mandarmp closed 8 months ago

mandarmp commented 8 months ago

While using the given spike_templates.npy , the following error is thrown.

`Error using readNPYheader Error: This file does not appear to be NUMPY format based on the header.

Error in readNPY (line 10) [shape, dataType, fortranOrder, littleEndian, totalHeaderLength, ~] = readNPYheader(filename);

Error in generate_MEArecordings_from_sorting_list (line 49) spk_temp = readNPY(temp_file);

Error in MandarBasicFeatureExtractionTutorial (line 60) rec_array = generate_MEArecordings_from_sorting_list(sorting_path_list, lookup_path, path_part_idx, params.QC.N_Units, params, parallel); `

I kindly request you to provide a proper sample data to run the tutorials. Thank you

hornauerp commented 8 months ago

Thank you for reaching out. Is it possible that you don't have git-lfs installed? This is necessary to download larger files from github repositories. However, I just realized that there is a 1GB data limit per month, which this repo has already reached. So I will upload some additional example data on an external databank and link it here.

hornauerp commented 8 months ago

As the download via git-lfs is heavily limited, please download the spike sorted data for the tutorial here and replace the folder SortingExamples with the unzipped version from there. Preprocessed data can be downloaded here.

mandarmp commented 8 months ago

Thank you. With the new data provided, I was able to run the tutorial 1 Feature Extraction. I will explore the other ones. Also I am having difficulties with parallel process , for some reason it is getting timeout. Any suggestions on this?? Without the parallelization it ran just fine

mandarmp commented 8 months ago

Also, I feel there are very minor fixes, 1) setting parallel = false if cores ==1

2 )Error in MEArecording/parseMetadata (line 60) obj.Metadata.DIV = day(datetime(obj.Metadata.RecordingDate,"InputFormat","yyMMdd") - datetime(num2str(obj.Metadata.PlatingDate),"InputFormat","yyMMdd"));

Fix to use days instead of day to calculate Day in Vitro.

Should I raise a Pull Request for this?

hornauerp commented 8 months ago

Good catch, the day/days functions were changed in a recent Matlab version, and I also ran into this error on Matlab2023b. I am currently working on an updated version where this bug is fixed, but have not updated the repo since I have not systematically checked for compatibility with the tutorials. Feel free to open a Pull Request, so that his version is also compatible with new Matlab releases.