Main features and changes:
- Increment to CIAtah version
4.11.0
. - Addition of additional spinal cord motion correction functions and demos. These allow for correction of large motion (LD-MCM), non-rigid motion (displacement fields), and cross-session registration (CS-MCM). See below for details of function or https://bahanonu.github.io/ciatah/pipeline_detailed_spinal.
- Improved DeepLabCut importer function to also allow output of tensors with all tracking data.
- QoL improvements for a number of CIAtah functions and class methods.
- Updated
README
to include additional information on spinal cord imaging, Fiji + N5 viewing of files, and other changes.
New functions
ciapkg.demo.cross_session_motion_correction
- Script to allow multi-step cross-session registration directly on movies. Includes automated registration as well as the ability to perform manual correction to help with large or unusual shifts using a GUI.ciapkg.demo.displacementFields
- Displacement field motion correction example across several images. This is to help validate that motion correction will work on user systems.ciapkg.demo.ldmcm
-ciapkg.motion_correction.ldmcm
- LD-MCM motion correction using deep learning and control point registration. This demo script includes the necessary steps that need to be run after conducting DeepLabCut-based tracking of features in the imaging movie.ciapkg.video.scaleMatrix8bit
- Scales an input matrix to 8-bit (256) range. Can also save video out to an AVI file.ciapkg.view.displacementFieldCompare
-Displays different frames along with the displacement fields.
Updated @ciatah
ciatah.computeManualSortSignals
- Update display of information.ciatah.computeMatchObjBtwnTrials
- Added the option to only keep cells within a specific region of the FOV, useful for when want to register cells in a single region and don't want other cells affecting alignment. Add support for normcorre and imregdemons for registration.ciatah.getRegistrationSettings
- Add support for gradient-based filtering for motion correction input. Add displacement field-based motion correction. (Updated 2024.02.29 [18:17:06])ciatah.modelBatchCopyFiles
- Easier user switching between copying or moving files.ciatah.modelExtractSignalsFromMovie
- Allow input of images from one cell extraction method to CELLMax and EXTRACT, e.g. run PCA-ICA quickly then use as input. Update ROI method of calling other algorithm images.ciatah.modelGetSignalsImage
- Added support for registering images (e.g. after cross-day registration) using multiple methods instead of just turboreg.ciatah.modelPreprocessMovieFunction
- Updated NormCorre parameter window to estimate window size from the first frame. Make correlation calculation parallel. Allow detrend movie to use movie subsets to reduce memory overhead. Reduce double calling of mean() for calculation and plotting when conducting detrending. Further eliminate nanmean/nanmin/nanmax usage, use dims instead of (:) [waste memory], and general refactoring. Fix thisMovieMinMask(row,:) = logical(max(isnan(squeeze(thisMovie(row,:,:))),[],2,'omitnan')); as was 3 instead of row. Add support for input of prior motion correction coordinates to be user facing. Empty imagesc() call leading to face appearing. For the curious, see https://blogs.mathworks.com/steve/2006/10/17/the-story-behind-the-matlab-default-image/.ciatah.modelVarsFromFiles
- CELLMax by default uses the estimated dF/F.ciatah.modelVerifyDataIntegrity
- Updated movieInformation to have additional movie information.ciatah.runPipeline
- Use guiFoldersSelected to remember prior user selected folders on next call of CIAtah GUI.ciatah.viewMatchObjBtwnSessions
- Additional options for choosing which cells to display and additional cellmaps saved out as TIFF files.ciatah.viewMovie
- Fix readHDF5Subset function unable to be found in certain cases.ciatah.viewObjmaps
- Update display of cell overlap.- `` -
Updated +ciapkg
ciapkg.behavior.importDeepLabCutData
- Added conversion to tensor and cell to the import function from other functions.ciapkg.classification.matchObjBtwnTrials
- Made ability to switch between different motion correction and image alignment methods user visible.ciapkg.download.downloadGithubRepositories
- Automatically convert string inputs to character arrays.ciapkg.download.example_downloadTestData
- Added additional link.ciapkg.hdf5.appendDataToHdf5.m
- Flag to silence command line output.ciapkg.hdf5.downsampleHdf5Movie
- Integrated TIFF support from other functions. options.newFilenameTwo is sufficient to initiate secondary movie downsampling. Option to convert data type during downsampling.ciapkg.image.cropMatrix
- Update to callback. Added support for automatic detection of crop borders from main pre-processing functions. Remove workspace unpacking of options.ciapkg.image.thresholdImages
- fastThresholding respects normalization=0, so threshold functions as absolute value. Also make sure remove unconnected works with fastThresholding at all times.ciapkg.io.getMovieFileType
- Added mp4 support to output.ciapkg.io.loadDependencies
- Update Bio-Formats to 7.3.0. Upgraded ImageJ download site.ciapkg.motion_correction.computeManualMotionCorrection
- Better support for adding custom fill values for both translation and rotation.ciapkg.motion_correction.getNoRMCorreParams
- Change default parameters and run final output through NoRMCorre parameter function to reduce chance of errors.ciapkg.motion_correction.turboregMovie
- Changes to GUI display. Correct user options input to normcorre.apply_shifts. Add displacement field-based motion correction. Add back in ability to remove NaNs from each frame before calculating shifts or displacements. Add support for gradient-based filtering for motion correction input. Support loading of prior coordinates from MAT-file in standard of modelPreprocessMovieFunction. Added additional options for displacement field-based motion correction. Update to row assignment for removeInputMovieEdges.ciapkg.movie_processing.detrendMovie
- Fix detrendDegree passing.ciapkg.movie_processing.dfofMovie
- Updated to allow users to adjust movies with negative values.ciapkg.movie_processing.normalizeMovie
- matlabdisk no longer converts to cell array, bad memory usage. Improve other memory usage in function. Change how NaN check before filtering is run. Remove on a per-frame basis so that the NaNs can be added back in at the correct pixel locations. Further eliminate nanmean/nanmin/nanmax usage, use dims instead of (:) [waste memory], and general refactoring. Added movie subset support to reduce memory usage with parfor. Fix detrendDegree passing. Added subfxnFft movie subset support to reduce memory usage with parfor.ciapkg.overloaded.suptitle
- Added font name option.ciapkg.settings.cnmfeSettings
- Updated merge settings to reduce duplicates in output.ciapkg.view.playMovie
- Users can now input a cell array of movies to have the extra movie play instead of the 'extraMovie' option. Added support for additional NWB series.
Updated docs
help_spatial_filtering
pipeline_detailed_signal_extraction_validation
pipeline_detailed_signal_sorting_manual
Main features and changes:
- Increment to CIAtah version
4.6.1
.
New functions
ciapkg.behavior.importDeepLabCutData
(see prior pull request).ciapkg.tracking.annotateOpenFieldParameters
- Requests information on arena size and center area for open field analysis from circular or square arenas.
Updated @ciatah
ciatah
- Add guiFoldersSelected, prior user selected folders kept on next call.ciatahMainGui
- List of files in selected folder now contain file dates. Folder are now sorted to appear first in the list. Get around error with incorrect filter for input images applied. Allow user to reset folders along with prior select folders stay selected on next reload of object.
Updated +ciapkg
-
'ciapkg.io.loadMovieList' - Added mp4 support. Update AVI support to do additional cdata checks. To reduce automatic conversion to double when reading HDF5 with largeMovieLoad=1 and a specific set of frames, force outputMovie default value to be single. This is made consistent across all image types, checks if float or not then re-initializes default outputMovie.
-
ciapkg.io.readFrame
- Update AVI support to do additional cdata checks. Add support for reading multiple files if a character cell array of char vectors is given. Add bioformats passing arguments for loadMovieList as options. -
ciapkg.io.loadDependencies
- Ensure display location of SlideBook6Reader.jar saving. Add success output. -
ciapkg.io.saveMatrixToFile
- Comment updates. -
ciapkg.view.playMovie
- Add support for mp4 files. Add support for overlaying DeepLabCut markers on the movie (including with confidence measure). Users can change size of overlay markers. Change default colormap to gray. Added downsample (both type) support for extra movie, mirrors what happens in the 1st movie. Also improved downsampling when just subsampling by removing unnecessary calls to imresize. Improved tracking point handling to ensure in the correct axes and can turn off prior frame tracking. Better handling of quiver plots with tracking. Convert all nanmin/nanmax to 'omitnan' and (:) to [1 2 3 4] to ensure compatible with 3- and 4-d tensors. Additional Bio-Formats support. -
ciapkg.view.changeFont
- Update to handle legend, since use TextColor property instead of Color for text. Users can also put in a blank fontSize to avoid changing that property, can skip UI that would normally appear. -
ciapkg.view.setFigureDefaults
- Disable Matlab UI font size change for code and text, that is left to the user. -
ciapkg.behavior.importDeepLabCutData
- Loads DeepLabCut processed CSV files and loads into a table or structure for use by other functions.