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).
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.
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.
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.
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. Instead close all figures if a method is selected, this avoids user not getting feedback if figures are re-used and focus is not shifted.
viewMovie - Updated suptitle to ciapkg.overloaded.suptitle.
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.
Updated +ciapkg.api
convertInscopixIsxdToHdf5 - Update +image package to +inscopix.
Main features and changes:
4.2.0
.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.suptitle
withciapkg.overloaded.suptitle
due to function being dropped from newer Matlab releases.New functions
ciapkg.api.getMovieFileType
- API access forgetMovieFileType
.ciapkg.api.getMovieInfo
- API access forgetMovieInfo
.ciapkg.api.readFrame
- API access forreadFrame
.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.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. AddmodelPreprocessMovieFunction
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. Instead close all figures if a method is selected, this avoids user not getting feedback if figures are re-used and focus is not shifted.viewMovie
- Updated suptitle to ciapkg.overloaded.suptitle.Updated
+ciapkg
signalSorter
- Updated suptitle to ciapkg.overloaded.suptitle. Also limit number of GUI re-runs to prevent infinite looping. Fixed issue withgca.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
- AddedforceLoad
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.suptitleopenFigure
- 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 addprimaryTrackingPointNback
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.Updated
+ciapkg.api
convertInscopixIsxdToHdf5
- Update +image package to +inscopix.