Giter VIP home page Giter VIP logo

Comments (6)

neurolabusc avatar neurolabusc commented on June 16, 2024 1

@benoitberanger can you share this anonymized dataset with my institutional email?

from dcm2niix.

neurolabusc avatar neurolabusc commented on June 16, 2024 1

OK, thanks for the samples and all your insights. I am closing this. Note that while XNAT shows the ROI as an overlay scale bar, we certainly do not want to keep this in the output image. I do think all ROIs should be treated as derived.

from dcm2niix.

benoitberanger avatar benoitberanger commented on June 16, 2024

At the moment, in random order, what I found is :

  • BidsGuess cannot handle multiple subjects : I tried with 3 exams from 3 participants (so 3 PatientID + PatientName idfferent) and they were all labeled as sub-1
  • acq- field is great to identify quickly the most basic sequence type. Fast visual check with this : love it.
  • run- contains the SeriesNumber : excellent idea to avoid naming collisions, but not sure it's ideal since it does not start at 1 for each sequence group...

Some specific details :

  • mp2rage : the T1map and UNIT1 are in derived dir, they shoud be in ant, with inv-1 field stripped
  • DWI ColFA : this dicom serie is always tricky and usually discarded. Here it has been flagged as sub-1_acq-_dir-RL_run-12_dwi.nii

from dcm2niix.

benoitberanger avatar benoitberanger commented on June 16, 2024

What seems to work :

  • FLASH 3D with mag and phase correctly labeled as MEGRE
  • 3D FLAIR with SPACE sequence : ok
  • HASTE spited on 3 series used as 3-plan localiser : correctly discarded
  • DWI with Siemens product sequence : ok
  • field map withe 2 echos + 1 pre-substracted phase : ok
  • BOLD with Siemens product sequence, flagged as bold and gave task-rest field : ok

from dcm2niix.

neurolabusc avatar neurolabusc commented on June 16, 2024

@benoitberanger thanks for the sample dataset - I have used this to improve the bids guess feature. A couple of comments:

  • The bids guess feature is not designed to replace higher level wrappers that assign subject names, sessions, set intendedFor, etc. The idea is to provide a robust guess for the identity that can help semi-automated tools like your niix2bids and ezBIDS, and identify situations where the configuration files for configuration-file based tools like heudiconv and dcm2bids can flag suspected errors.
  • The use of the run flag to encode series number was devised in collaboration with the neurodesk team (@steffenbollman and @astewartau) and @Remi-Gau as a way to encode the temporal order (e.g. if there is an issue with task instructions or excessive headmovement in the first run of an fMRI, the MR technologist might rerun), and avoid name clashes. Again, it is easy to remove if the wrapper thinks it is unnecessary.
  • I really do not know how to handle the ROI image that is appended to your series 3 and 21. Perhaps such images should be treated as derived and easily discarded. I have never seen these before, and I hate discarding items I do not understand. Do I have your blessing to share those anonymized series with a QSM expert (@astewartau) to understand how to proceed. I feel strongly we want to discard your examples, but am unsure if this is always the case.
  • Your series 13 with protocol name ep2d_diff_b2000_1.7iso_ref_PA is tricky. In this context, it was clearly acquired for TOPUP correction of the AP DWI scan. However, it was only acquired with isotropic images (b=0). This is unusual, as Siemens does automatic adjustments on scans that are constrained by the maximum b-value in the series. Therefore, to control for an AP series with b=2000, it would be advisable to have at least one b=2000 image in the PA series (e.g. the biobank protocol is a nice example of this rationale). From the dcm2niix perspective, it is unclear if this is a DWI scan (where b=0 bvec and bval files should be generated) or if it should be treated as pepolar spin-echo sequence for undistorting a gradient echo fMRI run (where the bvec/bval file should not be generated). While the intention might be different, a b=0 dwi series and a pepolar series could have identical sequence details.

from dcm2niix.

benoitberanger avatar benoitberanger commented on June 16, 2024
  • The bids guess feature is not designed to replace higher level wrappers that assign subject names, sessions, set intendedFor, etc. The idea is to provide a robust guess for the identity that can help semi-automated tools like your niix2bids and ezBIDS, and identify situations where the configuration files for configuration-file based tools like heudiconv and dcm2bids can flag suspected errors.

Understood ! I just read again the doc :
"The BidsGuess feature is intended for wrapper developers only and should not be used in isolation of a wrapper"
Clearly I did not read the doc thoroughly.

  • The use of the run flag to encode series number was devised in collaboration with the neurodesk team (@steffenbollman and @astewartau) and @Remi-Gau as a way to encode the temporal order (e.g. if there is an issue with task instructions or excessive headmovement in the first run of an fMRI, the MR technologist might rerun), and avoid name clashes. Again, it is easy to remove if the wrapper thinks it is unnecessary.

Yes it makes sense to me now that I keep in mind BidsGuess must not be used as direct BIDS converter.

  • I really do not know how to handle the ROI image that is appended to your series 3 and 21. Perhaps such images should be treated as derived and easily discarded. I have never seen these before, and I hate discarding items I do not understand. Do I have your blessing to share those anonymized series with a QSM expert (@astewartau) to understand how to proceed. I feel strongly we want to discard your examples, but am unsure if this is always the case.

I just checked in our archive (we use XNAT). XNAT is able to recognize and interpret this DICOM, we can clearly see the scale :
mp2rage_T1map_scale

I can also see the "ROI nifti" is NOT in the archive, probably because the conversion did not work properly.
Please do share the anonymized series with experts.

  • Your series 13 with protocol name ep2d_diff_b2000_1.7iso_ref_PA is tricky. In this context, it was clearly acquired for TOPUP correction of the AP DWI scan. However, it was only acquired with isotropic images (b=0). This is unusual, as Siemens does automatic adjustments on scans that are constrained by the maximum b-value in the series. Therefore, to control for an AP series with b=2000, it would be advisable to have at least one b=2000 image in the PA series (e.g. the biobank protocol is a nice example of this rationale). From the dcm2niix perspective, it is unclear if this is a DWI scan (where b=0 bvec and bval files should be generated) or if it should be treated as pepolar spin-echo sequence for undistorting a gradient echo fMRI run (where the bvec/bval file should not be generated). While the intention might be different, a b=0 dwi series and a pepolar series could have identical sequence details.

Yeah this one is tricky. I don't have a clean solution either. In niix2bids, this serie is labeled as NON_BIDS because DWI images MUST have bval+bvec files. I could put it as SE-EPI in 'fmap' dir, but it would require to extract the b0 from other series to create the pair of PEpolar images. It's painful.

I din't know the sequence is adjusted differently if there is a mix of non-zero bvalues compared to only zero bvalue. From our experience, TOPUP works nicely on this DWI dataset.

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.