Giter VIP home page Giter VIP logo

Comments (6)

neurolabusc avatar neurolabusc commented on May 27, 2024

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.

benjaminirving avatar benjaminirving commented on May 27, 2024

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

selection_011

The sagittal view using the dcm2niix conversion

selection_010

Let me investigate further and follow up later.

from dcm2niix.

benjaminirving avatar benjaminirving commented on May 27, 2024

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.

neurolabusc avatar neurolabusc commented on May 27, 2024

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.

neurolabusc avatar neurolabusc commented on May 27, 2024

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.

benjaminirving avatar benjaminirving commented on May 27, 2024

Great. Happy to help.

from dcm2niix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.