Redo retrieval of measurement list, dataTimeSeries and mlAct to fix major...
Redo retrieval of measurement list, dataTimeSeries and mlAct to fix major issues with incorrect sorting of data. (#141) (#143)
* v1.39.0
-- Fix matlab generated error displaying measurement list visible channels. Take MeasListVis field out of processing stream input (ProcInputClass) since it does not actually contribute to proc stream processing and move it to TreeNodeClass field chVis.
* v1.40.0
-- Fix major issue with incorrect sorting of data and measurement list.
-- Change unit tests to include wavelength when scrambling channel order. Also make scrambling for unit tests an option
* v1.40.1
-- Add back display of standard error bars, and x and y-axis labels to MainGUI data display.
-- Fix current element condition name display being cut off in PlotProbeGUI.m
* -- Fix bug in shared lib synching code which incorrectly ignores differences in files with .cfg extensions thus ignoring differences in AppSettings.cfg
* v1.41.0
-- Add ability to plot selected measurements in exported HRF file from ExportDataGUI
-- In ConfigFileClass exclude AppSettings.cfg in submodules folder under Homer3 root folder
* v1.42.0
-- Fix issue with probe.snirf or any other snirf files with no data or intentionally corrupt data being accepted as valid.
-- Fix Nirs2Snirf not working for some some .nirs datasets which do not have CondNames. Add default CondNames to NirsClass.ErrorCheck()
-- Fix display of mlAct in MainGUI broken after the measurement list order issue.
-- For diagnostic purposes save error code in err field of all the SnirfClass sub-classes
-- Add back to MainGUI making channels invisible by mouse right-clicking on them.
* v1.42.1
-- Fix bug removing channels from display by mouse right-clicking in MainGUI axesSDG. Fixed incorrect distance criteria for source and detector from end points on clicked line.
* v1.42.2
-- Fix error when loading snirf with corrupt stim data. Added error checking to flag bad stim data. Then add file with bad stim data and discard bad stims while displaying warning.
-- Improve warning reporting for files that were allowed to load but with warnings.
-- Fix matlab error in backward compatability code when derived output folder is same as root group folder
* -- Log the current processing stream function call chain every time RUN button is clicked in MainGUI to generate derived data.
-- Minor code formatting in SubjClass.m
* v1.42.4
-- Fix bugs found by Meryem in fNIRS 2018 course SS_DEMO_1, Finger_Tapping_*.snirf.
Errors when running processing stream in
1. hmrR_MotionArtifact fixed by getting rid of 'reshape' option to DataTimeSeries()
2. hmrR_OD2Conc.m fixed by getting rid of 'reshape' option to DataTimeSeries()
3. hmrR_GLM.m fixed in DataClass.m by NOT assuming source and detector indices do not skip numbers
-- Just like for hmrR_MotionArtifact.m no need to reshape for hmrR_MotionArtifactByChannel.m since the
-- Better error/warning logging in DataFilesClass.m and FileLoadSaveClass.m
* v1.43.0
-- Set inactive channel data to NaN. That way they don't show up in MainGUI display. Implement this in DataClass: inactive channel is a channel for which all data is exactly zero (not approximately zero).
-- Fix an issue in ProbeClass which incorrectly upload sourcePos3D or detectorPos3D as a column vector IF AND ONLY IF it is the ONLY optode in the probe. This leads to incorrect result in at least one user function processing hmrR_OD2Conc in which the calculation of rho is sensitive to row vs column vector.
-- Fix several issues in incorrect unit tests results for Example9_SessRuns because of file naming in Simple_Probe_run* which contains '_' between Simple and Probe which are interpreted as a subject and session name. This is not how the original .nirs benchmark was processed based on the Simple_Probe*_. In order to match the original subject/session breakdown need to get rid of '_'.
-- Fix another unit test bug which has to load saved derived data in compareDcAvg.m before comparing to benchmark.
-- Fix another unit test bug in unitTest_BandpassFilt_LPF.m lpf wasn't being changed no matter what the value was because hmrR_BandpassFilter() changed to hmrR_BandpassFilter_old()
-- Add to unit tests simulation of occasional random errors (simulateDataError.m and generateErrorOddsConstant.m) to do a check of whether the unit test is really checking data against the benchmark correctly.
* -- Fix bug in SnirfClass .snirf file fomat conversion to NirsClas .nirs.
-- Set default simulation of errors to none in UnitTests_Init.m
-- Add namespace DataTreeClass to shared library Utils function points_on_line.m
* v1.44.0
-- Fix ordering issue with active/inactive (mlAct) channels in user functions and MainGUI display. Use sources, detectors, wavelength matrix rather than a logical vector.
-- When manually pruning channel only prune at the current wavelength.
-- Implement missing application of active/inactive (mlAct) channels at the higher averaging user functions: hmrE_RunAvg.m, hmrG_SubjAvg.m, hmrS_SessAvg.m
-- Fix incorrect nTrials calculation at the group level
-- Fix PlotProbeGUI/plotProbe.m display issue as a result of fixing the MeasList ordering issue.
* v1.45.0
-- Fix bug in channel exclusion in hmrR_PruneChannels.m
-- Fix display of manually pruned channels in DisplayAxesSDG.m
* v1.46.0
-- Fix plotProbe.m by rewriting the plotting to be based on SNIRF style 2D measurement list rather than .nirs era wavelength based measurement.
* v1.47.0
-- Fix mlAct in hmrR_tCCA.m
-- In PlotProbeGUI get condition dynamically from parent gui, that is MainGUI
-- In PlotProbeGUI.m add back ability to display OD HRF and also any data type that is currently selected in MainGUI
* v1.48.0
-- Fix very slow processing at the group, subject and session levels and slow display. All were caused by the same issue: very inefficient DataClass.GetDataTimeSeries('reshape') method. Changed it's code to be much more efficient.
-- Fix typo in plotProbeAndSetProperties.m causing matlab-generated error
-- Minor improvement to display of location of current processing in MainGUI listboxGroupTree when calculating provcessing stream
* v1.48.1
-- Fix typo in hmrR_MotionCorrectWavelet.m causing matlab-generated exception
-- More fixes in user functions hmrR_MotionArtifactByChannel.m and hmrR_MotionCorrectCbsi.m of inactive channels mlAct
-- Added another performance enhancer in DataClass.GetDataTimeSeries() to speed up retrieval of measurement list and thus data time series. Added cache for measurement list matrix to avoid recalculating it.
* v1.48.2
-- Capture and log to log file the function call stack when exception error occurs while running processing stream.
* v1.48.3
-- Fix some child gui repositioning issues when MainGUI is upodated especially ProcStreamOptionsGUI
-- Don't redisplay ProcStreamOptionsGUI if function call list is exactly same as last time.
* v1.48.4
-- Fix time exclusion and motion correction by channel having incorrect channel order. Modify tIncCh to include measurement list info about sources, detectors and data type.
-- Fix display of time exclusion and motion correction by channel showing incorrect channels. Clean up and rewrite DisplayExcludedTime() function.
-- Improve speed of display function GetMeasurementList to use ml matrices instead of structures. Change definitions of GetMeasurementList() functions to be uniform and compatible with each other up and down the call stack, as well as having separate arguments for matrixOption ('matrix') and dataType ('dod', 'dc', dcAvg', etc).
-- Minor graphics adjustment to MainGUI datatype listboxes for wavelength and HbType to be exactly overlapping
* v1.50.0
-- Fix another channel order bug in DataClass.GetDataTimeSeries. order need to match linear order when squeezing dimensions > 1 into 1D. This caused incorrect results to be displayed for concentration HbT after running hmrR_MotionCorrectCbsi
-- Fix minor display issue in MainGUI.m icorrectly enabling OD and concentration radio buttons even though no results exists.
-- Add diagnostic/debug functions to unit test to generate simulated data time series whose data identifies the channel it originated in.
* v1.51.0
-- Fix channel order issues excluded time by channel in hmrR_MotionCorrectSplineSG. Change GetDataTimeSeries to return measurement list associated with the data time series as well as adding other options to control channel order.
-- Fix matlab exception bug in plot probe when clicking non-run, non-hrf data in MainGUI. Fix in plotProbeAndSetProperties.m, updateData() function which was cleaned up in addition to fixing problem.
-- Fix incomplete isequal method in ProcStreamClass comparing 2 objects. This caused active ProcStreamOptionsGUI not to update correctly when removing function from function call chain in ProcStreamEditGUI.
-- Fix issue in SubjClass when processing multiple sessions incorrectly adding trials from all the sessions.
* v1.51.1
-- Fix matlab exception in hmrR_MotionCorrectCbsi.m because call to GetDataTimeSeries method was not updated to match new function definition.
-- MainGUI and PlotProbeGUI/plotProbe.m display improvements: thinner data plot lines, exclude time patches incorrectly changing y lim.
* v1.51.2
-- Fix matlab exception in hmrR_MotionCorrectSplineSG because of typo missing 'matrix' argument in GetMeasurementList(). hmrR_MotionCorrectSplineSG expects measurement list in matrix form rather than structure.
* Diagnostic code which does not effect main Homer3 operation (so version number stays the same):
-- Change generateSimData.m to include all data files in a group. This function replaces the files real data with fake data that has the channel ID (source idx, detector index, data type idx, condition idx) embedded in the data itself for diagnosing/uncovering channel order issues.
-- Add more sim data user functions
Loading
Please sign in to comment