Comments (8)
Pinging @gtarroni who might be interested in the progress of this issue.
from dcm2niix.
The issue here is that this is a 2D slice with no context. Since different vendors handle the slice thickness other features differently, my tool really leverages the information between a sequence of slices to generate an accurate NIfTI spatial transformation. This explains the warnings my software generates when converting isolated 2D slices. In theory, we could adapt the tools to deal with this, but it would require acquiring sample images from all the vendors. 2D images are not used in my field - even if you are interested in a single feature across time, participant movement and gradient warming requires capturing a few slices. I do not think there are many tools for handling 2D images using the NIfTI format, if you are working with 2D slices I would stick with your DICOM images. I also note that this image is acquired on a strong oblique, so the horizontal axis is really RP->LA, rather than either R->L or A->P.
from dcm2niix.
My sense is I would close this issue: this is not an intended usage of my software, and my software does accurately warn users when it encounters these situations. If you want to invest development time into resolving this, I am happy to keep it open. However, my sense that it would take a lot of effort to be confident you have a generalized, universal solution. Nor do I think the result would be useful for many users: the NIfTI format is really designed for 3D+ images.
If you do want to pursue this, I would look at existing 3D datasets from each vendor and determine the best solution for converting these if you only have a single 2D slice:
http://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Diffusion_Tensor_Imaging
However, my sense is that even with a single vendor their interpretation of the DICOM standard has evolved over time, so you will still find corner cases.
from dcm2niix.
The issue here is that this is a 2D slice with no context.
It actually comes from a cine scan (2D+t) of one of many views routinely acquired in CMRI. I should have been more explicit about it. The result is the same whether you run the converter on a single slice or a cine, the conversion is fine but the transformation parameters are wrong.
my sense that it would take a lot of effort to be confident you have a generalized, universal solution.
The sad thing is that apart from the transformation metadata, each scan of the cardiac protocol I have thrown at it (anatomical, cine, flow, t1mapping) have been successfully converted.
the NIfTI format is really designed for 3D+ images.
This is not what the official documentation says though. The format is versatile enough to handle 2D, 3D, 2D+t, 3D+t with a single file. Sure, the original intent was for neuro but the format has since been adopted by the imaging community as a whole.
Nor do I think the result would be useful for many users
I believe you are underestimating how much the imaging community is in need of such "swiss-army" converter between Nifti and DICOM.
However, my sense is that even with a single vendor their interpretation of the DICOM standard has evolved over time, so you will still find corner cases.
That's why Nifti is what the research community want to standardize on.
To add a little more context, I am using your tool to process the UK Biobank data. I know that your tool is already in use there to provide the postprocessed Nifti files for the brain imaging data. It would be brilliant if the same could be done for cardiac and abdominal data.
from dcm2niix.
Please take a look at the latest version (7Dec2016). This should provide a similar solution for 2D images as dcm2nii, MRIconvert and SPM. I am still not convinced this is a universal solution, and someday it would be nice to generate validation datasets (images with fiducial markers, acquired with axial, sagittal and coronal slices and from each vendor).
I worked very closely with the UK Biobank in developing this software, and they were instrumental in acquiring validation datasets that demonstrate the conversion of images and diffusion gradients across vendors and across sequences (https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Diffusion_Tensor_Imaging). However, the validation did take a lot of my time, and I have a lot more responsibilities on my plate now.
Please do not take my tone wrong: I want to provide a robust, universal tool and want to encourage others to identify flaws and future enhancements. However, developing, validating and maintaining features takes a lot of time. If you want to support this, I think others would be grateful.
Its outside of my expertise, but it might also be worth exploring cardiac and abdominal sequences that can acquire a few EPI slices for each time point. My sense is that would allow realignment to compensate for apparent motion in the slice direction (either due to motion of the participant or due to gradient heating).
from dcm2niix.
Please take a look at the latest version (7Dec2016). This should provide a similar solution for 2D images as dcm2nii, MRIconvert and SPM.
I will have a look and report.
Please do not take my tone wrong: I want to provide a robust, universal tool and want to encourage others to identify flaws and future enhancements.
We are definitely on the same page.
However, developing, validating and maintaining features takes a lot of time. If you want to support this, I think others would be grateful.
I am not sure my effort alone can result in the same level of versatility you reached with brain imaging for other anatomies-of-interest.
Its outside of my expertise, but it might also be worth exploring cardiac and abdominal sequences that can acquire a few EPI slices for each time point. My sense is that would allow realignment to compensate for apparent motion in the slice direction (either due to motion of the participant or due to gradient heating).
AFAIC, my goal is focused on pure one-to-one data conversion between the original DICOM data and Nifti. Post-processing and QC related issues are on the agenda, but they would be considered separate steps for now.
from dcm2niix.
Just to confirm that the latest version solved the transformation issues for 2D / 2D+t data conversion. Thank you for your very prompt response to this issue.
from dcm2niix.
OK, my gut instincts tell me this solution will work for most but not all vendors/sequences. It does match the solution of other tools, and we can reevaluate this if anyone generates samples that fail.
from dcm2niix.
Related Issues (20)
- Q about where json gets written HOT 6
- Filename oddity in 20240202 for Philips DWI HOT 10
- GE UHP/7T Diffusion SliceTiming HOT 5
- Possible incorrect SliceTiming HOT 16
- Siemens conversion problems (Magnetom Altea) HOT 2
- error dcm2niix using dcm2bids HOT 1
- PET json information HOT 12
- Inquiry on DICOM to NIfTi HOT 4
- Siemens 2D epi TR is incorrect HOT 2
- dcm2niix is incorrectly attempting to use a JPEG:Lossless transfer syntax that was set inside an Original Attributes Sequence HOT 1
- GE AcquisitionDuration HOT 6
- Incorrect Slice/Vol Order After Site Updated Philips Software (Ingenia version 11.1) HOT 11
- Return status bug (incorrectly reported error) v1.0.20240202 HOT 12
- How does dcm2niix determine SBREF dicom files? HOT 3
- [Question] Image dimensions from the tags HOT 2
- -x flag not working on PAR file HOT 3
- Siemens XA60 conversion of diffusion data HOT 1
- multi-echo data not recognised
- Incorrect output files name for a duel echo image. HOT 1
- The whole image is inverted in the result of the dcm2nii.gz conversion HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dcm2niix.