-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misc. improvements, GUI speed-ups, and new options #100
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. - 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. - `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. ## Updated `+ciapkg.api` - `convertInscopixIsxdToHdf5` - Update +image package to +inscopix.
- 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.
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.