Skip to content

Commit df12a6c

Browse files
committed
[doc] update version to 0.5, add external dependencies as submodule
1 parent 672e388 commit df12a6c

File tree

10 files changed

+55
-19
lines changed

10 files changed

+55
-19
lines changed

.gitmodules

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[submodule "external/easyh5"]
2+
path = external/easyh5
3+
url = https://github.com/NeuroJSON/easyh5.git
4+
[submodule "external/jsonlab"]
5+
path = external/jsonlab
6+
url = https://github.com/NeuroJSON/jsonlab.git
7+
[submodule "external/zmat"]
8+
path = external/zmat
9+
url = https://github.com/NeuroJSON/zmat.git

ChangeLog.txt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,30 @@
22

33
Major updates are marked with a "*"
44

5-
== JSNIRF Toolbox v0.4 (Amygdala - alpha), FangQ <q.fang (a) neu.edu> ==
5+
== JSNIRFY Toolbox v0.5 (Amygdala), FangQ <q.fang (a) neu.edu> ==
6+
7+
2025-03-15 [672e388] [bug] support pre-R2016b matlab, although output snirf is not compliant
8+
2025-03-14 [f0caf85]*[bug] saving detectorLabels and sourceLabels as strings, fNIRS/snirf-samples#13
9+
2025-02-23 [70e6e84] Fix saving cell2mat
10+
2024-10-02 [555c12d] [doc] update upstream repository to NeuroJSON
11+
2024-09-15 [0bc960d]*[format] complete reformat code using miss_hit
12+
2024-09-15 [e5e3fb5] [snirf] allow saving empty 1d vector as timeseries
13+
2024-07-09 [391137b] [snirf] fix probe.sourceLabels with timeseries(string({})), fNIRS/snirf-samples#8
14+
2024-07-08 [a0adfd9]*[feature] use timeseries datatype for true 1d vector, NeuroJSON/easyh5#16, fNIRS/snirf-samples#12
15+
2024-07-07 [966220d]*[bug] store snirf 1D vector fields with ndim=1, NeuroJSON/easyh5#16, fNIRS/snirf-samples#12
16+
2023-02-20 [e196ebd]*force measurementList to be array-of-struct for snirf v1
17+
2023-02-12 [95db007] make variablelengthstring default for snirf, NeuroJSON/jsnirfy#1
18+
2022-03-15 [4e7de16] fix typos, update github repo URLs
19+
2022-03-15 [a648417] rename all ubjson functions to bjdata functions, fix root-obj name typo
20+
2020-05-22 [4140f15] forcing index 1 in indexed group names in savesnirf, see fNIRS/snirf_homer3#4
21+
2020-05-16 [c46eb32] update snirf header to conform to the latest snirf spec
22+
2019-11-05 [3bef8df] add section why JSNIRF
23+
2019-10-30 [6dde565] add missing TimeUnit
24+
2019-10-30 [0b95152] use correct MeasurentTime MeasurementDate default value
25+
2019-10-30 [c99ba31] use the latest option of easyh5
26+
2019-09-28 [1e64227] collapse measurementList according to JSNIRF spec
27+
28+
== JSNIRFY Toolbox v0.4 (Amygdala - alpha), FangQ <q.fang (a) neu.edu> ==
629

730
2019-09-19 [61def95] adding issues link in README
831
2019-09-19 [b4d357c] polishing snirf toolbox, handling root object names

README.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# JSNIRF Toolbox - A portable MATLAB toolbox for parsing SNIRF (HDF5) and JSNIRF (JSON) files
22

3-
* Copyright (C) 2019 Qianqian Fang <q.fang at neu.edu>
3+
* Copyright (C) 2019,2025 Qianqian Fang <q.fang at neu.edu>
44
* License: GNU General Public License version 3 (GPL v3) or Apache License 2.0, see License*.txt
5-
* Version: 0.4 (code name: Amygdala - alpha)
6-
* URL: https://github.com/NeuroJSON/jsnirf/tree/master/lib/matlab
5+
* Version: 0.5 (code name: Amygdala)
6+
* Compatibility: MATLAB R2010b or newer, R2016b or newer saves SNIRF-1.1 compliant files
7+
* URL: https://github.com/NeuroJSON/jsnirfy
78

89
## Overview
910

@@ -20,18 +21,18 @@ storage, grouping, compression, integration with heterogeneous scientific data
2021
enabled by JData data serialization framework.
2122

2223
This toolbox also provides a fast/complete reader/writer for the HDF5-based SNIRF
23-
files (along with any HDF5 data) via the EazyH5 toolbox
24-
(http://github.com/fangq/eazyh5). The toolbox can read/write SNIRF v1.0 data
24+
files (along with any HDF5 data) via the EasyH5 toolbox
25+
(http://github.com/NeuroJSON/easyh5). The toolbox can read/write SNIRF v1.0 data
2526
files specified by the SNIRF specification http://github.com/fNIRS/snirf .
2627

2728
This toolbox is selectively dependent on the below toolboxes
28-
- To read/write SNIRF/HDF5 files, one must install the EazyH5 toolbox at
29-
http://github.com/fangq/eazyh5 ; this is only supported on MATLAB, not Octave.
29+
- To read/write SNIRF/HDF5 files, one must install the EasyH5 toolbox at
30+
http://github.com/NeuroJSON/easyh5 ; this is only supported on MATLAB, not Octave.
3031
- To create/read/write JSNIRF files, one must install the JSONLab toolbox
3132
http://github.com/NeuroJSON/jsonlab ; this is supported on both MATLAB and Octave.
3233
- To read/write JSNIRF files with internal data compression, one must install
3334
the JSONLab toolbox http://github.com/NeuroJSON/jsonlab as well as ZMat toolbox
34-
http://github.com/fangq/zmat ; this is supported on both MATLAB and Octave.
35+
http://github.com/NeuroJSON/zmat ; this is supported on both MATLAB and Octave.
3536

3637
## Why JSNIRF?
3738

@@ -152,12 +153,12 @@ where the `/path/to/jsnirf` should be replaced by the unzipped folder
152153
of the toolbox (i.e. the folder containing `savejsnirf.m/loadjsnirf.m`).
153154

154155
In order for this toolbox to work, one must install the below dependencies
155-
- the `saveh5/loadh5` functions are provided by the EazyH5 toolbox at
156-
http://github.com/fangq/eazyh5
156+
- the `saveh5/loadh5` functions are provided by the EasyH5 toolbox at
157+
http://github.com/NeuroJSON/easyh5
157158
- the `savejson` and `savebj` functions are provided by the JSONLab
158159
toolbox at http://github.com/NeuroJSON/jsonlab
159160
- if data compression is specified by `'compression','zlib'` param/value
160-
pairs, ZMat toolbox will be needed, http://github.com/fangq/zmat
161+
pairs, ZMat toolbox will be needed, http://github.com/NeuroJSON/zmat
161162

162163

163164
## Usage
@@ -168,7 +169,7 @@ Example:
168169
data=snirfcreate; % create an empty SNIRF data structure
169170
data=snirfcreate('data',realdata,'aux',realauxdata); % setting the default values to user data
170171
data=jsnirfcreate('format','snirf'); % specify 'snirf' or 'jsnirf' using 'format' option
171-
jsn=snirfdecode(loadh5('mydata.snirf')); % load raw HDF5 data and convert to a JSNIRF struct
172+
jsn=snirfdecode(loadh5('mydata.snirf', 'stringarray', 1)); % load raw HDF5 data and convert to a JSNIRF struct
172173
```
173174
### `loadsnirf/loadjsnirf` - Loading SNIRF/JSNIRF files as in-memory MATLAB data structures
174175
Example:

external/easyh5

Submodule easyh5 added at 1fe742d

external/jsonlab

Submodule jsonlab added at 9d0ba96

external/zmat

Submodule zmat added at 482a448

loadsnirf.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
% data: a MATLAB structure with the grouped data fields
1818
%
1919
% dependency:
20-
% - the loadh5/regrouph5 functions are provided by the eazyh5
21-
% toolbox at http://github.com/fangq/eazyh5
20+
% - the loadh5/regrouph5 functions are provided by the EasyH5
21+
% toolbox at http://github.com/NeuroJSON/easyh5
2222
% - the varargin2struct and jsonopt functions are provided by the JSONLab
2323
% toolbox at http://github.com/NeuroJSON/jsonlab
2424
% - if data compression is specified by 'compression','zlib' param/value

savejsnirf.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
% toolbox at http://github.com/NeuroJSON/jsonlab
3030
% - if data compression is specified by 'compression','zlib' param/value
3131
% pairs, ZMat toolbox will be needed, http://github.com/fangq/zmat
32-
% - the saveh5 function is provided by the eazyh5 toolbox at
33-
% http://github.com/fangq/eazyh5
32+
% - the saveh5 function is provided by the EasyH5 toolbox at
33+
% http://github.com/NeuroJSON/easyh5
3434
%
3535
% example:
3636
% jnirs=jsnirfcreate('aux',struct('name','pO2','dataTimeSeries',1:10,'time',1:10));

snirfcreate.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
% example:
2525
% snf=snirfcreate('data',mydata,'aux',myauxdata,'comment','test');
2626
%
27-
% this file is part of JSNIRF specification: https://github.com/fangq/snirf
27+
% this file is part of JSNIRFY toolbox: https://github.com/NeuroJSON/jsnirfy
2828
%
2929
% License: GPLv3 or Apache 2.0, see https://github.com/NeuroJSON/jsnirf for details
3030
%

snirfdecode.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
% enclosed inside a 'SNIRFData' subfield or cell array.
2323
%
2424
% example:
25-
% rawdata=loadh5('mydata.snirf');
25+
% rawdata=loadh5('mydata.snirf', 'stringarray', 1);
2626
% data=snirfdecode(rawdata);
2727
%
2828
% this file is part of JSNIRF specification: https://github.com/NeuroJSON/jsnirf

0 commit comments

Comments
 (0)