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

"Please input a file path." #128

Open hsw28 opened 1 year ago

hsw28 commented 1 year ago

Upgraded to the new version of CIATAH and now I get "Please input a file path." during preprocess movie. Everything is the same as how I have done it in other versions....

Running: obj.modelPreprocessMovie
Loading MIJI + ImageJ.
Adding to Java path: C:\Users\HomePC\OneDrive - Northwestern University\Documents\ciatah-master\_external_programs\imagej\mij.jar
Warning: Invalid file or directory 'C:\Users\HomePC\OneDrive - Northwestern
University\Documents\ciatah-master\_external_programs\imagej\mij.jar'. 
> In javaclasspath>local_validate_dynamic_path (line 271)
In javaclasspath>local_javapath (line 187)
In javaclasspath (line 124)
In javaaddpath (line 71)
In ciapkg.io.manageMiji (line 122)
In ciapkg.api.manageMiji (line 10)
In ciapkg.io.modelAddOutsideDependencies (line 43)
In ciapkg.api.modelAddOutsideDependencies (line 10)
In ciatah/modelPreprocessMovie (line 21)
In ciatah/runPipeline (line 209)
In ciatah/display (line 6) 
Loading MIJI + ImageJ.
Adding to Java path: C:\Users\HomePC\OneDrive - Northwestern University\Documents\ciatah-master\_external_programs\imagej\ij.jar
Warning: Invalid file or directory 'C:\Users\HomePC\OneDrive - Northwestern
University\Documents\ciatah-master\_external_programs\imagej\ij.jar'. 
> In javaclasspath>local_validate_dynamic_path (line 271)
In javaclasspath>local_javapath (line 187)
In javaclasspath (line 124)
In javaaddpath (line 71)
In ciapkg.io.manageMiji (line 122)
In ciapkg.api.manageMiji (line 10)
In ciapkg.io.modelAddOutsideDependencies (line 43)
In ciapkg.api.modelAddOutsideDependencies (line 10)
In ciatah/modelPreprocessMovie (line 21)
In ciatah/runPipeline (line 209)
In ciatah/display (line 6) 
                   matfilePath: ''
                matfileVarname: 'thisMovie'
                    runMatfile: 0
                   showFigures: 1
                folderListPath: {'C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope'}
       checkConcurrentAnalysis: 1
    concurrentAnalysisFilename: '_currentlyAnalyzingFolderCheck.mat'
       processMoviesSeparately: 0
                 processMovies: 1
           loadOptionsFromFile: 0
       turboregNumFramesSubset: 3000
                  turboregType: 'preselect'
                      turboreg: [1×1 struct]
                     dfofMovie: 1
                      dfofType: 'dfof'
              downsampleFactor: 4
                      pxToCrop: 14
              fileFilterRegexp: 'concat_.*.h5'
                   inputPCAICA: 0
                   askForPCICs: 0
                     frameList: []
                   datasetName: '/1'
             outputDatasetName: '/1'
                  refCropFrame: 1
                  deflateLevel: 1
                supportedTypes: {'.h5'  '.hdf5'  '.tif'  '.tiff'  '.avi'  '.isxd'}
    calcDroppedFramesFromMovie: []
                       minType: 'soft'
                    minSoftPct: 1.0000e-03
                    saveMovies: 0
                 saveDfofMovie: 0
                 turboregMovie: 1
                normalizeMovie: 0
               downsampleMovie: 1
                 logFileRegexp: '(recording.*.(txt|xml)|.*_metadata.mat)'
        nwbSettingsDatasetname: '/general/optophysiology/imaging_plane/description'
         h5SettingsDatasetname: '/movie/preprocessingSettingsAll'
                saveFilePrefix: ''
                saveFileSuffix: ''
                   videoPlayer: 'matlab'

ans =

     1

Warning: The DrawMode property will be removed in a future release. Use the SortMethod property instead. 
> In inputdlg (line 258)
In ciatah/modelPreprocessMovieFunction (line 487)
In ciatah/modelPreprocessMovie (line 42)
In ciatah/runPipeline (line 209)
In ciatah/display (line 6) 
    {0×0 char}
    {'raw'   }
    {'/1'    }
    {'/1'    }
    {'1'     }
    {'0'     }
    {0×0 char}
    {0×0 char}
    {'matlab'}
    {0×0 char}

ans = 

  struct with fields:

                           MAIN______________: [1×1 struct]
                      checkConcurrentAnalysis: [1×1 struct]
                            resetParallelPool: [1×1 struct]
                              analyzeFromDisk: [1×1 struct]
                   calcDroppedFramesFromMovie: [1×1 struct]
                   REGISTRATION______________: [1×1 struct]
                                     parallel: [1×1 struct]
                              registrationFxn: [1×1 struct]
                             turboregRotation: [1×1 struct]
                                    RegisType: [1×1 struct]
                        numTurboregIterations: [1×1 struct]
                      turboregNumFramesSubset: [1×1 struct]
                                     pxToCrop: [1×1 struct]
                     motionCorrectionRefFrame: [1×1 struct]
     REGISTRATION_NORMALIZATION______________: [1×1 struct]
                        normalizeMeanSubtract: [1×1 struct]
               normalizeMeanSubtractNormalize: [1×1 struct]
                    normalizeComplementMatrix: [1×1 struct]
                                normalizeType: [1×1 struct]
                             normalizeFreqLow: [1×1 struct]
                            normalizeFreqHigh: [1×1 struct]
                        normalizeBandpassType: [1×1 struct]
                        normalizeBandpassMask: [1×1 struct]
                                      SmoothX: [1×1 struct]
                                      SmoothY: [1×1 struct]
                                      zapMean: [1×1 struct]
            MOVIE_NORMALIZATION______________: [1×1 struct]
                         filterBeforeRegister: [1×1 struct]
                     saveBeforeFilterRegister: [1×1 struct]
                     saveFilterBeforeRegister: [1×1 struct]
                       filterBeforeRegFreqLow: [1×1 struct]
                      filterBeforeRegFreqHigh: [1×1 struct]
                filterBeforeRegImagejFFTLarge: [1×1 struct]
                filterBeforeRegImagejFFTSmall: [1×1 struct]
                             medianFilterSize: [1×1 struct]
             MOVIE_DOWNSAMPLING______________: [1×1 struct]
                         downsampleFactorTime: [1×1 struct]
                        downsampleFactorSpace: [1×1 struct]
    IO_and_MOVIE_IDENTIFICATION______________: [1×1 struct]
                             inputDatasetName: [1×1 struct]
                            outputDatasetName: [1×1 struct]
                             fileFilterRegexp: [1×1 struct]
                      processMoviesSeparately: [1×1 struct]
                       loadMoviesFrameByFrame: [1×1 struct]
                treatMoviesAsContinuousSwitch: [1×1 struct]
                        loadMovieInEqualParts: [1×1 struct]
                                  useParallel: [1×1 struct]
                             nParallelWorkers: [1×1 struct]
                 STRIPE_REMOVAL______________: [1×1 struct]
                       stripOrientationRemove: [1×1 struct]
                                    stripSize: [1×1 struct]
                          stripfreqLowExclude: [1×1 struct]
                         stripfreqHighExclude: [1×1 struct]
                        stripfreqBandpassType: [1×1 struct]

ans =

     1

:
                           MAIN______________: {'====================='}
                      checkConcurrentAnalysis: 0
                            resetParallelPool: 0
                              analyzeFromDisk: 0
                   calcDroppedFramesFromMovie: []
                   REGISTRATION______________: {'====================='}
                                     mcMethod: 'turboreg'
                                     parallel: 1
                              registrationFxn: 'transfturboreg'
                             turboregRotation: 0
                                    RegisType: 1
                        numTurboregIterations: 1
                      turboregNumFramesSubset: 5000
                                     pxToCrop: 14
                     motionCorrectionRefFrame: 100
                     regRegionUseBtwnSessions: 1
     REGISTRATION_NORMALIZATION______________: {'====================='}
                        normalizeMeanSubtract: 1
               normalizeMeanSubtractNormalize: 1
                    normalizeComplementMatrix: 1
                                normalizeType: 'bandpass'
                             normalizeFreqLow: 70
                            normalizeFreqHigh: 100
                        normalizeBandpassType: 'bandpass'
                        normalizeBandpassMask: 'gaussian'
                                      SmoothX: 10
                                      SmoothY: 10
                                      zapMean: 0
            MOVIE_NORMALIZATION______________: {'====================='}
                         filterBeforeRegister: []
                     saveBeforeFilterRegister: 0
                     saveFilterBeforeRegister: []
                       filterBeforeRegFreqLow: 0
                      filterBeforeRegFreqHigh: 10
                filterBeforeRegImagejFFTLarge: 10000
                filterBeforeRegImagejFFTSmall: 80
                             medianFilterSize: 3
                  MOVIE_DETREND______________: {'====================='}
                                detrendDegree: 1
             MOVIE_DOWNSAMPLING______________: {'====================='}
                         downsampleFactorTime: 2
                        downsampleFactorSpace: 3
    IO_and_MOVIE_IDENTIFICATION______________: {'====================='}
                             inputDatasetName: '/1'
                            outputDatasetName: '/1'
                             fileFilterRegexp: 'raw'
                      processMoviesSeparately: 0
                       loadMoviesFrameByFrame: 0
                treatMoviesAsContinuousSwitch: 1
                        loadMovieInEqualParts: 0
                                  useParallel: 1
                             nParallelWorkers: 11
                               largeMovieLoad: 0
                 STRIPE_REMOVAL______________: {'====================='}
                       stripOrientationRemove: 'none'
                                    stripSize: 7
                          stripfreqLowExclude: 20
                         stripfreqHighExclude: 20
                        stripfreqBandpassType: 'highpass'
                                 refCropFrame: 100

Saving settings to: C:\Users\HomePC\OneDrive - Northwestern University\Documents\ciatah-master\private\settings\20230419_004031_modelPreprocessMovieFunction_settings.mat.
folderListMinusComments class: double
1/1: C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope
options.fileFilterRegexp: raw
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(1).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(2).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(3).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(4).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(5).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(6).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(7).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(8).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(9).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(10).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(11).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(12).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(13).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(14).avi
C:\Users\HomePC\OneDrive - Northwestern University\Desktop\videos\eyeblink\022223\2023_04_18\19_01_33\My_V4_Miniscope\raw(15).avi
Please input a file path.
>> `
bahanonu commented 1 year ago

@hsw28 hey! Looks like because there are multiple files matching raw regular expression, that during selection of the area for to use for TurboReg-based correction modelPreprocessMovie is calling ciapkg.io.readFrame with a cell array of char vectors (containing the path to each raw(\d+).avi file) instead of a single file, leading to Please input a file path. output.

I'll push out an update that handles this issue soon.

hsw28 commented 1 year ago

thank you!! can you let me know when you push it? thanks again