Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
effigies authored Feb 6, 2025
2 parents c23d88a + e52f77f commit d8e8fc3
Show file tree
Hide file tree
Showing 595 changed files with 2,816 additions and 102 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ concurrency:
cancel-in-progress: true

on:
push:
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

permissions:
contents: write
Expand Down
82 changes: 44 additions & 38 deletions .github/workflows/validate_datasets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
bids-validator: [master, stable, master-deno]
bids-validator: [stable, main, dev, legacy]

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

Expand All @@ -33,53 +33,50 @@ jobs:
- uses: actions/checkout@v4

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

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

- name: Install BIDS validator (master)
if: "matrix.bids-validator == 'master'"
- name: Install BIDS validator (stable)
if: matrix.bids-validator == 'stable'
run: |
pushd ..
# Get npm 7+
npm install -g npm
git clone --depth 1 https://github.com/bids-standard/bids-validator
cd bids-validator
# Generate the full development node_modules
npm clean-install
# Build & bundle the bids-validator CLI package
npm -w bids-validator run build
# Generate a package to install globally
npm -w bids-validator pack
# Install the package globally
bash -c "npm install -g bids-validator-*.tgz"
popd
- uses: denoland/setup-deno@v1
if: "matrix.bids-validator == 'master-deno'"
with:
deno-version: v1.x
deno install -Agf -n bids-validator jsr:@bids/validator
shell: bash

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

- name: Install BIDS validator (dev)
if: matrix.bids-validator == 'dev'
run: |
git clone -b dev https://github.com/bids-standard/bids-validator/ ../bids-validator
cd ../bids-validator
deno compile -A -o $HOME/.deno/bin/bids-validator src/bids-validator.ts
shell: bash

- name: Install BIDS validator (legacy)
if: "matrix.bids-validator == 'legacy'"
run: |
npm install -g bids-validator
- name: Display versions and environment information
run: |
echo $TZ
date
echo "npm"; npm --version
echo "node"; node --version
which deno && echo "deno\n----" && deno --version || true
echo "node\n----"; node --version
echo "npm\n----"; npm --version
echo "bids-validator"; bids-validator --version
shell: bash

Expand All @@ -98,17 +95,26 @@ jobs:
fi
shell: bash

- name: Skip MRS validation for legacy validator
run: for DS in mrs_*; do touch $DS/.SKIP_VALIDATION; done
if: "matrix.bids-validator != 'master-deno'"
- name: Skip legacy validation for post-legacy datasets
run: for DS in mrs_* dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
if: matrix.bids-validator == 'legacy'
shell: bash

- name: Skip stable validation for datasets with unreleased features
run: for DS in dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
if: matrix.bids-validator != 'dev'
shell: bash

- name: Set BIDS_SCHEMA variable for dev version
if: matrix.bids-validator == 'dev'
# When proposing new features, schema changes may be necessary.
# Update this URL to the schema.json from PRs to the spec, when needed.
# If this variable is unset, dev will generally track the latest development
# release of https://jsr.io/@bids/schema
run: echo BIDS_SCHEMA=https://bids-specification.readthedocs.io/en/latest/schema.json >> $GITHUB_ENV

- name: Validate all BIDS datasets using bids-validator
run: |
cat ./run_tests.sh
./run_tests.sh
shell: bash
env:
# When proposing new features, schema changes may be necessary.
# Update this URL to the schema.json from PRs to the spec, when needed.
BIDS_SCHEMA: https://bids-specification.readthedocs.io/en/latest/schema.json
1 change: 1 addition & 0 deletions 2d_mb_pcasl/README
Original file line number Diff line number Diff line change
@@ -0,0 +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.
10 changes: 10 additions & 0 deletions 2d_mb_pcasl/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"Name": "ASL_Siemens_MultiPLD_2DMB_PCASL",
"BIDSVersion": "1.9.0",
"DatasetType": "raw",
"Authors": [
"Ashley Ptinis",
"Nicole Coverdale"
],
"HowToAcknowledge": "If you reference this dataset in your publications, please acknowledge its authors."
}
74 changes: 74 additions & 0 deletions 2d_mb_pcasl/sub-1/anat/sub-1_T1w.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"Modality": "MR",
"MagneticFieldStrength": 3,
"ImagingFrequency": 123.249,
"Manufacturer": "Siemens",
"ManufacturersModelName": "Prisma_fit",
"BodyPartExamined": "BRAIN",
"PatientPosition": "HFS",
"SoftwareVersions": "syngo MR E11",
"MRAcquisitionType": "3D",
"SeriesDescription": "T1w_MPR",
"ProtocolName": "T1w_MPR",
"ScanningSequence": "GR\\IR",
"SequenceVariant": "SK\\SP\\MP",
"ScanOptions": "IR\\WE",
"SequenceName": "*tfl3d1_16ns",
"ImageType": [
"ORIGINAL",
"PRIMARY",
"M",
"ND",
"NORM"
],
"SeriesNumber": 3,
"AcquisitionNumber": 1,
"SliceThickness": 0.8,
"SAR": 0.042424,
"EchoTime": 0.00222,
"RepetitionTime": 2.5,
"SpoilingState": true,
"InversionTime": 1,
"FlipAngle": 8,
"PartialFourier": 1,
"BaseResolution": 320,
"ShimSetting": [
4722,
5694,
766,
494,
81,
212,
-39,
-17
],
"TxRefAmp": 252.904,
"PhaseResolution": 1,
"ReceiveCoilName": "Head_32",
"ReceiveCoilActiveElements": "HEA;HEP",
"PulseSequenceDetails": "%SiemensSeq%\\tfl",
"RefLinesPE": 32,
"CoilCombinationMethod": "Adaptive Combine",
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
"MatrixCoilMode": "GRAPPA",
"PercentPhaseFOV": 93.75,
"PercentSampling": 100,
"PhaseEncodingSteps": 299,
"AcquisitionMatrixPE": 300,
"ReconMatrixPE": 300,
"ParallelReductionFactorInPlane": 2,
"PixelBandwidth": 220,
"DwellTime": 7.1e-06,
"ImageOrientationPatientDICOM": [
0,
1,
0,
0,
0,
-1
],
"ImageOrientationText": "Sag",
"InPlanePhaseEncodingDirectionDICOM": "ROW",
"ConversionSoftware": "dcm2niix",
"ConversionSoftwareVersion": "v1.0.20211006"
}
Empty file.
144 changes: 144 additions & 0 deletions 2d_mb_pcasl/sub-1/fmap/sub-1_dir-AP_epi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
{
"Modality": "MR",
"MagneticFieldStrength": 3,
"ImagingFrequency": 123.249,
"Manufacturer": "Siemens",
"ManufacturersModelName": "Prisma_fit",
"BodyPartExamined": "BRAIN",
"PatientPosition": "HFS",
"SoftwareVersions": "syngo MR E11",
"MRAcquisitionType": "2D",
"SeriesDescription": "PCASLhr_SpinEchoFieldMap_AP",
"ProtocolName": "PCASLhr_SpinEchoFieldMap_AP",
"ScanningSequence": "EP",
"SequenceVariant": "SK",
"ScanOptions": "PFP\\FS",
"SequenceName": "epse2d1_86",
"ImageType": [
"ORIGINAL",
"PRIMARY",
"M",
"ND",
"MOSAIC"
],
"SeriesNumber": 41,
"AcquisitionNumber": 1,
"SliceThickness": 2.27,
"SpacingBetweenSlices": 2.497,
"SAR": 0.135571,
"EchoTime": 0.04,
"RepetitionTime": 8,
"FlipAngle": 90,
"PartialFourier": 0.75,
"BaseResolution": 86,
"ShimSetting": [
4723,
5691,
765,
492,
87,
207,
-41,
-18
],
"TxRefAmp": 252.904,
"PhaseResolution": 1,
"VendorReportedEchoSpacing": 0.00057,
"ReceiveCoilName": "Head_32",
"ReceiveCoilActiveElements": "HEA;HEP",
"PulseSequenceDetails": "%CustomerSeq%\\cmrr_mbep2d_se",
"CoilCombinationMethod": "Sum of Squares",
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
"MatrixCoilMode": "SENSE",
"PercentPhaseFOV": 100,
"PercentSampling": 100,
"EchoTrainLength": 65,
"PhaseEncodingSteps": 65,
"AcquisitionMatrixPE": 86,
"ReconMatrixPE": 86,
"BandwidthPerPixelPhaseEncode": 20.4,
"EffectiveEchoSpacing": 0.000569995,
"DerivedVendorReportedEchoSpacing": 0.000569995,
"TotalReadoutTime": 0.0484496,
"PixelBandwidth": 2325,
"DwellTime": 2.5e-06,
"PhaseEncodingDirection": "j-",
"SliceTiming": [
3.99,
0,
4.1225,
0.1325,
4.255,
0.2675,
4.39,
0.4,
4.5225,
0.5325,
4.655,
0.665,
4.7875,
0.7975,
4.92,
0.9325,
5.055,
1.065,
5.1875,
1.1975,
5.32,
1.33,
5.4525,
1.4625,
5.585,
1.5975,
5.72,
1.73,
5.8525,
1.8625,
5.985,
1.995,
6.1175,
2.1275,
6.25,
2.2625,
6.385,
2.395,
6.5175,
2.5275,
6.65,
2.66,
6.7825,
2.7925,
6.915,
2.925,
7.05,
3.06,
7.1825,
3.1925,
7.315,
3.325,
7.4475,
3.4575,
7.58,
3.59,
7.715,
3.725,
7.8475,
3.8575
],
"ImageOrientationPatientDICOM": [
0.998104,
0.0407458,
0.0461261,
-0.0250904,
0.953743,
-0.299574
],
"ImageOrientationText": "Tra>Cor(-17.4)>Sag(3.2)",
"InPlanePhaseEncodingDirectionDICOM": "COL",
"ConversionSoftware": "dcm2niix",
"ConversionSoftwareVersion": "v1.0.20211006",
"B0FieldIdentifier": "pepolar_b0s",
"IntendedFor": [
"perf/sub-1_asl.nii.gz"
]
}
Empty file.
Loading

0 comments on commit d8e8fc3

Please sign in to comment.