{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":409234077,"defaultBranch":"master","name":"DataTree","ownerLogin":"BUNPC","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-22T14:20:28.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/39170014?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1632320905.851902","currentOid":""},"activityList":{"items":[{"before":"ea6e44199d88200a45be13126f2338c9a9a29755","after":"13da226e7fe22f2b04681cbe4f5390094378b42d","ref":"refs/heads/development","pushedAt":"2024-06-20T16:47:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.25.0\n\n-- Change NirsClass.ProbeEqual method to return true if all the MeasList SD pairs in one are present in the other and vice versa, regardless of ml order. Part fix to AV image recon fix where sensitivity profile Adot ml order doesn't match image recon ml order. (v1.25.0)\n\n-- Fix error in DataTree/DataFilesClass.m when loading saved derived data from derivatives/homer (for saved dataset) because saved group rootdir differs from actual group rootdir. The actual must overwrite the saved when comparing saved to actual data sets. (v1.24.0)","shortMessageHtmlLink":"v1.25.0"}},{"before":"10f7be1c4735abedb49364adb2504de59efcd0c3","after":"ea6e44199d88200a45be13126f2338c9a9a29755","ref":"refs/heads/development","pushedAt":"2024-05-28T16:33:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.23.0\n\n-- Fix snirf file simple_nirs_noStim.snirf from 1-basic-steps exercise not loading correctly because it has one source (and one detector) and the one source is at position [0,0,0] which triggers ProbeClass to assign sourcePos2D empty array []. All zeros source and detector probe positions are generated by AV 3D probe design to mean invalid 2D positions and only assigns meaningful positions to 3D fields. I forget the reason to assign all zeros instead of just assigning empty arrays.\n\n-- Also fix error in HDF5 data type conversion function convert_to_hdf5_type which names HDF5 signed integer types incorrectly causing error when saving to SNIRF files metaDataTags that contain signed integer types.","shortMessageHtmlLink":"v1.23.0"}},{"before":"538246bd5c1941800bda7973aec2c45347178be7","after":"105fc54f578acfb2a91f818410e734d2f14efbe6","ref":"refs/heads/master","pushedAt":"2024-05-08T18:27:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"Merge branch 'development', v1.22.0\n\n-- Fix bug saving wrong format indicating what folder format is associated with saved dataset. This leads to not finding ANY data files when reloading dataset next time Homer is launched. To reproduce comment out the fix and add ONE \"error\" snirf file (such as probe.snirf) which will not be loaded AND are in a different folder format than the valid dataset. Exit Homer and restart it. Homer will not find ANY data files when relaunching.","shortMessageHtmlLink":"Merge branch 'development', v1.22.0"}},{"before":"826a1e1ba859f4a015785aeaf4430f02bbb6e894","after":"10f7be1c4735abedb49364adb2504de59efcd0c3","ref":"refs/heads/development","pushedAt":"2024-05-08T18:09:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.22.0\n\n-- Fix bug saving wrong format indicating what folder format is associated with saved dataset. This leads to not finding ANY data files when reloading dataset next time Homer is launched. To reproduce comment out the fix and add ONE \"error\" snirf file (such as probe.snirf) which will not be loaded AND are in a different folder format than the valid dataset. Exit Homer and restart it. Homer will not find ANY data files when relaunching.","shortMessageHtmlLink":"v1.22.0"}},{"before":"e9c210a5732c2c8ff9b1edfb0b6eb7df9f171938","after":"538246bd5c1941800bda7973aec2c45347178be7","ref":"refs/heads/master","pushedAt":"2024-05-02T20:21:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"Merge from development branch from v1.15.3 - v1.21.1:\n\nv1.21.1\n\n-- Change name of sample data folder from SubjDataSample to SampleData and put data files from Jorn's repo for the livescripts to open to and be able to select from the SampleData folder.\n\n-- The above change to SampleData folder also makes it MUCH more easier to replace data that executable homer3 opens to. Replace test.nirs to Jorn's dataset, otherwise it's a HUGE hassle in the setup.m installation script to make it so that there's 2 independent datasets under SampleData one with test.nirs and one Jorn's data and Homer3 exe shortcut start in folder is SampleData/Test as opposed to Jorn's data, etc, etc. Easier and simpler to just combine the functionionality of Jorn's data for livescripts example pipeline AND for Homer3 exe initial dataset.\n\nv1.21.0\n\n-- Fix error in FileClass.ErrorCheckName() causing the reporting of a false warning a: \"The current file [***] has the same name as the folder containing it. All files should have a different name than the folder containing them ...\". To reproduce take a dataset with a flat file structure, and generate a corrupt stim(1).data which causes an error to be detected but then also a false warning.\n\nv1.20.1\n\n-- Fix very slow loading of datasets on MAC OS because H5D.open() is very slow error handling when loading optional, i.e., nonexistent fields. Fix is to using a fast check to see if dataset exists using H5L.exist() before attempting to load with H5D.open(). This also greatly speeds up loading time on Windows as well.\n\n-- Reduce the amount of print statements to console. Remove 'Initializing empty derived data output file ...' and 'Attempting to load ***-level proc stream from ...' and 'Saving group ...'\n\nv1.19.0\n\n-- Building on last commit to improve DataTree launch performance by caching DataFilesClass object in ./derivatives/homer/DatasetFiles_snirf.mat - this time add smart loading of ./derivatives/homer/DatasetFiles_snirf.mat containing cached DataFilesClass object which takes a long time to build. Rather than just crudely rebuilding DataFilesClass object from scratch if anything in the current files differs from saved data; rebuild ONLY those parts of the dataset that have changes and add those changes to saved object.\n\nv1.18.1\n-- Changes to improve startup performance when launching Homer. It takes a lot of time to build and check the set of valid data files out of which the dataTree is built. changes to BUNPC/development. It will save the object with the vetted dataset files list (that's what slows things down) in the BIDS derived folder\n\n derivatives / homer / DatasetFiles.mat\n\nIt will do it once if the saved file isn't there OR if something about the dataset has changed since last save - i.e. data file added, deleted, moved or edited. Otherwise it quickly loads and copies it which is a lot faster.\n\n-- Fix issue with incorrect folder structure report in DataFilesClass.m and incorrect counting of number of files and folders. Test case is TaskA\n\n-- Fix ProbeClass.IsValid validation not checking mandatory dimensions of sourcePos and detectorPos os having minimum of 2 and 3 columns.\n\nv1.18.0\n-- Fix for \"Stim Rejection not working for auto/manual time exclusion\"\n\n-- quite mode and stim rejection\nChanged the default mode to quite mode on.\nChanged StimClass default value of \"more\" to 1 from []. [] wasa breaking the code at line 471:\n\" obj.data = [obj.data; tPts, duration, amp, more];\"\n\nv1.17.4\n\n-- Fix probe not displaying in Homer3 because probe.sourcePos2D and probe.detectorPos2D are all zeros (which signifies empty but is not detected as empty) instead of actually empty. Also try to make units for generated 2D probe same as 3D by calling new method ProbeClass.ScaleProjection2D()\n-- Fix AuxClass eq function to check for different dataTimeSeries sizes when checking if 2 AuxClass objects are equal\n\nv1.17.3\n-- Fix failure to load full head probe fullhead_56x144_v3.SD or ninjaNIRS2022_2023-09-19-18-26-16.snirf files because SnirfClass.GetAuxDataMatrix gets an error when resampling with Matlab's resample function which does not handle a huge difference between aux sample rate and the data sample rate. To fix added local resample function resamplee.m to avoid this issue.\n\nv1.17.2\n\n-- Fix issue with 3D sources and detectors not being copied correctly in NirsClass because IsFlatProbe() had a bug in it.\n-- Add NirsClass.ProbeSimilar() method which to use in getProbe() --> findUniqueProbeFiles() so that unique set of probe files can be found\n\nv1.17.1\n\n-- Fix convertBintoSnirfv2 from SD to NirsClass generating error in IsProbeFlat() method.\n\nv1.17.0\n\n-- Fix Homer3 generated snirf files not passing pysnirf2 validation.\n\nv1.16.1\n\n-- Fix SnirfClass.Save() not saving 3D landmarks and labels. Reproduce with fullhead_56x144_v2.SD. The conversion from SD to Snirf is getting confused: In the SD file the SD.Landmarks3D is empty, which is why it is making the Snirf probe.landmarksPos3D empty. (That is, it is assigning probe.landmarksPos3D from SD.Landmarks3D) However: SD.Landmarks have the actual 3D coordinates. Added code to look for 3D positions (checking that they are actually 3D and not 2D) in SD.Landmarks if SD.Landmarks3D is empty.\n\nv1.16.0\n\n-- Fix error in NirsClass equal compare where ProbeEqual method is not checking size of SD.MeasList fields before comparing content causing exception when SD.MeasList is not same sizes\n-- Fix aux conversion from SNIRF aux with different time bases to NirsClass aux\n\nv1.15.4\n-- Fix snirf write issue where the created HDF5 dataset data type/size does not match the type/size of value being stored\n\nv1.15.3\n-- Fix error in DataFilesClass.FindDataSet() if the pattern that found acquisition file has no extension that means this pattern is meant ONLY for folders. Therefore any file matches should be skipped.\n-- Update SNIRF fields of MeasListClass with latest from spec.","shortMessageHtmlLink":"Merge from development branch from v1.15.3 - v1.21.1:"}},{"before":"dee1c5580b0c85c95caec6c7593c1391cc1c7cef","after":"826a1e1ba859f4a015785aeaf4430f02bbb6e894","ref":"refs/heads/development","pushedAt":"2024-05-01T14:53:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.21.1\n\n-- Change name of sample data folder from SubjDataSample to SampleData and put data files from Jorn's repo for the livescripts to open to and be able to select from the SampleData folder.\n\n-- The above change to SampleData folder also makes it MUCH more easier to replace data that executable homer3 opens to. Replace test.nirs to Jorn's dataset, otherwise it's a HUGE hassle in the setup.m installation script to make it so that there's 2 independent datasets under SampleData one with test.nirs and one Jorn's data and Homer3 exe shortcut start in folder is SampleData/Test as opposed to Jorn's data, etc, etc. Easier and simpler to just combine the functionionality of Jorn's data for livescripts example pipeline AND for Homer3 exe initial dataset.","shortMessageHtmlLink":"v1.21.1"}},{"before":"5055098ee731af54adeb98d0201c61805d0325a0","after":"dee1c5580b0c85c95caec6c7593c1391cc1c7cef","ref":"refs/heads/development","pushedAt":"2024-04-25T21:18:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.21.0\n\n-- Fix error in FileClass.ErrorCheckName() causing the reporting of a false warning a: \"The current file [***] has the same name as the folder containing it. All files should have a different name than the folder containing them ...\". To reproduce take a dataset with a flat file structure, and generate a corrupt stim(1).data which causes an error to be detected but then also a false warning.","shortMessageHtmlLink":"v1.21.0"}},{"before":"4c7d828a2c41a53a860d9b4ad8da1979bcf92655","after":"5055098ee731af54adeb98d0201c61805d0325a0","ref":"refs/heads/development","pushedAt":"2024-04-23T20:31:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.20.1\n\n-- Fix very slow loading of datasets on MAC OS because H5D.open() is very slow error handling when loading optional, i.e., nonexistent fields. Fix is to using a fast check to see if dataset exists using H5L.exist() before attempting to load with H5D.open(). This also greatly speeds up loading time on Windows as well.\n\n-- Reduce the amount of print statements to console. Remove 'Initializing empty derived data output file ...' and 'Attempting to load ***-level proc stream from ...' and 'Saving group ...'","shortMessageHtmlLink":"v1.20.1"}},{"before":"dc651e369d11f1736b3878a493d0ab9a1bba8c5b","after":"4c7d828a2c41a53a860d9b4ad8da1979bcf92655","ref":"refs/heads/development","pushedAt":"2024-02-19T04:04:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.19.0\n\n-- Building on last commit to improve DataTree launch performance by caching DataFilesClass object in ./derivatives/homer/DatasetFiles_snirf.mat - this time add smart loading of ./derivatives/homer/DatasetFiles_snirf.mat containing cached DataFilesClass object which takes a long time to build. Rather than just crudely rebuilding DataFilesClass object from scratch if anything in the current files differs from saved data; rebuild ONLY those parts of the dataset that have changes and add those changes to saved object.","shortMessageHtmlLink":"v1.19.0"}},{"before":"482f88afc4660fe63fa5462f380eef8bf39d2f60","after":"dc651e369d11f1736b3878a493d0ab9a1bba8c5b","ref":"refs/heads/development","pushedAt":"2024-02-11T04:30:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"* DataTree, v1.18.1\n-- Changes to improve startup performance when launching Homer. It takes a lot of time to build and check the set of valid data files out of which the dataTree is built. changes to BUNPC/development. It will save the object with the vetted dataset files list (that's what slows things down) in the BIDS derived folder\n\n derivatives / homer / DatasetFiles.mat\n\nIt will do it once if the saved file isn't there OR if something about the dataset has changed since last save - i.e. data file added, deleted, moved or edited. Otherwise it quickly loads and copies it which is a lot faster.\n\n-- Fix issue with incorrect folder structure report in DataFilesClass.m and incorrect counting of number of files and folders. Test case is TaskA\n\n-- Fix ProbeClass.IsValid validation not checking mandatory dimensions of sourcePos and detectorPos os having minimum of 2 and 3 columns.\n\n* DataTree, 1.18.0\n-- Fix for \"Stim Rejection not working for auto/manual time exclusion\"\n\n-- quite mode and stim rejection\nChanged the default mode to quite mode on.\nChanged StimClass default value of \"more\" to 1 from []. [] wasa breaking the code at line 471:\n\" obj.data = [obj.data; tPts, duration, amp, more];\"","shortMessageHtmlLink":"* DataTree, v1.18.1"}},{"before":"4f8eb55d5d6de253c2cb3d7e38ccae769451774c","after":"482f88afc4660fe63fa5462f380eef8bf39d2f60","ref":"refs/heads/development","pushedAt":"2023-11-16T19:00:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":" v1.17.4 (#30)\n\n* DataTree, v1.17.3\r\n-- Fix failure to load full head probe fullhead_56x144_v3.SD or ninjaNIRS2022_2023-09-19-18-26-16.snirf files because SnirfClass.GetAuxDataMatrix gets an error when resampling with Matlab's resample function which does not handle a huge difference between aux sample rate and the data sample rate. To fix added local resample function resamplee.m to avoid this issue.\r\n\r\n* v1.17.4\r\n\r\n-- Fix probe not displaying in Homer3 because probe.sourcePos2D and probe.detectorPos2D are all zeros (which signifies empty but is not detected as empty) instead of actually empty. Also try to make units for generated 2D probe same as 3D by calling new method ProbeClass.ScaleProjection2D()\r\n-- Fix AuxClass eq function to check for different dataTimeSeries sizes when checking if 2 AuxClass objects are equal","shortMessageHtmlLink":" v1.17.4 (#30)"}},{"before":"6ef37147b9867dd67d9bc6728545c73b736a966f","after":"4f8eb55d5d6de253c2cb3d7e38ccae769451774c","ref":"refs/heads/development","pushedAt":"2023-09-15T00:26:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.17.2\n\n-- Fix issue with 3D sources and detectors not being copied correctly in NirsClass because IsFlatProbe() had a bug in it.\n-- Add NirsClass.ProbeSimilar() method which to use in getProbe() --> findUniqueProbeFiles() so that unique set of probe files can be found","shortMessageHtmlLink":"v1.17.2"}},{"before":"6f84e7f11648a51b7e5180c560222f61493a11c2","after":"6ef37147b9867dd67d9bc6728545c73b736a966f","ref":"refs/heads/development","pushedAt":"2023-09-12T00:39:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.17.1\n\n-- Fix convertBintoSnirfv2 from SD to NirsClass generating error in IsProbeFlat() method.","shortMessageHtmlLink":"v1.17.1"}},{"before":"d22117a3edc910ab332e9fd4cf1eb8f004a10bc8","after":"6f84e7f11648a51b7e5180c560222f61493a11c2","ref":"refs/heads/development","pushedAt":"2023-09-06T02:26:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.17.0\n\n-- Fix Homer3 generated snirf files not passing pysnirf2 validation.","shortMessageHtmlLink":"v1.17.0"}},{"before":"07ae062af0d6c2367a6d0d3c46b2770d4f1fac41","after":"d22117a3edc910ab332e9fd4cf1eb8f004a10bc8","ref":"refs/heads/development","pushedAt":"2023-09-03T04:11:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.16.1\n\n-- Fix SnirfClass.Save() not saving 3D landmarks and labels. Reproduce with fullhead_56x144_v2.SD. The conversion from SD to Snirf is getting confused: In the SD file the SD.Landmarks3D is empty, which is why it is making the Snirf probe.landmarksPos3D empty. (That is, it is assigning probe.landmarksPos3D from SD.Landmarks3D) However: SD.Landmarks have the actual 3D coordinates. Added code to look for 3D positions (checking that they are actually 3D and not 2D) in SD.Landmarks if SD.Landmarks3D is empty.","shortMessageHtmlLink":"v1.16.1"}},{"before":"153d696436323316892946c8763d3baa718a93a9","after":"07ae062af0d6c2367a6d0d3c46b2770d4f1fac41","ref":"refs/heads/development","pushedAt":"2023-09-01T19:13:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.16.0\n\n-- Fix error in NirsClass equal compare where ProbeEqual method is not checking size of SD.MeasList fields before comparing content causing exception when SD.MeasList is not same sizes\n-- Fix aux conversion from SNIRF aux with different time bases to NirsClass aux","shortMessageHtmlLink":"v1.16.0"}},{"before":"ee14b950056d3242082a65965ca67babb732ce5a","after":"153d696436323316892946c8763d3baa718a93a9","ref":"refs/heads/development","pushedAt":"2023-08-26T05:27:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.15.4\n-- Fix snirf write issue where the created HDF5 dataset data type/size does not match the type/size of value being stored\n\nv1.15.3\n-- Fix error in DataFilesClass.FindDataSet() if the pattern that found acquisition file has no extension that means this pattern is meant ONLY for folders. Therefore any file matches should be skipped.\n-- Update SNIRF fields of MeasListClass with latest from spec.","shortMessageHtmlLink":"v1.15.4"}},{"before":"3226bdd00a09dcbe0a59dc7c6ce0a738321af688","after":"e9c210a5732c2c8ff9b1edfb0b6eb7df9f171938","ref":"refs/heads/master","pushedAt":"2023-05-26T01:19:20.246Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.15.2 (#29)\n\n-- Error when launching AV in folder with no snirf acquisition files. Fix in DataTreeClass.","shortMessageHtmlLink":"v1.15.2 (#29)"}},{"before":"5f2de0ed5f4b8a6904cca1546a2cb3afe403fe5e","after":"ee14b950056d3242082a65965ca67babb732ce5a","ref":"refs/heads/development","pushedAt":"2023-05-25T20:21:36.730Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.15.2\n\n-- Error when launching AV in folder with no snirf acquisition files. Fix in DataTreeClass.","shortMessageHtmlLink":"v1.15.2"}},{"before":"aeae8a0f6d9b42024a77f43bfbc70562a306633d","after":"3226bdd00a09dcbe0a59dc7c6ce0a738321af688","ref":"refs/heads/master","pushedAt":"2023-05-25T13:03:45.504Z","pushType":"push","commitsCount":24,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'remotes/origin/development'\n\nv1.15.1\n\n-- Avoid loading snirf files from derived data folder such as derivatives/homer.\n-- Error check measurement list in DataClass. Make sure that for source/detector pair the number of channels is equal to number of data types that is number of wavelengths or for derived data number of Hb types * number of conditions.\n\nv1.15.0\n-- Redo Export Snirf feature for Exporting derived data to SNIRF file.\n-- Add SnirfClass functionality to plot derived data.","shortMessageHtmlLink":"Merge remote-tracking branch 'remotes/origin/development'"}},{"before":"dd6969e4162ab6eb5635eff16cf4773eadc22d32","after":"5f2de0ed5f4b8a6904cca1546a2cb3afe403fe5e","ref":"refs/heads/development","pushedAt":"2023-05-25T01:14:06.167Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.15.1\n\n-- Avoid loading snirf files from derived data folder such as derivatives/homer.\n-- Error check measurement list in DataClass. Make sure that for source/detector pair the number of channels is equal to number of data types that is number of wavelengths or for derived data number of Hb types * number of conditions.","shortMessageHtmlLink":"v1.15.1"}},{"before":"2951dee5a487d0698cc7d4d231d188a93ef6ccff","after":"dd6969e4162ab6eb5635eff16cf4773eadc22d32","ref":"refs/heads/development","pushedAt":"2023-05-19T05:53:46.367Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.15.0\n-- Redo Export Snirf feature for Exporting derived data to SNIRF file.\n-- Add SnirfClass functionality to plot derived data.","shortMessageHtmlLink":"v1.15.0"}},{"before":"0f7edbef598a25056d54ae275dedc1a7630df2f5","after":"aeae8a0f6d9b42024a77f43bfbc70562a306633d","ref":"refs/heads/master","pushedAt":"2023-05-16T16:36:48.974Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"Development (#27)\n\n* Sync with Homer3 v1.62.0 which contains fixes to make data tree work standalone plus some complete processing examples\r\n\r\n* -- Add comments to TreeNodeClass.Plot() method showing where the plotting of data and stim actually occur plus more descriptive variable name.\r\n-- Add stim plotting to LoadRunPlotExample2.m\r\n\r\n* Sync with Homer3 v1.64.0:\r\n\r\n-- Fix DataTree/setpaths not deleting other DataTree repos from path.\r\n-- Change TreeNodeClass.Plot method accept source/detector/datatype instead of single number index vector, and handle multiple plot figures.\r\n-- Reorganize and add documentation for TreeNodeClass plotting methods under separate methods section.\r\n-- Redo LoadRunPlotExample (rename from LoadRunPlotExample1.m and delete LoadRunPlotExample2.m) to display multiple plot figures.\r\n\r\n* -- Add LoadRunPlotExample2 which does exactly same as LoadRunPlotExample1 except more transparently plotting without using TreeNodes.Plot()\r\n--\r\n\r\n* -- Remove all stims from test.snirf so that the demo EditStimExample.m shows how to work with events tsv files from scratch\r\n\r\n* -- Fix LoadRunPlotExample1.m example not finding included default data set that it uses to do the demo.\r\n\r\n* Merge - add version number file, clean up initial saving of groupResults in DataTreeClass, add logging to setpaths and fix some setpaths errors. (#26)\r\n\r\n* -- Fix setpaths not deleting other DataTree repos from path.\r\n-- Change TreeNodeClass.Plot method accept source/detector/datatype instead of single number index vector, and handle multiple plot figures.\r\n-- Reorganize and add documentation for TreeNodeClass plotting methods under separate methods section.\r\n-- Redo LoadRunPlotExample (rename from LoadRunPlotExample1.m and delete LoadRunPlotExample2.m) to display multiple plot figures.\r\n\r\n* -- Sync with BUNPC parent DataTree\r\n\r\n* v1.0.0\r\n\r\n-- Add version file Version.txt to library and display it when calling DataTreeClass()\r\n-- Add logging to setpaths.\r\n-- Get rid of unnecessary log files created unintentionally and cleanly close the ones that were opened.\r\n\r\n* v1.0.1\r\n\r\n-- Sync with Homer3 v1.67.1 and add 10-5-System_Mastoids_EGI129.csd\r\n\r\n* v1.0.2\r\n\r\n-- Back out changes removing supporting functions from downloadDependencies.m\r\n-- Replace logger.Write() in setpaths with printMethod() which uses fprintf if logger is not yet in the search path when it is used.\r\n\r\n* v1.1.0\r\n\r\n-- Add error checking to TreeNodeClass.Plot() method when there no data.\r\n-- Clean up zombie figure handles from TreeNodeClass.Plot() method so that handles don't accumulate indefinitely in obj.hFig as more plots are displayed.\r\n-- Return single number indices of plotted channels in TreeNodeClass.Plot()\r\n-- Minor change to LoadRunPlotExample1.m to name the function same as file\r\n\r\n* v1.2.0\r\n\r\nSync with Homer3 v1.69.0:\r\n\r\n-- Update NirsClass.m to be able to at least load .nirs data setpaths.m\r\n-- Simplify and clean up initial saving of group structure file groupResults.mat also saving the function call chain which did not get saved initially at time of Homer3 launch. Added initsaveflag to GroupClass and moved call to Save out of Load method and into the calling method DataTreeClass.LoadGroup() after proc stream initialization/copying has been completed and after SetConditions has been called.\r\n\r\n* -- Minor fix to setpaths logging plus added time stamp when setpaths completed\r\n\r\n* v1.3.0\r\n\r\n-- Replace calls to matlab's built-in function menu() with Utils MenuBox() to fix strange issue with direct use of menu where it generates this error in R2017b and R2020b (and maybe other matlab versions):\r\n\r\n Error using matlab.ui.Figure/set\r\n Error setting property 'Position' of class 'Figure':\r\n Width and height must be greater than or equal to 0\r\n\r\n Error in menu>local_GUImenu (line 239)\r\n set( menuFig, 'Position', [winLeftGap bottom winWide winHigh] );\r\n\r\n Error in menu (line 51)\r\n k = local_GUImenu( xHeader, ArgsIn );\r\n\r\n* v1.3.1\r\n\r\n-- Fix ProbeClass converting SD probe data to ProbeClass - instead of SD.refpts it should be SD.Landmarks\r\n\r\n* v1.4.0\r\n\r\n-- Sync with Homer3 v1.71.1, in TreeNodeClass.m, if events TSV file doesn't exist when you go to edit it, then export stim for that processing element.\r\n\r\n* v1.5.0\r\n\r\n-- Fix scaling behavior in ProbeClass and MetaDataTagsClass. Don't change metaDataTags.LengthUnit instead rely only on scaling to change to mm units while in memory then when saving multiply all coordinates in probe by reciprocal of scaling factor.\r\n-- Fix GroupClass.GetProbe method\r\n-- Set GroupClass obj version number that outputs groupResults.mat to be same as DataTree version number\r\n-- Change metaDataTags 'AppName', Homer3 DataTree generated SNIRF files from 'snirf-homer' to 'homer3-DataTree'.\r\n-- Provide EditStim method in TreeNodeClass.m to allow easy editing of stims in tab-separated text files (.tsv)\r\n-- Add TreeNodeClass.GetActiveChannels to get active/inactive channels from HRF object by finding all time courses that have all NaN values instead of relying on channels marked inactive.\r\n-- Fix NirsClass.LoadTime.\r\n\r\n* v1.7.0\r\n\r\n-- Separate ApplicationName into ApplicationName and Version when exporting processing stream to JSON file.\r\n-- Change default for config parameter Export Processing Stream Functions from No to Yes.\r\n-- Add library version numbers to JSON file generated by export processing stream utility\r\n-- Fix error when exporting processing stream to JSON files because of bug in extracting mlActMan - since it is no longer a vector but a 2D array of sd pairs plus data type.\r\n-- Fix issue with copying probe in NirsClass.CopyProbe when concerting from .nirs to .snirf. Also use NirsClass constructor rather than load() to load .nirs data when converting from .nirs to .snirf.\r\n\r\n* v1.8.0\r\n\r\n-- Fix issue of DataTree in standalone mode not getting the right value for config parameter \"Export Processing Stream Functions\".\r\n\r\n-- Remove reliance on static method TreeNodeClass.ExportProcStreamFunctions to get value of config parameter which tells you if code should export processing stream. Instead switch to getting the value directly from the ConfigFileClass global variable cfg which is automatically updated when changes are made to any config parameters through the configSettingsGUI.\r\n\r\n* v1.8.1\r\n\r\n-- Fix error when trying to retrieve ppf param during image recon because dataTree.currElem.procStream.fcalls being empty. This is because of using GroupClass.CompareVersions caused procstream fcalls from groupResults not to load (it was deemed too old) which is clearly not what we want. Removed for now the comparison (CompareVersions for now always returns 0) until we can figure out best way to handle old versions of groupResults.\r\n-- Provide ProbeClass.GetScaleFactor() method to retrieve private scaling field\r\n-- In ExportProcStreamDependencies get rid of the *_Library_Version suffix next to each library name in the JSON output\r\n\r\n* v1.11.0\r\n\r\n-- Change NirsClass.ProbeEqual() to consider measurement lists in different orders but same set of SD pairs to be equal. SO SDgui doesn't think edits were made when they weren't.\r\n-- Add NirsClass.GetChannelsMeanDistance() method same as in SnirfClass\r\n\r\n* v1.11.1\r\n\r\n-- Fix error when loading some probes in NirsClass check that NirsClass.GetChannelsMeanDistance() is error checking size of SrcPos3D and DetPos3D against meas list indices.\r\n\r\n* v1.12.0\r\n\r\n-- Change AcqDataClass GetSrcPos and GetDetPos methods to ignore '2D' and instead automatically try to retrieve 3D optodes if available otherwise it retrieves 2D. This fixes the problem of retrieving non existent or artificially generated 2D optodes that do not agree with the 'LengthUnit' which is a problem when doing image reconstruction and using a non-zero SD separation to exclude channels (possibbly end up exluding ALL chaqnnels if units apply to the wrong optodes).\r\n-- Update NirsClass so SDgui matches GrommetRot being changed back to cell array type instead of numeric array.\r\n\r\n* -- Update setpaths with latest changes from Homer3\r\n\r\n* v1.13.1\r\n\r\n-- Comprehensive solution to improving the save performance of SNIRF files by using low-level HDF5 calls and limiting the number of HDF5 open and create calls that are made for file, group and dataset.\r\n\r\n* v1.14.1\r\n\r\n-- Fix Homer3 displaying probe in 3D rather than 2D. Back out changes that default to 3D in ProbeClass and NirsClass GetSrcPos and GetDetPos for ALL cases. The way it's supposed to work is probe is supposed to use 2D coordinates ONLY when being displayed in Homer3. Rest of the time default to 3D if it exists. Reason for original change is misunderstanding of what the purpose of 2D coord was which is ONLY for display\r\n\r\n* v1.14.2\r\n\r\n-- Fix broken setpaths that is supposed to work standalone\r\n\r\n* v1.14.2\r\n\r\n-- Fix events TSV file naming bug. Add TSV file name method TreeNode.GetStimTsvFilename() to use for all events TSV file naming. Add config param \"Replace TSV File Tabs with Spaces\" to handle events TSV errors when file is a mix of spaces and tabs.\r\n-- Fixes to setpaths for running DataTree standalone","shortMessageHtmlLink":"Development (#27)"}},{"before":"7c03c6945d109881676617e7f3763a8ad4691457","after":"2951dee5a487d0698cc7d4d231d188a93ef6ccff","ref":"refs/heads/development","pushedAt":"2023-05-12T06:02:20.090Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.14.2\n\n-- Fix events TSV file naming bug. Add TSV file name method TreeNode.GetStimTsvFilename() to use for all events TSV file naming. Add config param \"Replace TSV File Tabs with Spaces\" to handle events TSV errors when file is a mix of spaces and tabs.\n-- Fixes to setpaths for running DataTree standalone","shortMessageHtmlLink":"v1.14.2"}},{"before":"6b9fcf3a5fad15e1ebaed0a9b1703e4f1a032061","after":"7c03c6945d109881676617e7f3763a8ad4691457","ref":"refs/heads/development","pushedAt":"2023-05-10T17:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.14.2\n\n-- Fix broken setpaths that is supposed to work standalone","shortMessageHtmlLink":"v1.14.2"}},{"before":"3155a7fad96309191c4ce65d0971bdeb0c85e047","after":"6b9fcf3a5fad15e1ebaed0a9b1703e4f1a032061","ref":"refs/heads/development","pushedAt":"2023-05-10T15:18:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.14.1\n\n-- Fix Homer3 displaying probe in 3D rather than 2D. Back out changes that default to 3D in ProbeClass and NirsClass GetSrcPos and GetDetPos for ALL cases. The way it's supposed to work is probe is supposed to use 2D coordinates ONLY when being displayed in Homer3. Rest of the time default to 3D if it exists. Reason for original change is misunderstanding of what the purpose of 2D coord was which is ONLY for display","shortMessageHtmlLink":"v1.14.1"}},{"before":"93719b49b501e5a4106e643c2e744fb7ccedd0d4","after":"3155a7fad96309191c4ce65d0971bdeb0c85e047","ref":"refs/heads/development","pushedAt":"2023-05-03T17:16:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.13.1\n\n-- Comprehensive solution to improving the save performance of SNIRF files by using low-level HDF5 calls and limiting the number of HDF5 open and create calls that are made for file, group and dataset.","shortMessageHtmlLink":"v1.13.1"}},{"before":"c12edecd45ea004180b5e905aac35a174b57af3e","after":"93719b49b501e5a4106e643c2e744fb7ccedd0d4","ref":"refs/heads/development","pushedAt":"2023-04-05T17:56:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"-- Update setpaths with latest changes from Homer3","shortMessageHtmlLink":"-- Update setpaths with latest changes from Homer3"}},{"before":"e2f96f2230a37e77965fc5925756314b3249474a","after":"c12edecd45ea004180b5e905aac35a174b57af3e","ref":"refs/heads/development","pushedAt":"2023-04-05T16:08:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.12.0\n\n-- Change AcqDataClass GetSrcPos and GetDetPos methods to ignore '2D' and instead automatically try to retrieve 3D optodes if available otherwise it retrieves 2D. This fixes the problem of retrieving non existent or artificially generated 2D optodes that do not agree with the 'LengthUnit' which is a problem when doing image reconstruction and using a non-zero SD separation to exclude channels (possibbly end up exluding ALL chaqnnels if units apply to the wrong optodes).\n-- Update NirsClass so SDgui matches GrommetRot being changed back to cell array type instead of numeric array.","shortMessageHtmlLink":"v1.12.0"}},{"before":"ef7826db6e2ea6947c4f922b159f214a1bcdafc8","after":"e2f96f2230a37e77965fc5925756314b3249474a","ref":"refs/heads/development","pushedAt":"2023-03-21T20:37:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jayd1860","name":null,"path":"/jayd1860","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44243610?s=80&v=4"},"commit":{"message":"v1.11.1\n\n-- Fix error when loading some probes in NirsClass check that NirsClass.GetChannelsMeanDistance() is error checking size of SrcPos3D and DetPos3D against meas list indices.","shortMessageHtmlLink":"v1.11.1"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEasuZWAA","startCursor":null,"endCursor":null}},"title":"Activity ยท BUNPC/DataTree"}