Notes:

Release Name: v2.8, p2.1

Notes:

==================
Release Notes v2.8
==================

Homer2_UI:
----------
-- Fixed time course not filling up entire length of x-axis. Made a mistake last time I did this because I broke setting fixed x-range. This time I am putting the setting in the auto xlim section.

-- Another fix to EasyNIRS_ProcessOpt.m when there are too many functions in the proc stream EasyNIRS_ProcessOpt GUI cuts off function names.

-- Another fix to checkNIRSFormat when .nirs files missing t,d,or SD they should not be considered valid data files and should be skipped.

-- Added on/off switch for enabling/disabling the following user function in a processing stream :
hmrMotionCorrectSG.m
hmrMotionCorrectRLOESS.m
hmrMotionCorrectSpline.m
hmrMotionCorrectPCArecurse_Ch_dual.m
hmrMotionCorrectPCArecurseCh_SG.m
hmrMotionCorrectWavelet.m
hmrMotionCorrectPCArecurse.m
hmrMotionCorrectCbsi.m
hmrMotionCorrectSplineSG.m

-- Added fixed time ranges options for X and Y axes in HOMER2 GUI.

-- Homer2_UI GUI and procStreamGUI both go off screen at the bottom and are too big for some screens. Made units normalized and so that size is relative to screen size and location to fit completely on the screen.

-- Added function resetGroupFolder.m (can only be used if running Homer2_UI from Matlab) to reset subject folder nirs files back to original state.

-- Modified hmrFlowInput.m

-- Got rid of popup warning that db2.mat doesn't exist. Instead just print in Command window and save generated db2.mat, without prompting user to click OK button.

-- Changed the default iqr to 1.5 in hmrMotionCorrectWavelet.m.

-- Change plot line styles for HbR and HbT displays to be dashed (--) and dotted (.-) lines respectively to distinguish from HbO displays. Same for wavelengths 2nd (or 3rd) wavelengths when viewing raw data or OD.

-- Correct for nan values in intensity(n) in hmrFlowInput.m

AtlasViewerGUI:
---------------
-- Added of Standard Views which has buttons to view any head anatomy Left/Right, Anterior/Posterior, and Superior/Inferior sides. You can also use two angles, azimuth + elevation to specify precise views of any head.

-- Added tool ImportMriAnatomy to be able to import into AtlasViewer any subject-specific MRI anatomy in NIFTI and MGH formats.

-- Change what is displayed at startup when digitized points are present in the subject folder: previously only thew digitized points were displayed. Now all the anatomical pieces that are available in the subject folder - head, brain, etc - are displayed.

-- Added menu option Reset Viewer State to be able to start workflow from scratch.

-- Added support for loading high-resolution fluence files.

-- Improved EEG reference points calculation tool:
a) Consolidated reference points menu items Find, Show, Configure, Calculate under one menu item: "Reference Points" under Tools menu.
b) Calculate ALL 10-5 eeg reference points to allow selection of 10-20, 10-10 or 10-5 without having to recalculate them every time you select them. Improve progress bar display when calculating eeg points to meaningfully show progress in one bar.
c) Recalculated default 10-5 reference points for Colin atlas based on new definition of the ear landmarks, using the preauricular points LPA and RPA, rather than tragus which is what the previous ref points were based on.
d) But added a configuration tool menu item, allowing user to specify the anatomical location of RPA and LPA before recalculating 10-20, 10-10, 10-5. This is to allow for some ambiguity in the standard definition of the ear points in the literature.

-- Improvements to Find Ref Points tool:
a) Show in the selection buttons which reference points have been selected and which haven't;
b) Datacursor position display is now in a separate window to the side;
c) The Save and Rotate Zoom panel is now in a separate panel.
d) Centered head display so it's not so close to the panels and isn't obscured by the panels.
e) Fix issue which causes the display to suddenly zoom make the head become huge when user clicks the figure's pan button (i.e., the small button in the figure toolbar with the up-pointing hand icon).
f) Fixed bug in the Find Ref Points GUI where re-selecting a reference point position, instead of repositioning the reference point under and keeping the same label, it would assign it a different label.
g) Handle situation when user selects a ref point with one of the ref points buttons but has not selected head location with the data cursor.
h) Removed TIP about orientation from Find Ref Points tool which forces user to read a lot of text, and stop to click OK and is non-visual. Instead added labeling of sides as L and R according which side of the head is the actual left and right.

-- Fix matlab error when trying to plot image recon without first generating it.

-- Fix when starting AV from a saved state (ie. when atlasViewer.mat is present in the subj folder), incorrectly setting Forward Model menu options. Even though probe is registered to head, and Adot sensitivity is available we don't enable all the downstream options like Load/Generate sensitivity.

-- In ImageRecon GUI get the appropriate subject name rather than naming everything 'New Folder'

-- Should not be generating additional simulated wavelengths for DRM protected fluence files in setpaths - atleast not by overwriting the files.

-- Fix typo in bug fix when updating the number of wavelengths fwmodel.nWavelength when loading fluence profiles. Xinge uncovered this bug.

-- Added feature to allow other atlases to be installed by user as the set of atlases offered by AtlasViewer when using Change Atlas menu item.

-- Eliminated the need for user to have to find and rename atlasViewer_SDdesign.mat in Probe Placement Variation.

-- Fixed bugs related to loading groupResults (generated by Homer2_IU) in AtlasViewerGUI for image reconstruction and HbConc.

-- A Homer-users list member posted that he could not get AV to generate sensitivity matrix by following the YouTube video that shows how to do this. The reason for the problem of not being able to generate sensitivity was that the digitized probe in the digpts.txt file didn't match the probe in any of the .nirs file in his subject folder and therefore the measurement list could not be imported. To generate the sensitivity profile AV has to import the measurement list from one of the .nirs files in the subject folder. It will not do it if it detects an incompatibility. Added warnings and error messages alerting user when the measurement list is missing and therefore the ensitivity profile cannot be generated.

-- Fix for probe with 'cm' units appearing incorrect because AtlasViewer was not using the Spatial Unit parameter in the SD geometry .

-- Fix for matlab error when clicking the Image Recon button in the ImageRecon GUI because Matlasb's eigs function in hmrImageReconConc.m doesn't work for single-precision floats only double. The sensitivity profile in some cases is single precision.

-- Regenerated fluence profile with 1e7 instead of 1e6 photons.

-- Change when some Forward Model menu options are enabled based on availability of Monte Carlo output and sensitivity profile.

-- Fix artifacts appearing in head surface because when generating surface from head we were keeping segmentation layers instead of making the whole head one value which would have been the correct way.

-- Fix matlab error when retrieving digitized points because isalpha_num is undefined in matlab versions later than R2016a.

-- Allow probe registration and other functions (for example when clicking pushbutton Register Probe To Surface) even when ONLY the head surface but not the head volume or brain surface are part of the AtlasViewer imported anatomy. Previously AtlasViewer expected head volume, brain surface and head surface to be present for it to be able to do anything like probe registration.

-- Improve noise reduction code for head volume when importing subject-specific anatomy. Old method didn't work well esp. for SPM output. Added adaptive thresholding where AtlasViewer tries to figure out automatically the threshold below which pixel values are considered noisy in an MRI image.

-- Fix Register-to-Head-Size menu tool matlab error.

-- Added feature to calculate and display head dimensions; circumference, and length of sagittal and coronal curves.

-- Search for anchor points in reference point labels using incomplete string comparison when registering spring probe. It incorrectly assumed reference point labels are always lowercase.

-- Fix matlab error when registering SD probe with springs after having registered the atlas to dig points. Found by Xinge who tried to compare designed flat probe with the digitized probe.

-- Check the consistency of the main pieces of the loaded anatomy; make sure they all come from one source and is not a patchwork from atlas and subject folders.

-- Added ability to build Monte Carlo executable on-the-fly if it doesn't exist.

-- Fix AtlasViewer not recognizing that an Monte Carlo executable has been found and still asks user to locate it. Happens when the MC executable has been been built on-the-fly when starting AtlasViewer. Encountered this bug on Linux.

-- Fix executable permissions problem when running Monte Carlo on a MAC.

-- Fix for Matlab error when importing subject specific anatomy on a MAC
dyld: library not loaded /opt/local/lib/libstdc++.6.dylib
Not all MACS produce this error. It happens when resampling the volume (using meshresample).

-- Added popup message asking user wants to select reference points and calculate EEG points at the end of importing MRI anatomy.

-- Fix for bug seen in fNIRS course 2017 in image reconstruction which complains that 2 wavelengths are needed, because the precalculated fluence files with one wavelengths were loaded. This bug only occurred in the homer2 source release but not in the exe installations. Fix is to simply enable simulating a second wavelength in setpaths.m.

-- Fixed View Origin feature which wasn't working. It was giving a Matlab error instead.

-- Fix bug where after 1) registering atlas to dig points, 2) clicking "Register Probe to Surface", 3) running Monte Carlo 4) generating sensitivity, then 5) restarting AtlasViwer, and then repeating steps 1) and 2) AtlasViewer gets stuck trying to register probe to surface. (This is because the center of the transformed volume was not calculated correctly.)

-- Fixed Matlab error when loading group mean digitized points.

-- Fixed small bug in zoom where every time you restart AtlasViewer or find new ref pts it zooms in closer in the main GUI.

-- Fix initial zoom of head surface when redisplaying axes (for instance after selecting basic reference points and calculating 10-20 reference points.)

-- Added the probe editing tool developed by Ardalan Aarabi - Université de Picardie Jules Verne. The tool allows changing the location of an existing optode on head (either digitized or original design).

SDgui:
------
-- Added ability to delete multiple optodes and associated channels by dragging mouse over optodes in the SD axes display. Previously you could only delete optodes one at a time and only from the table of optode positions.

-- Added checkbox to view full path of the loaded SD file.

-- Made GUI fonts for MAC and Linux bigger. Matlab fonts are smaller on MAC and Linux than Windows.

-- Clean up of SDgui:
* Resize and reposition GUI.
* Make all table labels more visible.
* Show axes X and Y axis labels more clearly using the latest matlab version method.
* Reposition text box for error messages and file load/save messages to make them more visible.

-- Fix matlab error when saving SD file with number of springs is shorter than 3.

General:
--------
-- Changes to setpaths to remove any paths from other Homer2 workspaces that conflict with the currently active Homer2. This change not relevant to Homer executables, only when running from Matlab.

-- Fix broken installation process for MAC

-- Fixed sizing and positioning issues for Homer2_UI and AtlasViewerGUI GUIs so that it looks reasonable on any screen or monitor.

Changes: