Skip to content

Commit 1607cb5

Browse files
committed
[feat] add spellchecker
1 parent 10fa770 commit 1607cb5

File tree

8 files changed

+223
-29
lines changed

8 files changed

+223
-29
lines changed

.github/workflows/spellcheck.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: spellcheck
2+
on:
3+
push:
4+
branches:
5+
- master
6+
tags:
7+
- '*'
8+
pull_request:
9+
branches:
10+
- master
11+
12+
jobs:
13+
check-spelling:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
- name: Check Spelling
19+
uses: rojopolis/spellcheck-github-actions@0.42.0
20+
with:
21+
config_path: .spellcheck.yml
22+
task_name: Markdown

.spellcheck.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
matrix:
2+
- name: Markdown
3+
expect_match: false
4+
apsell:
5+
mode: en
6+
dictionary:
7+
wordlists:
8+
- .wordlist.txt
9+
output: wordlist.dic
10+
encoding: utf-8
11+
pipeline:
12+
- pyspelling.filters.markdown:
13+
markdown_extensions:
14+
- markdown.extensions.extra:
15+
- pyspelling.filters.html:
16+
comments: false
17+
attributes:
18+
- alt
19+
ignores:
20+
- ':matches(code, pre)'
21+
- 'code'
22+
- 'pre'
23+
- 'blockquote'
24+
sources:
25+
- '*.md'

.wordlist.txt

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
github
2+
Github
3+
NeuroJSON
4+
neurojson
5+
LD
6+
NoSQL
7+
losslessly
8+
Iso
9+
UTF
10+
bson
11+
cbor
12+
http
13+
https
14+
io
15+
msgpack
16+
Qianqian
17+
googlegroups
18+
md
19+
AAY
20+
ArrayData
21+
ArrayIsComplex
22+
ArrayIsSparse
23+
ArrayOrder
24+
ArrayShape
25+
ArrayShuffle
26+
ArraySize
27+
ArrayTye
28+
ArrayType
29+
ArrayZipData
30+
ArrayZipEndian
31+
ArrayZipLevel
32+
ArrayZipOptions
33+
ArrayZipSize
34+
ArrayZipType
35+
Binarh
36+
BJData
37+
BJSON
38+
BlY
39+
boolean
40+
BSON
41+
ByteLength
42+
ByteStream
43+
casted
44+
CBOR
45+
CDF
46+
CJSON
47+
CreateTime
48+
CSV
49+
DataAnchor
50+
DataGroup
51+
DataInfo
52+
DataLink
53+
DataName
54+
DataRecord
55+
dataset
56+
Dataset
57+
datasets
58+
DataType
59+
edgedata
60+
eJxjYGQAAkYQyQhCAAA
61+
Endian
62+
endianness
63+
Endinan
64+
GetData
65+
GetLength
66+
GetName
67+
GetNode
68+
GetType
69+
Github
70+
GraphData
71+
GraphEdges
72+
GraphMatrix
73+
GraphNode
74+
GraphNodes
75+
gzip
76+
HDF
77+
Hermitian
78+
International
79+
Iso2Mesh
80+
Javascript
81+
jdat
82+
jdata
83+
JData
84+
JDataNode
85+
jdb
86+
jdfiles
87+
jdt
88+
json
89+
JSON
90+
JSONLab
91+
JSONPath
92+
JSON's
93+
LAPACK
94+
LF
95+
LinkedList
96+
LinkNext
97+
LinkPrior
98+
ListNext
99+
ListNode
100+
ListPrior
101+
lmaWNhdGlvbg
102+
lossy
103+
lzma
104+
MapData
105+
MATLAB
106+
MaxRecursion
107+
MediaType
108+
MessagePack
109+
ModifiedTime
110+
NaN
111+
nd
112+
ndim
113+
netCDF
114+
NodeID
115+
NodeType
116+
nx
117+
Nx
118+
ny
119+
Ny
120+
nz
121+
param
122+
ParentID
123+
parsers
124+
pre
125+
scalability
126+
shapeid
127+
sizeof
128+
SkRhdGEgc
129+
subfield
130+
superdiagonal
131+
TableCols
132+
TableData
133+
TableRecords
134+
TableRows
135+
th
136+
toeplitz
137+
Toeplitz
138+
TreeChildren
139+
TreeData
140+
TreeNode
141+
typecasted
142+
typename
143+
UBJSON
144+
uint
145+
undirected
146+
UniqueID
147+
unshuffle
148+
URI
149+
zlib

JNIfTI_specification.md

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
1-
JNIfTI: An extensible file format for storage and interchange of neuroimaging data
1+
JNIfTI: a JSON/binary JSON extension to the NIfTI-1/2 formats
22
============================================================
33

44
- **Status of this document**: This document is currently under development.
5-
- **Copyright**: (C) 2019-2020 Qianqian Fang <q.fang at neu.edu>,
6-
2020 Edward Xu <xu.ed at husky.neu.edu>
5+
- **Copyright**: (C) 2019-2025 Qianqian Fang <q.fang at neu.edu>,
6+
2020 Edward Xu <xu.ed at northeastern.edu>
77
- **License**: Apache License, Version 2.0
8-
- **Version**: V1 (Draft 1)
8+
- **Version**: V1 (Draft 2)
99
- **Abstract**:
1010

11-
> JNIfTI is a highly extensible file format developed for the storage,
12-
interchange and processing of neuroimaging data. Built upon the JData
13-
specification, a JNIfTI file has both a text-based interface using the
14-
JavaScript Object Notation (JSON) [RFC4627] format and a binary
15-
interface using the Universal Binary JSON (UBJSON) serialization format.
16-
This further allows JNIfTI to store not only neuroimaging data formatted
17-
in the NIfTI-1, NIfTI-2, and Analyze7.5 specifications, but also
18-
non-array-based and complex data structures, such as neuroimaging metadata,
19-
using simple syntax. To enhance accessibility, JNIfTI files can be directly
20-
parsed by most existing JSON and UBJSON parsers. Advanced features include
21-
optional hierarchical data storage, image data grouping, data compression,
22-
streaming and encryption as permitted by JData data serialization framework.
11+
> This specification defines the JNIfTI standard format. The JNIfTI format
12+
allows one to store and extend the widely used NIfTI format (.nii) using JavaScript
13+
Object Notation (JSON) [RFC4627] and binary JSON serialization methods.
14+
It loss-lessly maps all NIfTI-1 and NIfTI-2 headers and data structures to
15+
a human-readable JSON-based wrapper. Use of JSON and JNIfTI formats to store
16+
NIfTI data makes it possible to rapidly index, exchange, and query large amount
17+
of NIfTI datasets and metadata using modern database engines where JSON is used
18+
as the underlying data exchange format. With the extension of JData annotations,
19+
JNIfTI also permits optional hierarchical data storage, image data grouping,
20+
data compression, streaming and encryption.
2321

2422

2523
## Table of Content
@@ -87,16 +85,16 @@ of data acquired under the previous data formats. To add to this, the
8785
NIfTI formats consist only of a binary interface and thus are not directly
8886
human-readable, thus further complicating this task.
8987

90-
Over the past few years, [JavaScript Object Notation](http://json.org)
88+
Over the past few years, [JavaScript Object Notation](https://json.org)
9189
(JSON) has become ubiquitously recognized among the Internet community for its
9290
ability to store complex data, excellent portability, and human-readability.
9391
The subsequent introduction and widespread adoption of a range of binary
94-
JSON-like format, such as [UBJSON](http://ubjson.org),
95-
[Binary JData (BJData)](https://github.com/OpenJData/bjdata),
96-
[MessagePack](https://msgpack.org/) and [CBOR](http://cbor.io),
92+
JSON-like format, such as [UBJSON](https://ubjson.org),
93+
[Binary JData (BJData)](https://neurojson.org/bjdata),
94+
[MessagePack](https://msgpack.org/) and [CBOR](https://cbor.io),
9795
have added complementary features such as support for typed data, smaller file
9896
sizes, and faster processing speeds as well. The
99-
[JData specification](https://github.com/fangq/jdata/blob/master/JData_specification.md)
97+
[JData specification](https://github.com/NeuroJSON/jdata/blob/master/JData_specification.md)
10098
capitalizes upon the strengths of these data interchange formats and
10199
provides the foundation for serializing complex hierarchical data using
102100
JSON/BJData constructs. This has then enabled the definition of language-
@@ -179,8 +177,8 @@ The direct storage format and the annotated storage format are functionally
179177
equivalent. While we primarily describe data storage in the context of the direct
180178
format below, it is applicable to the annotated format as well. We also note that
181179
any valid JSON formatted data structure can be converted into a binary form using the
182-
rules defined in the [Binary JData specification](https://github.com/OpenJData/bjdata),
183-
which was extended from [UBJSON specification (Draft 12)](http://ubjson.org).
180+
rules defined in the [Binary JData specification](https://neurojson.org/bjdata),
181+
which was extended from [UBJSON specification (Draft 12)](https://ubjson.org).
184182

185183

186184
JNIfTI Keywords
@@ -561,7 +559,7 @@ The below table maps the NIFTI data slice codes to the acceptable slice strings.
561559
| **Slice alternating decreasing type 2** | | |
562560
|`NIFTI_SLICE_ALT_DEC2 `| `6` | `"alt2-"` |
563561

564-
#### QForm/SForm (NIFTI-1 header: `qform_codes/sform_code`)
562+
#### QForm/SForm (NIFTI-1 header: `qform_code/sform_code`)
565563

566564

567565
| NIFTI-1/2 XForm Code Name |Code | JNIfTI QForm/SForm Key |
@@ -834,7 +832,7 @@ The `"Type"` field must be one of the 3 values according to the NIFTI-1 specific
834832

835833
`"_ByteStream_"` is a JData keyword to store raw byte-stream buffers. For text-based JNIfTI/JData
836834
files, its value must be a base64-encoded string; no base64 encoding is needed when storing in the
837-
binary format. For details, please see the JData specification ["Generic byte-stream data" section](https://github.com/fangq/jdata/blob/master/JData_specification.md#generic-byte-stream-data).
835+
binary format. For details, please see the JData specification ["Generic byte-stream data" section](https://github.com/NeuroJSON/jdata/blob/master/JData_specification.md#generic-byte-stream-data).
838836

839837
Again, because the extension data buffer has very little semantic information, the use of
840838
such a buffer is not recommended. Please consider converting the data to meaningful JData

0 commit comments

Comments
 (0)