ENHANCE-PET / nifti2dicom

Welcome to Nifti2Dicom! Born from countless hours of yelling at screens, this software aims to swap NIfTI for DICOM without inviting any more hair-pulling or infernal uprisings. Because, honestly, who needs another software-induced existential crisis? 🔁💻😫🔥
Apache License 2.0
16 stars 3 forks source link

4D flip #11

Closed JasonMTIC closed 1 year ago

JasonMTIC commented 1 year ago

see below


Microsoft Windows [Version 10.0.19044.3324] (c) Microsoft Corporation. All rights reserved.

C:\Users\MTIC>cd C:\QIMP_Data

C:\QIMP_Data>nifti2dicom\Scripts\activate.bat

(nifti2dicom) C:\QIMP_Data>nifti2dicom -d C:\QIMP_Data\MOOSE\2023-08Studies\WEE^JOSEPHINE^^MRS_121.892_CT_2023-08-08_100303_PET^MTIC.FDG.RTP.Partial.Body.(Adult)_MTIC.CT.5.0.iMAR_n354__00000 -n C:\QIMP_Data\MOOSE\2023-08Studies\CT_2_mtic_ct_50_imar.nii -o C:\QIMP_Data\MOOSE\2023-08__Studies\dicom_output -desc "Test N2D" -t img -v sms

←[38;5;141m _ __ _ (_) / /() \ _/ ()__ __ / \/ / // / // // / / / \/ ` \ / / / / / / // // // /_/ / / // // / / / / / / // //// _/_//__/_,/_/_/__// // /_/←[0m ←[38;5;141mA package to convert NIfTI images to DICOM format using a reference DICOM series. Nifti2dicom is a part of the ENHANCE.PET (https://enhance.pet/) framework←[0m

←[38;5;141m 🔍 IDENTIFIED DATASETS:←[0m

←[38;5;208m Image dimensions: 3←[0m ←[38;5;40m Loading NIfTI image: C:\QIMP_Data\MOOSE\2023-08Studies\CT_2_mtic_ct_50_imar.nii←[0m Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "C:\QIMP_Data\nifti2dicom\Scripts\nifti2dicom.exe\main__.py", line 7, in File "C:\QIMP_Data\nifti2dicom\Lib\site-packages\nifti2dicom\converter.py", line 280, in main save_dicom_from_nifti_image(args.dicom_dir, args.nifti_path, args.output_dir, args.series_description, args.vendor) File "C:\QIMP_Data\nifti2dicom\Lib\site-packages\nifti2dicom\converter.py", line 132, in save_dicom_from_nifti_image image_data = np.flip(image_data, (1, 3)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\QIMP_Data\nifti2dicom\Lib\site-packages\numpy\lib\function_base.py", line 340, in flip axis = _nx.normalize_axis_tuple(axis, m.ndim) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\QIMP_Data\nifti2dicom\Lib\site-packages\numpy\core\numeric.py", line 1380, in normalize_axis_tuple axis = tuple([normalize_axis_index(ax, ndim, argname) for ax in axis]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\QIMP_Data\nifti2dicom\Lib\site-packages\numpy\core\numeric.py", line 1380, in axis = tuple([normalize_axis_index(ax, ndim, argname) for ax in axis]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ numpy.exceptions.AxisError: axis 3 is out of bounds for array of dimension 3

(nifti2dicom) C:\QIMP_Data>

LalithShiyam commented 1 year ago

Hi @JasonMTIC, thank for you highlighting the bug, I think, the bug is due to the silly flip along the fourth dimension when you give the siemens (sms) tag. Because right now the program assumes its natively 4d when we pass a 'sms' tag. I will make a quick fix in a bit.

LalithShiyam commented 1 year ago

Fixed and done. @JasonMTIC