Skip to content

Improved initialization, movie processing selection, GUI speed-ups, and misc. improvements

Compare
Choose a tag to compare
@bahanonu bahanonu released this 02 Mar 19:42
· 35 commits to master since this release
0dc144f

Main features and changes:

  • Increment to CIAtah version to 4.2.0.
  • GUI improvements to ciapkg.motion_correction.computeManualMotionCorrection that significantly speed up GUI responsiveness, e.g. when doing hundreds of sessions.
  • computeMatchObjBtwnTrials now supports manual alignment of sessions before automated alignment and matching of cells across sessions.
  • Replace calls to suptitle with ciapkg.overloaded.suptitle due to function being dropped from newer Matlab releases.
  • Several fixes to improve usability and initializing CIAtah.
  • Addition of detrending function to API, alias for existing functionality.
  • Misc fixes for edge cases and other improvements.

New functions

  • ciapkg.api.getMovieFileType - API access for getMovieFileType.
  • ciapkg.api.getMovieInfo - API access for getMovieInfo.
  • ciapkg.api.readFrame - API access for readFrame.
  • ciapkg.movie_processing.detrendMovie - Detrend a movie to account for photobleaching, etc. Alias for call to normalizeMovie.

Updated @ciatah

  • ciatah - Misc code fixes to conform to better Matlab language standards.
  • ciatahMainGui - Additional check only for movie previews of supported movie files. "Folder files" list selection additional regexp support. Changed so that 'Start selected method' button selects the correct folders like occurs when pressing enter. The folder list will no longer reset when selecting certain GUI elements that should not impact folder list.
  • computeMatchObjBtwnTrials - Added manual alignment option before automated for cases in which there are large shifts or rotations along with changes in bulk cells identified that might be hard for automated to align.
  • modelDownsampleRawMovies - Change TIF finding to split apart the information file before using for regular expression. Additional updates to handle CIAtah v4.0 API switch.
  • modelModifyRegionAnalysis - Fix modelVarsFromFilesCheck and modelVarsFromFiles recursion edge case.
  • modelPreprocessMovieFunction - Updated suptitle to ciapkg.overloaded.suptitle. Fix "No movies" dialog box displaying when movies successfully run. Add modelPreprocessMovieFunction settings saved in CIAtah class to saved output file for later retrieval. For selecting turboreg crop coordinates, switched to ciapkg.io.readFrame when single frame is requested as this is faster and avoids long read times of all frame information as occurs in certain types of TIFF files or hard drives. Misc code fixes to conform to better Matlab language standards.
  • modelVerifyDataIntegrity - Updated suptitle to ciapkg.overloaded.suptitle.
  • runPipeline - Eliminate the close all figure when initializing the main GUI. Unexpected for some users and undesirable in certain cases.
  • viewMovie - Updated suptitle to ciapkg.overloaded.suptitle.
  • getRegistrationSettings - Handle "User selects specific value" going into infinite loop. Allow cancel option to prevent loop.
  • initializeObj - Wrap calls to diverging_map to avoid potential ciatah initialization errors on macOS.
  • modelPreprocessMovieFunction - Add verification that turboreg MEX function is in the path.
  • viewMovieRegistrationTest - Additional updates to handle CIAtah v4.0 API switch.

Updated +ciapkg

  • signalSorter - Updated suptitle to ciapkg.overloaded.suptitle. Also limit number of GUI re-runs to prevent infinite looping. Fixed issue with gca.XRuler.Axle.LineStyle being an empty object when axes created, leading to failure to assign and error loops. Make all openFigure to ciapkg.api.openFigure.
    downloadGithubRepositories - Update _external_programs to call ciapkg.getDirExternalPrograms() to standardize call across all functions. If multiple repos requested but one already downloaded, previously exited before downloading the other repos.
  • readHDF5Subset - Fix display of information on error.
  • createPeakTriggeredImages - Ensure only unique signal peaks used.
  • fftImage - Misc code fixes to conform to better Matlab language standards.
  • getMovieFileType - Update all strcmp to endsWith to ensure finding file extension as there are cases where software will export metadata into files with naming schema like NAME.tif.xml for NAME.tif and this can cause issues when using strcmp without endsWith-like checks. Update docs. Added varargin support.
  • getMovieInfo - Directly call loadMovieList and bypass ciapkg.api.
  • loadMovieList - AVI now read(...,'native') is faster.
  • jsonRead - Fix edge case where the end of the imported string is a space, causing jsondecode to fail.
  • loadMovieList - AVI now read(...,'native') is faster.
  • manageMiji - Added forceLoad option.
  • manageParallelWorkers - Added nCoresFree option for users to set the number of cores to remain free. Added ability to input just the number of workers to open as 1st single input argument that aliases for the "setNumCores" Name-Value input, still support other input arguments as well.
  • modelAddOutsideDependencies - No longer use Fiji-based Miji.
  • readFrame - AVI now read(...,'native') is faster.
  • resetMiji - Update to use manageMiji to setup Miji, avoid certain issues. Also search for imagej instead of Fiji path.
  • computeManualMotionCorrection - Change number of pixels to translate per click and UI improvements. Improved pre-allocation, minimize GUI slowdown for large inputs over time. Improve speed of GUI and responsiveness. Force altInputImages to initialize as input class type to avoid automatic conversion to double (save space/ram). Significant speed improvements by removing certain calls to figure, axis, imagesc, etc. that slow down UI over time when many sessions aligned.
  • downsampleMovie - Update for Matlab standards.
  • viewAddTextToMovie - Added varargin for future additions.
  • changeFont - Updated so doesn't change Axes backgroundcolor when changing font color, only Axes text.
  • displayMatchingObjs - Updated suptitle to ciapkg.overloaded.suptitle
  • openFigure - Option to add a title to the figure, e.g. "Figure 1" becomes "Fig. 1 - Lorem ipsum". Also make user accessible change figure background color.
  • playMovie - AVI now read(...,'native') is faster. Also add primaryTrackingPointNback option to allow a trailing number of points from prior frames to appear.
  • exampleFxn - updated for better help.
  • getMovieFileType - Added support for checking if a cell was accidentally input instead of a string path along with verifying that input was a string. Added support for oir and czi/lsm Olympus and Zeiss file formats that already was in loadMovieList.
  • computeManualMotionCorrection - Improved pre-allocation, minimize GUI slowdown for large inputs over time. Improve speed of GUI and responsiveness.
  • turboregMovie - Additional display of information. Added verification that turboreg MEX function is in the path.
  • changeFont - Updated so can update font size, name, color more independent of one another.
  • downloadCnmfGithubRepositories - Update display of information if CVX is not automatically found.

Updated +ciapkg.api

  • convertInscopixIsxdToHdf5 - Update +image package to +inscopix.