Skip to content

Commit

Permalink
Merge pull request #703 from rordenlab/development
Browse files Browse the repository at this point in the history
New stable release v1.0.20230411
  • Loading branch information
neurolabusc authored Apr 24, 2023
2 parents e9b9a64 + e25e75b commit fe2f260
Show file tree
Hide file tree
Showing 43 changed files with 1,716 additions and 819 deletions.
96 changes: 96 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
environment:
matrix:
- job_name: win
appveyor_build_worker_image: Visual Studio 2022

- job_name: linux
appveyor_build_worker_image: Ubuntu1604

- job_name: mac
appveyor_build_worker_image: macos-catalina

matrix:
fast_finish: true

version: build-{build}

configuration: Release

platform: x64

clone_depth: 1

init:
- ps: >-
$env:DATE = $(Get-Date -Format d-MMM-yyyy)
$githash = $env:APPVEYOR_REPO_COMMIT.Substring(0, 7)
$gittag = if ($env:APPVEYOR_REPO_TAG -eq $True) {"_$($env:APPVEYOR_REPO_TAG_NAME)"} else {""}
Update-AppveyorBuild -Version "$($env:DATE)_g${githash}${gittag}"
$env:RELEASE_VERSION = $(Get-Date -Format d-MMMM-yyyy)
for:
-
matrix:
only:
- job_name: win

build_script:
- cmake -Wno-dev -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_OPENJPEG=GitHub -DUSE_JPEGLS=ON -B build
- cmake --build build --config %configuration%

after_build:
- 7z a dcm2niix_win.zip .\build\bin\* >$null
- appveyor PushArtifact dcm2niix_win.zip

-
matrix:
only:
- job_name: linux

build_script:
- export CC=gcc-8 CXX=g++-8
- cmake -Wno-dev -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_OPENJPEG=GitHub -DUSE_JPEGLS=ON -B build
- cmake --build build

after_build:
- strip -sx build/bin/*
- 7z a dcm2niix_lnx.zip ./build/bin/* &>/dev/null
- appveyor PushArtifact dcm2niix_lnx.zip

-
matrix:
only:
- job_name: mac

build_script:
- sudo xcode-select -s /Applications/Xcode-11.3.1.app
- cmake -Wno-dev -DCMAKE_OSX_ARCHITECTURES=x86_64 -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_OPENJPEG=GitHub -DUSE_JPEGLS=ON -B intel
- cmake --build intel
- sudo xcode-select -s /Applications/Xcode-12.3.app
- cmake -Wno-dev -DCMAKE_OSX_ARCHITECTURES=arm64 -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_OPENJPEG=GitHub -DUSE_JPEGLS=ON -B apple
- cmake --build apple

after_build:
- mkdir -p build/bin
- lipo -create -output build/bin/dcm2niix intel/bin/dcm2niix apple/bin/dcm2niix
- strip -Sx build/bin/*
- 7z a dcm2niix_macos.zip ./build/bin/* &>/dev/null
- appveyor PushArtifact dcm2niix_macos.zip

deploy:
- provider: GitHub
tag: $(APPVEYOR_REPO_TAG_NAME)
release: version $(RELEASE_VERSION) ($(APPVEYOR_REPO_TAG_NAME))
description: ""
auth_token:
secure: gCltVLQEWsjSTRlsi8qw7FGP54ujBq60apjXkWTV954b65bOHl95hXMxxkQ734L4
artifact: /dcm2niix_.*\.zip/
draft: false
prerelease: false
on:
branch: master
APPVEYOR_REPO_TAG: true
11 changes: 11 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[codespell]
skip = .git,*.json,dcm_qa*
# te - the TE used in the code often
# clen - another common variable for length of smth
# tage - for \tAge, inline ignores are yet to be released
# nd - there is some kind of ND whi
# ❯ grep -e 'trace or MD ' -e 'Trace/ND' ./console/nii_dicom_batch.cpp
# // the isotropic trace or MD can be calculated) often come as
# /*if (!dcmList[indx0].isDerived) //no need to warn if images are derived Trace/ND pair
# ser - used in printMessage(" acq %d img %d ser %ld ...
ignore-words-list = te,clen,tage,nd,ser
19 changes: 19 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Codespell

on:
push:
branches: [development,master]
pull_request:
branches: [development,master]

jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
- name: Codespell
uses: codespell-project/actions-codespell@v1
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,14 @@
/build/
/bin/
/console/dcm2niix
# Python wrapper
*.py[co]
*.so
__pycache__/
/_skbuild/
/_cmake_test_compile/
/dcm2niix/_dist_ver.py
/dcm2niix/dcm2niix
MANIFEST
/*.egg*/
/dist/
47 changes: 0 additions & 47 deletions .travis.yml

This file was deleted.

36 changes: 23 additions & 13 deletions BIDS/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,9 @@ Fields specific to MRI scans.
| EstimatedEffectiveEchoSpacing | s | | D |
| EstimatedTotalReadoutTime | s | | D |
| FlipAngle | deg | DICOM tag 0018,1314 | B |
| VariableFlipAngleFlag | b | DICOM tag 0018,1315 | D |
| ImageOrientationPatientDICOM | | DICOM tag 0020,0037 | D |
| ImagingFrequency | MHz | DICOM tag 0018,0084 | D |
| ImagingFrequency | MHz | DICOM tag 0018,0084 or 0018,9098 | D |
| InPlanePhaseEncodingDirectionDICOM | | DICOM tag 0018,1312 | D |
| InversionTime | s | DICOM tag 0018,0082 | B |
| MagneticFieldStrength | T | DICOM tag 0018,0087 | B |
Expand All @@ -151,19 +152,21 @@ Fields specific to MRI scans.
| NumberOfAverages | | DICOM tag 0018,0083 | D |
| ParallelAcquisitionTechnique | | DICOM tag 0018, 9078, aka `SENSE`, `GRAPPA` | B |
| ParallelReductionFactorInPlane | | DICOM tag 0018,9069 | B |
| ParallelReductionOutOfPlane | | DICOM tag 0018,9155 | D |
| ParallelReductionFactorOutOfPlane | | DICOM tag 0018,9155 | B |
| PartialFourierDirection | | DICOM tag 0018,9036 | B |
| PercentPhaseFOV | | DICOM tag 0018,0094 | D |
| PercentSampling | | DICOM tag 0018,0093 | D |
| PhaseEncodingAxis | | When polarity unknown | B |
| PhaseEncodingDirection | | When polarity known | B |
| PhaseEncodingSteps | | DICOM tag 0018,0089 | D |
| FrequencyEncodingSteps | | DICOM tag 0018,9058 | D |
| PhaseEncodingSteps | | DICOM tag 0018,0089 or 0018,9231 aka PhaseEncodingStepsInPlane | D |
| PhaseEncodingStepsOutOfPlane | | DICOM tag 0018,9232 | D |
| PixelBandwidth | Hz | DICOM tag 0018,0095 | D |
| ReceiveCoilName | | DICOM tag 0018,1250 | B |
| RepetitionTime | s | DICOM tag 0018,0080 | B |
| RepetitionTimeExcitation | s | DICOM tag 0018, 0080 for some manufacturers | B |
| RepetitionTimeInversion | s | | D |
| SAR | | DICOM tag 0018,1316 | D |
| SAR | | DICOM tag 0018,1316 or 0018,9181 defined by 0018,9179 | D |
| SliceThickness | mm | [nb](http://dclunie.blogspot.com/2013/10/how-thick-am-i-sad-story-of-lonely-slice.html) | D |
| SliceTiming | s | | B |
| SpacingBetweenSlices | mm | [nb](http://dclunie.blogspot.com/2013/10/how-thick-am-i-sad-story-of-lonely-slice.html) | D |
Expand Down Expand Up @@ -228,6 +231,9 @@ Data unique to [GE](https://github.com/rordenlab/dcm2niix/tree/master/GE). Deter
| ASLContrastTechnique | | DICOM tag 0043,10A3 | D |
| ASLLabelingTechnique | | DICOM tag 0043,10A4 | D |
| LabelingDuration | s | DICOM tag 0043,10A5 | B |
| SliceTiming | s | [see notes](https://github.com/rordenlab/dcm2niix/tree/master/GE#slice-timing) | B |
| CompressedSensingFactor | | DICOM tag 0043,10b7 | D |
| DeepLearningFactor | | DICOM tag 0043,10ca | D |

### Manufacturer Philips

Expand Down Expand Up @@ -298,6 +304,7 @@ Fields specific to Siemens V*-series (e.g. VB, VE) MRI systems (e.g. Verio, Trio
| DelayTime | s | Pause between EPI volumes, where TR is longer than required by TA (`sparse` imaging) | D |
| TxRefAmp | V | | D |
| ParallelReductionFactorInPlane | | DICOM tag 0021,1009 | B |
| ParallelReductionFactorOutOfPlane | | CSA `sPat.lAccelFact3D` | B |
| PhaseResolution | f | | D |
| PhaseOversampling | | | D |
| MultibandAccelerationFactor | | DICOM tag 0021,1009 | B |
Expand All @@ -308,7 +315,6 @@ Fields specific to Siemens V*-series (e.g. VB, VE) MRI systems (e.g. Verio, Trio
| FmriExternalInfo | | | D |
| WipMemBlock | | | D |
| AveragesDouble | | CSA `dAveragesDouble`, fractions possible, independent of DICOM `NumberOfAverages` (0018,0083) | D |
| AccelFact3D | | 3D Acquisitions (Parallel Reduction Factor Across Slices) | D |
| ProtocolName | | Check SeriesDescription - they might be switched around | D |
| RefLinesPE | | # of reference lines in the phase encoding direction for acceleration (GRAPPA) | D |
| ConsistencyInfo | | The more complete software version, e.g. VE11C or VE11E instead of just VE11. | D |
Expand All @@ -321,15 +327,19 @@ Fields specific to Siemens V*-series (e.g. VB, VE) MRI systems (e.g. Verio, Trio

### Manufacturer Siemens Magnetic Resonance Imaging (XA)

Fields specific to Siemens XA-series MRI systems (Sola, Vida).
Fields specific to [Siemens XA-series](https://github.com/rordenlab/dcm2niix/tree/master/Siemens#siemens-x-series) MRI systems (Sola, Vida).

| Field | Unit | Comments | Defined By |
|------------------------------|------|------------------------|------------|
| ReceiveCoilActiveElements | | DICOM tag 0021,114F | B |
| BandwidthPerPixelPhaseEncode | Hz | DICOM tag 0021,1153 | D |
| ScanningSequence | | DICOM tag 0021,105a | D |
| PostLabelDelay | s | DICOM tag 0018,9258 | D |
| NonlinearGradientCorrection | b | 0008,0008 or 0021,1175 | B |
| Field | Unit | Comments | Defined By |
|------------------------------|------|----------------------------|------------|
| ReceiveCoilActiveElements | | DICOM tag 0021,114F | B |
| BandwidthPerPixelPhaseEncode | Hz | DICOM tag 0021,1153 | D |
| ScanningSequence | | DICOM tag 0021,105a | D |
| PostLabelDelay | s | DICOM tag 0018,9258 | D |
| NonlinearGradientCorrection | b | 0008,0008 or 0021,1175 | B |
| PhaseEncodingDirection | | polarity from 0021,111c | B |
| SpoilingState | | 0021,105B | B |

Siemens also includes some sequence information in the private MRPhoenixProtocol (0021,1019) tag. You can view this with [gdcmdump](https://gdcm.sourceforge.net/html/gdcmdump.html), e.g. `gdcmdump --mrprotocol img.dcm`. Fields that dcm2niix inspects include `sPat.lAccelFact3D `, `sPat.lAccelFactPE`, `sPat.lRefLinesPE` and `sPat.ucPATMode`. The behavior of dcm2niix will be more well documented as our understanding of this tag improves.

### Manufacturer UIH

Expand Down
Loading

0 comments on commit fe2f260

Please sign in to comment.