Functional data DICOMS converting to 3d images instead of 4d

Hi all,

I’m having an issue where DICOMs for functional runs are converting to 3d images instead of 4d.

Using Chris Rorden’s dcm2niiX version v1.0.20201102 for scans collected on a Philips Achieva.

Any ideas on why this might be happening or what I can do to make these files convert as 4d?

Much appreciated

Hi @CalebRHaynes,

Can you confirm that this error still happens on the most recent release? v1.0.20220720


Hmm, I downloaded with curl and it just kills immediately


Resolved by using the conda forge option

Can confirm issue was resolved by updating version, here’s what my output look like and likely what caused this issue

Warning: Number of frames (4834) not divisible by locations in acquisition (2001,1018) 33 (issue 515)
Error: Re-ordered slice out-of-volume 4818
Error: Re-ordered slice out-of-volume 4819
Error: Re-ordered slice out-of-volume 4820
Error: Re-ordered slice out-of-volume 4821
Error: Re-ordered slice out-of-volume 4822
Error: Re-ordered slice out-of-volume 4823
Error: Re-ordered slice out-of-volume 4824
Error: Re-ordered slice out-of-volume 4825
Error: Re-ordered slice out-of-volume 4826
Error: Re-ordered slice out-of-volume 4827
Error: Re-ordered slice out-of-volume 4828
Error: Re-ordered slice out-of-volume 4829
Error: Re-ordered slice out-of-volume 4830
Error: Re-ordered slice out-of-volume 4831
Error: Re-ordered slice out-of-volume 4832
Error: Re-ordered slice out-of-volume 4833
Philips Scaling Values RS:RI:SS = 0.74188:0:0.00308762 (see PMC3998685)

1 Like

Thanks for letting us know!

@CalebRHaynes when reporting issues it helps to know not only the software version but also the operating system. From your report, I can infer that you are using MacOS. MacOS tries to prevent you from installing malicious software, and therefore it will kill unknown software. It is unfortunate that the operating system does not provide an explanation for the users. The fix is to simply open your System Settings and explicitly allow the unknown software to run:

Screenshot 2023-04-04 at 3.55.20 PM

This issue is not specific to dcm2niix, but any MacOS software you download from the web. I do provide the current stable version of dcm2niix in the MRIcroGL distribution in a code-signed and notarized MacOS installation package. As you found, you can also use other mechanisms to install dcm2niix. The security measures are actually more stringent for native M1 executables than emulated x86 executables emulated on M1. So high performance native tools like dcm2niix are held to a higher level of scrutiny. However, in general you should be aware that MacOS includes a lot of important safety mechanisms, but they are often very unintuitive (another example of this is Gatekeeper Path Randomization).

Hi Chris- thanks for the great software by the way.

Apologies for not being clearer about my operating system, I am using Linux. I got the “Killed” message when I tried the method of using curl to download the linux zip. Happy to send more details about my setup if it helps future users.

@CalebRHaynes I could replicate your issue on my Linux computer. Would you remind running the following commands on your machine and telling me what output you get:

uname -a
lsb_release -a
curl -fLO

For my machine, the relevant output was:

Linux ryzen 5.4.0-139-generic #156-Ubuntu SMP Fri Jan 20 17:27:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

Chris Rorden's dcm2niiX version v1.0.20220720  (JP2:OpenJPEG) (JP-LS:CharLS) GCC5.5.0 x86-64 (64-bit Linux)

Yeah sure thing, if I had a choice I wouldn’t be using CentOS considering its proprietary and now defunct, but its what my admin gives us for the cluster. I also tested on another computer running Rocky Linux 9.1 and did not get this error

Linux 3.10.0-957.27.2.el7.x86_64

Distributor ID:	CentOS
Description:	CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core

Thanks. It is challenging providing compiled executables for Linux, as you must compile with libraries at least as old as the users. One solution I have used successfully is holy build box which uses an ancient Linux distribution. However, while this results in very compatible executables, the executables can not take advantage of modern compiler optimizations and one worries about known legacy security vulnerabilities.

I am glad you found a solution.

Perhaps I should update the dcm2niix Github home page to describe minimal compile instructions for linux. The recipe for the latest stable release is:

curl -L -O
cd dcm2niix-master/console

and the recipe for the latest commit to the development branch is:

curl -L -O
cd dcm2niix-development/console