Skip to content

Commit d8e8fc3

Browse files
authored
Merge branch 'master' into master
2 parents c23d88a + e52f77f commit d8e8fc3

File tree

595 files changed

+2816
-102
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

595 files changed

+2816
-102
lines changed

.github/workflows/deploy.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ concurrency:
55
cancel-in-progress: true
66

77
on:
8-
push:
9-
branches:
10-
- master
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
1110

1211
permissions:
1312
contents: write

.github/workflows/validate_datasets.yml

Lines changed: 44 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
fail-fast: false
2222
matrix:
2323
platform: [ubuntu-latest, macos-latest, windows-latest]
24-
bids-validator: [master, stable, master-deno]
24+
bids-validator: [stable, main, dev, legacy]
2525

2626
runs-on: ${{ matrix.platform }}
2727

@@ -33,53 +33,50 @@ jobs:
3333
- uses: actions/checkout@v4
3434

3535
- name: Set up Node.js
36-
if: "matrix.bids-validator == 'stable' || matrix.bids-validator == 'master'"
36+
if: matrix.bids-validator == 'legacy'
3737
uses: actions/setup-node@v4
3838
with:
3939
node-version: 18
4040

41-
- name: Install BIDS validator (stable)
42-
if: "matrix.bids-validator == 'stable'"
43-
run: |
44-
npm install -g bids-validator
41+
- uses: denoland/setup-deno@v2
42+
if: matrix.bids-validator != 'legacy'
43+
with:
44+
deno-version: v2.x
4545

46-
- name: Install BIDS validator (master)
47-
if: "matrix.bids-validator == 'master'"
46+
- name: Install BIDS validator (stable)
47+
if: matrix.bids-validator == 'stable'
4848
run: |
49-
pushd ..
50-
# Get npm 7+
51-
npm install -g npm
52-
git clone --depth 1 https://github.com/bids-standard/bids-validator
53-
cd bids-validator
54-
# Generate the full development node_modules
55-
npm clean-install
56-
# Build & bundle the bids-validator CLI package
57-
npm -w bids-validator run build
58-
# Generate a package to install globally
59-
npm -w bids-validator pack
60-
# Install the package globally
61-
bash -c "npm install -g bids-validator-*.tgz"
62-
popd
63-
64-
- uses: denoland/setup-deno@v1
65-
if: "matrix.bids-validator == 'master-deno'"
66-
with:
67-
deno-version: v1.x
49+
deno install -Agf -n bids-validator jsr:@bids/validator
50+
shell: bash
6851

69-
- name: Install BIDS validator (master deno build)
70-
if: "matrix.bids-validator == 'master-deno'"
52+
- name: Install BIDS validator (main)
53+
if: matrix.bids-validator == 'main'
7154
run: |
7255
# If unmerged validator PRs are needed for testing, you can use
7356
# https://github.com/<FORK>/bids-validator/raw/<BRANCH>/bids-validator/src/bids-validator.ts
7457
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js
7558
shell: bash
7659

60+
- name: Install BIDS validator (dev)
61+
if: matrix.bids-validator == 'dev'
62+
run: |
63+
git clone -b dev https://github.com/bids-standard/bids-validator/ ../bids-validator
64+
cd ../bids-validator
65+
deno compile -A -o $HOME/.deno/bin/bids-validator src/bids-validator.ts
66+
shell: bash
67+
68+
- name: Install BIDS validator (legacy)
69+
if: "matrix.bids-validator == 'legacy'"
70+
run: |
71+
npm install -g bids-validator
72+
7773
- name: Display versions and environment information
7874
run: |
7975
echo $TZ
8076
date
81-
echo "npm"; npm --version
82-
echo "node"; node --version
77+
which deno && echo "deno\n----" && deno --version || true
78+
echo "node\n----"; node --version
79+
echo "npm\n----"; npm --version
8380
echo "bids-validator"; bids-validator --version
8481
shell: bash
8582

@@ -98,17 +95,26 @@ jobs:
9895
fi
9996
shell: bash
10097

101-
- name: Skip MRS validation for legacy validator
102-
run: for DS in mrs_*; do touch $DS/.SKIP_VALIDATION; done
103-
if: "matrix.bids-validator != 'master-deno'"
98+
- name: Skip legacy validation for post-legacy datasets
99+
run: for DS in mrs_* dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
100+
if: matrix.bids-validator == 'legacy'
101+
shell: bash
102+
103+
- name: Skip stable validation for datasets with unreleased features
104+
run: for DS in dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
105+
if: matrix.bids-validator != 'dev'
104106
shell: bash
105107

108+
- name: Set BIDS_SCHEMA variable for dev version
109+
if: matrix.bids-validator == 'dev'
110+
# When proposing new features, schema changes may be necessary.
111+
# Update this URL to the schema.json from PRs to the spec, when needed.
112+
# If this variable is unset, dev will generally track the latest development
113+
# release of https://jsr.io/@bids/schema
114+
run: echo BIDS_SCHEMA=https://bids-specification.readthedocs.io/en/latest/schema.json >> $GITHUB_ENV
115+
106116
- name: Validate all BIDS datasets using bids-validator
107117
run: |
108118
cat ./run_tests.sh
109119
./run_tests.sh
110120
shell: bash
111-
env:
112-
# When proposing new features, schema changes may be necessary.
113-
# Update this URL to the schema.json from PRs to the spec, when needed.
114-
BIDS_SCHEMA: https://bids-specification.readthedocs.io/en/latest/schema.json

2d_mb_pcasl/README

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This dataset is an example of the Siemens 2D MultiBand Multi-delay PCASL sequence with noRF and m0 volumes included within the timeseries (HCP Aging ASL sequence). It also contains corresponding PEPOLAR fmaps and a T1w scan.

2d_mb_pcasl/dataset_description.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"Name": "ASL_Siemens_MultiPLD_2DMB_PCASL",
3+
"BIDSVersion": "1.9.0",
4+
"DatasetType": "raw",
5+
"Authors": [
6+
"Ashley Ptinis",
7+
"Nicole Coverdale"
8+
],
9+
"HowToAcknowledge": "If you reference this dataset in your publications, please acknowledge its authors."
10+
}

2d_mb_pcasl/sub-1/anat/sub-1_T1w.json

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{
2+
"Modality": "MR",
3+
"MagneticFieldStrength": 3,
4+
"ImagingFrequency": 123.249,
5+
"Manufacturer": "Siemens",
6+
"ManufacturersModelName": "Prisma_fit",
7+
"BodyPartExamined": "BRAIN",
8+
"PatientPosition": "HFS",
9+
"SoftwareVersions": "syngo MR E11",
10+
"MRAcquisitionType": "3D",
11+
"SeriesDescription": "T1w_MPR",
12+
"ProtocolName": "T1w_MPR",
13+
"ScanningSequence": "GR\\IR",
14+
"SequenceVariant": "SK\\SP\\MP",
15+
"ScanOptions": "IR\\WE",
16+
"SequenceName": "*tfl3d1_16ns",
17+
"ImageType": [
18+
"ORIGINAL",
19+
"PRIMARY",
20+
"M",
21+
"ND",
22+
"NORM"
23+
],
24+
"SeriesNumber": 3,
25+
"AcquisitionNumber": 1,
26+
"SliceThickness": 0.8,
27+
"SAR": 0.042424,
28+
"EchoTime": 0.00222,
29+
"RepetitionTime": 2.5,
30+
"SpoilingState": true,
31+
"InversionTime": 1,
32+
"FlipAngle": 8,
33+
"PartialFourier": 1,
34+
"BaseResolution": 320,
35+
"ShimSetting": [
36+
4722,
37+
5694,
38+
766,
39+
494,
40+
81,
41+
212,
42+
-39,
43+
-17
44+
],
45+
"TxRefAmp": 252.904,
46+
"PhaseResolution": 1,
47+
"ReceiveCoilName": "Head_32",
48+
"ReceiveCoilActiveElements": "HEA;HEP",
49+
"PulseSequenceDetails": "%SiemensSeq%\\tfl",
50+
"RefLinesPE": 32,
51+
"CoilCombinationMethod": "Adaptive Combine",
52+
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
53+
"MatrixCoilMode": "GRAPPA",
54+
"PercentPhaseFOV": 93.75,
55+
"PercentSampling": 100,
56+
"PhaseEncodingSteps": 299,
57+
"AcquisitionMatrixPE": 300,
58+
"ReconMatrixPE": 300,
59+
"ParallelReductionFactorInPlane": 2,
60+
"PixelBandwidth": 220,
61+
"DwellTime": 7.1e-06,
62+
"ImageOrientationPatientDICOM": [
63+
0,
64+
1,
65+
0,
66+
0,
67+
0,
68+
-1
69+
],
70+
"ImageOrientationText": "Sag",
71+
"InPlanePhaseEncodingDirectionDICOM": "ROW",
72+
"ConversionSoftware": "dcm2niix",
73+
"ConversionSoftwareVersion": "v1.0.20211006"
74+
}

2d_mb_pcasl/sub-1/anat/sub-1_T1w.nii.gz

Whitespace-only changes.
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
{
2+
"Modality": "MR",
3+
"MagneticFieldStrength": 3,
4+
"ImagingFrequency": 123.249,
5+
"Manufacturer": "Siemens",
6+
"ManufacturersModelName": "Prisma_fit",
7+
"BodyPartExamined": "BRAIN",
8+
"PatientPosition": "HFS",
9+
"SoftwareVersions": "syngo MR E11",
10+
"MRAcquisitionType": "2D",
11+
"SeriesDescription": "PCASLhr_SpinEchoFieldMap_AP",
12+
"ProtocolName": "PCASLhr_SpinEchoFieldMap_AP",
13+
"ScanningSequence": "EP",
14+
"SequenceVariant": "SK",
15+
"ScanOptions": "PFP\\FS",
16+
"SequenceName": "epse2d1_86",
17+
"ImageType": [
18+
"ORIGINAL",
19+
"PRIMARY",
20+
"M",
21+
"ND",
22+
"MOSAIC"
23+
],
24+
"SeriesNumber": 41,
25+
"AcquisitionNumber": 1,
26+
"SliceThickness": 2.27,
27+
"SpacingBetweenSlices": 2.497,
28+
"SAR": 0.135571,
29+
"EchoTime": 0.04,
30+
"RepetitionTime": 8,
31+
"FlipAngle": 90,
32+
"PartialFourier": 0.75,
33+
"BaseResolution": 86,
34+
"ShimSetting": [
35+
4723,
36+
5691,
37+
765,
38+
492,
39+
87,
40+
207,
41+
-41,
42+
-18
43+
],
44+
"TxRefAmp": 252.904,
45+
"PhaseResolution": 1,
46+
"VendorReportedEchoSpacing": 0.00057,
47+
"ReceiveCoilName": "Head_32",
48+
"ReceiveCoilActiveElements": "HEA;HEP",
49+
"PulseSequenceDetails": "%CustomerSeq%\\cmrr_mbep2d_se",
50+
"CoilCombinationMethod": "Sum of Squares",
51+
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
52+
"MatrixCoilMode": "SENSE",
53+
"PercentPhaseFOV": 100,
54+
"PercentSampling": 100,
55+
"EchoTrainLength": 65,
56+
"PhaseEncodingSteps": 65,
57+
"AcquisitionMatrixPE": 86,
58+
"ReconMatrixPE": 86,
59+
"BandwidthPerPixelPhaseEncode": 20.4,
60+
"EffectiveEchoSpacing": 0.000569995,
61+
"DerivedVendorReportedEchoSpacing": 0.000569995,
62+
"TotalReadoutTime": 0.0484496,
63+
"PixelBandwidth": 2325,
64+
"DwellTime": 2.5e-06,
65+
"PhaseEncodingDirection": "j-",
66+
"SliceTiming": [
67+
3.99,
68+
0,
69+
4.1225,
70+
0.1325,
71+
4.255,
72+
0.2675,
73+
4.39,
74+
0.4,
75+
4.5225,
76+
0.5325,
77+
4.655,
78+
0.665,
79+
4.7875,
80+
0.7975,
81+
4.92,
82+
0.9325,
83+
5.055,
84+
1.065,
85+
5.1875,
86+
1.1975,
87+
5.32,
88+
1.33,
89+
5.4525,
90+
1.4625,
91+
5.585,
92+
1.5975,
93+
5.72,
94+
1.73,
95+
5.8525,
96+
1.8625,
97+
5.985,
98+
1.995,
99+
6.1175,
100+
2.1275,
101+
6.25,
102+
2.2625,
103+
6.385,
104+
2.395,
105+
6.5175,
106+
2.5275,
107+
6.65,
108+
2.66,
109+
6.7825,
110+
2.7925,
111+
6.915,
112+
2.925,
113+
7.05,
114+
3.06,
115+
7.1825,
116+
3.1925,
117+
7.315,
118+
3.325,
119+
7.4475,
120+
3.4575,
121+
7.58,
122+
3.59,
123+
7.715,
124+
3.725,
125+
7.8475,
126+
3.8575
127+
],
128+
"ImageOrientationPatientDICOM": [
129+
0.998104,
130+
0.0407458,
131+
0.0461261,
132+
-0.0250904,
133+
0.953743,
134+
-0.299574
135+
],
136+
"ImageOrientationText": "Tra>Cor(-17.4)>Sag(3.2)",
137+
"InPlanePhaseEncodingDirectionDICOM": "COL",
138+
"ConversionSoftware": "dcm2niix",
139+
"ConversionSoftwareVersion": "v1.0.20211006",
140+
"B0FieldIdentifier": "pepolar_b0s",
141+
"IntendedFor": [
142+
"perf/sub-1_asl.nii.gz"
143+
]
144+
}

2d_mb_pcasl/sub-1/fmap/sub-1_dir-AP_epi.nii.gz

Whitespace-only changes.

0 commit comments

Comments
 (0)