Merge changes to make DataTree work better standalone with new processing examples (#149)
* v1.55.0
-- Change to stimulus loading to load from events .tsv file if it is present. It would override SNIRF stim field and StimEditGUI. If not present then default to SNIRF stim and StimEditGUI for stim loading and editing.
* v1.55.1
-- Fix some bugs with stim export to events TSV files.
-- Add documentation to DesignNotes.ppt describing the new stim loading (from events TSV files) and exporting (to events TSV files) feature.
-- Add option to Snirf2Tsv.m to find and delete all events TSV files
* v1.56.0
-- Fix issue in Snirf.GetDataTimeSeriesMatrix() with incorrect conversion to aux matrix when aux sample rate is different than data sample rate.
-- Move events TSV loading menu option from StimEditGUI.fig to MainGUI.fig per Davis's request
-- Fix bug in moving old output derived data folder homerOutput to new BIDS style derivative/homer.
* v1.56.1
-- One more bug fix in SnirfClass.GetAuxDataMatrix() where the case of if aux has same time base as data is not being handles properly.
-- Added config option "Quiet Mode" to be able to run processing without progress bars being displayed so it doesn't constantly take control of the mouse and one could work in parallel in other windows without interference.
* v1.56.2
-- Added automatic stim loading from TSV file (if changes were made or new file created) when clicking on run.
-- Change to SnirfFile2Tsv.m: if snirf stim field is empty then generate empty TSV file with only the default column names instead not generating any file at all as was done before.
-- Change the way we detect if stim changes were made to acquisition file.
-- Minor change to readTsv.m to automatically complete input file name without an extention with a '.tsv' extension.
-- Add DeleteTsv.m for diagnostic purposes.
* v1.57.0
-- Make config changes made through Settings-->Edit App Configuration menu take effect immediately after saving so that one does not have to restart Homer3.
-- Fix bug loading stims: Change order at init time when DataTreeClass.SetConditions() is called; before or after loading groupResult.mat. This order was changed several months ago (I believe in version 1.38.2) to be SetConditions then load groupResults. The problem with this is that it groupResults then overwrites the correct condition initialization for the whole group if groupResults happened to have unsaved condition changes that differ from SetConditions. This may be inconsistent with the correct condition set generated by SetConditions. One solution could be that TreeNode.Copy() groupResults method SHOULD NOT BE copying conditions - i.e, TreeNode.CondNames field. The other solution - the one used here - is change the order back to calling SetConditions() after copying groupResults. Although I have to try to remember why that change to caLL SetConditions first was made in the first place IN v1.38.2. It seems like a mistaken solution to address some sort of issue which the commit message does not explain.
-- Clean up: delete unused and obsolete files.
* v1.58.0
-- Add back showing pruned channels in PlotProbeGUI. Also there's a new ability to display non-HRF time course in PlotProbeGUI. If user is displaying non-HRF data then a warning pops up informing about this. You can opt out of receiving with every element selection.
-- Standardized datatype names in methods GetDataTimeSeries() and GetMeasurementList(), across different levels in DataTreeClass, to be better able to use these methods in scripts.
-- Made small change to hmrR_PreprocessIntensity_Negative per Meryem's request.
-- Fix display issue in manually pruning channels with it not always being displayed correctly with a dotted line in the probe axes. This is because of lack of clarity with currently selected wavelength with only the currently selected wavelength measurement being toggled. To make things simple when selecting a channel for pruning measurements from ALL of the wavelengths are toggled simultaneously. Also to clarify, the meaning of manual pruning is always to the raw/OD timecourse data even when it is NOT selected in the Plot Select Data
-- Fix small issue in syncSubmodules when copying peerless files in non-existent folders in the destination the folder needs to be created first (that is, copyfile won't do it for you).
* v1.59.0
-- Fix retrieving inactive channels in hmrR_PCAFilter.m using the new mlAct supporting user functions.
-- Update design doc to document new loading and exporting of stim from and to BIDS events TSV files.
* Make standalone DataTree work by supplying missing cell2str.m function to shared library
* v1.60.0
-- Include startup functions in setpaths to be able initialize search paths for DataTree.
-- Add examples folder with runProcessingStream.m on how to download and run processing stream in DataTree standalone.
* v1.61.0
-- Add initialization script to run after downloading DataTree which downloads dependencies Utils and FuncRegistry and runs setpaths for ease of standalone operation
-- Add submodules .gitmodules file to DataTree library to stream line process of downloading dependencies when running DataTree standalone
-- Provide plotting method for TreeNodeClass elements to run from command line
-- Fix typos in .gitmodules and add FuncRegistry as a third submodule/library that Homer3 uses
-- Provide LoadRunPlotExamples.m example of how to use DataTree from scratch.
-- Add missing description of input argument mlAct in hmrR_PCAFilter.m
* v1.61.1
-- Fix typo in DataTree/.gitmodules FuncRegistry entry. This was fixed in the parent (Homer3) .gitmodules but not DataTree.
-- In syncSubmodules.m add .gitmodules to the list of file types to search for when syncing parent and submodules
* v1.62.0
-- Sync with changes in DataTree and Utils shared libraries:
DataTree:
1. Rename LoadRunPlotExamples to LoadRunPlotExample1.m and LoadRunPlotExample2.m - LoadRunPlotExample1 uses TreeNodeClass methods to get access to data and time and plot them, while LoadRunPlotExample2.m does the same thing BUT accesses snirf objects directly without any methods and then plots them directly in the script to show user how snirf objects work. Add example data that goes with it Example4_twNI.
2. Add another example EditStimExample.m which shows how to export and edit stim and conditions. Add example data that goes with it SubjDataSample.
3. Fix bugs in StimClass methods for editing stims (adding, deleting, and changing condition of) based on an inclusive time points vector.
4. Fix run/plot examples and remove the download and initialization parts as that is unnecessary and does not quite makes sense since you have to first download the repo before accessing the LoadRunPlotExamples.m script. This part can simply be described in the comments.
5. Simplify initialization by moving downloading of submodules to setpaths and get rid of initialize.m
Utils:
1. Add capability to readTsv.m to be able to load TSV file that is separated by spaces instead of tabs if it is can be clearly determined that spaces are separators (instead of say names of conditions). If spaces are detected then the file is written to correctly contain tab separators as is appropriate for the .tsv format.
2. Add namespace DataTreeClass to setGuiFonts.m so that fonts can be set in a figure when DataTree standalone is running
3. Return figure handle of MenuBox.m so that it can be repositioned after calling it
Loading
Please sign in to comment