bahanonu / ciatah

CIAtah (pronounced cheetah): a software package for calcium imaging analysis of one- and two-photon imaging datasets. Documentation: https://git.io/ciatah_docs. Formerly known as calciumImagingAnalysis (ciapkg).
https://git.io/ciatah_docs
MIT License
80 stars 20 forks source link

Unrecognized field name "GroupHierarchy" + other errors when running modelExtractSignalsFromMovie with EXTRACT algorithm #125

Closed RandallJEllis closed 1 year ago

RandallJEllis commented 1 year ago

Any help is appreciated. Matlab R2022b, CIAtah v4.5.9. All toolboxes installed. Full traceback: `1

!!!!!!!!!!!!!!!!!!!!! Running: obj.modelExtractSignalsFromMovie

options =

struct with fields:

 signalExtractionRootPath: 'C:\Users\rellis01\Documents\MATLAB\ciatah-master\_external_programs'
            saveNwbOutput: 0
            nwbSaveFolder: 'nwbFiles'
           settingsFolder: 'C:\Users\rellis01\Documents\MATLAB\ciatah-master\+ciapkg\+settings'
settingsPrivateSaveFolder: 'C:\Users\rellis01\Documents\MATLAB\ciatah-master\private\settings\signal_extraction'
               nwbYmlPath: 'C:\Users\rellis01\Documents\MATLAB\ciatah-master\_external_programs\nwbpkg\+nwbpkg\ExampleMetadata.yml'

Did not find: extractor.m Adding folders: C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\extract\EXTRACT\main_functions;C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\extract\EXTRACT\main_functions\debug_utils;C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\extract\EXTRACT\main_functions\debug_utils\brewermap;C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\extract\EXTRACT\main_functions\helper_functions;C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\extract\EXTRACT\main_functions\solvers; Found: extractor.m Warning: The DrawMode property will be removed in a future release. Use the SortMethod property instead.

In inputdlg (line 265) In ciatah/modelExtractSignalsFromMovie (line 121) In ciatah/runPipeline (line 209) In ciatah/display (line 6) Warning: The DrawMode property will be removed in a future release. Use the SortMethod property instead. In inputdlgcol (line 316) In ciatah/modelExtractSignalsFromMovie/getAlgorithmOptions (line 1000) In ciatah/modelExtractSignalsFromMovie (line 167) In ciatah/runPipeline (line 209) In ciatah/display (line 6)

Subject: m000

Getting movie info for 1\1: C:\Users\rellis01\projects\juanita_calcium_analysis_feb2023\5minTL.2023-02-14-15-56-28\dfof_ciatah_video_2_5minTL.2023-02-14-15-56-28.h5 Warning: HDF5 dataset name not found in hinfo.Datasets.Name. Trying another method to load HDF5 dataset. In ciapkg.io.loadMovieList/getHdf5Info (line 1081) In ciapkg.io.loadMovieList (line 373) In ciapkg.api.loadMovieList (line 9) In ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing (line 2044) In ciatah/modelExtractSignalsFromMovie (line 202) In ciatah/runPipeline (line 209) In ciatah/display (line 6) Warning: Could not find /1 in C:\Users\rellis01\projects\juanita_calcium_analysis_feb2023\5minTL.2023-02-14-15-56-28\dfof_ciatah_video_2_5minTL.2023-02-14-15-56-28.h5. In ciapkg.io.loadMovieList/getHdf5Info (line 1096) In ciapkg.io.loadMovieList (line 373) In ciapkg.api.loadMovieList (line 9) In ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing (line 2044) In ciatah/modelExtractSignalsFromMovie (line 202) In ciatah/runPipeline (line 209) In ciatah/display (line 6) Warning: HDF5 hinfo.GroupHierarchy.Groups.Datasets contains no dataset . In ciapkg.io.loadMovieList/getHdf5Info (line 1111) In ciapkg.io.loadMovieList (line 373) In ciapkg.api.loadMovieList (line 9) In ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing (line 2044) In ciatah/modelExtractSignalsFromMovie (line 202) In ciatah/runPipeline (line 209) In ciatah/display (line 6) @@@@@@@ Unrecognized field name "GroupHierarchy".

Error in ciapkg.io.loadMovieList/getHdf5Info (line 1115) nGroups = length(hinfo.GroupHierarchy.Groups);

Error in ciapkg.io.loadMovieList (line 373) [hReadInfo, thisDatasetName, datasetDims] = getHdf5Info();

Error in ciapkg.api.loadMovieList (line 9) [outputMovie, movieDims, nPixels, nFrames] = ciapkg.io.loadMovieList(movieList, 'passArgs', varargin);

Error in ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing (line 2044) DFOFList.(thisSubjectStr) = loadMovieList(movieList,'convertToDouble',0,'frameList',[1:500],'inputDatasetName',obj.inputDatasetName,'treatMoviesAsContinuous',1);

Error in ciatah/modelExtractSignalsFromMovie (line 202) [gridWidth gridSpacing] = subfxnSignalSizeSpacing();

Error in ciatah/runPipeline (line 209) obj.(thisFxn{1});

Error in ciatah/display (line 6) obj.runPipeline; @@@@@@@

Subject: m000 @@@@@@@ Unrecognized function or variable 'DFOFList'.

Error in ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing (line 2066) DFOF = DFOFList.(thisSubjectStr);

Error in ciatah/modelExtractSignalsFromMovie (line 202) [gridWidth gridSpacing] = subfxnSignalSizeSpacing();

Error in ciatah/runPipeline (line 209) obj.(thisFxn{1});

Error in ciatah/display (line 6) obj.runPipeline; @@@@@@@ @@@@@@@ Output argument "gridWidth" (and possibly others) not assigned a value in the execution with "ciatah/modelExtractSignalsFromMovie/subfxnSignalSizeSpacing" function.

Error in ciatah/modelExtractSignalsFromMovie (line 202) [gridWidth gridSpacing] = subfxnSignalSizeSpacing();

Error in ciatah/runPipeline (line 209) obj.(thisFxn{1});

Error in ciatah/display (line 6) obj.runPipeline; @@@@@@@ Removing unneeded directory from "to add" path list: extractor.m. Removing unneeded directory from "to add" path list: patchwarp.m. Adding to JAVA path: C:\Users\rellis01\Documents\MATLAB\ciatah-master_external_programs\bfmatlab_readers\SlideBook6Reader.jar Folders still need to be removed. Removing unneeded directory from path: extractor.m. Removing unneeded directory from path: patchwarp.m. ImageJ already loaded! Skipping loading of Miji.

Run processing pipeline by typing below (or clicking link) into command window (no semi-colon!): obj`

bahanonu commented 1 year ago

Can you get back with the output of the below command on your HDF5 file? Want to see if I can see why it is not being loaded, or if you can send me a link to the file I can check.

h5disp('C:\Users\rellis01\projects\juanita_calcium_analysis_feb2023\5minTL.2023-02-14-15-56-28\dfof_ciatah_video_2_5minTL.2023-02-14-15-56-28.h5')

As a heads up: looks like ciatah found EXTRACT, modelExtractSignalsFromMovie will load it if it is not found. Because EXTRACT is not yet a package, EXTRACT is not added to the path to reduce naming conflicts.

RandallJEllis commented 1 year ago

Thanks for the fast reply. The output is below. Also I saw that EXTRACT was loaded and changed the title of the Issue to mention the error related to GroupHierarchy not being found.

HDF5 dfof_ciatah_video_2_5minTL.2023-02-14-15-56-28.h5 
Group '/' 
Dataset 'dfof' 
        Size:  384x512x6023
        MaxSize:  384x512x6023
        Datatype:   H5T_IEEE_F64LE (double)
        ChunkSize:  []
        Filters:  none
        FillValue:  0.000000
bahanonu commented 1 year ago

Thanks, looks like it is likely because the default HDF5 dataset name /1 is being specified instead of /dfof for your data. You can let ciatah know to look for /dfof a couple ways, see below. I'll see about updating the code to make this clearer for users when it occurs in that module.

CIAtah main GUI

image

Within modelExtractSignalsFromMovie

image

RandallJEllis commented 1 year ago

That did it :) thanks!

bahanonu commented 1 year ago

Glad to hear!