Comments (6)
Without a sample image this will be hard for me to trouble shoot. An orthogonal slice would also help (e.g. is this really a 56 slice volume or are there two echo, where the volume should be 512x512x56x25x2). The challenge here is that different vendors use different approaches to encoding this information. In any case I have added a stub for handling DICOM tag,element 0x0020, 0x0105 to nii_dicom.cpp that should give you a good starting point
https://github.com/neurolabusc/dcm2niix/blob/master/console/nii_dicom.cpp
from dcm2niix.
Thanks for the comments. I will follow up and see if I can provide data or debug it myself.
This is a single volume with 56 axial slices. dcm2niix cuts off the top half of the volume and adds these images to every second temporal position.
The sagittal view using the (old) dcm2nii conversion
The sagittal view using the dcm2niix conversion
Let me investigate further and follow up later.
from dcm2niix.
OK it seems that for our data kLocationsInAcquisitionGE is getting a value from (0021, 104f) that is half the value of the actual number of axial slices. I assume this is an error in the dicom header.
from dcm2niix.
Nice work! That would explain it. Since 0021,104f is a private tag I think a good solution would be to give the public 0020,0105 precedence.
I have a guess as to what is happening. I think this sequence has GE’s interpolation function switched on, so it is generating twice as many slices as there are locations. Therefore the DICOM is reported the number of slices acquired, but not the number stored.
If my hunch is correct, I would like to think we have evidence of it in one of the tag, perhaps check
0043, 1079 'US' LocationsInAcquisition
2001, 1018 'SL' LocationsInAcquisition
2001, 102D 'SS' StackNumberOfSlices
-c
Chris Rorden, PhD
Endowed Chair of Neuroimaging
Department of Psychology
University of South Carolina
Columbia, SC 29208, USA
phone +1 803 404 2573
email [email protected]:[email protected]
web www.mricro.comhttp://www.mricro.com
On Feb 18, 2016, at 11:15 AM, Benjamin Irving <[email protected]mailto:[email protected]> wrote:
OK it seems that for our data kLocationsInAcquisitionGE is getting a value from (0021, 104f) that is half the value of the actual number of axial slices. I assume this is an error in the dicom header.
—
Reply to this email directly or view it on GitHubhttps://github.com/neurolabusc/dcm2niix/issues/11#issuecomment-185796601.
from dcm2niix.
Thanks for testing my fix and for your detective work. I have now committed this to the main branch and I am closing this issue. To summarize, the GE tag 0021,104f is not always reliable (presumably due to interpolation), so giving priority to 0020,0105 is a suitable work-around.
from dcm2niix.
Great. Happy to help.
from dcm2niix.
Related Issues (20)
- Siemens XA20 3D PCASL HOT 3
- Compression fails if filename contains $ HOT 16
- feedback on BidsGuess HOT 6
- BidsGuess feedback (issues with derived data) HOT 2
- Unsupported overlay origin 0/0 HOT 3
- Additional BidsGuess feedback HOT 2
- Error: Converted 37675 of 72956 files HOT 1
- Wrong EchoTime, RepetitionTime, InversionTime saved in generated JSON file HOT 1
- BidsGuess labeling issue HOT 1
- Newer versions not recognizing EchoTrainLength HOT 1
- BidsGuess feedback HOT 1
- On some DICOM file renames, am getting "Illegal DICOM tag 7651,5351 (odd element length 20305)" I cannot find this DICOM tag in order to troubleshoot. HOT 1
- Incorrect reading of DICOM information and generation of invalid images HOT 4
- Bruker Diffusion Directions
- Problem with XA30 DICOM conversion detecting corrupt slice times for CMRR data HOT 3
- Feature request: include PatientAge (0010, 1010) in JSON sidecar made using -ba n HOT 9
- How to extract magnitude and phase sequences in the same QSM Dicom folder as separate Nifti files using dcm2niix? HOT 2
- Slicetiming lacked for data from GE scanner with HyperBand HOT 3
- CoilString set, even when concatenating dicoms with varying values HOT 3
- GE Diffusion bvec greater than 1 for single-axis, low-shell HOT 9
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.