Slack Integration
/feed https://www.nitrc.org/export/rss20_forum.php?forum_id=1188Full instructions for installing and using the RSS app with Slack feed to Slack can be found in the Slack Help Center.
- Jan 29, 2024 12:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)Movement parameters extraction
Dear DTIPrep developers,
Thank you for this extremely useful tool. I would like to extract motion parameters from the Eddy currents and motion artifact detection step. In the QCReport.txt file, there is a list of parameters for every gradient, with 12 parameters for each gradient. I assume they are derived from the affine transformation matrix, but I cannot figure out the correct order of these parameters and which one is which.
I guess that the first, the the 5th and the 9th are the scaling factor (x,y,z) as they are close to one, but I might be wrong.
Thus, are the others, x,y and z for rotation, translation, and...?
Could you please clarify this simple question?
ie:
- Parameters: [0.9940250406542067, 0.005037731155539504, -0.0044764617213477525, -0.003336387327671193, 0.9906213568620513, -0.001621771668964308, 0.002073337608179639, 0.0009743273562393963, 0.9919877206204243, -0.1478211258441959, -0.023645834340927947, 0.06009304791091765]
Thanks in advance
Dani Bergé
Hospital del Mar Research Institute
Barcelona, Spain
- Jan 29, 2024 03:01 PM | Martin StynerRE: Movement parameters extraction
The parameters are the ones for an ITK affine transform : https://itk.org/Doxygen/html/classitk_1_...
Best
Martin
Originally posted by Daniel Berge:
Dear DTIPrep developers,
Thank you for this extremely useful tool. I would like to extract motion parameters from the Eddy currents and motion artifact detection step. In the QCReport.txt file, there is a list of parameters for every gradient, with 12 parameters for each gradient. I assume they are derived from the affine transformation matrix, but I cannot figure out the correct order of these parameters and which one is which.
I guess that the first, the the 5th and the 9th are the scaling factor (x,y,z) as they are close to one, but I might be wrong.
Thus, are the others, x,y and z for rotation, translation, and...?
Could you please clarify this simple question?
ie:
- Parameters: [0.9940250406542067, 0.005037731155539504, -0.0044764617213477525, -0.003336387327671193, 0.9906213568620513, -0.001621771668964308, 0.002073337608179639, 0.0009743273562393963, 0.9919877206204243, -0.1478211258441959, -0.023645834340927947, 0.06009304791091765]
Thanks in advance
Dani Bergé
Hospital del Mar Research Institute
Barcelona, Spain
- Jan 29, 2024 02:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)Interlace Correlation values not saving in QCReport.txt
Dear DTIPrep developers,
I have noticed that, as compared to previous versions, even when specifying Report type "2", the interlace correlation values are not saved in the txt file anymore when I run DTIPrep from my script.
Surprisingly, if I run exactly the same protocol from de DTIPrep gui, the generated Report file does contain these correlation values.
Any keys about what I might be doing wrong would be much appreciated.
Thanks in advance.
Dani Bergé
Hospital del Mar Research Institute
Barcelona, Spain
- Jan 29, 2024 03:01 PM | Martin StynerRE: Interlace Correlation values not saving in QCReport.txt
Hi Dani
This is likely a bug (there are some differences between the UI and non-UI run of protocols). An alternative is to capture also the terminal output (e.g. via redirection into a file), as the interlace correlation values should be reported on the terminal output in a non-UI run.
Also, you could consider moving to the new/next-gen version called dmriprep (which is part of dtiplayground): https://github.com/NIRALUser/DTIPlaygrou...
That version stores the correlation values of the interlace check in the computations/checks.yml output (the UI and non-UI runs are identical in dmriprep as the UI calls the non-UI run)
Best
Martin
Originally posted by Daniel Berge:
Dear DTIPrep developers,
I have noticed that, as compared to previous versions, even when specifying Report type "2", the interlace correlation values are not saved in the txt file anymore when I run DTIPrep from my script.
Surprisingly, if I run exactly the same protocol from de DTIPrep gui, the generated Report file does contain these correlation values.
Any keys about what I might be doing wrong would be much appreciated.
Thanks in advance.
Dani Bergé
Hospital del Mar Research Institute
Barcelona, Spain
- Jun 26, 2023 09:06 PM | Jon Haitz Legarreta GorroñoMissing library when trying to launch DTIPrep 1.2.11 on Ubuntu 22.04
Hi,
I am trying to use DTIPrep on an Ubuntu 22.04 machine.
I downloaded the
DTIPrep-1.2.11.tar.gzfile corresponding to theDTIPrep1.2.11_linux64release from:
https://www.nitrc.org/frs/?group_id=283
After decompressing the file to a folder on my choice, when calling the DTIPrep executable in the bin folder, the process exits without launching the software with the following error:
$ ./DTIPrep./DTIPrep: error while loading shared libraries: libQtXml.so.4: cannot open shared object file: No such file or directory
The library is not found in the
libfolder. Am I missing some step? If not, can the library be bundled with the compressed file and the issue be fixed, please?
Thanks for your work- Jun 27, 2023 03:06 PM | Sang Kyoon Park - Department of Psychiatry at UNC Chapel HillRE: Missing library when trying to launch DTIPrep 1.2.11 on Ubuntu 22.04
The library issue can be resolved by installing the library, pls contact with your system administrator.
If it's your own machine under your control, that error came from QT XML library. You can try after installing the library, DTIPrep doesn't automatically build or install QT libraries.
You can refer to below site for your reference.
https://ubuntuhandbook.org/index.php/2020/07/install-qt4-ubuntu-20-04/
Thanks
SK
- Jun 28, 2023 02:06 PM | Jon Haitz Legarreta GorroñoRE: Missing library when trying to launch DTIPrep 1.2.11 on Ubuntu 22.04
Hi,
> https://ubuntuhandbook.org/index.php/202...
Had tried following the instructions this morning to no avail; have just retried, probably more carefully, and fixed the problem. For the records, after adding the package archive for Ubuntu 22.04, it sufficed to install qt4-default.
Thanks for the support SK.
- Mar 13, 2023 07:03 PM | David StephensonUsing QC xml interlace and gradient angle/translation values in determining protocol thresholdsHello Martin,
We are currently exploring DTIPrep for QA/QC of our research diffusion data, and had a question about the interpretation of the gradient specific angle and translation values (x/y/z) within the DTIPrep xml QC output.
For our data, we noticed we were getting a number of excludes ('Too many gradient excludes' using the default 20%) where the same comparison in FSL using eddy_quad showed a relatively clean image.
In looking at the xml QC output file using the DTIPrep GUI, we noticed within the Gradient_check FAIL section, the dropdown list of angle/translation xyz would be color coded green and red. I assume that green means that it passed the rotation/translation tolerance in the protocol file, and red means that it was above this tolerance threshold.
However, when we plotted these values within angle/translation metrics (across subjects), we expected that all or most of the gradient FAIL individuals would be on the outlier tails of the distribution, but these plots indicate that, even for those where it indicates the angle/translation was beyond tolerance threshold, that the angle/translation x/y/z values are within the distribution of those individuals who passed all tolerance thresholds and had all global pass flags (i.e. More than #6, Too many bad gradients=FALSE). Plots are attached for our 12ch data gradientwise checks.
We were going to use this information to determine what we could change/relax the gradient rotation/translation tolerances too, but given that there is not a clear relationship between gradient rotation/translation tolerance failure and outlier status relative to other subjects, how do you suggest we use our study sample to derive these thresholds?
Let us know if you have any additional questions or require us to clarify anything.
Thank you,
David StephensonAttachment: GradientWiseCheck_12ch_DTIPrep_Measures_V2.pdf- Mar 13, 2023 08:03 PM | Martin StynerRE: Using QC xml interlace and gradient angle/translation values in determining protocol thresholdsHi David
The Gradient_check is run after the motion correction and looks at residual motion still present (and this is done via an alternative registration/motion correction method applied to the motion corrected data). Not fully sure, but it looks like you are looking at the recovered motion from the motion correction step?
But, in any case, we recommend to disable the gradient_check step, as it is not robust enough, in particular for high b-value DWI volumes (which we have in most of our sequences). So, I would simply skip that step of DTIPrep (while keeping the slice and interlace checks).
In the next-gen DTIPrep (called dmriprep, which is part of dtiplayground https://dtiplayground.readthedocs.io/en/... , it is still under beta release, and combines the processing of DTIPrep and FSL and more), the gradient check is no longer available for the same reason.
Best
Martin
Originally posted by David Stephenson:Hello Martin,
We are currently exploring DTIPrep for QA/QC of our research diffusion data, and had a question about the interpretation of the gradient specific angle and translation values (x/y/z) within the DTIPrep xml QC output.
For our data, we noticed we were getting a number of excludes ('Too many gradient excludes' using the default 20%) where the same comparison in FSL using eddy_quad showed a relatively clean image.
In looking at the xml QC output file using the DTIPrep GUI, we noticed within the Gradient_check FAIL section, the dropdown list of angle/translation xyz would be color coded green and red. I assume that green means that it passed the rotation/translation tolerance in the protocol file, and red means that it was above this tolerance threshold.
However, when we plotted these values within angle/translation metrics (across subjects), we expected that all or most of the gradient FAIL individuals would be on the outlier tails of the distribution, but these plots indicate that, even for those where it indicates the angle/translation was beyond tolerance threshold, that the angle/translation x/y/z values are within the distribution of those individuals who passed all tolerance thresholds and had all global pass flags (i.e. More than #6, Too many bad gradients=FALSE). Plots are attached for our 12ch data gradientwise checks.
We were going to use this information to determine what we could change/relax the gradient rotation/translation tolerances too, but given that there is not a clear relationship between gradient rotation/translation tolerance failure and outlier status relative to other subjects, how do you suggest we use our study sample to derive these thresholds?
Let us know if you have any additional questions or require us to clarify anything.
Thank you,
David Stephenson- Mar 22, 2023 07:03 PM | David StephensonRE: Using QC xml interlace and gradient angle/translation values in determining protocol thresholdsNoted. Thank you Martin.
Originally posted by Martin Styner:Hi David
The Gradient_check is run after the motion correction and looks at residual motion still present (and this is done via an alternative registration/motion correction method applied to the motion corrected data). Not fully sure, but it looks like you are looking at the recovered motion from the motion correction step?
But, in any case, we recommend to disable the gradient_check step, as it is not robust enough, in particular for high b-value DWI volumes (which we have in most of our sequences). So, I would simply skip that step of DTIPrep (while keeping the slice and interlace checks).
In the next-gen DTIPrep (called dmriprep, which is part of dtiplayground https://dtiplayground.readthedocs.io/en/... , it is still under beta release, and combines the processing of DTIPrep and FSL and more), the gradient check is no longer available for the same reason.
Best
Martin
Originally posted by David Stephenson:Hello Martin,
We are currently exploring DTIPrep for QA/QC of our research diffusion data, and had a question about the interpretation of the gradient specific angle and translation values (x/y/z) within the DTIPrep xml QC output.
For our data, we noticed we were getting a number of excludes ('Too many gradient excludes' using the default 20%) where the same comparison in FSL using eddy_quad showed a relatively clean image.
In looking at the xml QC output file using the DTIPrep GUI, we noticed within the Gradient_check FAIL section, the dropdown list of angle/translation xyz would be color coded green and red. I assume that green means that it passed the rotation/translation tolerance in the protocol file, and red means that it was above this tolerance threshold.
However, when we plotted these values within angle/translation metrics (across subjects), we expected that all or most of the gradient FAIL individuals would be on the outlier tails of the distribution, but these plots indicate that, even for those where it indicates the angle/translation was beyond tolerance threshold, that the angle/translation x/y/z values are within the distribution of those individuals who passed all tolerance thresholds and had all global pass flags (i.e. More than #6, Too many bad gradients=FALSE). Plots are attached for our 12ch data gradientwise checks.
We were going to use this information to determine what we could change/relax the gradient rotation/translation tolerances too, but given that there is not a clear relationship between gradient rotation/translation tolerance failure and outlier status relative to other subjects, how do you suggest we use our study sample to derive these thresholds?
Let us know if you have any additional questions or require us to clarify anything.
Thank you,
David Stephenson
- Dec 7, 2022 09:12 AM | vivien chewDTIPrep Installation in UbuntuHello, I have followed usual steps of git cloning the repo:
However, when running the 'make' command, I was faced with this issue:
[ 8%] Built target zlib
[ 8%] Performing configure step for ''VTK''
-- Group StandAlone modules: vtkChartsCore;vtkCommonComputationalGeometry;vtkCommonCore;vtkCommonDataModel;vtkCommonExecutionModel;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkDomainsChemistry;vtkFiltersAMR;vtkFiltersCore;vtkFiltersExtraction;vtkFiltersFlowPaths;vtkFiltersGeneral;vtkFiltersGeneric;vtkFiltersGeometry;vtkFiltersHybrid;vtkFiltersHyperTree;vtkFiltersImaging;vtkFiltersModeling;vtkFiltersParallel;vtkFiltersParallelImaging;vtkFiltersPoints;vtkFiltersProgrammable;vtkFiltersSMP;vtkFiltersSelection;vtkFiltersSources;vtkFiltersStatistics;vtkFiltersTexture;vtkFiltersVerdict;vtkIOAMR;vtkIOCore;vtkIOEnSight;vtkIOExodus;vtkIOGeometry;vtkIOImage;vtkIOImport;vtkIOInfovis;vtkIOLSDyna;vtkIOLegacy;vtkIOMINC;vtkIOMovie;vtkIONetCDF;vtkIOPLY;vtkIOParallel;vtkIOParallelXML;vtkIOSQL;vtkIOTecplotTable;vtkIOVideo;vtkIOXML;vtkIOXMLParser;vtkImagingColor;vtkImagingCore;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInfovisCore;vtkInfovisLayout;vtkParallelCore
-- Group Imaging modules: vtkFiltersImaging;vtkImagingColor;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInteractionImage;vtkRenderingImage
-- Group MPI modules: vtkFiltersParallelDIY2;vtkFiltersParallelGeometry;vtkFiltersParallelMPI;vtkIOMPIImage;vtkIOMPIParallel;vtkIOParallelNetCDF;vtkParallelMPI;vtkdiy2
-- Group Qt modules: vtkGUISupportQt;vtkGUISupportQtOpenGL;vtkGUISupportQtSQL;vtkRenderingQt;vtkViewsQt
-- Group Rendering modules: vtkGeovisCore;vtkIOExport;vtkInteractionImage;vtkInteractionStyle;vtkInteractionWidgets;vtkRenderingAnnotation;vtkRenderingContext2D;vtkRenderingCore;vtkRenderingFreeType;vtkRenderingImage;vtkRenderingLIC;vtkRenderingLOD;vtkRenderingLabel;vtkRenderingVolume;vtkViewsContext2D;vtkViewsCore;vtkViewsInfovis
-- Group Tk modules: vtkRenderingTk
-- Group Views modules: vtkViewsContext2D;vtkViewsGeovis
-- Group Web modules: vtkWebCore;vtkWebPython;vtkWebGLExporter
-- Backend OpenGL2 modules: vtkDomainsChemistryOpenGL2;vtkIOExportOpenGL2;vtkImagingOpenGL2;vtkRenderingContextOpenGL2;vtkRenderingGL2PSOpenGL2;vtkRenderingLICOpenGL2;vtkRenderingOculus;vtkRenderingOpenGL2;vtkRenderingOpenVR;vtkRenderingVolumeOpenGL2
-- Backend OpenGL modules: vtkIOExportOpenGL;vtkRenderingContextOpenGL;vtkRenderingGL2PS;vtkRenderingLIC;vtkRenderingOpenGL;vtkRenderingVolumeOpenGL
-- Enabling modules for OpenGL.
-- Enabled 112 modules:
.
.
.
-- Building tiff version 4.0.6
-- libtiff library version 5.2.4
-- CMAKE_HOST_SYSTEM_PROCESSOR set to x86_64
-- HOST_FILLORDER set to FILLORDER_LSB2MSB
-- HOST_BIG_ENDIAN set to 0
-- HAVE_IEEEFP set to 1
CMake Error at Rendering/OpenGL/CMakeLists.txt:319 (message):
X11_Xt_LIB could not be found. Required for VTK X lib.
-- Configuring incomplete, errors occurred!
See also "/home/vivien/DTIPrep-build/VTK-build/CMakeFiles/CMakeOutput.log".
See also "/home/vivien/DTIPrep-build/VTK-build/CMakeFiles/CMakeError.log".
make[2]: *** [CMakeFiles/VTK.dir/build.make:108: VTK-prefix/src/VTK-stamp/VTK-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:1042: CMakeFiles/VTK.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
May I know how to proceed with this to launch the GUI?- Dec 7, 2022 12:12 PM | Martin StynerRE: DTIPrep Installation in UbuntuThis error is from the compilation process, pretty early, during the compilation of VTK (a visualization library needed by DTIPrep during compilation).
Not sure why, but a basic X library is missing on your system.
Did you try the linux download version first?
Best
Martin
Originally posted by vivien chew:Hello, I have followed usual steps of git cloning the repo:
However, when running the 'make' command, I was faced with this issue:
[ 8%] Built target zlib
[ 8%] Performing configure step for ''VTK''
-- Group StandAlone modules: vtkChartsCore;vtkCommonComputationalGeometry;vtkCommonCore;vtkCommonDataModel;vtkCommonExecutionModel;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkDomainsChemistry;vtkFiltersAMR;vtkFiltersCore;vtkFiltersExtraction;vtkFiltersFlowPaths;vtkFiltersGeneral;vtkFiltersGeneric;vtkFiltersGeometry;vtkFiltersHybrid;vtkFiltersHyperTree;vtkFiltersImaging;vtkFiltersModeling;vtkFiltersParallel;vtkFiltersParallelImaging;vtkFiltersPoints;vtkFiltersProgrammable;vtkFiltersSMP;vtkFiltersSelection;vtkFiltersSources;vtkFiltersStatistics;vtkFiltersTexture;vtkFiltersVerdict;vtkIOAMR;vtkIOCore;vtkIOEnSight;vtkIOExodus;vtkIOGeometry;vtkIOImage;vtkIOImport;vtkIOInfovis;vtkIOLSDyna;vtkIOLegacy;vtkIOMINC;vtkIOMovie;vtkIONetCDF;vtkIOPLY;vtkIOParallel;vtkIOParallelXML;vtkIOSQL;vtkIOTecplotTable;vtkIOVideo;vtkIOXML;vtkIOXMLParser;vtkImagingColor;vtkImagingCore;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInfovisCore;vtkInfovisLayout;vtkParallelCore
-- Group Imaging modules: vtkFiltersImaging;vtkImagingColor;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInteractionImage;vtkRenderingImage
-- Group MPI modules: vtkFiltersParallelDIY2;vtkFiltersParallelGeometry;vtkFiltersParallelMPI;vtkIOMPIImage;vtkIOMPIParallel;vtkIOParallelNetCDF;vtkParallelMPI;vtkdiy2
-- Group Qt modules: vtkGUISupportQt;vtkGUISupportQtOpenGL;vtkGUISupportQtSQL;vtkRenderingQt;vtkViewsQt
-- Group Rendering modules: vtkGeovisCore;vtkIOExport;vtkInteractionImage;vtkInteractionStyle;vtkInteractionWidgets;vtkRenderingAnnotation;vtkRenderingContext2D;vtkRenderingCore;vtkRenderingFreeType;vtkRenderingImage;vtkRenderingLIC;vtkRenderingLOD;vtkRenderingLabel;vtkRenderingVolume;vtkViewsContext2D;vtkViewsCore;vtkViewsInfovis
-- Group Tk modules: vtkRenderingTk
-- Group Views modules: vtkViewsContext2D;vtkViewsGeovis
-- Group Web modules: vtkWebCore;vtkWebPython;vtkWebGLExporter
-- Backend OpenGL2 modules: vtkDomainsChemistryOpenGL2;vtkIOExportOpenGL2;vtkImagingOpenGL2;vtkRenderingContextOpenGL2;vtkRenderingGL2PSOpenGL2;vtkRenderingLICOpenGL2;vtkRenderingOculus;vtkRenderingOpenGL2;vtkRenderingOpenVR;vtkRenderingVolumeOpenGL2
-- Backend OpenGL modules: vtkIOExportOpenGL;vtkRenderingContextOpenGL;vtkRenderingGL2PS;vtkRenderingLIC;vtkRenderingOpenGL;vtkRenderingVolumeOpenGL
-- Enabling modules for OpenGL.
-- Enabled 112 modules:
.
.
.
-- Building tiff version 4.0.6
-- libtiff library version 5.2.4
-- CMAKE_HOST_SYSTEM_PROCESSOR set to x86_64
-- HOST_FILLORDER set to FILLORDER_LSB2MSB
-- HOST_BIG_ENDIAN set to 0
-- HAVE_IEEEFP set to 1
CMake Error at Rendering/OpenGL/CMakeLists.txt:319 (message):
X11_Xt_LIB could not be found. Required for VTK X lib.
-- Configuring incomplete, errors occurred!
See also "/home/vivien/DTIPrep-build/VTK-build/CMakeFiles/CMakeOutput.log".
See also "/home/vivien/DTIPrep-build/VTK-build/CMakeFiles/CMakeError.log".
make[2]: *** [CMakeFiles/VTK.dir/build.make:108: VTK-prefix/src/VTK-stamp/VTK-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:1042: CMakeFiles/VTK.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
May I know how to proceed with this to launch the GUI?Jan 5, 2023 05:01 AM | Michael GreenRE: DTIPrep Installation in UbuntuHi there,
I've also got an issue with an Ubuntu installation.
It's giving me this error:
ERROR: Cannot install dtiplayground==0.4.5, dtiplayground==0.5.0 and dtiplayground==0.5.2 because these package versions have conflicting dependencies.
The conflict is caused by:
dtiplayground 0.5.2 depends on antspyx==0.3.2
dtiplayground 0.5.0 depends on antspyx==0.3.2
dtiplayground 0.4.5 depends on antspyx==0.3.2
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
Any help would be fantastic, thanks. Michael
- Nov 9, 2022 10:11 AM | batelSubject-Specific Changes in dtiHi everyone,
Is there a way to detect Subject-Specific Changes with dtiprep?
Thanks,
Batel- Nov 9, 2022 04:11 PM | Martin StynerRE: Subject-Specific Changes in dtiOriginally posted by batel:Hi everyone,Hi Batel
Is there a way to detect Subject-Specific Changes with dtiprep?
Thanks,
Batel
Not sure I fully understand your question, dtiprep is purely doing preprocessing of diffusion MRI data. It does not provide an analysis, so it will not provide information on changes vs other datasets. In addition to preprocessing the data, it provides motion and data quality information for each scan.
Martin
- Nov 6, 2022 11:11 AM | batelB-matrix rotationHi everyone,
I am trying to do some comparisons between DTIprep and FSL. Does some one know if the bvec are already rotated after eddy current correction at dtiprep and at fsl?
Thanks alot,
Batel- Nov 6, 2022 12:11 PM | Martin StynerRE: B-matrix rotationOriginally posted by batel:Hi everyone,Yes, bvecs are always rotated after motion/eddy current correction (as in FSL)
I am trying to do some comparisons between DTIprep and FSL. Does some one know if the bvec are already rotated after eddy current correction at dtiprep and at fsl?
Thanks alot,
Batel
Martin
- Aug 16, 2022 12:08 PM | Mollie NeasonSliceWiseCheck errorHello,
When running DTIPrep the Image and Diffusion Check run ok, but when it comes to SliceWiseCheck DTIPrep shuts down and I recieve the error "Segmentation fault (core dumped)" in the command line.
Any insight into this would be very helpful. Unsure if it is a fault on my end with the DTIPrep installation or with my scans.
Many thanks,
Mollie- Aug 17, 2022 01:08 PM | Martin StynerRE: SliceWiseCheck errorHi Mollie
Not sure, as Seg faults do not provide a lot information. As the image and diffusion check ran ok, it looks like that the header of your diffusion image is as expected, but possibly the data might not be? Does this happen with all images that you run? Maybe try some test datasets, such as the one here: https://www.na-mic.org/w/img_auth.php/e/...
Best
Martin
Originally posted by Mollie Neason:Hello,
When running DTIPrep the Image and Diffusion Check run ok, but when it comes to SliceWiseCheck DTIPrep shuts down and I recieve the error "Segmentation fault (core dumped)" in the command line.
Any insight into this would be very helpful. Unsure if it is a fault on my end with the DTIPrep installation or with my scans.
Many thanks,
Mollie
- Jun 21, 2022 03:06 PM | Emma GoldenInstalling DTIPrepHello,
Can someone tell me how to install DTIPrep? I'm using an HP and downloaded one of the linux versions. I got the .tar file but I don't understand how to launch the application. Any advice is appreciated. Thank you!
- Emma- Jun 21, 2022 06:06 PM | Martin StynerRE: Installing DTIPrepHi Emma
Use the 1.2.11 download in the download section. Unpack the repository (gtar -xzf in the terminal), and then in the bin folder you find the DTIPrep executable that you should be able to run.
You may need to add the lib folder to your LD_LIBRARY_PATH variable
Martin- Jul 19, 2022 03:07 PM | Emma GoldenRE: Installing DTIPrepHello,
When I try to run the following line in my command window, I get an error: start C:\Users\ch228083\Desktop\DTIPrep-1.2.11\bin\DTIPrep
The error says "This file does not have an app associated with it for performing this action. Please install an app or, if one is already installed, create an association in the Default Apps Settings page."
I'm not sure how to resolve this issue.
Emma- Jul 20, 2022 06:07 PM | Martin StynerRE: Installing DTIPrepOriginally posted by Emma Golden:Hello,
When I try to run the following line in my command window, I get an error: start C:\Users\ch228083\Desktop\DTIPrep-1.2.11\bin\DTIPrep
The error says "This file does not have an app associated with it for performing this action. Please install an app or, if one is already installed, create an association in the Default Apps Settings page."
I'm not sure how to resolve this issue.
Emma
Hi Emma
Are you trying to run DTIPrep in Windows (which would not work, as we do not have a compilation for any Windows system)?
Martin
- May 26, 2022 03:05 AM | Raúl Gonzalez - Adolfo Ibañez Universitytutorial DTIprep on dockerHello, someone have a tutorial of DTIprep with docker or other tutorial for automatic analysis
Best regards
Raul- May 27, 2022 01:05 PM | Martin StynerRE: tutorial DTIprep on dockerThere is no docker (or plan to create docker, as we are working on the next-gen DTiprep called dmriprep, which will be available in dockerized form).
There is a tutorial in the document section
There is also a more general diffusion QC video tutorial available on my lab's document page (lesson 3 of the diffusion tutorials):
https://www.med.unc.edu/psych/research/n...
Martin
Originally posted by Raúl González-Gómez:Hello, someone have a tutorial of DTIprep with docker or other tutorial for automatic analysis
Best regards
Raul
- Apr 19, 2022 07:04 PM | Alicia HilderleyIssues with poor quality scansI have noticed that DTIprep is less sensitive for poor quality scans (e.g., >30% bad volumes). Volumes that have visible artifacts are not flagged as bad during slice-wise checking. I am using default parameters. Should I adjust any parameters?
Thank you,
Alicia- Apr 20, 2022 05:04 PM | Martin StynerRE: Issues with poor quality scansOriginally posted by Alicia Hilderley:I have noticed that DTIprep is less sensitive for poor quality scans (e.g., >30% bad volumes). Volumes that have visible artifacts are not flagged as bad during slice-wise checking. I am using default parameters. Should I adjust any parameters?
Thank you,
Alicia
The thresholds are based on the variance in the data (e.g. the variance on inter-slice correlation) and thus adjusts to the image quality settings. But, you can adjust the thresholds in the protocol. Increasing thresholds will lead to more generous QC and reducing them will lead to more strict QC.
I would start with the slice-checking threshold and reduce that one such that you get the desired results for your data.
If your artifacts are more motion related and you see a slice-by-slice offset when viewing the data in a slice orthogonal to the acquisition plane, then you could also adjust the interlace thresholds
Best
Martin
- Apr 4, 2022 02:04 PM | Emma GoldenDTIPrep ExtensionHi all,
I'm trying to install the most recent version of DTIPrep in 3DSlicer but it doesn't show up when I search for it in Slicer extensions. It also doesn't appear under any of the modules. How do I install DTIPrep as an extension? For reference, I'm using a Mac running macOS Monterey.
Thank you!- Apr 5, 2022 03:04 PM | Martin StynerRE: DTIPrep ExtensionOriginally posted by Emma Golden:Hi all,
I'm trying to install the most recent version of DTIPrep in 3DSlicer but it doesn't show up when I search for it in Slicer extensions. It also doesn't appear under any of the modules. How do I install DTIPrep as an extension? For reference, I'm using a Mac running macOS Monterey.
Thank you!
Hi Emily,
DTIPrep is not disseminated via 3D Slicer extensions anymore (it was too much of a hassle to keep updating DTIprep to be compatible with newer Slicer releases). You might be able to still download it as an extension for earlier Slicer versions, but it likely is easier to just download it from here, though the Mac/Darwin version is a bit aged. In general, we recommend the linux version, downloaded from NITRC.
Best
Martin
- Jan 4, 2018 11:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)brain masking, skull stripingDear DTIPrep experts,
I am trying to run brainmasking from the DTIPrep Pipeline modifying the defaults. It turns that braimaksing does not seem to strip skull. Using the "Slicer" flag it seems to run ok according to QCReport, but image QCed still has skull. Using any of the FSL options ends up with image math failure in the QCReport.
Any solution? I've checked the protocol paths and everything seems to be where it should be . Usually I leave the "Brainmask_MaskedImage" field empty but I also have added a subject-specific mask in this field and it does the same.
Thanks in advance.- Jan 5, 2018 04:01 PM | Martin StynerRE: brain masking, skull stripingThe Slicer brain masking is not the best (which is likely why there's still skull in the image,I assume that something was removed?). For the FSL option, our tool ImageMath is used. Unfortunately there are other tools that have also an ImageMath binary (e.g. ANTs or Rview), so you need to make sure that the path to DTIPrep's ImageMath folder has to be before the paths of the other tools.
I usually use bet with IDWI
Martin- Jan 18, 2018 10:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: brain masking, skull stripingHi,
After troubleshooting some issues with the paths of the tools, it turns that brainmask does not work because he cannot find subj_IDWI.nrrd. I noticed that when I check "compute the DTI" (usually I uncheck this last step), a subj_IDWI.nrrd file is generated. Does it make sense?
Also, when trying to do visual inspection, it only saves the changes to a subj_QCed_VC.nrrd file if the DTI tensor had previously been computed. Does that make sense also or it is just something related to my computer?
ThanksDec 11, 2019 04:12 PM | gpicci - The Pennsylvania State UniversityRE: brain masking, skull stripingHi Martin,
I am also having a similar issue. The rest of DTIprep runs smoothly, but I keep getting brains that are not properly skull stripped. I am getting the following error message:
Brain Mask
Brain Mask FSL
/Path/To/ImageMath
ImageMath cannot be started.
Any ideas what issue this may be? Also, you mention that the ImageMath folder has to be before the paths of other tools - what do you mean by this? Does ImageMath need to be a directory above other tools?
Thank you for your help!
Giorgia
Originally posted by Martin Styner:The Slicer brain masking is not the best (which is likely why there's still skull in the image,I assume that something was removed?). For the FSL option, our tool ImageMath is used. Unfortunately there are other tools that have also an ImageMath binary (e.g. ANTs or Rview), so you need to make sure that the path to DTIPrep's ImageMath folder has to be before the paths of the other tools.
I usually use bet with IDWI
Martin- Mar 4, 2022 03:03 AM | Yingying Wang - University of Nebraska-LincolnRE: brain masking, skull stripingsame issue with brain masking.
FSL_bet path
shall I set it to my fsl folder: /usr/local/fsl or bet2 folder: /usr/local/fsl/bin/bet2
Any comments?- Mar 4, 2022 04:03 AM | Martin StynerRE: brain masking, skull stripingOriginally posted by Yingying Wang:same issue with brain masking.to the bet2 binary and thus the second of your options
FSL_bet path
shall I set it to my fsl folder: /usr/local/fsl or bet2 folder: /usr/local/fsl/bin/bet2
Any comments?
- Nov 30, 2021 05:11 PM | Michelle HanDTIPrep CLI setupHi,
I've been trying to set up the CLI for DTIPrep on OSX to write some DWI processing pipelines using DTIPrep. I've cloned into the GitHub repository and have built it (had to use "make -i" for errors in downloading ExternalData but otherwise, no errors). I see other binaries in DTIPrep-build/DTIPrepTools-install/bin but the DTIPrep itself is an app. And the DTIPrep.app contents in the bin folder, executing DTIPrep brings up the GUI.
Have I missed a step in the installation or am I not looking in the right place? I've included the error I was running into during installation in case that might be relevant to how the package was ultimately installed.
Thanks so much!
Michelle
--------------
CMake Error at /work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1012 (message):
Object MD5=94839def0264128ad7f42119a08bc66f not found at:
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
Call Stack (most recent call first):
/work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1034 (_ExternalData_download_object)- Nov 30, 2021 06:11 PM | Martin StynerRE: DTIPrep CLI setupMacOS X generates App packages, not simple binaries. But, a binary executable is still generated as part of the package, which is located in DTIPrep.app/Contents/MacOS and is called DTIPrep. You should be able to call that DTIPrep with the usual CLI, i.e. DTIPrep.app/Contents/MacOS/DTIPrep -p myProtocol.xml -c -f myOutputFolder -w myInputDWI.nrrd
Best
Martin
Originally posted by Michelle Han:Hi,
I've been trying to set up the CLI for DTIPrep on OSX to write some DWI processing pipelines using DTIPrep. I've cloned into the GitHub repository and have built it (had to use "make -i" for errors in downloading ExternalData but otherwise, no errors). I see other binaries in DTIPrep-build/DTIPrepTools-install/bin but the DTIPrep itself is an app. And the DTIPrep.app contents in the bin folder, executing DTIPrep brings up the GUI.
Have I missed a step in the installation or am I not looking in the right place? I've included the error I was running into during installation in case that might be relevant to how the package was ultimately installed.
Thanks so much!
Michelle
--------------
CMake Error at /work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1012 (message):
Object MD5=94839def0264128ad7f42119a08bc66f not found at:
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
Call Stack (most recent call first):
/work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1034 (_ExternalData_download_object)- Nov 30, 2021 07:11 PM | Michelle HanRE: DTIPrep CLI setupHi Martin,
Thanks so much for the very quick response! I appreciate it. It looks like when I was trying to use that particular binary it was triggering the GUI to pop up because I wasn't giving it any parameters (I was expecting it to give me the "help" text if given no parameters). I've just tried it with some arbitrary parameters and it looks like that's what I was missing!
Thanks again for the help,
Michelle
Originally posted by Martin Styner:MacOS X generates App packages, not simple binaries. But, a binary executable is still generated as part of the package, which is located in DTIPrep.app/Contents/MacOS and is called DTIPrep. You should be able to call that DTIPrep with the usual CLI, i.e. DTIPrep.app/Contents/MacOS/DTIPrep -p myProtocol.xml -c -f myOutputFolder -w myInputDWI.nrrd
Best
Martin
Originally posted by Michelle Han:Hi,
I've been trying to set up the CLI for DTIPrep on OSX to write some DWI processing pipelines using DTIPrep. I've cloned into the GitHub repository and have built it (had to use "make -i" for errors in downloading ExternalData but otherwise, no errors). I see other binaries in DTIPrep-build/DTIPrepTools-install/bin but the DTIPrep itself is an app. And the DTIPrep.app contents in the bin folder, executing DTIPrep brings up the GUI.
Have I missed a step in the installation or am I not looking in the right place? I've included the error I was running into during installation in case that might be relevant to how the package was ultimately installed.
Thanks so much!
Michelle
--------------
CMake Error at /work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1012 (message):
Object MD5=94839def0264128ad7f42119a08bc66f not found at:
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
file:////work/DTIPrep-build/BRAINSTools/... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
Call Stack (most recent call first):
/work/DTIPrep-build/BRAINSTools/CMake/ExternalData.cmake:1034 (_ExternalData_download_object)
- Jul 2, 2020 06:07 PM | Steven Meisler - Harvard University / MITPosterior to Anterior FlipFor some reason, my DWI output from DTIPrep is flipped posterior-to-anterior (see attached image). I have confirmed that none of the raw data, including T1, have this same flip. My code is below and uses AFNI, DTIPrep (1.2.9), and DWIConvert from Slicer (4.6.2)
------------------
#flip X vector because Siemens...
1dDW_Grad_o_Mat \
-in_grad_rows bvec \
-out_grad_cols bvec_transpose_flip_x.txt \
-keep_b0s
#convert DWI image data from NIFTI to NRRD
DWIConvert \
--inputVolume dwi_raw.nii.gz \
--inputBVectors bvec_transpose_flip_x.txt \
--inputBValues bval_transpose.txt \
--conversionMode FSLToNrrd \
-o dwi.nrrd
#Run default QC check
DTIPrep \
-c \
-d \
-p default_protocol.xml \
-w dwi.nrrd \
--numberOfThreads 4
#Convert corrected DWI image data from NRRD to NIFTI-------------------
DWIConvert \
--inputVolume dwi_QCed.nrrd \
--outputVolume dwi_QCed.nii \
--outputBVectors dwi_QCed.bvec \
--outputBValues dwi_QCed.bval \
--conversionMode NrrdToFSL \
--allowLossyConversion
gzip dwi_Qced.nii -f
Do you know what might be causing this problem? I did not have this same issue in DTIPrep 1.2.4 as far as I remember.
Thanks,
StevenAttachment: PAflip.png- Jul 2, 2020 07:07 PM | Steven Meisler - Harvard University / MITRE: Posterior to Anterior FlipIn the meantime, incase anyone else has this problem, here is a workaround that uses FSL. [url=https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Orientation%20Explained]It isn't the most elegant solution[/url]:
fslorient -deleteorient dwi_QCed.nii.gz
fslswapdim dwi_QCed.nii.gz -x y z dwi_reorient.nii.gz #WHETHER X Y AND Z ARE POSITIVE OR NEGATIVE DEPENDS ON THE ORIENTATION OF YOUR BRAIN
fslorient -setqformcode 1 dwi_reorient.nii.gzJul 2, 2020 09:07 PM | Martin StynerRE: Posterior to Anterior FlipHi Steven
This may be an imperfect conversion to/from NIFTI.
Best way to check is to use 3D Slicer and load the NRRD file after DWIConvert, as well as after DTIPrep. If they are both flipped then it's the conversion (or a data issue prior to conversion to NRRD). If neither is flipped, then it may be the conversion back to NIFTI (or a header interpretation issue after the conversion within FSL).
There can be issues of coordinate spaces in NIFTI when processing data with FSL. The processing in FSL can change the coordinate space information, sometimes only partially, in the NIFTI header even when no registration is performed. This is not a problem when you stay within FSL, but can be an issue if you use the NIFTI files in other tools.
Quick question: how did you do the conversion from DICOM? The way we do it in the lab (and we alternate between NIFTI and NRRD quite a bit and usually it's an issue on NIFTI/FSL's side) is that we start with converting DICOM to NRRD using DWIConvert. Then run DTIPrep and finally convert to NIFTI for processing in FSL. DWIConvert is also used by the 3D Slicer groups for surgical planning (so I do trust its DICOM conversion quite a bit).
Martin- Jul 2, 2020 11:07 PM | Steven Meisler - Harvard University / MITRE: Posterior to Anterior FlipHi Martin,
Thanks for the quick reply. Turns out the problem was in DWIConvert, albeit I do not know where. Our lab typically will do DCM --Dcm2Nii--> Nifti --DWIConvert---> NRRD --DWIConvert--> Nifti, since not everyone uses DTIPrep (yet....) and most people are using FSL or similar apps. I do not know why it is only happening with this particular dataset, as far as I know.- Jul 3, 2020 02:07 PM | Martin StynerRE: Posterior to Anterior FlipWe use dcm2nii for our fMRI data (dcm2nii is a very nice tool), but have made the experience that DWIConvert provides better conversion from DICOM (rarely needs manual correction), particular for Siemens data. We commonly use the Bmatrix option of DWIConvert that computes the actually applied b-val and b-vec rather than those recorded in the DICOM tags (which commonly are the prescribed values and not the actually applied ones, though in truth the difference is minimal).
If your folks prefer NITFI then they could also use DWIConvert --conversionMode DicomToFSL
Martin- Jul 3, 2020 04:07 PM | Steven Meisler - Harvard University / MITRE: Posterior to Anterior FlipDo you know what version of Slicer the DWIConvert on the Downloads page is from? I think Slicer 4.10 introduced a new DWIConvert that fixes this issue, looking at the Slicer forum. I unfortunately am having trouble installing new full builds on my HPC.
- Jul 3, 2020 04:07 PM | Martin StynerRE: Posterior to Anterior FlipOriginally posted by Steven Meisler:Do you know what version of Slicer the DWIConvert on the Downloads page is from? I think Slicer 4.10 introduced a new DWIConvert that fixes this issue, looking at the Slicer forum. I unfortunately am having trouble installing new full builds on my HPC.
I quickly checked with the version installed on my Mac Slicer 4.10.2. If I run:
/Applications/Slicer4.10.2.app/Contents/lib/Slicer-4.10/cli-modules/DWIConvert --version
then I get:
/Applications/Slicer4.10.2.app/Contents/lib/Slicer-4.10/cli-modules/DWIConvert version: 4.8.0
Thus the one that I recently uploaded (version 4.6, compiled independently from Slicer) is a bit older than the one in Slicer 4.10.
Quick question on your cluster computation issues: Is it an installation issue or are rather how to call DWIConvert from the command line/in a script?
On the UNC HPC, this works for me (Slicer installed in our lab disk space that is shared with the compute nodes):
/proj/NIRAL/tools/Slicer-4.10.2-linux-amd64/Slicer --launch DWIConvert --version
/proj/NIRAL/tools/Slicer-4.10.2-linux-amd64/bin/../lib/Slicer-4.10/cli-modules/./DWIConvert version: 4.8.0
Best
Martin- Jul 3, 2020 04:07 PM | Steven Meisler - Harvard University / MITRE: Posterior to Anterior FlipJust tried out DWIConvert 5.2 from Slicer 4.11, it fixed the problem!
- Jul 3, 2020 04:07 PM | Martin StynerRE: Posterior to Anterior FlipOriginally posted by Steven Meisler:Just tried out DWIConvert 5.2 from Slicer 4.11, it fixed the problem!Perfect!
- Jul 3, 2020 06:07 PM | Steven Meisler - Harvard University / MITRE: Posterior to Anterior FlipIf you could somehow upload a standalone version of the DWIConvert from Slicer 4.10 or above that would be appreciated. Since slicer looks for shared library files I have to do some tinkering for Slicer to go to my Slicer installation instead of the central Slicer installation; it has not been consistently working. Maybe I can get admin to update the central install too.
- Jul 3, 2020 10:07 PM | Martin StynerRE: Posterior to Anterior FlipOriginally posted by Steven Meisler:If you could somehow upload a standalone version of the DWIConvert from Slicer 4.10 or above that would be appreciated. Since slicer looks for shared library files I have to do some tinkering for Slicer to go to my Slicer installation instead of the central Slicer installation; it has not been consistently working. Maybe I can get admin to update the central install too.I just uploaded a near standalone version of DWIConvert 5.3.0 (it has one non-standard dynamic library association, libtbb, which is in the same zip file) to the Download section. Hope this works for you.
Best
Martin
Nov 8, 2021 06:11 PM | Beth KruseRE: Posterior to Anterior FlipHi Martin,
We are having the same issue discussed above (both the flipping of images and shared library issues when running Slicer). The available standalone version (DWIConvert 5.3.0) is asking for a very old version of the Unicode library (libicuuc version 50) that we do not have on our servers. Would it be possible to have a standalone download for the DWIConvert from Slicer 4.11 or 4.13?
Thanks for your help!
Beth- Nov 9, 2021 02:11 PM | Martin StynerRE: Posterior to Anterior FlipHi Beth
I just uploaded a static compilation of DWIConvert 5.3.0 (current version, freshly compiled from the BRAINTools repository). This is still compiled on CentOS/RH 6 (that's the system we have in the lab), but no longer needs libicuuc. Hope this helps.
Go to the download section for this version.
Hope this helps
Martin
Originally posted by Beth Kruse:Hi Martin,
We are having the same issue discussed above (both the flipping of images and shared library issues when running Slicer). The available standalone version (DWIConvert 5.3.0) is asking for a very old version of the Unicode library (libicuuc version 50) that we do not have on our servers. Would it be possible to have a standalone download for the DWIConvert from Slicer 4.11 or 4.13?
Thanks for your help!
Beth
- Oct 23, 2021 06:10 AM | neda mohammadiInstallation Error_QT4 issueDear Experts,
Hi,
I'm traying to install DTI-Prep on Ubuntu 20.04 alongside other software such as MRTrix, but because of QT4 issue, I haven't installed it yet.
I followed these commands:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. cmake ../DTIPrep
4. make
But in step 3 I get error about QT4 and annoconda that has QT5 ......
would you please let me know how can I have DTI-Prep on Ubuntu 20.04 and/or alongside MRTrix if it is possible?
Thanks
Neda- Nov 9, 2021 02:11 PM | Martin StynerRE: Installation Error_QT4 issueYeah, unfortunately DTIPrep needs Qt4 (which is a bit outdated). DTIPrep will soon be replaced with an updated new framework called dmriprep which will combine the functionality of DTIPrep with eddy/topup in FSL 6 and that tool will no longer need Qt4.
For your immediate problem, you will need to compile DTIPrep with Qt4, i.e. you need to install a Qt4 package on your machine (you can multiple Qt versions installed)
Martin
Originally posted by neda mohammadi:Dear Experts,
Hi,
I'm traying to install DTI-Prep on Ubuntu 20.04 alongside other software such as MRTrix, but because of QT4 issue, I haven't installed it yet.
I followed these commands:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. cmake ../DTIPrep
4. make
But in step 3 I get error about QT4 and annoconda that has QT5 ......
would you please let me know how can I have DTI-Prep on Ubuntu 20.04 and/or alongside MRTrix if it is possible?
Thanks
Neda- Nov 11, 2021 06:11 AM | neda mohammadiRE: Installation Error_QT4 issueThanks Martin,Yes I install QT4, and so...But now in step 4 I get this error:
[ 25%] Generating /home/nbml/Downloads/DTIprep/BRAINSTools-build/ExternalData/ALLPVCRBLWM.nii.gz
-- Fetching "file:////home/nbml/Downloads/DTIprep/BRAINSTools/.ExternalData/MD5/c089e662803c74fec3750c0a40ef8209"
-- Fetching "http://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=c089e662803c74fec3750c0a40ef8209"
-- Fetching "http://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=c089e662803c74fec3750c0a40ef8209&algorithm=MD5"
-- [download 100% complete]
-- Fetching "http://www.itk.org/files/ExternalData/MD5/c089e662803c74fec3750c0a40ef8209"
-- [download 100% complete]
-- Fetching "file:////home/nbml/Downloads/DTIprep/BRAINSTools/ReferenceAtlas/.ExternalData/MD5/c089e662803c74fec3750c0a40ef8209"
-- Fetching "http://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=c089e662803c74fec3750c0a40ef8209"
-- Fetching "http://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=c089e662803c74fec3750c0a40ef8209&algorithm=MD5"
-- [download 100% complete]
-- Fetching "http://www.itk.org/files/ExternalData/MD5/c089e662803c74fec3750c0a40ef8209"
-- [download 100% complete]
CMake Error at /home/nbml/Downloads/DTIprep/BRAINSTools/CMake/ExternalData.cmake:1012 (message):
Object MD5=c089e662803c74fec3750c0a40ef8209 not found at:
file:////home/nbml/Downloads/DTIprep/BRAINSTools/.ExternalData/MD5/c089e662803c74fec3750c0a40ef8209 ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
file:////home/nbml/Downloads/DTIprep/BRA... ("Couldn't read a file:// file")
http://slicer.kitware.com/midas3/api/res... ("HTTP response code said error")
http://midas3.kitware.com/midas/api/rest... ("HTTP response code said error")
http://www.itk.org/files/ExternalData/MD... ("HTTP response code said error")
Call Stack (most recent call first):
/home/nbml/Downloads/DTIprep/BRAINSTools/CMake/ExternalData.cmake:1034 (_ExternalData_download_object)
ReferenceAtlas/CMakeFiles/ReferenceAtlasFetchData.dir/build.make:171: recipe for target 'ExternalData/ALLPVCRBLWM.nii.gz.md5-stamp' failed
make[5]: *** [ExternalData/ALLPVCRBLWM.nii.gz.md5-stamp] Error 1
CMakeFiles/Makefile2:650: recipe for target 'ReferenceAtlas/CMakeFiles/ReferenceAtlasFetchData.dir/all' failed
make[4]: *** [ReferenceAtlas/CMakeFiles/ReferenceAtlasFetchData.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/BRAINSTools.dir/build.make:118: recipe for target 'BRAINSTools-prefix/src/BRAINSTools-stamp/BRAINSTools-build' failed
make[2]: *** [BRAINSTools-prefix/src/BRAINSTools-stamp/BRAINSTools-build] Error 2
CMakeFiles/Makefile2:1270: recipe for target 'CMakeFiles/BRAINSTools.dir/all' failed
make[1]: *** [CMakeFiles/BRAINSTools.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
It seems that all links have changed, and I have no idea to fix this problem.
Would you please help me in this issue?
Neda
- Jan 19, 2021 08:01 PM | Steven Meisler - Harvard University / MITSuggestions for HCP DataHi,
Do you have any suggestions for using DTIPrep on HCP datasets? A typical diffusion dataset for a subject includes multiple pairs of AP-PA full sequences, along with sbrefs and fieldmap acquisition. The HCP processing pipeline usually includes averaging the AP-PA pairs together while denoising, and I imagine this would be thrown off if one removes slices with DTIPrep beforehand. Happy to provide more info as needed. Any guidance on this?
Thanks,
Steven
- Jan 19, 2021 08:01 PM | Martin StynerRE: Suggestions for HCP DataHi Steven
Good question. Most of our new studies have HCP-like sequences and thus DTIPrep is insufficient for the full preprocessing pipeline (as it does not provide any susceptibility correction). So, a new version of DTIPrep is needed, one that interfaces with FSL (or other toolboxes) to achieve the susceptibility correction.
And I am really not a fan of the old-FSL-style processing by averaging AP-PA sequences. The "new" style processing rather corrects susceptibility artifacts in the individual AP & PA volumes, but does not average them. This allows, for example, that you can reject a bad volume in AP, but include the corresponding good volume in PA. This also allows the processing of incompletely acquired data (where the subject had to leave the scanner early).
Furthermore, the new FSL versions (6.0.1+) have powerful correction methods included in eddy (FSL's eddy current and motion correction tool), particularly to incorporate the computed susceptibility-undistortion field into the eddy current/motion correction, as well as interpolate bad data. But, I think it would be bad practice use a volume that has significant artifacts throughout the image for the purpose of interpolation (i.e. it's better to just reject that whole bad image).
So, our most up-to-date (script-based) processing starts with a conservative DTIPrep, which removes the really bad volumes and does not do a motion/eddy current correction. The data is then converted to NIFTI, for use with FSL 6.0.3 for a topup-eddy based correction of susceptibility/motion/eddy/remaining-bad-data-interpolation.
Happy to share my scripts, if interestd.
Best
Martin- Jan 19, 2021 09:01 PM | Steven Meisler - Harvard University / MITRE: Suggestions for HCP DataHi Martin,
Thanks for the quick reply! I also use a conservative DTIPrep implementation, only running slice-wise and interlace checks with pretty strict thresholds to throw out bad volumes. If you are willing to share your scripts I'd like to take a look at them. Ideally, I would like to use the QCed files as inputs to QSIPrep. To this end, since I do not want to concatenate AP-PA together for computational efficiency, I would probably need to have the AP-PA sequences have the same amount of data, so I would be interested in applying interpolation technique. In your opinion, would interpolation be better served after Eddy/Topup has been run?
Best,
Steven
May 19, 2021 10:05 AM | Gustavo SudreRE: Suggestions for HCP DataMartin,
Just jumping in the discussion here! Could you make those scripts available? I'm working with data from a couple different studies that have similar sequences, so it would be great to take a look at those scripts and how they prepare the data for eddy!
Thanks a bunch,
Gustavo- Nov 9, 2021 02:11 PM | Martin StynerRE: Suggestions for HCP DataSorry this took a bit, as i had not checked the forum in a while.
attached is the script (tcsh) that I ran to combine DTIPrep & topup & eddy (FSL 6.0.3) in one of our studies
Best
Martin
Originally posted by Gustavo Sudre:Martin,
Just jumping in the discussion here! Could you make those scripts available? I'm working with data from a couple different studies that have similar sequences, so it would be great to take a look at those scripts and how they prepare the data for eddy!
Thanks a bunch,
GustavoAttachment: topupSingleFolder.script
Oct 23, 2021 11:10 AM | neda mohammadiRE: Suggestions for HCP DataHi Dear Martin,
Sorry, I have a question about installation DTI-Prep on Ubuntu 20.04 alongside MRtrix software, would you please help me? I posted a question in this forum...
Thanks in advance
Neda
- May 30, 2021 07:05 AM | Mao HenryDTIPrep BaselineAverage doesn't work.My data has 1 b0 volume at first index, and 9 b0 volumes at last nine index. In protocol file I set BASELINE_bAverage to Yes. But it seems that it doesn't work at all. Anyone can help?Attachment: 屏幕截图 2021-05-30 153348.png
- Nov 9, 2021 02:11 PM | Martin StynerRE: DTIPrep BaselineAverage doesn't work.DTIPrep only detect b0 volumes that have a b-value of exactly 0 (i.e. b=1 or b=0.1 will not be detected as baselines). this might be the problem here.
Martin
Originally posted by Mao Henry:My data has 1 b0 volume at first index, and 9 b0 volumes at last nine index. In protocol file I set BASELINE_bAverage to Yes. But it seems that it doesn't work at all. Anyone can help?
- Apr 2, 2021 07:04 PM | Sofia Cardenas - UNIVERSITY OF SOUTHERN CALIFORNIADTIPrep Module for SlicerHello all,
I am new to DTIPrep and am hoping to install the extension into 3DSlicer for my mac. I am not able to find the most up-to-date version of the DTIPrep extension (the most recent I am finding on slicer.kitware is from 2015). Any and all leads would be appreciated.
FYI: my operating system is macOSCatalina.
Thank you!- Apr 26, 2021 03:04 PM | Martin StynerRE: DTIPrep Module for SlicerUpdating the Slicer extension is not trivial and thus it always takes us quite a bit to update them when new versions of 3D slicer are released.
You could either use the version that is in the download section here (which is the 2017 version, so I am not 100% sure it works with Catalina) or download an older version of Slicer that has a working extension.
as a note, we are working on a significantly changed new version that will also provide susceptibility correction (via FSL) .
Martin
- Apr 1, 2021 01:04 PM | ritagvDWMRI gradient mismatchDear DTIPrep experts,
I am running DTIPrep on multi-shell diffusion data.
I am having very strange values in the diffusion bcheck step for every gradient:
DWMRI_gradient_0001 mismatch!
DWI: [ -0x1.84ca3b8c8efc9p-5 0x1.0b17b1aa502d8p-1 0x1.b422f64036d8ep-1 ]
protocol: [ -0x1.f1688d1f2f156p-5 0x1.97a41e01e39a7p-2 0x1.d4a6eb2ee00d5p-1 ]
Colinearity angle (degrees): 0x1.001bffb706bdcp+3 > 0x1p+0
Do you have some advice on things we should check? Or do you think it is safe to ignore these warnings based on the answer to a previous topic titled "DTIPrep on multi-shell data + DWMRI gradient mismatch error".
I am sending you the QCReport file attached.
Thanks in advance for your help!Attachment: sub-MRI201912181ISIC170_run-01_dwi_QCReport.txt- Apr 26, 2021 03:04 PM | Martin StynerRE: DWMRI gradient mismatchThe gradient mismatch is quite sensitive. In general, the bcheck step helps in identifying whether the wrong protocol was used during the acquisition (e.g. the wrong b-table), but it's perfectly fine for individual gradients to mismatch with the protocol.
Martin
- Mar 17, 2021 10:03 AM | ritagvImageMath crashesDear experts,
I am a new user of DTIPrep and I am having some problems when I set the BRAINMASK_bCheck option to Yes in the protocol.
In the QC Report it is written:
Brain Mask FSL
/home/rita/Desktop/DTIPrep-1.2.11/bin/ImageMath crashes.
I checked all the paths and if the files are executable. Everything looks fine to me.
Also, I am having some errors during dtiprocess and dtiestim (picture attached). Only _Baseline, _DTI and _IDWI files are created.
Thanks in advance!
RitaAttachment: ParseError.jpeg- Mar 17, 2021 02:03 PM | Martin StynerRE: ImageMath crashesImageMath: This might be an issue due to ANTS having also a tool/executable called ImageMath (and of course, the two tools are not compatible, even though they do similar tasks). If you have the ANTS ImageMath in your PATH, then that could be the source of your issue. Solution would be to either remove ANTS from your PATH when running DTIPrep or ensure that the DTIPrep path is mentioned before the ANTS path.
dtiestim seems to have worked, though not dtiprocess. Best turn off writing the frobenius norm image in the DTIPrep protocol (probably a version issue on dtiprocess).
Martin
Originally posted by ritagv:Dear experts,
I am a new user of DTIPrep and I am having some problems when I set the BRAINMASK_bCheck option to Yes in the protocol.
In the QC Report it is written:
Brain Mask FSL
/home/rita/Desktop/DTIPrep-1.2.11/bin/ImageMath crashes.
I checked all the paths and if the files are executable. Everything looks fine to me.
Also, I am having some errors during dtiprocess and dtiestim (picture attached). Only _Baseline, _DTI and _IDWI files are created.
Thanks in advance!
Rita
- Aug 12, 2020 01:08 PM | Maria Economou - KU LeuvenDTIPrep on multi-shell data + DWMRI gradient mismatch errorHi all,
I have a large dataset (n>100) on which I want to apply DTIPrep for faster QC. Multi-shell diffusion data were acquired with the following scheme: b-values of 0,700,1000 and 2000 s/mm2 at 7,20,32 and 60 directions respectively. I used DWIConvert and the FSLtoNrrd flag to convert my data into the right format for DTIPrep. The protocol includes 2mm translation and 0.5 degrees rotation thresholds.
1) I was wondering if anyone has experience using DTIPrep on multi-shell data? I noticed that during at the diffusion bcheck step, the bvalue is set at 2000 - does this mean that DTIprep assumes all gradients were acquired with a single bvalue? And to what extend is this an issue?
2) I applied DTIPrep on a subset of subjects and after looking at some of the reports I noticed this error during the bvalue check step:
"DWMRI_gradient_0000 mismatch!". This error is present in most of the gradients (regardless of bvalue) in almost all subjects. To what extend is this problematic for further outlier detection steps?
What I also noticed was that in some subjects DTIPrep systematically only evaluated included gradients up to a certain number (59 in our dataset) without going through the entire dataset (119 gradients). Has anyone experienced this issue before or any other possible explanations?
Many thanks in advance for the feedback and don't hesitate to ask me for more information!
Best,
Maria- Aug 14, 2020 06:08 PM | Steven Meisler - Harvard University / MITRE: DTIPrep on multi-shell data + DWMRI gradient mismatch errorHi Maria,
1) What version of DTIPrep and DWIConvert are you using? Older versions tend to not preserve all the b-values. I use https://github.com/pnlbwh/conversion/tree/master/conversion to do my FSLtoNRRD conversions.
To my knowledge, the diffusion bcheck step is not too problematic. I usually disable it.
2) You may want to make sure your bval and bvec files are okay (DTIPrep may expect them in row or column format, and make sure they have the same number of elements). I have not come across that error yet.
3) Does that 59 index correspond to where your bval changes from 1000 to 2000 by any chance? Since image intensity changes with b-value, DTIPrep may be interpreting those high b-val scans as interlace-wise outliers. If so, you can change the protocol to make the interlace-wise check thresholds for gradients much more conservative, or disable the check altogether.
Does this makes sense?
Best,
Steven- Aug 16, 2020 09:08 PM | Martin StynerRE: DTIPrep on multi-shell data + DWMRI gradient mismatch errorHi Maria
1. Multishell: yes DTIPrep can deal with multishell, just make sure the data correctly converted to NRRD. See also: https://www.na-mic.org/wiki/NAMIC_Wiki:DTI:Nrrd_format
we apply DTIprep to multi-shell all the time (it's most common way to apply it). While it adjust threshold to be more forgiving for higher shells (due to the lower SNR), it's still the case that higher shell data is more likely (erroneously) removed. Thus, inspect your initial data after DTIprep and see whether you want to relax the threshold to be less strict.
2. best disable the diffusion check, just as Steven suggested
Best
Martin
Sep 30, 2020 09:09 AM | Maria Economou - KU LeuvenRE: DTIPrep on multi-shell data + DWMRI gradient mismatch errorDear Steven and Martin,
Thank you both for the suggestions! I disabled the diffusion bcheck and it seems that the issue with stopping after a certain gradient is solved. It was indeed the part where the b2000 shell was starting.
Many thanks again,
Maria
- Jul 22, 2020 08:07 PM | Steven Meisler - Harvard University / MITChanging default protocol before QC without GUIHi,
I am trying to run DTIPrep (1.2.10) in sbatch background jobs. For each subject, I use the -c and -d arguments to forego the need of any GUI, but I also now see that for my protocol, I should disable the eddy/motion correction and enable the dominant directional artifact check. Is there a way to have DTIPrep generate the default protocol without running QC, allowing me to edit it in command line, and then have QC run? I realize that I could make my own xml file for a study, but parameters such as IMAGE_directions vary between subjects.
I should note that I tried a line in the wiki which suggested to use only the -w -d and -p arguments to generate a protocol without running a check, but upon running, the GUI opened and nothing else happened.
Thanks,
Steven
- Jul 27, 2020 09:07 PM | Martin StynerRE: Changing default protocol before QC without GUIOriginally posted by Steven Meisler:Hi,
I am trying to run DTIPrep (1.2.10) in sbatch background jobs. For each subject, I use the -c and -d arguments to forego the need of any GUI, but I also now see that for my protocol, I should disable the eddy/motion correction and enable the dominant directional artifact check. Is there a way to have DTIPrep generate the default protocol without running QC, allowing me to edit it in command line, and then have QC run? I realize that I could make my own xml file for a study, but parameters such as IMAGE_directions vary between subjects.
I should note that I tried a line in the wiki which suggested to use only the -w -d and -p arguments to generate a protocol without running a check, but upon running, the GUI opened and nothing else happened.
Thanks,
Steven
Hi Steven
the -d argument should NOT be used for each dataset. It is there to generate and write out a default protocol (and it uses the input DWI data to do so, best use a nice/good dataset for this purpose) and then that protocol could be adapted (if so desired by the user) using the DTIPrep GUI. If you choose to adapt it in the GUI (e.g. to disable the eddy/motion correction or to change rejection thresholds), then you can also save it there (don't forget to save it).
Then you can use that protocol file for all your datasets using the "-p" option. This way you can use the same protocol file for all studies.
The reason why you should not use "-d" for each dataset is that this usage will yield to slightly different protocols for each dataset (and thus slightly different rejection thresholds) which will lead to a (slightly) inconsistent QC across the datasets. So,
1) create a default protocol (do not run the QC itself, not necessary)
2) edit the protocol if necessary (which seems to be the case here)
3) run with -p yourprotocol.xml -c
Martin- Jul 29, 2020 10:07 PM | Steven Meisler - Harvard University / MITRE: Changing default protocol before QC without GUIHi Martin,
I see that you made a reply but I don't see any text (besides my original question quoted). Was there supposed to be something there?
Thanks,
Steven
Jul 29, 2020 10:07 PM | Martin StynerRE: Changing default protocol before QC without GUITrying again, my first reply did not post correctly. This time I will try to be more concise (maybe my reply was too long):
1) -d should be used for generating & writing out a default protocol. It should NOT be used to run DTIPrep with a default protocol. DTIPrep investigate is the data to come up with thresholds for the default protocol and thus those thresholds are scan specific.
2) you should use the same protocol to run DTIPrep across a whole study. -d will run slightly different protocol (scan specific protocols), so do not use "-d" in that fashion
3) best use -d to generate a protocol, manually edit it (using DTIPrep's GUI) (e.g. to disable certain stages) and then save it for later use
4) then use -p to run it on the command line
Best
Martin
Originally posted by Steven Meisler:Hi,
I am trying to run DTIPrep (1.2.10) in sbatch background jobs. For each subject, I use the -c and -d arguments to forego the need of any GUI, but I also now see that for my protocol, I should disable the eddy/motion correction and enable the dominant directional artifact check. Is there a way to have DTIPrep generate the default protocol without running QC, allowing me to edit it in command line, and then have QC run? I realize that I could make my own xml file for a study, but parameters such as IMAGE_directions vary between subjects.
I should note that I tried a line in the wiki which suggested to use only the -w -d and -p arguments to generate a protocol without running a check, but upon running, the GUI opened and nothing else happened.
Thanks,
Steven- Jul 30, 2020 10:07 PM | Steven Meisler - Harvard University / MITRE: Changing default protocol before QC without GUIIf thresholds are determined upon running DTIPrep and not generating the protocol, does that mean if I have several studies I want to do QC for, that I can use a single protocol.xml file? I would turn off the image and diffusion bchecks since that would likely fail if I use a study that has different acquisition parameters than the .nrrd I use to generate the original .xml.
My main goal is to only run baseline averaging, and the automated gradient removal steps (slicewise, interlace, gradient, dominant direction).
*Edit*
I have since tried to use a protocol from one study on another, and it didn't look like relevant thresholds (like interlace correlation threshold) were updated.
I cannot seem to create a default protocol without loading a subject first, so to me it seems like it would cause all thresholds for the study to be set for that subject it I were to only use the one protocol.
Is there either 1) a method of loading all subjects to DTIPrep and then generating a protocol so the thresholds are appropriate for the whole cohort, or 2) a way to have DTIPrep calculate these thresholds upon execution as opposed to reading from the protocol? Or am I thinking about this the wrong way?
Thanks,
Steven- Jul 31, 2020 01:07 PM | Martin StynerRE: Changing default protocol before QC without GUISorry for not being clear:
- the thresholds are specified in the protocol. Using the same protocol means that you apply the same thresholds (which is necessary within a study)
- using "-d" generates a protocol. The thresholds in that protocol are based on the dataset provided when you run "-d" (or when you use the "default protocol" button in the GUI).
- You don't want to have thresholds computed for every dataset within a single study, but rather use consistent thresholds (i.e. same protocol file)
- the default protocols generate thresholds based on our DWI knowledge back before 2010. My 2020 knowledge tells me that those thresholds are a bit aggressive (particularly for the infant studies that we run) and thus we manually change them to be more permissive.
- There is no need to generate a default protocol, if you have already a protocol. Just load/use that protocol you have.
Re reusing protocol files:
- we do that all the time, if the studies are on a similar level of SNR (similar acquisitions, similar age range) & motion artifact (similar scanning setting, study population is not expected to impact motion tremendously).
Additional tips:
- we rarely run the gradient checking step these days(which checks for residual motion that was not corrected in the motion/eddy current correction) as it does not work well on higher shells (and often removes low SNR data in b>2000 shells)
- dominant direction checks needs training data to compute thresholds, and thus is a lot of work on your part. Only needed if you suspect there is an issue with your data (this would be visually evident if you look at the color-FA images). It was a big issue 2005-2010 years, but I rarely see datasets with this issue these days (I think scanner manufacturers solved the problem).
I hope this made things a bit clearer and I did not further sow confusion.
Martin
Originally posted by Steven Meisler:If thresholds are determined upon running DTIPrep and not generating the protocol, does that mean if I have several studies I want to do QC for, that I can use a single protocol.xml file? I would turn off the image and diffusion bchecks since that would likely fail if I use a study that has different acquisition parameters than the .nrrd I use to generate the original .xml.
My main goal is to only run baseline averaging, and the automated gradient removal steps (slicewise, interlace, gradient, dominant direction).
*Edit*
I have since tried to use a protocol from one study on another, and it didn't look like relevant thresholds (like interlace correlation threshold) were updated.
I cannot seem to create a default protocol without loading a subject first, so to me it seems like it would cause all thresholds for the study to be set for that subject it I were to only use the one protocol.
Is there either 1) a method of loading all subjects to DTIPrep and then generating a protocol so the thresholds are appropriate for the whole cohort, or 2) a way to have DTIPrep calculate these thresholds upon execution as opposed to reading from the protocol? Or am I thinking about this the wrong way?
Thanks,
Steven- Aug 3, 2020 08:08 PM | Steven Meisler - Harvard University / MITRE: Changing default protocol before QC without GUIGot it, makes sense and thanks for the tips! I have been looking at papers that cite DTIPrep, and unfortunately I am having trouble finding any that report what thresholds they used. When your group designs a protocol for the study, do you have any rules of thumb for setting these limits (particularly the interlace correlation thresholds)?
- Jun 9, 2020 07:06 PM | Steven Meisler - Harvard University / MITDTIPrep is not recognizing B0 ImagesHello DTIPrep team,
I am working with DWI data that have multiple b-vals (0, 1000, 1500, 3000). However, for whatever reason (I did not collect the data), each entry in the bval text file is slightly off from the standard number. For example, at some of the entries where 3000 should be, 3010 is there instead. This was also true for the baseline scans, where there were 5s instead of 0s. As one may expect, when I ran these data under DTIPrep (1.2.4, Linux, also tested 1.2.9) with the default protocol, I received an error: FAIL:Single b-value DWI without a b0/baseline. I presume this is because there were 5s in place of 0s in the bvals. In addition, I also receive the following error: DWI data error. Not all the gradient directions have same repetition. GradientNumber= XX 1 != 7. Something else peculiar with the output, however, is that every QCed b-value for any slice that survived correction was 3010, regardless of the slice's original bvalue.
I made a script to change every 5 to a 0 in the bvals, but even then, I see that DTIPrep still chooses to ignore these b0 images, and the problems listed above persist. Hopefully these problems are related. Please let me know if you would need any additional information to help diagnose the problem.
Thanks,
Steven- Jun 11, 2020 08:06 PM | Martin StynerRE: DTIPrep is not recognizing B0 ImagesOriginally posted by Steven Meisler:Hello DTIPrep team,Hi Steven
I am working with DWI data that have multiple b-vals (0, 1000, 1500, 3000). However, for whatever reason (I did not collect the data), each entry in the bval text file is slightly off from the standard number. For example, at some of the entries where 3000 should be, 3010 is there instead. This was also true for the baseline scans, where there were 5s instead of 0s. As one may expect, when I ran these data under DTIPrep (1.2.4, Linux, also tested 1.2.9) with the default protocol, I received an error: FAIL:Single b-value DWI without a b0/baseline. I presume this is because there were 5s in place of 0s in the bvals. In addition, I also receive the following error: DWI data error. Not all the gradient directions have same repetition. GradientNumber= XX 1 != 7. Something else peculiar with the output, however, is that every QCed b-value for any slice that survived correction was 3010, regardless of the slice's original bvalue.
I made a script to change every 5 to a 0 in the bvals, but even then, I see that DTIPrep still chooses to ignore these b0 images, and the problems listed above persist. Hopefully these problems are related. Please let me know if you would need any additional information to help diagnose the problem.
Thanks,
Steven
yes, we are aware that DTIPrep does not recognize low b-values as baselines. The plan is for the next version to have a threshold parameter to identify baseline. At the moment, manually setting/hacking these to 0 is the best workaround.
The other error, you should be able to safely disregard.
Wrt the output QC data: how did you assess the b-value from the output file (as only the max b-value is explicitly stored in NRRD, the other b-values are computed as a ratio to the max b-value via the 2-norm of the gradient direction)? Did it look very different in the input DWI file?
Best
Martin- Jun 15, 2020 03:06 PM | Steven Meisler - Harvard University / MITRE: DTIPrep is not recognizing B0 ImagesHi Martin,
Thank you for your response. I assessed the QCed b-values by converting the output NRRD to FSL with DWIConvert. I was unaware only the max b-value is stored in the NRRD, which would explain the homogeneity in the b-value outputs. Given that I would like to use the QCed data as inputs to a different program to perform tractography, which requires a .nii.gz input w/ bval and bvec txt files, does DTIPrep have a method of returning all b-values (not only the max value)? I suppose a workaround would be to parse the QC report to extract the indices of slices that survive QC, and then index the original bvalue txt file accordingly.
Also, for some reason after manually setting the baseline b-values to 0, DTIPrep still did not recognize them as baseline. I only changed the .txt file; would any manipulation need to be done to the .nii as well?
Thanks,
Steven- Jun 16, 2020 01:06 AM | Martin StynerRE: DTIPrep is not recognizing B0 ImagesHi Steven
Sorry, I was imprecise. All the b-values are still there, in the NRRD header, they are just not mentioned explicitly (only a reference b-value is listed, and that is usually the maximum b-value, though it strictly does not need to be the max b-value), but encoded with the magnitude/norm of the b-vecors. A great explanation of the encoding of b-values and b-vectors in NRRD headers can be found here:
https://www.na-mic.org/wiki/NAMIC_Wiki:D...
If you want explicit b-values, one possibility is also to convert the NRRD file back to NIFTI using DWIConvert (it can convert back to/from NRDD & NIFTI). Just type DWIConvert --help and you should get a sufficient help information to know how to do that.
Re setting baseline b-values to 0, just to ensure I fully understand: what you did is a) set b-values to 0 in the NIFTI b-val file, b) convert NIFTI to NRRD via DWIConvert (and providing that edited b-val file to DWIConvert as one of the input options) and then looking at the header of the NRRD file. It's quite possible that you need to also edit the b-vec file and set the gradient vector for the baselines to 0,0,0 for this to work.
Martin
Originally posted by Steven Meisler:Hi Martin,
Thank you for your response. I assessed the QCed b-values by converting the output NRRD to FSL with DWIConvert. I was unaware only the max b-value is stored in the NRRD, which would explain the homogeneity in the b-value outputs. Given that I would like to use the QCed data as inputs to a different program to perform tractography, which requires a .nii.gz input w/ bval and bvec txt files, does DTIPrep have a method of returning all b-values (not only the max value)? I suppose a workaround would be to parse the QC report to extract the indices of slices that survive QC, and then index the original bvalue txt file accordingly.
Also, for some reason after manually setting the baseline b-values to 0, DTIPrep still did not recognize them as baseline. I only changed the .txt file; would any manipulation need to be done to the .nii as well?
Thanks,
Steven- Jun 25, 2020 07:06 PM | Steven Meisler - Harvard University / MITRE: DTIPrep is not recognizing B0 ImagesHi Martin,
Sorry for late reply; manually changing the bvecs (in addition to the bvals which I was already doing) to 0 seemed to have worked for DTIPrep to recognize baseline scans! When I convert the QCed NRRD back to NIFTI using DWIConvert, I still see that the each bval from the output of DWIConvert always hover around the maximum bvalue (differs by no more than 0.02).
Best,
Steven- Jun 25, 2020 08:06 PM | Martin StynerRE: DTIPrep is not recognizing B0 Imagesmmm, there seems to be an issue with DWIConvert. Which version of DWIConvert are you using? Maybe using a newer version (e.g. from Slicer 4.10) may work?
Martin
Originally posted by Steven Meisler:Hi Martin,
Sorry for late reply; manually changing the bvecs (in addition to the bvals which I was already doing) to 0 seemed to have worked for DTIPrep to recognize baseline scans! When I convert the QCed NRRD back to NIFTI using DWIConvert, I still see that the each bval from the output of DWIConvert always hover around the maximum bvalue (differs by no more than 0.02).
Best,
Steven- Jun 26, 2020 06:06 PM | Steven Meisler - Harvard University / MITRE: DTIPrep is not recognizing B0 ImagesI am using DWIConvert version 1.0.0 as packaged with DTIPrep 1.2.4, I will try to use a more recent version and get back to you.
- Jun 26, 2020 06:06 PM | Martin StynerRE: DTIPrep is not recognizing B0 ImagesYeah, that's super old and is know to have issues with NIFTI-NRRD conversion (we use v4.6 right now), so that would explain it.
Martin- Jun 29, 2020 06:06 PM | Steven Meisler - Harvard University / MITRE: DTIPrep is not recognizing B0 ImagesI have been struggling with installing Slicer and using its command-line DWIConvert tool on my HPC. Does it come with DTIPrep after 1.2.4?
- Jul 1, 2020 07:07 PM | Steven Meisler - Harvard University / MITRE: DTIPrep is not recognizing B0 ImagesI found an older version of slicer that had a more recent version of DWIConvert; that did the trick thanks!
- Jul 1, 2020 08:07 PM | Martin StynerRE: DTIPrep is not recognizing B0 ImagesOriginally posted by Steven Meisler:I found an older version of slicer that had a more recent version of DWIConvert; that did the trick thanks!Just in case, I added a separate download for a statically linked version of DWIConvert (v 4.6) to the downloads section.
Martin
- Jun 11, 2020 09:06 PM | ameliaqianGeneral question of preprocess in DTIprep1. Is there a registration procedure in DTIPrep that performs an affine registration of the diffusion-weighted images prior to motion and eddy-currents correction?
2.When correcting for subject motion, if there is a rotation of the image involved in the image registration, then the same rotation must be applied to the encoding vectors. I wonder whether rotations that are applied to a given diffusion-weighted volume are also applied to the encoding vectors in DTIPrep automatic pipelines?
3. If SNR is not low, is denoising still recommended?- Jun 11, 2020 10:06 PM | Martin StynerRE: General question of preprocess in DTIprepOriginally posted by ameliaqian:1. Is there a registration procedure in DTIPrep that performs an affine registration of the diffusion-weighted images prior to motion and eddy-currents correction?1. No, the affine registration happens during motion & eddy current correction. There is a rigid registration that happens for the baseline motion correction and averaging (just before the motion & eddy current correction).
2.When correcting for subject motion, if there is a rotation of the image involved in the image registration, then the same rotation must be applied to the encoding vectors. I wonder whether rotations that are applied to a given diffusion-weighted volume are also applied to the encoding vectors in DTIPrep automatic pipelines?
3. If SNR is not low, is denoising still recommended?
2. of course, otherwise it would be incorrect. The motion & eddy current correction in DTIPrep is built on the same principles as FSL 5 (only the baseline motion correction is slightly different). (note, FSL 6 does things quite a bit differently)
3. We rarely do it, and it is off by default for DTIPrep, but it's available if users wish to do denoising. Older, low SNR diffusion data would probably benefit from denoising.
- Jun 3, 2020 04:06 PM | ameliaqiandenoising procedure in DTIPrepI have some questions concerning denoising procedure in DTIPrep. Denoise is one of good practice. However, I found there is no difference of the excluded gradients between with and without denoising procedure.
1. I noticed there is *_DenoiseInput.nrrd file created. I wonder whether and how this denoised file is linked to the DTIPrep output.
2. Is Rician noise removal the same as smoothing in DTIPrep?- Jun 11, 2020 09:06 PM | Martin StynerRE: denoising procedure in DTIPrepOriginally posted by ameliaqian:I have some questions concerning denoising procedure in DTIPrep. Denoise is one of good practice. However, I found there is no difference of the excluded gradients between with and without denoising procedure.
1. I noticed there is *_DenoiseInput.nrrd file created. I wonder whether and how this denoised file is linked to the DTIPrep output.
2. Is Rician noise removal the same as smoothing in DTIPrep?
the denoising in DTIPrep is achieved via the Slicer modules for DWI denoising (these are no longer included in the newer versions of Slicer, not sure why).
https://www.slicer.org/wiki/Documentation/4.4/Modules/DWIJointRicianLMMSEFilter
https://www.slicer.org/wiki/Documentation/4.4/Modules/DWIRicianLMMSEFilter
Both are based on Rician noise
Martin
- Mar 25, 2020 06:03 PM | Puck ReedersIs there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Hi everyone,
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders- Mar 25, 2020 07:03 PM | Martin StynerRE: Is there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Originally posted by Puck Reeders:Hi everyone,If you turn off baseline averaging, then it should not replace all of your b=0 with the average b=0, so all you b=0 volumes should still be present. Please try again (and ensure that it writes to a new output folder) with baseline averaging disabled.
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders
btw, the eddy motion correction uses the first b=0 as target. If baseline averaging is enabled, then that is the first b=0 volume. baseline averaging is not needed but recommended for eddy motion correction
One last comment: it could also be that the b=0 volumes are all low quality and thus get rejected in the slice-wise or interlace check? You should be able to see that from the QC report txt file
Martin- May 7, 2020 10:05 AM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: Is there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Hi, I am experiencing exactly the same problem. I have double cheked (visual inspected) b0 images and they are completely fine. I unselect average b0 options and it does not change behavior. For any reason, during slice wise cheking, it detects bad correlation levels between slices of the b0 images (first and last volumes).
I tried to increase baseline slice-wise threhsold to sd=6, but it keeps on removing b0 volumes (slices with zscore around -3.7 to -5.). Interestengly it only detects slices with negative Z correlations.
any suggestion about how to tell DTIPrep to preserve b0 volumes?
Best regards,
Dani Bergé
Originally posted by Martin Styner:Originally posted by Puck Reeders:Hi everyone,If you turn off baseline averaging, then it should not replace all of your b=0 with the average b=0, so all you b=0 volumes should still be present. Please try again (and ensure that it writes to a new output folder) with baseline averaging disabled.
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders
btw, the eddy motion correction uses the first b=0 as target. If baseline averaging is enabled, then that is the first b=0 volume. baseline averaging is not needed but recommended for eddy motion correction
One last comment: it could also be that the b=0 volumes are all low quality and thus get rejected in the slice-wise or interlace check? You should be able to see that from the QC report txt file
Martin- May 7, 2020 12:05 PM | Martin StynerRE: Is there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Quick clarification question:
- are there no (0) b0 after DTIPrep or just 1 b0 (the first volume)?
- given your description, it's not an issue of the b0 averaging (since that is turned off), but the slice-wise check removes all b0's (you can see that in the output report or in the output xml)?
Martin
Originally posted by Daniel Berge:Hi, I am experiencing exactly the same problem. I have double cheked (visual inspected) b0 images and they are completely fine. I unselect average b0 options and it does not change behavior. For any reason, during slice wise cheking, it detects bad correlation levels between slices of the b0 images (first and last volumes).
I tried to increase baseline slice-wise threhsold to sd=6, but it keeps on removing b0 volumes (slices with zscore around -3.7 to -5.). Interestengly it only detects slices with negative Z correlations.
any suggestion about how to tell DTIPrep to preserve b0 volumes?
Best regards,
Dani Bergé
Originally posted by Martin Styner:Originally posted by Puck Reeders:Hi everyone,If you turn off baseline averaging, then it should not replace all of your b=0 with the average b=0, so all you b=0 volumes should still be present. Please try again (and ensure that it writes to a new output folder) with baseline averaging disabled.
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders
btw, the eddy motion correction uses the first b=0 as target. If baseline averaging is enabled, then that is the first b=0 volume. baseline averaging is not needed but recommended for eddy motion correction
One last comment: it could also be that the b=0 volumes are all low quality and thus get rejected in the slice-wise or interlace check? You should be able to see that from the QC report txt file
Martin- May 8, 2020 08:05 AM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: Is there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Hi Martin, Thanks for your answer,
Both b0 images are removed during the slice-wiise process. It happens for all subjects, and b0 images seem to be ok when visually inspected. I modified the protocol to run only sice-wise and the problem is there. Both b0 are excluded as it is reported in the QCReport.txt and in the xml file. I am attaching the txt report.
I guess I could use the GUI , open the xml results file and mark the b0 images as "included" after visual inspection, but doing this process for each subject would be time consuming. I hope there is another way.
Thanks in advance.
Originally posted by Martin Styner:Quick clarification question:
- are there no (0) b0 after DTIPrep or just 1 b0 (the first volume)?
- given your description, it's not an issue of the b0 averaging (since that is turned off), but the slice-wise check removes all b0's (you can see that in the output report or in the output xml)?
Martin
Originally posted by Daniel Berge:Hi, I am experiencing exactly the same problem. I have double cheked (visual inspected) b0 images and they are completely fine. I unselect average b0 options and it does not change behavior. For any reason, during slice wise cheking, it detects bad correlation levels between slices of the b0 images (first and last volumes).
I tried to increase baseline slice-wise threhsold to sd=6, but it keeps on removing b0 volumes (slices with zscore around -3.7 to -5.). Interestengly it only detects slices with negative Z correlations.
any suggestion about how to tell DTIPrep to preserve b0 volumes?
Best regards,
Dani Bergé
Originally posted by Martin Styner:Originally posted by Puck Reeders:Hi everyone,If you turn off baseline averaging, then it should not replace all of your b=0 with the average b=0, so all you b=0 volumes should still be present. Please try again (and ensure that it writes to a new output folder) with baseline averaging disabled.
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders
btw, the eddy motion correction uses the first b=0 as target. If baseline averaging is enabled, then that is the first b=0 volume. baseline averaging is not needed but recommended for eddy motion correction
One last comment: it could also be that the b=0 volumes are all low quality and thus get rejected in the slice-wise or interlace check? You should be able to see that from the QC report txt file
MartinAttachment: hifi_d_ni_nr_CNC02B_20191003_QCReport.txt- May 8, 2020 01:05 PM | Martin StynerRE: Is there a way to leave the B0's between the other DWI data in their place after using DTIPrep?Hi Daniel
Not sure what is going wrong. The correlation values are high even in the slices identified as bad, so those b0 volumes should not get excluded.
Possibly this is a bug (?), but I don't have sufficient information to diagnose what is going wrong.
One possible thing to try: create a brain mask (or even just a foreground mask), mask the DWI and rerun it on DTIPrep. That assumes that there is significant noise on the background that was not immediately perceptible visually and the noise confuses DTIPrep
Below is pasted section showing the most relevant info from your text file
Slicewise_artifacts Region GradientNum Slice Correlation zScore
Slicewise_artifacts whole 0 23 0.967734 -5.141697
Slicewise_artifacts whole 0 37 0.975505 -3.743096
Slicewise_artifacts whole 69 7 0.981529 -5.826872
Slicewise_artifacts whole 69 8 0.980383 -5.847404
Slicewise_artifacts whole 69 9 0.983170 -4.458537
Slicewise_artifacts whole 69 10 0.974445 -4.216282
…..
Originally posted by Daniel Berge:Hi Martin, Thanks for your answer,
Both b0 images are removed during the slice-wiise process. It happens for all subjects, and b0 images seem to be ok when visually inspected. I modified the protocol to run only sice-wise and the problem is there. Both b0 are excluded as it is reported in the QCReport.txt and in the xml file. I am attaching the txt report.
I guess I could use the GUI , open the xml results file and mark the b0 images as "included" after visual inspection, but doing this process for each subject would be time consuming. I hope there is another way.
Thanks in advance.
Originally posted by Martin Styner:Quick clarification question:
- are there no (0) b0 after DTIPrep or just 1 b0 (the first volume)?
- given your description, it's not an issue of the b0 averaging (since that is turned off), but the slice-wise check removes all b0's (you can see that in the output report or in the output xml)?
Martin
Originally posted by Daniel Berge:Hi, I am experiencing exactly the same problem. I have double cheked (visual inspected) b0 images and they are completely fine. I unselect average b0 options and it does not change behavior. For any reason, during slice wise cheking, it detects bad correlation levels between slices of the b0 images (first and last volumes).
I tried to increase baseline slice-wise threhsold to sd=6, but it keeps on removing b0 volumes (slices with zscore around -3.7 to -5.). Interestengly it only detects slices with negative Z correlations.
any suggestion about how to tell DTIPrep to preserve b0 volumes?
Best regards,
Dani Bergé
Originally posted by Martin Styner:Originally posted by Puck Reeders:Hi everyone,If you turn off baseline averaging, then it should not replace all of your b=0 with the average b=0, so all you b=0 volumes should still be present. Please try again (and ensure that it writes to a new output folder) with baseline averaging disabled.
When I use DTIPrep for my DWI QC, it deletes all my B0 files.
I tried to turn off the averaging of the B0 files by turning the "baseline_averaging" to "No", but for some reason all my B0 files are gone after I use DTIPrep. I am not using the eddy/motion correction in DTIPrep. I know that needs the averaged B0.
Any recommendations on how to use DTIPrep and keeping my B0 files in place?
Thank you in advance!
Best,
Puck Reeders
btw, the eddy motion correction uses the first b=0 as target. If baseline averaging is enabled, then that is the first b=0 volume. baseline averaging is not needed but recommended for eddy motion correction
One last comment: it could also be that the b=0 volumes are all low quality and thus get rejected in the slice-wise or interlace check? You should be able to see that from the QC report txt file
Martin
- Apr 17, 2020 08:04 PM | skylarGradient Failure and Interlace CheckHi,
I'm hoping to get some clarity on the gradient failed result under diffusion information that I'm receiving for most of the DWI files I'm processing. This was addressed in a previous forum post with the response being, "The error stems from the mismatch in gradients between the files. I.e. if the DWI file that you use to create the default protocol has different gradients from the DWI that you are QC\'ing then DTIPrep will raise that as an issue. Simply turn off the diffusion gradient information check and DTIPrep will not check that the protocol and the DWI have to have the same gradients." Could you explain why this information check is irrelevant? Or is it only irrelevant in certain cases?
Also, the interlace correlation parameters for every gradient and some of the interlace translation parameters are in red. Does this indicate an error? If so, why were these gradients still included? I've attached a picture for reference.
I'm using the default protocol with the exception of the brain mask settings.
Thank you!
SkylarAttachment: Screen Shot 2020-04-17 at 1.08.19 PM.png
- Apr 17, 2020 12:04 PM | Angels CalvetBrainMask_method 2 errorDear users and developers,
I'm new using DTIPrep for DWI QC.
I'm using it from command line and I'm interested in performing the BRAINMASK as (if I'm not wrong) it is necessary for the DOMINANTDIRECTION step (in which I'm really interested).
However, choosing the BRAINMASK_method to 2 (the user mask) and introducing the path in BRAINMASK_MaskedImage. I get the following error :
The brain mask procedure needs brain mask image. No brain mask image is used in protocol.
FAILURE IN:/work/jprieto/source/DTIPrep/src/main.cxx at 208
How can I load the mask?
Thank you!- Apr 17, 2020 02:04 PM | Martin StynerRE: BrainMask_method 2 errorYes, the brain mask is needed for the dominant direction step. We usually use the automatically generated one, so it could be that using a user supplied mask is currently not working properly.
You specified things correctly, i.e. set BRAINMASK_method to 2 and set the path to the mask in BRAINMASK_MaskedImage. The error you are getting should only happen if your method is set to 2 and the mask image path is empty. Can you check your protocol xml file to see whether the BRAINMASK_MaskedImage entry is empty or not?
Quick questions: Which version of DTIPrep are you using? Which platform?
Best
Martin
Originally posted by Angels Calvet:Dear users and developers,
I'm new using DTIPrep for DWI QC.
I'm using it from command line and I'm interested in performing the BRAINMASK as (if I'm not wrong) it is necessary for the DOMINANTDIRECTION step (in which I'm really interested).
However, choosing the BRAINMASK_method to 2 (the user mask) and introducing the path in BRAINMASK_MaskedImage. I get the following error :
The brain mask procedure needs brain mask image. No brain mask image is used in protocol.
FAILURE IN:/work/jprieto/source/DTIPrep/src/main.cxx at 208
How can I load the mask?
Thank you!- Apr 17, 2020 04:04 PM | Angels CalvetRE: BrainMask_method 2 errorHi!
I'm using the version 1.2.8 in linux.
Regarding method 2, I checked the protocol and there was the path in the BRAINMASK_MaskedImage entry. I don't think this will be the error, but the mask is in nifti format.
Then, I tried with method 0 (FSL bet (B0)) and it hasn't worked either:
FAILED execution of Documents/DTIPrepTools-0.1.1-Linux/bin/DTIPrep in /work/jprieto/source/DTIPrep/src/main.cxx at 1475 with code 96
Bests
- Feb 28, 2020 06:02 PM | ameliaqianVisual check of the DTI dataI have ran the DTIPrep automated pipeline and going to have visual check on QCed data. I noticed that the exclusion in DTIprep is gradient-based. I wonder whether I need to check every slice in one gradient to make sure there is no artifacts, or one slice in each gradient is enough. Also, I wonder if the same artifact occurs in multiple gradient (~10-20%), should I code this whole scan as failed?
- Mar 23, 2020 02:03 PM | ameliaqianRE: Visual check of the DTI dataIn the *_QCReport.txt file, there are "Slice-wise Check Artefacts". Besides a column of excluded gradient, it includes a column of "Slice#". I wonder what the slice mean? Does it imply the gradient has high correlation in this specific slice, so this gradient is excluded?
Also, I want to ask about the "Region" column. What do "whole", "region1", "region3" mean?- Mar 23, 2020 08:03 PM | Martin StynerRE: Visual check of the DTI dataOriginally posted by ameliaqian:In the *_QCReport.txt file, there are "Slice-wise Check Artefacts". Besides a column of excluded gradient, it includes a column of "Slice#". I wonder what the slice mean? Does it imply the gradient has high correlation in this specific slice, so this gradient is excluded?The Slice number indicates the slice number where the slice wise check detected an artifacts (mainly based on a low correlation of this slice to its neighboring slice). You can disregard the Region column as it is unused.
Also, I want to ask about the "Region" column. What do "whole", "region1", "region3" mean?
Martin- Mar 23, 2020 10:03 PM | ameliaqianRE: Visual check of the DTI dataThe slice parameter is unclear for me. Does Slice# refer to the slice in the coronal, sagittal or axial view?
- Mar 23, 2020 10:03 PM | Martin StynerRE: Visual check of the DTI dataOriginally posted by ameliaqian:The slice parameter is unclear for me. Does Slice# refer to the slice in the coronal, sagittal or axial view?It 's the z-axis slice direction (usually axial for diffusion sequences)
Martin- Mar 29, 2020 10:03 PM | ameliaqianRE: Visual check of the DTI data1. In the DTIPrep manual, denoising is not default. One collaborator recommended me to denoise the DTI data. I wonder in which circumstance I should implement denoise procedure and how it influences the final analysis?
2. One participant are failed from DTIPrep pipeline with the reason "Single b value DWI without a b0/baseline". But when I checked this participant, it does have b0 and 64 gradients. What does this failing reason mean?
3. You mentioned "slice wise check detected an artifacts (mainly based on a low correlation of this slice to its neighboring slice)". I want to know whether DTIPrep calculates the correlation of this slice to its previous neighboring slice or more?
4. I found I cannot implement visual check 2: "Directional Spatial Distribution QC". I can only see the lines starting from the centre of sphere, rather than dots. The lines change color when I move the sphere. So I cannot identify the location of excluded gradients. My version of DTIPrep is 1.2.4.
5. I notices b0 in one brain scan have artifacts in raw data but corrected in QCed.nrrd. Should I excluded this participant in this case?
6. I am trying to test the effect of NC on the DTIPrep output. Is it the parameter "SLICE_correlationDeviationThresholdGradient"? Also, I wonder if I change this parameter from 3.5 to 1, whether I need to change the parameter "SLICE_correlationDeviationThresholdbaseline" correspondingly?
Mar 24, 2020 12:03 AM | ameliaqianRE: Visual check of the DTI dataThank you for your fast response. Here are my follow-up questions:
1. In the DTIPrep manual, denoising is not default. One collaborator recommended me to denoise the DTI data. I wonder in which circumstance I should implement denoise procedure and how it influences the final analysis?
2. One participant are failed from DTIPrep pipeline with the reason "Single b value DWI without a b0/baseline". But when I checked this participant, it does have b0 and 64 gradients. What does this failing reason mean?
3. You mentioned "slice wise check detected an artifacts (mainly based on a low correlation of this slice to its neighboring slice)". I want to know whether DTIPrep calculates the correlation of this slice to its previous neighboring slice or more?
4. In the DTIPrep manual, the procedure first implement automated pipeline then visual check. In visual check, I found some DTIPrep-excluded gradient looks similar to the other unexcluded ones, while the other have the severe artifacts. I wonder whether there is a strong reason that I must exclude the "look-not-so-bad" gradients which has been detected? My rationale is to keep as much DTI gradients as possible at the beginning rather than losing them. Furthermore, could I perform visual check then automated pipeline?
5. I found I cannot implement visual check 2: "Directional Spatial Distribution QC". I can only see the lines starting from the centre of sphere, rather than dots. The lines change color when I move the sphere. My version of DTIPrep is 1.2.4.
5. I notices b0 in one brain scan have artifacts. Should I excluded this participant in this case?
Mar 23, 2020 08:03 PM | Martin StynerRE: Visual check of the DTI dataOriginally posted by ameliaqian:I have ran the DTIPrep automated pipeline and going to have visual check on QCed data. I noticed that the exclusion in DTIprep is gradient-based. I wonder whether I need to check every slice in one gradient to make sure there is no artifacts, or one slice in each gradient is enough. Also, I wonder if the same artifact occurs in multiple gradient (~10-20%), should I code this whole scan as failed?
If you do a visual assessment, you need to do more than 1 slice per gradient. Best look at the orthogonal directions, i.e. if your data is axial, look at the sagittal and coronal slices, as you can see across-slice differences best in those views.
You can use the visual QC mode in DTIPrep (though it is quite clunky) to remove DWI gradients with bad slices.
With respect to failing a whole scan, we usually use a 30% threshold as compared to the full number of gradients (i.e. not based on the number of gradients in the QC output of DTIPrep, but the original number of gradients).
Martin
- Jan 16, 2020 05:01 PM | Ali GhayoorTaking the average of components with similar gradient directionHello,
I have two questions regarding DTIPrep:
1- Is it still available as an extension of 3D Slicer? I could not find it in Slicer 4.10.
2- Does DTIPrep takes the average of the gradient components, which have the same gradient directions?
Thank you,
Ali Ghayoor- Jan 17, 2020 01:01 PM | Martin StynerRE: Taking the average of components with similar gradient directionOriginally posted by Ali Ghayoor:Hello,1. yes and no. It still works as a 3D Slicer extension (i.e. if DTIPrep is found in the module path list of Slicer, then it will add DTIPrep to the module list). But we do not consistently update it such that it remains available through the Extension browser.
I have two questions regarding DTIPrep:
1- Is it still available as an extension of 3D Slicer? I could not find it in Slicer 4.10.
2- Does DTIPrep takes the average of the gradient components, which have the same gradient directions?
Thank you,
Ali Ghayoor
2. No, it only averages the b=0 images (after correction for motion), all other images are not averaged.
Best
Martin
- Dec 3, 2019 02:12 PM | Jayashree ChandrasekaranCouldn't see QC resultsHello,
I recently downloaded the DTIPrep on my mac (OS - Sierra) including the Slicer and FSL software. I ran the DTIPrep through GUI with default protocol on one of the DWI NRRD files (used DWIConvert to obtain NRRD file from DICOM), but I can only see incomplete QC report text file on the output folder. The QC results tab on the GUI is empty and doesn't contain the results. I'd really appreciate any help on fixing this issue.
The protocol paths were automatically set except for bet2 and Slicer.
Thank you!
Jayashree- Dec 5, 2019 02:12 PM | Martin StynerRE: Couldn't see QC resultsNot sure what's going wrong, can you post the content of the QC report text file?
Using the protocol tab, can you post which steps are scheduled to be done (or you could attach the protocol file that you used)
Best
Martin
Originally posted by Jayashree Chandrasekaran:Hello,
I recently downloaded the DTIPrep on my mac (OS - Sierra) including the Slicer and FSL software. I ran the DTIPrep through GUI with default protocol on one of the DWI NRRD files (used DWIConvert to obtain NRRD file from DICOM), but I can only see incomplete QC report text file on the output folder. The QC results tab on the GUI is empty and doesn't contain the results. I'd really appreciate any help on fixing this issue.
The protocol paths were automatically set except for bet2 and Slicer.
Thank you!
JayashreeDec 6, 2019 09:12 PM | Jayashree ChandrasekaranRE: Couldn't see QC resultsHi Martin,
Please find attached screenshots of the protocol and result tab and QC report text file.
Appreciate your help!
JayashreeAttachment: dtiPrep_results.png- Dec 6, 2019 09:12 PM | Jayashree ChandrasekaranRE: Couldn't see QC resultsQC-Report fileAttachment: HM_01_033_dMRI_dir98_AP_QCReport.txt
- Nov 19, 2019 02:11 AM | ameliaqianbrain mask error: ImageMath cannot be startedI am doing QC using DTIPrep and it work well except brain mask. I use bet2 from FSL, DiffusionWeightedVolumeMasking from slicer 4.4.0, ImageMath from DTIPrep. Based on the posts on forum, I chose BRAINMASK_method as 3 FSL_bet(IDWI).
The QC report shows: DTIPrepPackage/ImageMath cannot be started. (I attached a image of report). How can I solve this issue?Attachment: QCreport.png- Nov 19, 2019 02:11 PM | Martin StynerRE: brain mask error: ImageMath cannot be startedImageMath is a small tool on the DTIPrep package and it needs to find it in order to apply the computed brain masks. It looks like it finds it correctly (assuming that you have indeed ImageMath under the path listed in that line in the QCreport), but cannot start it. Not sure what the issue is as this is not a message from ImageMath, but from the system. Maybe you do not execution privileges for ImageMath?
If you look at the properties of that executable, you should see whether you can/are allowed to execute it or not.
Martin- Nov 19, 2019 03:11 PM | ameliaqianRE: brain mask error: ImageMath cannot be startedI checked the property of ImageMath. It is executable.
I remembered several days ago, the QC report showed "Brain Mask FSL: DTIPrep/bet2 cannot be started". Then I changed some settings. Now it shows "ImageMath had an issue". I have no idea why it changed and how to solve it.
- Jun 28, 2019 03:06 PM | gpicci - The Pennsylvania State UniversityDTIPrep gitclone install errorsHello,
I'm having issues successfully installing DTIPrep in Linux. I followed the commands others listed with the gitclone and cmake. However, I get the following error during configuration:
CMake Error at CMakeLists.txt:261 (message):
Invlaid configuration: ITKV3_COMPATIBILITY AND ITK_LEGACY_REMOVE can not
both be ON
Does anyone have an idea about how to fix this?
Thank you in advance!
Giorgia- Jun 28, 2019 08:06 PM | Martin StynerRE: DTIPrep gitclone install errorsHi Giorgia
Can you turn ITK_LEGACY_REMOVE off for the itk compilation?
Martin
Originally posted by gpicci:Hello,
I'm having issues successfully installing DTIPrep in Linux. I followed the commands others listed with the gitclone and cmake. However, I get the following error during configuration:
CMake Error at CMakeLists.txt:261 (message):
Invlaid configuration: ITKV3_COMPATIBILITY AND ITK_LEGACY_REMOVE can not
both be ON
Does anyone have an idea about how to fix this?
Thank you in advance!
Giorgia- Jul 2, 2019 03:07 PM | gpicci - The Pennsylvania State UniversityRE: DTIPrep gitclone install errorsHi Martin,
Thank you for your reply! I can certainly try. I'm a bit of a newbie in command line. Do you have recommendations for commands to do this?
Giorgia- Oct 8, 2019 03:10 PM | John GranerRE: DTIPrep gitclone install errorsGiorgia,
I ran into the same error and found a way around it. I am getting another error down the line now but I figured I'd share this in case it helps. Here's what I did, starting from the beginning of the install process (I also added a command to create the DTIPrep-build/bin directory because for some reason the installation wasn't creating it correctly):
1) git clone https://github.com/NIRALUser/DTIPrep.git
2) mkdir DTIPrep-build; mkdir DTIPrep-build/bin; cd DTIPrep-build
3) cmake ../DTIPrep
4) (Open the file ../DTIPrep/SuperBuild/External_ITKv4.cmake with a text editor.)
5) (Change the default value of "-DITK_LEGACY_REMOVE" to "OFF".)
6) make
Here's the next error I'm getting that I haven't been able to solve:
CMake Error at /usr/local/share/cmake-3.12/Modules/ExternalProject.cmake:2425 (message):
URL_HASH is set to
SHA512="1ee2c7bec3657f6846e63c6dfa71410563830d2b951966bf0123bd8f4f2f5d6b50f13b76d9a7b0eae70e44856f829ca6ceb3d080bb016
49d1572c9f3f68e8eb1"
but must be ALGO=value where ALGO is
MD5|SHA1|SHA224|SHA256|SHA384|SHA512|SHA3_224|SHA3_256|SHA3_384|SHA3_512
and value is a hex string.
Call Stack (most recent call first):
/usr/local/share/cmake-3.12/Modules/ExternalProject.cmake:3100 (_ep_add_download_command)
CMake/itkExternal_FFTW.cmake:118 (ExternalProject_add)
CMakeLists.txt:321 (include)
Thanks,
-John
- Jun 14, 2019 07:06 PM | Hayley ClocksinDTIPrep Error with Default Protocol (Bad DWI)Hello,
I am just starting out with DTIPrep through the Slicer extension (version 4.4.0)and have run into the error "Bad DWI: mismatch between gradient image # and gradient vector #!" when I try to use the default protocol. This error has come up on different data sets from two different research centers. Any advice would be greatly appreciated!
Hayley- Jun 16, 2019 08:06 PM | Martin StynerRE: DTIPrep Error with Default Protocol (Bad DWI)Hi Hayley
This is not an error of DTIPrep, but rather when reading your DWI-NRRD file the importer detects an issue, specifically that the number of DWI volumes does not match the number of gradient directions specified in the header. Likely this is a conversion issue when you generated the NRRD file.
1) how did you generate the NRRD file?
2) look at the header (it's ASCII, so you can look at it with any text editor): what is the header information? how many gradients are specified and how many volumes should there be?
Martin
Originally posted by Hayley Clocksin:Hello,
I am just starting out with DTIPrep through the Slicer extension (version 4.4.0)and have run into the error "Bad DWI: mismatch between gradient image # and gradient vector #!" when I try to use the default protocol. This error has come up on different data sets from two different research centers. Any advice would be greatly appreciated!
Hayley- Jun 17, 2019 05:06 PM | Hayley ClocksinRE: DTIPrep Error with Default Protocol (Bad DWI)Hi Martin,
I have been importing the DICOM files through Slicer, loading the relevant files and then saving them as a NRRD file. The header file specifies 25 gradients and 25 volumes.
Thank you for your help!
Hayley- Jun 17, 2019 06:06 PM | Martin StynerRE: DTIPrep Error with Default Protocol (Bad DWI)Hi Hayley
The generic DICOM importer in Slicer does not work well for DWI data. You need to use the DWIConverter module to import your data (see also the QC presentation here (lesson 3 - slide 7) https://www.med.unc.edu/psych/research/niral/download/download-documents/)
The use of DWIConverter in Slicer is a bit clunky, but it's worth using it. On linux you can also use it on the command line:
Slicer --launch DWIConvert -i yourDicomDirectory -o yourOutput.nrrd --useBMatrixGradientDirections
(the last option is not necessary, but provides more accurate b-values and gradient vectors if the BMatrix is stored in the DICOM tags).
Best
Martin
Originally posted by Hayley Clocksin:Hi Martin,
I have been importing the DICOM files through Slicer, loading the relevant files and then saving them as a NRRD file. The header file specifies 25 gradients and 25 volumes.
Thank you for your help!
Hayley- Jun 18, 2019 02:06 PM | Hayley ClocksinRE: DTIPrep Error with Default Protocol (Bad DWI)Hi Martin,
Thank you so much for your help! It looks like my DICOM files weren't compatible as well, but DWIConverter seems to be working with my NIFTI files.
Best,
Hayley
- Apr 1, 2019 06:04 PM | John GranerDTIPrep Installation Error (libtiff)Hello all,
I'm attempting to install DTIPrep using the following commands and ran into an error running "make". I'm running Ubuntu 16.04.6 on a Virtual Machine.
I've been searching the internet for an answer but haven't come across anything that works.
Does anybody have any suggestions?
Thanks,
-John
Attempted install commands:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. cmake ../DTIPrep
4. make
Error Messages:
...
[100%] Linking CXX executable /home/code/DTIPrep-build/bin/itkTestDriver
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_init'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_newlen'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_in'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_strerror'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_free'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_getimage'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_getsize'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGDecode: error: undefined reference to 'jbg_dec_free'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGEncode: error: undefined reference to 'jbg_enc_init'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGEncode: error: undefined reference to 'jbg_enc_out'
/home/code/DTIPrep-build/TIFF-install/lib/libtiff.a(tif_jbig.o):tif_jbig.c:function JBIGEncode: error: undefined reference to 'jbg_enc_free'
collect2: error: ld returned 1 exit status
Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/build.make:126: recipe for target '/home/code/DTIPrep-build/bin/itkTestDriver' failed
make[5]: *** [/home/code/DTIPrep-build/bin/itkTestDriver] Error 1
CMakeFiles/Makefile2:13449: recipe for target 'Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/all' failed
make[4]: *** [Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/ITKv4.dir/build.make:116: recipe for target 'ITKv4-prefix/src/ITKv4-stamp/ITKv4-build' failed
make[2]: *** [ITKv4-prefix/src/ITKv4-stamp/ITKv4-build] Error 2
CMakeFiles/Makefile2:227: recipe for target 'CMakeFiles/ITKv4.dir/all' failed
make[1]: *** [CMakeFiles/ITKv4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
- Feb 21, 2019 11:02 AM | esin karahan - Cardiff University Brain Research Imaging CentreExtract FA and MD maps calculated by DTIPrepHi DTIPrep developers,
I am using DTIPrep Version 1.2.8.
My DWI data is composed of 30 directions of b=1200 shell and 60 directions of b=2400 shell. I ran a DTIPrep QC check over all my subjects. I want to compare the FA/MD maps between DTIPrep pipeline and a standard FSL DITFIT pipeline (bet, eddt_correct, linear dtifit) to see how much FA/MD maps are affected by the correction.
I have 2 questions:
1 - Is it possible to calculate FA/MD values in DTIPrep by only using one shell data (b=1200) by quality checking on the whole dataset?
2 - How can I export the FA/MD maps from the *_QCed.nrrd file to NIFTI fileformat?
I used the Slicer DWIConvert NRRD2FSL option bu it gave me the following error:
======= DWI Convert Tool Program=========
INPUT VOLUME: ~/QC/checked/p1_QCed.nrrd
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
terminate called after throwing an instance of 'itk::ExceptionObject'
what(): /work/Stable/Slicer-4101-build/BRAINSTools/DWIConvert/DWIConvertLib.cxx:130:
itk::ERROR: Exception creating converter
itk::ExceptionObject (0x25a1550)
Location: "unknown"
File: /work/Stable/Slicer-4101-build/BRAINSTools/DWIConvert/NRRDDWIConverter.cxx
Line: 91
Description: itk::ERROR: ERROR Reading NRRD File : ~/QC/checked/p1_QCed.nrrd
Thanks a lot.
Esin- Feb 21, 2019 01:02 PM | Rachel Steiner - University of Wisconsin - MadisonRE: Extract FA and MD maps calculated by DTIPrepHi esin,
I believe I know the workaround. Do you mind sharing some info though:
Can you share the header information from your original nrrd DWI file from pre-QC with DTIPrep with me? And also the header info of the QCed version?
If you are unsure of how to do that, I think I can answer my own question by looking at your DTIPrep QC protocol that you ran on all of the subjects (assuming you kept the same protocol for everyone) and the DTIPrep final QC report.txt file that was output after it finished running for the p1 subject nrrd file that’s giving you problems.
What scanner manufacturer did you collect this data on? Siemens?- Feb 21, 2019 03:02 PM | esin karahan - Cardiff University Brain Research Imaging CentreRE: Extract FA and MD maps calculated by DTIPrepHi Rachel,
Thank you very much for the quick response.
I attached a zip file that contains a mat file for the header info of both pre-QC & QC-ed images, protocol.xml and QC report. The pre-QC file was in FSL-NIFTI format and I converted to NRRD by using DWI Convert tool in Slicer (vr 4.10.1 r27931) before QC.
Best,
EsinAttachment: p1.zip- Feb 21, 2019 03:02 PM | esin karahan - Cardiff University Brain Research Imaging CentreRE: Extract FA and MD maps calculated by DTIPrepSorry I forgot to tell. It is a Siemens 3T Prisma scanner.
Thanks again.
- Jan 29, 2019 12:01 PM | Benjamin DavidsonUsing DTI to plan a DBS surgery - TrackvisHi all,
I'm trying to plan a DBS surgery using an ROI generated in Trackvis using DTI. I can't seem to save the ROI as anything other than a .scene file. Does anyone know a way I can get this ROI as a Nifti or something I can use?
Thanks!!- Jan 29, 2019 01:01 PM | Martin StynerRE: Using DTI to plan a DBS surgery - TrackvisOriginally posted by neuronerd:Hi all,Not sure this is the right forum for your question (as this is really about DTIPrep, i.e. QC of DTI/dMRI data), as my lab does not use Trackvis, but rather performs tractography in 3D Slicer.
I'm trying to plan a DBS surgery using an ROI generated in Trackvis using DTI. I can't seem to save the ROI as anything other than a .scene file. Does anyone know a way I can get this ROI as a Nifti or something I can use?
Thanks!!
Martin- Jan 31, 2019 01:01 PM | Benjamin DavidsonRE: Using DTI to plan a DBS surgery - TrackvisThanks Martin!
- Feb 21, 2019 02:02 PM | Rachel Steiner - University of Wisconsin - MadisonRE: Using DTI to plan a DBS surgery - TrackvisOriginally posted by neuronerd:
Thanks Martin!
Yes I was going to suggest Slicer for your particular needs since the interactive tracking (fiducicial tracking) feature is effectively designed for potential applications like surgical planning. As you move the seed or fiducial or roi, the track changes in real time. Let me know if you’d like more information. It’s a very cool tool with many capabilities. check it out.
- Jan 23, 2019 01:01 PM | Benjamin DavidsonDTI for long tracksHi there,
I'm trying to visualize a patient's DTI images on TrackVis to help with preoperative planning. I seem to only be able to see short tracks (mean length 12mm). Even when I create a large ROI and place it in the corticospinal track, I can't see long tracks which I know should be there. Is there some mode parameter in TrackVis I should be changing? Can't seem to find a solution.
Any help would be appreciated!
Thank you- Feb 21, 2019 02:02 PM | Rachel Steiner - University of Wisconsin - MadisonRE: DTI for long tracksWhat are the parameters you are using in trackVis - have you set a length threshold or angle threshold value that is too strict?
what is the voxel size or spacing of the image you are tracking with?
Please feel free to send a screenshot. That would be helpful for quickly seeing what’s going on
- Mar 7, 2017 12:03 PM | Megan ShottDTI Prep Default Protocol ErrorHello,
I am new to DTIPrep and trying to run the default protocol. After I load my NRRD file and click on the default protocol i get an error that the following programs have not been found (attached is the screen shot of the error): bet2; convertITKformats; ImageMath; DiffusionWeightedVolumeMasking; dtiestim; dtiprocess.
It says to enter the path manually if necessary but i am not sure what that is referring to.
Thanks!Attachment: Error.tiff- Mar 8, 2017 03:03 PM | Martin StynerRE: DTI Prep Default Protocol ErrorHi Megan
Which platform is this (mac, linux) and are you calling DTIPrep through Slicer, if so how exactly? It looks like your paths have not been set up correctly (maybe an issue with the extension).
Martin- Mar 8, 2017 04:03 PM | Megan ShottRE: DTI Prep Default Protocol ErrorHi Martin,
I am using a macOS Sierra and have DTIPrep as a standalone program.
I actually tried to add it as an extension in Slicer (version 4.6.2) but could not figure out the steps to do that. Do you know how to add it as an extension in that version or an older version? Or, is it best to use the standalone program?
Also, after I ran the DTI protocol it does create the QC results and new nrrd image but I cannot figure out how to convert it into a NIFTI format to then use in FSL. I receive an error "The only supported output type is . You may consider using allowLossyConversion option.However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation." I tried running with allowing LossyConversion but it only saves a bvec and bval file but no NIFTI image. I am unsure if the issue I am having converting the image to FSL format is due to an issue within Slicer or because of the errors i am receiving using the DTIPrep.
One other question, when I try to view the output to do the visual checking, i click on the 3D viewer mode but do not see a sphere with the distribution of direction of gradients that the manual talks about, it is just a grey screen.
Any help on these steps would be much appreciated. I've been trying to go off the 'Quality Control Tutorial for DTI' but I am new to this pipeline and am not entirely sure I am doing it correctly.
Thanks,
Megan- Mar 9, 2017 03:03 PM | Martin StynerRE: DTI Prep Default Protocol ErrorHi Megan
1) platform: Did you compile it yourself or download from NITRC? Apart from the FSL tools (bet2), the other tools should have come with the DTIPrep download, so those tools should be there. You can specify in the protocol where this tools are located.
2) to Slicer or not to Slicer: Both options are equally workeable, but the nice thing about the Slicer extension is that those external tools should be all setup (apart from the FSL bet). It may though be that we need to update the extension and it's not compatible with the newest version of Slicer.
3) Those additional tools are necessary for a) mask creation and b) tensor computation. Thus, you will get the QCed DWI without the need for these tools DTIPrep did not find.
4) NIFTI: Best use the Slicer module DWIConverter (stand alone DWIConvert) , we use it regularly to take DTIPrep data into the FSL world (e.g. for probabilistic tractography).
5) Gradient sphere: did you enable the sphere and gradient display (click on the correspoding icons)?- Mar 10, 2017 04:03 AM | Megan ShottRE: DTI Prep Default Protocol ErrorHi Martin,
Thank you for your response:
1. I downloaded DTIPrep version 1.2.7 from the NITRC website. I am able to input the FSL bet2 path but am not sure what paths to input for the other tools. Could you provide me with the directory paths for the other tools? When I look at the package contents I cannot tell where or what files to specify.
2. With Slicer version 4.6.2 I do not see an option to add the DTIPrep extension. If is not compatible then I assume specifying where to find the tools in the standalone version of DTIPrep is the way to go? Otherwise, what version of Slicer is compatible with DTIPrep that would allow me to add as an extension?
3/4. With the output file from DTIPrep I have been trying to figure out in Slicer how to convert the image into FSL format using the DWIConverter but receive several error message. I posted the error log on the Slicer community list but have not gotten any replies. Perhaps you could help me figure out the issue. The following is the errors I receive:
Found CommandLine Module, target is /Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert
ModuleType: CommandLineModule
DWIConverter command line:
/Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert --conversionMode NrrdToFSL --inputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeB.nrrd --outputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeB.nrrd --inputDicomDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --outputBValues /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvals.bval --outputBVectors /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvecs.bvec --outputDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --smallGradientThreshold 0.2
DWIConverter standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
DWIConverter standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
DWIConverter completed with errors
Found CommandLine Module, target is /Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert
ModuleType: CommandLineModule
DWIConverter command line:
/Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert --conversionMode NrrdToFSL --inputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeB.nrrd --outputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeD.nrrd --inputDicomDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --outputBValues /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvals.bval --outputBVectors /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvecs.bvec --outputDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --smallGradientThreshold 0.2
DWIConverter standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
DWIConverter completed with errors
Found CommandLine Module, target is /Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert
ModuleType: CommandLineModule
DWIConverter command line:
/Applications/Slicer.app/Contents/lib/Slicer-4.6/cli-modules/DWIConvert --conversionMode NrrdToFSL --inputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeB.nrrd --outputVolume /var/folders/gm/5xjgw9fs1cd6w3f79y7bj72w0000gn/T/Slicer/GHAD_vtkMRMLDiffusionWeightedVolumeNodeD.nrrd --inputDicomDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --outputBValues /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvals.bval --outputBVectors /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new/bvecs.bvec --outputDirectory /Users/MEGAN/Documents/WORK/DataAnalyses/DTI/CWANAdol/CW_0044B_4/dicom_dti/new --smallGradientThreshold 0.2
DWIConverter standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
DWIConverter completed with errors
I checked the "Lossy Conversion" option and it ran with no errors, but my output files that were saved included the .bvec and .bval file but no NIFTI file.
Do you have a list of steps to take to convert to NIFTI format with the pipeline you use for your FSL analyses? Originally I used DWIConverter to convert my DICOM images to NRRD. And then am trying to use the NRRD to FSL option with the output from DTIPrep.
5. I did enable the sphere and gradient display as the manual shows but there is just a blank screen when I click on 3d mode. When I switch back to MPR I see the gradient I am trying to view but then nothing when I go back to 3d view.
One other question is about the default protocol values and how to determine whether I should use the default protocol or make any changes. A tutorial I found on the NITRC site says that more information on the default protocol is available on the site but i cannot find that information.
I'm sorry for all the questions, I am definitely a novice with these programs and recently discovered them when I was trying to figure out how to increase reliability in longitudinal TBSS studies.
Thank you for your help,
Megan- Apr 5, 2017 03:04 PM | Martin StynerRE: DTI Prep Default Protocol ErrorHi Meghan
1) you have the newest version, that's good (though the Mac version has not been tested, so there may be issues).
2) re Slicer: we have not yet updated DTIPrep to the newest Slicer release (due to changes in every Slicer release, we need to modify/update the extension to remain compatible, which is quite a bit of a hassle). On linux Slicer 4.4 has the DTIPrep 1.2.7 extension (not sure about mac)
3) Looking at your output, I see an immediate issue. It seems like the output node is a NRRD and not a nitfti file. It can very well be that you cannot run DWIConverter within Slicer (as it will use by default a NRRD output), but rather need to run DWIConvert via the command line. You can do that by using your Terminal, try the following in a Terminal:
/Applications/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/DWIConvert --help
(assuming you installed the Slicer app in /Applications) . If that works, you can do the conversion via that command line command (which is what we are doing, though on linux).
5) I think the sphere display does not work on the Mac, we need to correct that.
6) default protocol: that one sets reasonable values, but we usually adopt the parameters by running it on sample data from a study and adjusting threshold up/down based on whether the QC was too strict or not strict enough.
hope this helps
Martin
Jan 24, 2019 11:01 AM | Franziska BaerRE: DTI Prep Default Protocol ErrorDear Megan and Martin
I am working with DTI prep a short while now and I have a simular problem as Megan had a year ago.
After I transformed my Nifti/DICOM Datas into NRRD without a problem I could run the Default protocol, but now I can not transform the nrrd back to nifti with 3DSlicer. When I try that I get this Error:
DWIConverter standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: unsigned_short
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
I just don't know why I got these Error and so i ask for your help.
Here some informations tu my data set:
diffusion weighting: 1
b-value: 1300 s/mm²
diffusion directions: 36
Phase encoding direction: p-a
Thank you for your help,
Franziska- Jan 25, 2019 04:01 AM | Martin StynerRE: DTI Prep Default Protocol ErrorThis sounds exactly like the same issue that Megan had, but I am not sure whether she found a way to solve it.
I am not sure why we do not encounter it in our linux workflow, but I can recreate it on the Mac. It has to do with the DWIConvert and it's issue if the NRRD file has type "unsigned short" rather than "short" (don't ask me why it should not be able convert "unsigned short" data). (So it's not really a DTIPrep issue but rather about DWIConvert)
There several ways around this:
a) hack the header: since you unlikely have values higher than 32k in your DWI data, you can simply change "unsigned short" to "short" in the header (for values from 0-32k the two datatypes are equivalent). Since the header is ASCII readable, you can just edit the nrrd file in an editor, I used "vi" and it worked like a charm.
b) you can convert rather than hack the file: there is neat swiss-army-knife-tool (it does a little bit of everything) specifically for nrrd data and that tool is called "unu" (http://teem.sourceforge.net/unrrdu/). It comes with Slicer on linux, but unfortunately not on Mac (don't know why). You can then use "unu convert" to convert the nrrd file from unsigned short to short.
hope this helps
Martin
- Jan 10, 2019 07:01 PM | Justin SmithCentOS 7, can't install... Need a containerCentOS 7 will never have GLIB 3.4.20 or 3.4.21... The makers have said this
Thus, I cannot get DTIPrep unless there's a singularity or docker container out there that's working. I've tried some but they seem to be outdated. Does anyone know of a working DTIPrep container (Docker or Singularity)?
- Dec 12, 2018 04:12 PM | karenmissing gradientsDear all,
When looking in the QCReport.txt files I noticed that there are gradients missing in the list of "Included gradients", which are not listed as interlace-wise check artifacts or slice-wise check artifacts (I'm skipping gradient-wise check). In fact, they are not mentioned in the report at all. This usually happens for 1-2 gradients in about 1 per 8 subjects. Does somebody know what happened to those gradients?
For example, in the file attached, you can see that gradient 42 is not listed as an included gradient and neither as an interlace-wise or slice wise artifact.
Thanks,
KarenAttachment: DTIPrep_QCReport- Dec 14, 2018 04:12 PM | Martin StynerRE: missing gradientsOriginally posted by karen:Dear all,Hi Karen
When looking in the QCReport.txt files I noticed that there are gradients missing in the list of "Included gradients", which are not listed as interlace-wise check artifacts or slice-wise check artifacts (I'm skipping gradient-wise check). In fact, they are not mentioned in the report at all. This usually happens for 1-2 gradients in about 1 per 8 subjects. Does somebody know what happened to those gradients?
For example, in the file attached, you can see that gradient 42 is not listed as an included gradient and neither as an interlace-wise or slice wise artifact.
Thanks,
Karen
I could not see the attached file (not sure what's wrong with it, but I cannot download it from NITRC). Is gradient 42 a baseline/b=0 volume? If so then it would be missing, as it was averaged with the other b=0 volumes.
Martin- Dec 17, 2018 03:12 PM | karenRE: missing gradientsHi Martin,
Thanks for your response. In this case gradient 42 was a baseline volume (and I would have expected it to be listed with the other baseline volumes "Baselines_indices" in the list ). However, it also seems to happen for gradients, i.e. not baseline volumes. I attached another file, in which gradient 87 is not in the list of included gradients and not listed among the artifacts (and it is not a baseline volume).
Best,
KarenAttachment: DTI_ALL_QCReport.txt
- Dec 15, 2018 05:12 AM | jiggerjawProblem with install... midas3.kitware unavailableProblem installing... It would appear that some of the Slicer library is no longer available?
GET
/midas/api/rest?method=midas.bitstream.download&checksum=2edab8c06b24feeb3b82bbb3ebf3e7b3&name=fftw-3.3.4.tar.gz
HTTP/1.1
User-Agent: curl/7.29.0
Host: midas3.kitware.com
Accept: */*
The requested URL returned error: 404 Not Found
- Nov 29, 2018 05:11 PM | Huan YangQuestions about understanding QCreportDear all,
After I run DTIprep, i don't understand some points in QCReport.
1. Some parameters are blank under "Interlace-wise Check Artifacts"and "Inter-gradient check Artifacts", as following:
Interlace-wise Check Artifacts:
Gradient#: AngleX AngleY AngleZ TranslationX TranslationY TranslationZ Metric(MI) Correlation
Inter-gradient check Artifacts:
Gradient#: AngleX AngleY AngleZ TranslationX TranslationY TranslationZ Metric(MI)
Whether there should be parameters following Anglex, et al.
2. As I seen in the QCReport, there are results of "EddyCurrentHeadMotionCorrectIowa ...
Transforms"whether that is mean the QC check has done the eddy current and head motion correction. If so how to understand the following results?
I don't understand why each included gradient has two lines, one is parameters, and the other is fixed parameters. And why the following numbers have different number, since "parameter" has 12 numbers, but "fixed parameters" has 3 numbers?
0 - Parameters: [0.9997539562179837, -0.0000456712971941987, 0.00012814643209806194, 0.0001919390366571939, 0.9996859054763518, -0.00002926969037700233, -0.00011713357421570307, 0.00010946833467130879, 0.9997676269027517, -0.0009163895499214427, -0.005300804295234882, 0.008665774469949795]
0 - Fixed Parameters: [2.0063291738889677, 29.472202481645756, -25.351412463387636]
1 - Parameters: [0.9973658126577162, -0.0032099643661705193, -0.0026982670174528984, 0.003487339476547441, 0.99321195724164, 0.011081261533761417, 0.0035208460196087398, -0.009190952090957454, 0.999104607135376, 0.06964221564603196, -0.28415220872622377, -0.7374703184740822]
1 - Fixed Parameters: [2.0063291738889677, 29.472202481645756, -25.351412463387636]
3. when we need to transfer nerd files to nil format, we should transfer the *.nrrd or *_QCed.nrrd? It seems I can only transfer *.nrrd to nil, and failed to transfer *_QCed.nrrd to nil.
Thank you so much for your help.
Huan- Nov 29, 2018 06:11 PM | Martin StynerRE: Questions about understanding QCreportDear Huan
Re 1. Which file are you refering to, the "txt" file or the "xml" file. The "txt" is more information reporting, and the xml should be used if you plan to perform any analysis of the computed transforms or corrections/rejections. In general, parameters may no values for a given DWI, if a prior step excluded that DWI (so any further steps would not be applied to it).
Re 2. Both sets of parameters are used to describe the full affine transform. The fixed parameter describes center of rotation of a transform. See also:
https://itk.org/Doxygen312/html/classitk...
Best
Martin
Originally posted by Huan Yang:Dear all,
After I run DTIprep, i don't understand some points in QCReport.
1. Some parameters are blank under "Interlace-wise Check Artifacts"and "Inter-gradient check Artifacts", as following:
Interlace-wise Check Artifacts:
Gradient#: AngleX AngleY AngleZ TranslationX TranslationY TranslationZ Metric(MI) Correlation
Inter-gradient check Artifacts:
Gradient#: AngleX AngleY AngleZ TranslationX TranslationY TranslationZ Metric(MI)
Whether there should be parameters following Anglex, et al.
2. As I seen in the QCReport, there are results of "EddyCurrentHeadMotionCorrectIowa ...
Transforms"whether that is mean the QC check has done the eddy current and head motion correction. If so how to understand the following results?
I don't understand why each included gradient has two lines, one is parameters, and the other is fixed parameters. And why the following numbers have different number, since "parameter" has 12 numbers, but "fixed parameters" has 3 numbers?
0 - Parameters: [0.9997539562179837, -0.0000456712971941987, 0.00012814643209806194, 0.0001919390366571939, 0.9996859054763518, -0.00002926969037700233, -0.00011713357421570307, 0.00010946833467130879, 0.9997676269027517, -0.0009163895499214427, -0.005300804295234882, 0.008665774469949795]
0 - Fixed Parameters: [2.0063291738889677, 29.472202481645756, -25.351412463387636]
1 - Parameters: [0.9973658126577162, -0.0032099643661705193, -0.0026982670174528984, 0.003487339476547441, 0.99321195724164, 0.011081261533761417, 0.0035208460196087398, -0.009190952090957454, 0.999104607135376, 0.06964221564603196, -0.28415220872622377, -0.7374703184740822]
1 - Fixed Parameters: [2.0063291738889677, 29.472202481645756, -25.351412463387636]
Thank you so much for your help.
Huan
- Oct 31, 2018 03:10 PM | karenGradients are excludedDear all,
I'm using DTIPrep and after transposing the bvec (3 columns) and bval (one column) files, it gives the correct appearance in the DTIPrep. However, after running the QC, it makes all the gradients excluded except of the baseline images.
In the text file it comes out like this:
Included gradients:
Baselines_indices: 0 QCIndex: 0
Baselines_indices: 1 QCIndex: 0
Baselines_indices: 2 QCIndex: 0
Baselines_indices: 3 QCIndex: 0
Baselines_indices: 4 QCIndex: 0
Baselines_indices: 5 QCIndex: 0
Does somebody know how to solve this problem?
Thanks in advance.- Oct 31, 2018 05:10 PM | Martin StynerRE: Gradients are excludedI think we need a bit more information.
1. Which QC step rejects all the non-baseline gradients? (look at the report text file) What are the protocol settings for that step?
2. Since you started with a nifti file, you had to first convert it to NRRD? If so, does the header information look correct (the NRRD header is ASCII, so you can look at it with any editor)? Do the gradient directions look correct in the NRRD header?
Martin- Nov 1, 2018 04:11 PM | karenRE: Gradients are excludedDear Martin,
Thank you for your quick response!
1. It is the gradient-wise checking (see attached QC report).
Parameters:
TranslationThreshold: 1.31773
RotationThreshold: 0.5
2. The gradient directions look ok when loading the nrrd-file into the DTIPrep GUI. We've used DWIConvert from the command line and not created separate header files. When I convert in Slicer and save a separate header file, the gradient directions have a different precision. Might this have to do with which space the data is in? (LPS vs. RAS)? The contents of the .nhdr are found below (since I can't attach two files). Anyway, it looks ok in DTIPrep.
It should perhaps be mentioned that we're processing older data (~10 years).
Best,
Karen
NRRD0005
# Complete NRRD file format specification at:
# http://teem.sourceforge.net/nrrd/format....
type: short
dimension: 4
space: right-anterior-superior
sizes: 38 256 256 64
space directions: none (-0.97659999132156361,0,0) (0,-0.97659999132156361,0) (0,0,2)
kinds: list domain domain domain
endian: little
encoding: gzip
space origin: (124.70899963378905,134.45399540662763,-79.152496337890625)
measurement frame: (-1,0,0) (0,-1,0) (0,0,1)
data file: test.raw.gz
DWMRI_b-value:=1000.000000
DWMRI_gradient_0000:=0.000000 0.000000 0.000000
DWMRI_gradient_0001:=0.000000 0.000000 0.000000
DWMRI_gradient_0002:=0.000000 0.000000 0.000000
DWMRI_gradient_0003:=0.000000 0.000000 0.000000
DWMRI_gradient_0004:=0.000000 0.000000 0.000000
DWMRI_gradient_0005:=0.000000 0.000000 0.000000
DWMRI_gradient_0006:=-1.000000 0.000000 0.000000
DWMRI_gradient_0007:=-0.494198 -0.869349 0.000000
DWMRI_gradient_0008:=0.120009 -0.641050 0.758059
DWMRI_gradient_0009:=-0.919038 0.331014 -0.214009
DWMRI_gradient_0010:=0.111970 0.630833 0.767797
DWMRI_gradient_0011:=0.914305 0.236079 0.329110
DWMRI_gradient_0012:=-0.680844 -0.302930 0.666847
DWMRI_gradient_0013:=-0.066978 -0.997670 -0.012996
DWMRI_gradient_0014:=-0.917623 -0.152937 0.366849
DWMRI_gradient_0015:=-0.443231 0.890464 0.103054
DWMRI_gradient_0016:=-0.215975 0.926892 -0.306964
DWMRI_gradient_0017:=-0.480032 0.671045 -0.565038
DWMRI_gradient_0018:=0.549943 0.477950 0.684928
DWMRI_gradient_0019:=0.700688 -0.692691 0.170924
DWMRI_gradient_0020:=0.429108 0.007002 -0.903226
DWMRI_gradient_0021:=0.698790 0.639808 0.319904
DWMRI_gradient_0022:=-0.725825 -0.090978 -0.681836
DWMRI_gradient_0023:=-0.389830 0.248892 -0.886614
DWMRI_gradient_0024:=0.172056 0.881289 -0.440144
DWMRI_gradient_0025:=0.609674 -0.640657 -0.466750
DWMRI_gradient_0026:=-0.598760 -0.688724 0.408836
DWMRI_gradient_0027:=0.727829 -0.221948 -0.648848
DWMRI_gradient_0028:=-0.882959 0.397981 0.248988
DWMRI_gradient_0029:=-0.320210 -0.548360 0.772507
DWMRI_gradient_0030:=0.044018 0.268107 -0.962383
DWMRI_gradient_0031:=-0.188896 0.876518 0.442757
DWMRI_gradient_0032:=-0.732165 0.333075 -0.594134
DWMRI_gradient_0033:=-0.308976 0.549957 0.775939
DWMRI_gradient_0034:=-0.285959 -0.857876 -0.426938
DWMRI_gradient_0035:=-0.859154 -0.504090 0.088016
DWMRI_gradient_0036:=0.106972 -0.214945 -0.970750
DWMRI_gradient_0037:=0.297951 0.177970 0.937844
modality:=DWMRI
space:=left-posterior-superiorAttachment: QCReport.txt- Nov 2, 2018 12:11 PM | Martin StynerRE: Gradients are excludedThanks Karen
The gradient-wise checking uses an alternative registration to detect alternative motion and is a bit more susceptible to low SNR data (and overestimates particularly residual translation motion in such a case). I would disable the gradient-wise/residual motion check phase (set it to "No" in the protocol), as it is not stable with your data.
re header: If only the precision is different, than that should be fine, you have plenty of precision in the gradient directions in that header.
one more note: your DTI data is not isotropic (0.98x0.98x2), which is not recommended. After DTIPrep, I would first resample the DWI data to 0.98x0.98x0.98 and only then fit the tensor etc
Best
Martin
Originally posted by karen:Dear Martin,
Thank you for your quick response!
1. It is the gradient-wise checking (see attached QC report).
Parameters:
TranslationThreshold: 1.31773
RotationThreshold: 0.5
2. The gradient directions look ok when loading the nrrd-file into the DTIPrep GUI. We've used DWIConvert from the command line and not created separate header files. When I convert in Slicer and save a separate header file, the gradient directions have a different precision. Might this have to do with which space the data is in? (LPS vs. RAS)? The contents of the .nhdr are found below (since I can't attach two files). Anyway, it looks ok in DTIPrep.
It should perhaps be mentioned that we're processing older data (~10 years).
Best,
Karen
NRRD0005
# Complete NRRD file format specification at:
# http://teem.sourceforge.net/nrrd/format....
type: short
dimension: 4
space: right-anterior-superior
sizes: 38 256 256 64
space directions: none (-0.97659999132156361,0,0) (0,-0.97659999132156361,0) (0,0,2)
kinds: list domain domain domain
endian: little
encoding: gzip
space origin: (124.70899963378905,134.45399540662763,-79.152496337890625)
measurement frame: (-1,0,0) (0,-1,0) (0,0,1)
data file: test.raw.gz
DWMRI_b-value:=1000.000000
DWMRI_gradient_0000:=0.000000 0.000000 0.000000
DWMRI_gradient_0001:=0.000000 0.000000 0.000000
DWMRI_gradient_0002:=0.000000 0.000000 0.000000
DWMRI_gradient_0003:=0.000000 0.000000 0.000000
DWMRI_gradient_0004:=0.000000 0.000000 0.000000
DWMRI_gradient_0005:=0.000000 0.000000 0.000000
DWMRI_gradient_0006:=-1.000000 0.000000 0.000000
DWMRI_gradient_0007:=-0.494198 -0.869349 0.000000
DWMRI_gradient_0008:=0.120009 -0.641050 0.758059
DWMRI_gradient_0009:=-0.919038 0.331014 -0.214009
DWMRI_gradient_0010:=0.111970 0.630833 0.767797
DWMRI_gradient_0011:=0.914305 0.236079 0.329110
DWMRI_gradient_0012:=-0.680844 -0.302930 0.666847
DWMRI_gradient_0013:=-0.066978 -0.997670 -0.012996
DWMRI_gradient_0014:=-0.917623 -0.152937 0.366849
DWMRI_gradient_0015:=-0.443231 0.890464 0.103054
DWMRI_gradient_0016:=-0.215975 0.926892 -0.306964
DWMRI_gradient_0017:=-0.480032 0.671045 -0.565038
DWMRI_gradient_0018:=0.549943 0.477950 0.684928
DWMRI_gradient_0019:=0.700688 -0.692691 0.170924
DWMRI_gradient_0020:=0.429108 0.007002 -0.903226
DWMRI_gradient_0021:=0.698790 0.639808 0.319904
DWMRI_gradient_0022:=-0.725825 -0.090978 -0.681836
DWMRI_gradient_0023:=-0.389830 0.248892 -0.886614
DWMRI_gradient_0024:=0.172056 0.881289 -0.440144
DWMRI_gradient_0025:=0.609674 -0.640657 -0.466750
DWMRI_gradient_0026:=-0.598760 -0.688724 0.408836
DWMRI_gradient_0027:=0.727829 -0.221948 -0.648848
DWMRI_gradient_0028:=-0.882959 0.397981 0.248988
DWMRI_gradient_0029:=-0.320210 -0.548360 0.772507
DWMRI_gradient_0030:=0.044018 0.268107 -0.962383
DWMRI_gradient_0031:=-0.188896 0.876518 0.442757
DWMRI_gradient_0032:=-0.732165 0.333075 -0.594134
DWMRI_gradient_0033:=-0.308976 0.549957 0.775939
DWMRI_gradient_0034:=-0.285959 -0.857876 -0.426938
DWMRI_gradient_0035:=-0.859154 -0.504090 0.088016
DWMRI_gradient_0036:=0.106972 -0.214945 -0.970750
DWMRI_gradient_0037:=0.297951 0.177970 0.937844
modality:=DWMRI
space:=left-posterior-superior- Nov 6, 2018 03:11 PM | karenRE: Gradients are excludedHi Martin,
Thanks a lot for your suggestions!
Best,
Karen
- Sep 19, 2016 04:09 PM | Tanmay NathDTIPrep command line installationHi,
Can anyone point me to the command line installation of DTIPrep? I was using this
svn checkout https://www.nitrc.org/svn/dtiprep/trunk DTIPrep
but it gives me following output.
svn: E175013: Unable to connect to a repository at URL 'https://www.nitrc.org/svn/dtiprep/trunk'
svn: E175013: Access to 'https://www.nitrc.org/svn/dtiprep/trunk' forbidden
I do have the nitrc account, but I am not sure how to seek permission to install DTIPrep.
Thanks- Sep 19, 2016 06:09 PM | Martin StynerRE: DTIPrep command line installationThe svn repository has been replaced by a git repository. If you click on the "source code" link in the navigation menu to the left. It will take you to the git repo on github. You can then get the code via
git clone https://github.com/NIRALUser/DTIPrep.git
Hope this helps
Martin- Sep 19, 2016 06:09 PM | Tanmay NathRE: DTIPrep command line installationHi Martin
Thank you . I was able to download the DTIPrep. I used the following steps to install it, but now i do not know how to start the DTIPrep. Also, strangely, the make process was very quick. I wonder if i made any mistake while installing DTIPrep.
- git clone https://github.com/NIRALUser/DTIPrep.git
- ccmake ../DTIPrep
- (configured and generated in CMake)
- ccmake .
Can you please explain me how to go ahead with this?Attachment: Screen Shot 2016-09-19 at 2.54.35 PM.png- Sep 19, 2016 07:09 PM | Juan Prieto - NIRALRE: DTIPrep command line installationDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
Best,
Juan- Sep 19, 2016 08:09 PM | Tanmay NathRE: DTIPrep command line installationHi,
Thanks Juan it works. The difference was in the step 4. I was doing ccmake rather than make.
But now when i am running the command line, it opens the GUI. I do not want to use GUI. I need to use it from command line.
./DTIPrep_build/bin/DTIPrep.app/Contents/MacOS/DTIPrep -w sub5621/data/01+dti_64dir_3x3x3/sub5621_a.nhdr -d -f working_projects/sub5621/sub5621_QC/
Any idea how to make it run via command line?- Sep 20, 2016 03:09 PM | Juan Prieto - NIRALRE: DTIPrep command line installationWhen you type 'DTIPrep --help' you can get the full description of the options for this program.
The flag you want to use is '-c' when you don't want to use the graphical user interface.
Something like,
./DTIPrep_build/bin/DTIPrep.app/Contents/MacOS/DTIPrep -w sub5621/data/01+dti_64dir_3x3x3/sub5621_a.nhdr -d -f working_projects/sub5621/sub5621_QC/ -c
Best,
Juan
Aug 8, 2017 04:08 PM | Cyril PernetRE: DTIPrep command line installationDear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril- Sep 8, 2017 05:09 PM | Amanda SzymanskiRE: DTIPrep command line installationI'm having a similar issue as Cyril:
CMake Error at /usr/local/Cellar/cmake/3.9.2/share/cmake/Modules/FindQt4.cmake:1318 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
I have Qt5 installed. I've tried installing Qt4 & directing ccmake to use that instead, but it still wouldn't work. Any suggestions?
Originally posted by Cyril Pernet:Dear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril- Apr 22, 2018 12:04 PM | Anna Kautto - University of TurkuRE: DTIPrep command line installationI also have a problem with Qt version. I have 5.6.2 and I get error "Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x" Should I try installing older version of Qt? Did someone already solve this issue?
Anna
Originally posted by Amanda Szymanski:I'm having a similar issue as Cyril:
CMake Error at /usr/local/Cellar/cmake/3.9.2/share/cmake/Modules/FindQt4.cmake:1318 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
I have Qt5 installed. I've tried installing Qt4 & directing ccmake to use that instead, but it still wouldn't work. Any suggestions?
Originally posted by Cyril Pernet:Dear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril- Jun 21, 2018 02:06 AM | XIAO YANGRE: DTIPrep command line installationDear Experts and DTIPrep users,
I am trying to do the build steps following:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
I had a similar problem. When I did run: cmake ../DTIPrep
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/FindQt4.cmake:1321 (message):
Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
Aftet I installed qt4 /usr/local/Cellar/qt@4/4.8.7_5: 2,963 files, 86.1MB. it still didn't work.
Any help and suggestion would be appreciated.
Best,
Xiao
Originally posted by Anna Kautto:I also have a problem with Qt version. I have 5.6.2 and I get error "Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x" Should I try installing older version of Qt? Did someone already solve this issue?
Anna
Originally posted by Amanda Szymanski:I'm having a similar issue as Cyril:
CMake Error at /usr/local/Cellar/cmake/3.9.2/share/cmake/Modules/FindQt4.cmake:1318 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
I have Qt5 installed. I've tried installing Qt4 & directing ccmake to use that instead, but it still wouldn't work. Any suggestions?
Originally posted by Cyril Pernet:Dear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril- Jun 29, 2018 02:06 PM | Kelli Dominick - Cincinnati Children's Hospital Medical CenterRE: DTIPrep command line installationDid anyone get a solution to this?
Originally posted by XIAO YANG:Dear Experts and DTIPrep users,
I am trying to do the build steps following:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
I had a similar problem. When I did run: cmake ../DTIPrep
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/FindQt4.cmake:1321 (message):
Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
Aftet I installed qt4 /usr/local/Cellar/qt@4/4.8.7_5: 2,963 files, 86.1MB. it still didn't work.
Any help and suggestion would be appreciated.
Best,
Xiao
Originally posted by Anna Kautto:I also have a problem with Qt version. I have 5.6.2 and I get error "Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x" Should I try installing older version of Qt? Did someone already solve this issue?
Anna
Originally posted by Amanda Szymanski:I'm having a similar issue as Cyril:
CMake Error at /usr/local/Cellar/cmake/3.9.2/share/cmake/Modules/FindQt4.cmake:1318 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
I have Qt5 installed. I've tried installing Qt4 & directing ccmake to use that instead, but it still wouldn't work. Any suggestions?
Originally posted by Cyril Pernet:Dear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril- Jun 29, 2018 03:06 PM | Martin StynerRE: DTIPrep command line installationJuan Prieto would probably be more appropriate to answer this, but here a bit of guidance
1. DTIPrep needs QT 4 (like you realized)
2. After you installed QT 4, and you rerun ccmake, does it find the correct version and sets the paths correctly for QT?
Did you start the configuration and compilation from scratch after the installation of QT4, or did you try to continue on the previous compilation that did not succeed with Qt5? If not, just try to compile from scratch.
Martin
Originally posted by Kelli Dominick:Did anyone get a solution to this?
Originally posted by XIAO YANG:Dear Experts and DTIPrep users,
I am trying to do the build steps following:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
I had a similar problem. When I did run: cmake ../DTIPrep
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/FindQt4.cmake:1321 (message):
Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
Aftet I installed qt4 /usr/local/Cellar/qt@4/4.8.7_5: 2,963 files, 86.1MB. it still didn't work.
Any help and suggestion would be appreciated.
Best,
Xiao
Originally posted by Anna Kautto:I also have a problem with Qt version. I have 5.6.2 and I get error "Found unsuitable Qt version "5.6.2" from /anaconda3/bin/qmake, this code
requires Qt 4.x" Should I try installing older version of Qt? Did someone already solve this issue?
Anna
Originally posted by Amanda Szymanski:I'm having a similar issue as Cyril:
CMake Error at /usr/local/Cellar/cmake/3.9.2/share/cmake/Modules/FindQt4.cmake:1318 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
Common.cmake:35 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:28 (include)
I have Qt5 installed. I've tried installing Qt4 & directing ccmake to use that instead, but it still wouldn't work. Any suggestions?
Originally posted by Cyril Pernet:Dear Juan,
I followed the instructions below but I got an error message related to QtDid you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. makeI'm running Ubuntu Xenial and have intalled Qt5 Qt4 following the instruction herehttps://wiki.qt.io/Install_Qt_5_on_Ubuntuerror message seems to be that I need at least qt4.6 ??CMake Error at
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148
(message):
Could NOT find Qt4 (missing: QT_RCC_EXECUTABLE) (found suitable version
"4.8.7", minimum required is "4.6")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindQt4.cmake:1333
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Common.cmake:38 (find_package)
SuperBuild.cmake:20 (include)
CMakeLists.txt:29 (include)
Any ideee how to make it work ??thxcyril
Mar 5, 2018 05:03 PM | Huan YangRE: DTIPrep command line installationWhy after I tried the command "ccmake", it always said that "command not found"? Thank you so much if you know the answer.
Originally posted by Juan Prieto:Did you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
Best,
Juan- Mar 5, 2018 05:03 PM | Martin StynerRE: DTIPrep command line installationYou need to first install cmake (ccmake is part of cmake)
Martin- Mar 6, 2018 05:03 PM | Huan YangRE: DTIPrep command line installationThank you so much for your quick reply, Martin.
I have install the cmake, but after I run the recommend " ccmake ../DTIPrep", it opened the CMake interface, said "empty cache".
Could you please tell me why this happen? I followed the instruction before, and the first two steps seems run correctly.
Thank you so much for you help.
HuanAttachment: 屏幕快照 2018-03-07 01.12.19.png- Mar 6, 2018 09:03 PM | Juan Prieto - NIRALRE: DTIPrep command line installationCan you run the following commands inside the DTIPrep-build directory?
mkdir bin;
cmake ../DTIPrep
The command 'ccmake' brings up the interface of cmake, but if you run 'cmake' only, it will configure the project.
Best,
Sep 3, 2018 10:09 AM | Abhineet OjhaRE: DTIPrep command line installationOriginally posted by Juan Prieto:Did you execute the make command after configuration?
The build steps should look something like this.
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
Best,
Juan
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
I am able to execute first two commands without any error but in third command it is giving this error(mentioned in red colour). Please, look at it and provide appropriate solution
abhineet@abhineet-SVE15118FNB:~/DTIPrep-build$ sudo cmake ../DTIPrep
-- Found Qt4: /usr/bin/qmake (found suitable version "4.8.7", minimum required is "4.6")
-- Performing Test C_HAS_WARNING-Wformat=2
-- Performing Test C_HAS_WARNING-Wformat=2 - Success
-- Performing Test CXX_HAS_WARNING-Wformat=2
-- Performing Test CXX_HAS_WARNING-Wformat=2 - Success
-- Found Qt4: /usr/bin/qmake (found version "4.8.7")
-- SuperBuild - DTIPrepTools => Requires VTK, DCMTK, ITKv4, SlicerExecutionModel, DTIProcess, niral_utilities, BRAINSTools,
-- SuperBuild - VTK[OK]
-- SuperBuild - DCMTK[OK]
-- SuperBuild - DCMTK => Requires TIFF, JPEG, zlib,
-- SuperBuild - TIFF[OK]
-- SuperBuild - TIFF => Requires zlib, JPEG,
-- SuperBuild - zlib[OK]
-- SuperBuild - JPEG[OK]
-- SuperBuild - TIFF[OK]
-- SuperBuild - DCMTK[OK]
-- SuperBuild - ITKv4 => Requires VTK[INCLUDED], DCMTK[INCLUDED], TIFF[INCLUDED], JPEG[INCLUDED], zlib[INCLUDED],
-- SuperBuild - ITKv4[OK]
-- SuperBuild - SlicerExecutionModel => Requires ITKv4[INCLUDED],
-- SuperBuild - SlicerExecutionModel[OK]
CMake Error at SuperBuild/External_DTIProcess.cmake:36 (if):
if given arguments:
"DEFINED" "DTIProcess_DIR" "AND" "NOT" "EXISTS" "AND" "NOT" "EXISTS"
Unknown arguments specified
Call Stack (most recent call first):
CMake/SlicerMacroCheckExternalProjectDependency.cmake:69 (include)
SuperBuild.cmake:288 (SlicerMacroCheckExternalProjectDependency)
CMakeLists.txt:28 (include)
-- Configuring incomplete, errors occurred!
See also "/home/abhineet/DTIPrep-build/CMakeFiles/CMakeOutput.log".
See also "/home/abhineet/DTIPrep-build/CMakeFiles/CMakeError.log".- Sep 4, 2018 03:09 PM | Juan Prieto - NIRALRE: DTIPrep command line installationThe following commit fixes finding the DTIProcess package https://github.com/NIRALUser/DTIPrep/com...
The following commit fixes building the TIFF library with ZLIB support https://github.com/NIRALUser/DTIPrep/com...
Please remove the current version of the source code and try the commands again.
Best,- Sep 5, 2018 03:09 PM | Abhineet OjhaRE: DTIPrep command line installationOriginally posted by Juan Prieto:The following commit fixes finding the DTIProcess package https://github.com/NIRALUser/DTIPrep/com...Dear Sir,
The following commit fixes building the TIFF library with ZLIB support https://github.com/NIRALUser/DTIPrep/com...
Please remove the current version of the source code and try the commands again.
Best,
First of all, thanks for updating the program. I am able to compile DTIPrep.
Sorry to bother you again.
I am getting an error (in red colour font)while running in Performing configure step for 'niral_utilities' part while running make command.
I had try to look for it online but unable to find any solution.
Please provide your insight on how to solve this error.
I am also attaching .png file showing my ccmake option for DTIPrep.
abhineet@abhineet-SVE15118FNB:~/DTIPrep-build$ cmake ../DTIPrep
-- Found Qt4: /usr/bin/qmake (found suitable version "4.8.7", minimum required is "4.6")
-- Performing Test C_HAS_WARNING-Wformat=2
-- Performing Test C_HAS_WARNING-Wformat=2 - Success
-- Performing Test CXX_HAS_WARNING-Wformat=2
-- Performing Test CXX_HAS_WARNING-Wformat=2 - Success
-- Found Qt4: /usr/bin/qmake (found version "4.8.7")
-- SuperBuild - DTIPrepTools => Requires VTK, DCMTK, ITKv4, SlicerExecutionModel, DTIProcess, niral_utilities, BRAINSTools,
-- SuperBuild - VTK[OK]
-- SuperBuild - DCMTK[OK]
-- SuperBuild - DCMTK => Requires TIFF, JPEG, zlib,
-- SuperBuild - TIFF[OK]
-- SuperBuild - TIFF => Requires zlib, JPEG,
-- SuperBuild - zlib[OK]
-- SuperBuild - JPEG[OK]
-- SuperBuild - TIFF[OK]
-- SuperBuild - DCMTK[OK]
-- SuperBuild - ITKv4 => Requires VTK[INCLUDED], DCMTK[INCLUDED], TIFF[INCLUDED], JPEG[INCLUDED], zlib[INCLUDED],
-- SuperBuild - ITKv4[OK]
-- SuperBuild - SlicerExecutionModel => Requires ITKv4[INCLUDED],
-- SuperBuild - SlicerExecutionModel[OK]
-- SuperBuild - DTIProcess => Requires ITKv4[INCLUDED], VTK[INCLUDED], SlicerExecutionModel[INCLUDED],
-- SuperBuild - DTIProcess[OK]
-- SuperBuild - niral_utilities => Requires ITKv4[INCLUDED], VTK[INCLUDED], SlicerExecutionModel[INCLUDED],
-- SuperBuild - niral_utilities[OK]
-- SuperBuild - BRAINSTools => Requires ITKv4[INCLUDED], SlicerExecutionModel[INCLUDED], VTK[INCLUDED], DCMTK[INCLUDED], teem, OpenCV, zlib[INCLUDED],
-- SuperBuild - teem => Requires zlib[INCLUDED],
-- SuperBuild - teem[OK]
-- SuperBuild - OpenCV[OK]
-- SuperBuild - BRAINSTools[OK]
-- SuperBuild - BRAINSTools => Requires ITKv4[INCLUDED], SlicerExecutionModel[INCLUDED], VTK[INCLUDED], DCMTK[INCLUDED], teem[INCLUDED], OpenCV[INCLUDED], zlib[INCLUDED], TIFF[INCLUDED], JPEG[INCLUDED],
-- SuperBuild - BRAINSTools[OK]
-- SuperBuild - DTIPrepTools[OK]
-- Configuring done
-- Generating done
-- Build files have been written to: /home/abhineet/DTIPrep-build
abhineet@abhineet-SVE15118FNB:~/DTIPrep-build$ sudo make
[ 8%] Built target OpenCV
[ 16%] Built target zlib
[ 24%] Built target teem
[ 32%] Built target VTK
[ 39%] Built target JPEG
[ 47%] Built target TIFF
[ 55%] Built target DCMTK
[ 63%] Built target ITKv4
[ 70%] Built target SlicerExecutionModel
[ 78%] Built target DTIProcess
[ 79%] Performing configure step for 'niral_utilities'
-- Configuring executable: ImageMath
-- Configuring executable: convertITKformats
-- Configuring executable: convertITKformats4D
-- Configuring executable: convertTextToImage
-- Configuring done
CMake Error: INSTALL(EXPORT) given unknown export "niral_utilitiesTargets"
-- Generating done
-- Build files have been written to: /home/abhineet/DTIPrep-build/niral_utilities-build
CMakeFiles/niral_utilities.dir/build.make:109: recipe for target 'niral_utilities-prefix/src/niral_utilities-stamp/niral_utilities-configure' failed
make[2]: *** [niral_utilities-prefix/src/niral_utilities-stamp/niral_utilities-configure] Error 1
CMakeFiles/Makefile2:697: recipe for target 'CMakeFiles/niral_utilities.dir/all' failed
make[1]: *** [CMakeFiles/niral_utilities.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2Attachment: ccmake DTIPrep.png- Sep 10, 2018 01:09 PM | Juan Prieto - NIRALRE: DTIPrep command line installationIs this issue resolved with the latest updates?
Sep 19, 2016 07:09 PM | Juan Prieto - NIRALRE: DTIPrep command line installationHi Tanmay,
Could you please visit the github page https://github.com/NIRALUser/DTIPrep and use the github repository address to checkout DTIPrep?
Best,
JuanMar 13, 2018 10:03 PM | Ryan H - UCLARE: DTIPrep command line installationHi,
Of the 4 following steps, I've successfully executed the first 3:
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. cmake ../DTIPrep
4. make
However, when I enter 'make' into the command line, I encounter the following errors:
(venv) [rhyon@n2236 DTIPrep-build]$ make
Scanning dependencies of target OpenCV
[ 1%] Creating directories for 'OpenCV'
[ 2%] Performing download step (git clone) for 'OpenCV'
error: unknown option 'config'
usage: git clone [options] [--] []
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
-n, --no-checkout don't create a checkout
--bare create a bare repository
--mirror create a mirror repository (implies bare)
-l, --local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
-s, --shared setup as shared repository
--recursive initialize submodules in the clone
--template path the template repository
--reference reference repository
-o, --origin
use instead of 'origin' to track upstream
-b, --branch
checkout instead of the remote's HEAD
-u, --upload-pack
path to git-upload-pack on the remote
--depth create a shallow clone of that depth
error: unknown option 'config'
usage: git clone [options] [--] []
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
-n, --no-checkout don't create a checkout
--bare create a bare repository
--mirror create a mirror repository (implies bare)
-l, --local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
-s, --shared setup as shared repository
--recursive initialize submodules in the clone
--template path the template repository
--reference reference repository
-o, --origin
use instead of 'origin' to track upstream
-b, --branch
checkout instead of the remote's HEAD
-u, --upload-pack
path to git-upload-pack on the remote
--depth create a shallow clone of that depth
error: unknown option 'config'
usage: git clone [options] [--] []
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
-n, --no-checkout don't create a checkout
--bare create a bare repository
--mirror create a mirror repository (implies bare)
-l, --local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
-s, --shared setup as shared repository
--recursive initialize submodules in the clone
--template path the template repository
--reference reference repository
-o, --origin
use instead of 'origin' to track upstream
-b, --branch
checkout instead of the remote's HEAD
-u, --upload-pack
path to git-upload-pack on the remote
--depth create a shallow clone of that depth
-- Had to git clone more than once:
3 times.
CMake Error at /u/home/r/rhyon/DTIPrep-build/OpenCV-prefix/tmp/OpenCV-gitclone.cmake:66 (message):
Failed to clone repository: 'git://github.com/BRAINSia/opencv.git'
make[2]: *** [OpenCV-prefix/src/OpenCV-stamp/OpenCV-download] Error 1
make[1]: *** [CMakeFiles/OpenCV.dir/all] Error 2
make: *** [all] Error 2
Do you know what could be going wrong? Thank you, much appreciated!- Mar 15, 2018 09:03 PM | Juan Prieto - NIRALRE: DTIPrep command line installationCould you please let me know your git version?
If you have an older version, that may be the cause of this error. The minimum version should be 2.2.1, older version should work just fine.
Best,
- Sep 10, 2018 11:09 AM | nikhil guptaDTI-Prep installation errorHI
I am installing DTI_Prep tools while installing the software an error occurred. Can anybody help me with the error.
In file included from /home/nick1104/DTIPrep/SuperBuild/ExternalSources/ITKv4/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_iostream.h:5:0,
from /home/nick1104/DTIPrep/SuperBuild/ExternalSources/ITKv4/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_deprecated.cxx:4:
/home/nick1104/DTIPrep/SuperBuild/ExternalSources/ITKv4/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h:79:4: error: #error "Dunno about this gcc"
# error "Dunno about this gcc"
^~~~~
Modules/ThirdParty/VNL/src/vxl/vcl/CMakeFiles/itkvcl.dir/build.make:62: recipe for target 'Modules/ThirdParty/VNL/src/vxl/vcl/CMakeFiles/itkvcl.dir/vcl_deprecated.cxx.o' failed
make[5]: *** [Modules/ThirdParty/VNL/src/vxl/vcl/CMakeFiles/itkvcl.dir/vcl_deprecated.cxx.o] Error 1
CMakeFiles/Makefile2:666: recipe for target 'Modules/ThirdParty/VNL/src/vxl/vcl/CMakeFiles/itkvcl.dir/all' failed
make[4]: *** [Modules/ThirdParty/VNL/src/vxl/vcl/CMakeFiles/itkvcl.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/ITKv4.dir/build.make:116: recipe for target 'ITKv4-prefix/src/ITKv4-stamp/ITKv4-build' failed
make[2]: *** [ITKv4-prefix/src/ITKv4-stamp/ITKv4-build] Error 2
CMakeFiles/Makefile2:1364: recipe for target 'CMakeFiles/ITKv4.dir/all' failed
make[1]: *** [CMakeFiles/ITKv4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
Thankyou- Sep 10, 2018 01:09 PM | Juan Prieto - NIRALRE: DTI-Prep installation errorHi,
Could you provide a little bit more information about your OS and the compiler you are using?
- May 21, 2018 11:05 PM | Scott Sorgproblems running on macHello,
I've been trying to test out DTIprep on some data, but I haven't been able to get it to run successfully. I'm not sure if it is due to errors I'm making or if the data may just be unsuitable for DTIprep (my assumption is that it should be fine). One thing that I noticed is that it doesn't immediately recognize where slicer is located or fsl. I set the paths to both programs (fsl_bet2 and slicer) in the protocol path section. I am running it with the default settings. Last time I ran it (on a simple 6 direction scheme with 1 b0 image) the message: "Single b-value DWI without a b0/baseline!" appeared within the Interlace-wise Check Artifacts section. I installed slicer (4.8.1), FSL (5.0) and DTIprep (DTIPrep1.2.8_MacOSX). Any assistance here would be most appreciated.
-Scott- May 24, 2018 07:05 PM | Martin StynerRE: problems running on macHi Scott, the default settings can be a bit aggressive (they will be changed to be less aggressive in future releases), so you probably want to change the parameters (e.g. increasing the thresholds that are related to standard deviations, and displacements/rotations or decreasing those that are related to correlation).
A 6-directional scheme is very sensitive in our QC, as a single remove DWI will fail the whole dataset (as one cannot recover the tensor from only 5 directions). If you look at the txt report in the output folder, you can see which DWIs are kicked out in which stage (you can also see it in the output xml, but that one is much harder to read). Maybe try with a dataset that has more than 6 gradients.
Slicer and FSL are only used for the brain masking step and thus should not matter for the QC of the DWI (only for the brain mask computation and the DTI reconstruction). If that is an issue you may also simply disable the brain masking and do that step outside DTIPrep (as a work around)
Martin
Originally posted by Scott Sorg:Hello,
I've been trying to test out DTIprep on some data, but I haven't been able to get it to run successfully. I'm not sure if it is due to errors I'm making or if the data may just be unsuitable for DTIprep (my assumption is that it should be fine). One thing that I noticed is that it doesn't immediately recognize where slicer is located or fsl. I set the paths to both programs (fsl_bet2 and slicer) in the protocol path section. I am running it with the default settings. Last time I ran it (on a simple 6 direction scheme with 1 b0 image) the message: "Single b-value DWI without a b0/baseline!" appeared within the Interlace-wise Check Artifacts section. I installed slicer (4.8.1), FSL (5.0) and DTIprep (DTIPrep1.2.8_MacOSX). Any assistance here would be most appreciated.
-Scott
- Mar 6, 2018 03:03 PM | Giuseppe Cabras - University of UdineDWI QC Report interpretationDear users and developers,
I am using DTIPrep 1.2.4 in a pipeline (no GUI) and apparently works fine, but I have some doubts on reading the QC report. Are there some instructions or a tutorial on how to read it? In particular I am interested on gradient remove info: in a subject i get gradient 22 removed because:
======
Slice-wise Check Artifacts:
Region Gradient# Slice# Correlation
whole 22 8 0.816240
=====================
but looking at gradient DWI I didn't see any hugly and slice 8 to what refer? native slice 8 in z axis? It is too low.
Eventually can I send you the dataset or the dwi volume 22?
Thanks in advance,
cheers,
Giuseppe- Mar 6, 2018 03:03 PM | Martin StynerRE: DWI QC Report interpretationHi Giuseppe
In the docs section on NITRC you find a manual that should provide some information.
Wrt your QC report txt file: Yes, this would be gradient index 22 (starting at index 0, so it's the 23rd DWI volume). Slice 8 is the native slide 8 (again starting at index 0, so it's the 9th slice).
If that slice is actuallyfine, but at the full bottom or top of the brain then you need to increase the head skip (resp tail skip) parameter, so that it does not check there. The slices at the bottom and at the full top of the brain need to be skipped, as the slice wise check is based on consistency across slices and if the slice content, i.e. anatomy, changes dramatically from one slice to the other, then DTIPrep will flag that slice, even though the inconsistency is not due to an artifact.
Martin
Originally posted by Giuseppe Cabras:Dear users and developers,
I am using DTIPrep 1.2.4 in a pipeline (no GUI) and apparently works fine, but I have some doubts on reading the QC report. Are there some instructions or a tutorial on how to read it? In particular I am interested on gradient remove info: in a subject i get gradient 22 removed because:
======
Slice-wise Check Artifacts:
Region Gradient# Slice# Correlation
whole 22 8 0.816240
=====================
but looking at gradient DWI I didn't see any hugly and slice 8 to what refer? native slice 8 in z axis? It is too low.
Eventually can I send you the dataset or the dwi volume 22?
Thanks in advance,
cheers,
GiuseppeApr 19, 2018 10:04 AM | Susanne MeinertRE: DWI QC Report interpretationHi everyone,
we are trying to implement DTIPrep in our study. Unfortunately we are unsure of how to interpret the output of the Diffusion Gradient Check. 5-10% of subjects are excluded due to a mismatch in diffusion gradients in some dw-directions. What does that mean? When visually inspecting the images, we found no changes or artifacts. How should we proceed? Exclude these participants from analysis alltogether, exclude the affected directions or ignore the error in absense of observable artifacts?
Thanks in advance!
Susanne- Apr 19, 2018 04:04 PM | Martin StynerRE: DWI QC Report interpretation
Originally posted by Susanne Meinert:Hi everyone,Hi Susanne
we are trying to implement DTIPrep in our study. Unfortunately we are unsure of how to interpret the output of the Diffusion Gradient Check. 5-10% of subjects are excluded due to a mismatch in diffusion gradients in some dw-directions. What does that mean? When visually inspecting the images, we found no changes or artifacts. How should we proceed? Exclude these participants from analysis alltogether, exclude the affected directions or ignore the error in absense of observable artifacts?
Thanks in advance!
Susanne
The Diffusion Gradient Check is not well named (we should probably change that), as it detects residual motion that the prior motion & eddy current correction step was not able to correct.
The default settings of that Diffusion Gradient Check step are quite aggressive (another thing to definitely change), and thus it could be that DTIPrep is removing acceptable images. One way to diagnose whether that is the case is to turn this step off and look at the otherwise-rejected DWIs and see whether they show motion compared to the other DWIs. If so, you should increase the thresholds. Alternatively, you could also just increase the thresholds and look at the output and see whether you see increased residual motion in the output DWI. If not, then you are fine with the increased thresholds.
In our own studies, we commonly use larger thresholds than the defaults. We use 1.5 - 2 x voxelsize for the translation and 1 - 1.5 degrees for rotation.
Martin
- Apr 8, 2016 12:04 PM | Jacek MDWIConvertDear All,
I would like to usee DTIPrep, yet I am stucked ad the very first stage, namely at the conversion to Nrdd. I have tried it using GUI, but literally, nothing happened. I got no error message and of course no .nhdr file.
Furthermore, I would like to try it using command line. I download your manual "2014.01.14-quality_control_tutorial_for_DTI_MANUAL" but I cant make it further then step 2a. When I type "DWIConvert" into my terminal, not surprisingly I got an error message "command not found". Is there any software I need to install? So far I got only Slicer
Thank you in advance.
Best,
Jacek- Apr 8, 2016 12:04 PM | Martin StynerRE: DWIConvertHi Jacek
thanks for pointing this out, we need to look at the conversion tab, which has not been updated in a while. The current version uses an older conversion tool that used to be disseminated with Slicer (DicomToNRRDConverter), but which is no longer part of Slicer, as it has been replaced with DWIConvert (the Slicer module is called DWIConverter).
Best, download the newest version of Slicer and use that module (DWIConverter) to convert your DICOM folder with the DWI/DTI data into a NRRD file, which you can then load into DTIPrep.
Best regards
MartinApr 8, 2016 02:04 PM | Juan Prieto - NIRALRE: DWIConvertWhat type of input data do you have?
Are you selecting the Slicer module DWIConverter?
Are you specifying the input/output data in the DWIConverter module?
Best,
Juan- Apr 13, 2016 11:04 AM | Jacek MRE: DWIConvertDear All,
Thanks for your tips. Yes I tried using Slicer DWIConverter, but the only difference in comparison to converter in DTIPrep is, that this time I got at least an error message.
I use "regular" .dcm files.
I dont quite understand what should I do with the fields: Input/Output DWI Volume, there is nothing I can select in here, so it remains "none".
I specified Input Dicom Data Directory, Output Directory and Gradient Vector File, but still all I got is an error message.
Cheers,
Jacek- Apr 13, 2016 12:04 PM | Martin StynerRE: DWIConvertHi Jacek
You need to specify Input Dicom Data Directory and Output DWI Volume file. Use option DicomToNrrd. I am not sure you need Output Directory, but it should not hurt.
Do not specify the NiftiFSL options such as the input bvec file.
Under advanced conversion parameters, try enabling the "Use BMatrix Gradient Directions"
Btw, what is the error message that you are getting (Check also the "error log" window)
Martin- Apr 13, 2016 06:04 PM | Jacek MRE: DWIConvertHi Martin,
I specified Input Dicom Data Directory and as a Output DWI Volume file I just selected "DWI Volume file" . I can only choose between "none" or "Rename Currect Diffusion Weigted Image" or "Create new...", "Create new as..." or "Delete ..."
So I got an following errors:
Found CommandLine Module, target is /Applications/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/DWIConvert
ModuleType: CommandLineModule
DWIConverter command line:
/Applications/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/DWIConvert --conversionMode DicomToNrrd --outputVolume /var/folders/7q/y90nswcn65sfpj6wt7h47p3c0000gn/T/Slicer/JDJ_vtkMRMLDiffusionWeightedVolumeNodeB.nrrd --inputDicomDirectory /Users/Jacek/Desktop/Tracula/dti_jacekmanko --useBMatrixGradientDirections --outputDirectory /Users/Jacek/Desktop --gradientVectorFile / --smallGradientThreshold 0.2
and this one too
DWIConverter standard error:
W: DcmItem: Length of element (6423,726d) is odd
E: DcmElement: Unknown Tag & Data (6423,726d) larger (778269289) than remaining bytes in file
E: DcmElement: Unknown Tag & Data (2020,3020) larger (808464430) than remaining bytes in file
E: DcmElement: Unknown Tag & Data (2020,3020) larger (808464430) than remaining bytes in file
/Users/..../Medphys_Asperger_20100213_s0008_i0001.dcm has no non-zero diffusion vectors
libc++abi.dylib: terminating with uncaught exception of type std::ios_base::failure: basic_filebuf::underflow error reading the file
DWIConverter terminated with an unknown exception.
Apr 15, 2016 11:04 AM | Jacek MRE: DWIConvertTo make it more complicated - I have now used Slicer v 3.6.3 on Windows and I got the following feedback, but I got a output file in .nrrd format.
Dicom to Nrrd Converter standard output:
C:/Users/Jacek/.../data.nrrd
ORIGINAL\PRIMARY\M\ND\MOCO\DICO\MOSAIC
Image acquired using a Siemens scanner
Siemens Mosaic format
WARNING: Unknown transfer syntax, assuming little endian. This may cause strange results, such as bizarre b-values and directions
My another question is, I gues we all have more than one subject, is there a way to automatize this conversion using command line?- Apr 15, 2016 12:04 PM | Martin StynerRE: DWIConvertHi Jacek
Does the nrrd file look okay when loaded in Slicer or DTIPrep? If so, then at least you have found a workaround. Which is surprising as DicomToNrrdConverter is basically the same as DWIConvert (DWIConvert is a newer version of DicomToNrrdConverter).
Re calling this on the command line: Yes, most Slicer modules have a command line interface. Not sure about how to do that in Windows (this is really a question for the Slicer user-list), but in Linux you can find all built-in modules in the folder /lib/Slicer-/cli-modules . You can also call (again in Linux) Slicer --launch e.g. Slicer --launch DicomToNrrdConverter
Martin- Mar 27, 2018 01:03 AM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertHi there, I'm using linux, and I'm having trouble running Slicer from my bash script.sh, it gives me the error message, when trying to run DWIConvert, that "--launch: command not found", which is very strange, because the exact same code works correctly when I type it into the terminal.
Any ideas?
Much appreciated!
Micah
Originally posted by Martin Styner:Hi Jacek
Does the nrrd file look okay when loaded in Slicer or DTIPrep? If so, then at least you have found a workaround. Which is surprising as DicomToNrrdConverter is basically the same as DWIConvert (DWIConvert is a newer version of DicomToNrrdConverter).
Re calling this on the command line: Yes, most Slicer modules have a command line interface. Not sure about how to do that in Windows (this is really a question for the Slicer user-list), but in Linux you can find all built-in modules in the folder /lib/Slicer-/cli-modules . You can also call (again in Linux) Slicer --launch e.g. Slicer --launch DicomToNrrdConverter
Martin- Apr 2, 2018 08:04 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DWIConvertHi, just an idea,
Try specifying the exact path where your latest version of Slicer is and add "./" before Slicer (ie: /whateverpath/Slicer-4.8somethingelse/./Slicer --launch DWIConvert.....).
Just in case you haven't done it yet.
Originally posted by Micah Johnson:Hi there, I'm using linux, and I'm having trouble running Slicer from my bash script.sh, it gives me the error message, when trying to run DWIConvert, that "--launch: command not found", which is very strange, because the exact same code works correctly when I type it into the terminal.
Any ideas?
Much appreciated!
Micah
Originally posted by Martin Styner:Hi Jacek
Does the nrrd file look okay when loaded in Slicer or DTIPrep? If so, then at least you have found a workaround. Which is surprising as DicomToNrrdConverter is basically the same as DWIConvert (DWIConvert is a newer version of DicomToNrrdConverter).
Re calling this on the command line: Yes, most Slicer modules have a command line interface. Not sure about how to do that in Windows (this is really a question for the Slicer user-list), but in Linux you can find all built-in modules in the folder /lib/Slicer-/cli-modules . You can also call (again in Linux) Slicer --launch e.g. Slicer --launch DicomToNrrdConverter
Martin- Apr 2, 2018 10:04 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertHi Daniel, thanks, that works. I had jerryrigged it by cd'ing into the folder and then calling it from within there, but that's cleaner for my batch script, thanks
Apr 27, 2016 11:04 AM | Jacek MRE: DWIConvertDear Martin,
Thank you for your help! I have already conducted my quality assurance analysis the way I wanted!
I'd like yet another question that does not belong to this topic but nevertheless I dare myself to ask it. You see, in 30% of my data, the report indicates "Too many bad gradient directions found" after that, as defined in my protocol, analysis stops. Does it mean that all of these subjects are to be excluded?- Apr 27, 2016 12:04 PM | Martin StynerRE: DWIConvertHi Jacek
Well, it should, but there is a bug (that we have not yet looked into) that can (quite often) lead to an incorrect printout of that line.
By default, DTIPrep will not write out a final QC'ed image if there were indeed too many gradients excluded (as defined by the "QC_badGradientPercentTolerance" parameter). So, if DTIPrep generated the QC'ed DWI image, then you are all fine.
If no QC'ed DWI image as generated, then indeed there were too many bad gradients. Please, be aware that the default threshold for that is set a bit stringent, i.e. it's perfectly fine to relax it a bit, e.g. to 0.3 (30%), or even higher depending on the number of starting gradients.
Martin
Jun 7, 2016 04:06 PM | Marie Drottar - Boston Childrens HospitalRE: DWIConvertDWIConverter standard error:
W: DcmItem: Length of element (7453,6475) is odd
E: DcmElement: Unknown Tag & Data (7453,6475) larger (1936607609) than remaining bytes in file
I am getting this error message when trying to convert dcm to nrrd in slicer 4.5. The window says the conversion is 100% complete; but not .nnrd file is output into folder.
thank you
marieJan 10, 2018 09:01 AM | Maike KleemeyerRE: DWIConvertHello all,
I have for the first time acquired data with two b-values and when converting these from DICOM to nrrd, the second b-value is nor correctly identified. I originally have files with b=0 (10), b=700 (30 directions), and b=2850 (60 directions), however after converting them using DWIConvert from the command line, the bval file contains b=0, b=1412, and b=2850. When I do an intermediate conversion from DICOM to FSL and then from FSL to nrrd, they are all correct. Any idea what this may be caused by? Also, do I need to make changes to the default settings in DTIPrep?
Thanks in advance, Maike- Jan 10, 2018 10:01 PM | Martin StynerRE: DWIConvertHi Maike
That sounds like a bug in DWIConvert. Can you file a bug with them (DWIConvert is not part of DTIPrep, but rather an external tool that is used by DTIPrep).
here is the github page to DWIConvert: https://github.com/BRAINSia/BRAINSTools/tree/master/DWIConvert
Best
Martin- Jan 11, 2018 02:01 PM | Maike KleemeyerRE: DWIConvertThanks, Martin for the quick reply. Do you have any thoughts on using DTIPrep when acquiring DWIs with 2 b-values. In a test run, a lot of gradients were excluded and I wonder whether this is because of the different b-values? Or should it work just fine and that subject was particularly bad?
Thanks in advance, Maike- Jan 11, 2018 02:01 PM | Martin StynerRE: DWIConvertHi Maike
DTIprep has a built-in support for multiple b-values in that it adjusts the checking parameters for the different b-values. So that should be fine.
But the default values by DTIPrep for high b-values are too strict and thus many high b-value DWIs are rejected if you use the default parameters. Best adapt them to be less strict. Double check your output, either the text report or the xml result, to see which step kicks out your DWIs (assuming they look good if you visually inspect them either with DTIPrep, Slicer or fslview), then go to the parameters for that step and increase the thresholds/sigmas.
Of course, that particular dataset may be quite bad, but you should be able to also visually see that. DTIPrep does not necessarily detect things that cannot be seen by the pure eye, but rather it standardizes & automizes the QC process (i.e. you could also visually check all your DWIs for all your datasets, which is though less stable/reliable and significantly more time consuming).
Martin- Jan 15, 2018 12:01 PM | Maike KleemeyerRE: DWIConvertHey Martin,
thanks for the quick replay again. I now checked again another subject, and this one looks indeed better. However, the resulting bval file only includes one b-value (apart from the first b=0), even though volumes from the other bval are still included. Are they somehow transformed to the same bval? Or what is happening here? I attached a bval file with the first 100 lines displaying the original and thereafter the qced version as example.
Thanks again, MaikeAttachment: AKTIV2115A_6982-0010.qced.bval.T- Jan 17, 2018 04:01 PM | Martin StynerRE: DWIConvertHi Maike
Not sure what's happening. The DWI's should not be transformed to a single b-value (not even sure that's possible). Thus, this is likely a bug in DWIConvert. I am though not an expert of the DWIConvert code etc. Can you send this isseu to the DWIConvert githubpage: https://github.com/BRAINSia/BRAINSTools/tree/master/DWIConvert
Martin- Jan 18, 2018 08:01 AM | Maike KleemeyerRE: DWIConvertOkay. And would there be a way to check that they are still correct in the qced.nrrd file?
Thanks, Maike- Jan 18, 2018 07:01 PM | Martin StynerRE: DWIConvertIf they are correct in the input nrrd file to DTIPrep, then they should be correct in the qced.nrrd file (as there is no conversion happening as part of DTIPrep).
Best
Martin
Jan 23, 2018 11:01 PM | Ryan H - UCLARE: DWIConvertHi all, I figured I'd ask my question here rather than creating a new thread, as my issue pertains specifically to the DWIConvert tool.
In brief summary, I've converted my NIFTIs to NRRDs so that I can use DTIPrep's denoising and artifact checking tools, after which I've converted the QCed NRRDs back to NIFTI so that I can use FSL's FDT tools for further preprocessing (i.e., fsl eddy).
Eddy outputs a file called data.nii.gz.eddy_restricted_movement_rms in which there are estimates for movement (1) relative to the first volume (the b0) and (2) between each consecutive volumes. I use this movement estimation file to identify subjects with excess movement in the scanner to remove them from analysis.
Here is the puzzling output that I get, where the first column indicates type-(1) values and the second column indicates type-(2) values:
0 0
0.0004349732621 0.0004349732621
0.1293237744 0.1290371457
0.0770145743 0.0787793649
0.1380966347 0.1334343518
0.120617891 0.0671182883
0.2690339005 0.164081166
0.3256238628 0.07334808195
0.1346585371 0.1988556541
0.1346585371 0
0.1346585371 0
0.1346585371 0
0.1346585371 0
0.1364517787 0.06969197052
0.2810317103 0.1871601272
0.2053992891 0.1139292096
0.1838997283 0.04258127975
0.1850058225 0.03042424084
0.1640395851 0.04978561965
0.1441797516 0.03871081352
0.1411901608 0.08651112032
0.05642180761 0.09891716264
0.1132709746 0.1019541404
0.198486599 0.2614182835
0.2152392961 0.02585408788
0.2636229757 0.05646168819
0.2057839289 0.111750168
0.2018872141 0.06196124255
0.3124672885 0.1476290345
0.3520931575 0.07196218901
0.2838850662 0.09389126276
0.3076169748 0.04724860972
0.3053632287 0.0193159719
According to this, there is absolutely zero movement between a consecutive 4 volumes, which seems unlikely, if not impossible. I get similar strange looking output for many other subjects processed using DTIPrep tools and then FSL eddy. Importantly, I get normal-looking movement estimation when I do not use DWIConvert or DTIPrep's tools.
To identify the problem, I've tried only using DWIConvert from NIFTI to NRRD and then again from NRRD to NIFTI without using any of DTIPrep's preprocessing tools. In theory, there should be no change in the NIFTI after converting to and from NRRD. However, after running FSL eddy again on this back-and-forth-converted dataset, I still get strange eddy movement estimation in that it indicates absolutely zero movement between certain volumes.
Does anyone have any insight into what may be causing the problem? Converting from NIFTI to NRRD back to NIFTI using DWIConvert seems to change the alignment of volumes. But I'm not quite sure.
Thank you very much in advance.- Jan 26, 2018 01:01 AM | Martin StynerRE: DWIConvertHi Ryan
Not sure what's happening. It seems this behavior stems from DWIConvert (which we do not maintain, but rather is a Slicer module).
Alternatively it may be FSL who does not play well with DWIConvert (FSL is known for having its own info in the nifti header that can provide conflict information to elsewhere in the header, thus as long as you stay within FSL everything is fine, but when converting to the outside bad/confusing things can happen when the conversion program is not using the FSL specific info but the "correct" Nitfi info).
Did you compare the bval and bvec files when you ran NiftiToNrrd and then again NrrdToNifti on the same data? Do they look the same? If you run fslinfo on the nifti before and afte conversion, do you get the same output?
Best regards
Martin- Jan 26, 2018 02:01 AM | Ryan H - UCLARE: DWIConvertHi Martin, thank you for the response!
Here's the raw dwi.nii.gz before DWIConverting:
$ fslinfo raw_dwi.nii.gz
data_type FLOAT32
dim1 128
dim2 128
dim3 70
dim4 33
datatype 16
pixdim1 1.875000
pixdim2 1.875000
pixdim3 2.000000
pixdim4 8.844934
cal_max 0.0000
cal_min 0.0000
file_type NIFTI-1+
Here it is after DWIConverting to NRRD, running DTIPrep, and DWIConverting back to NIFTI:
$ fslinfo raw_dwi_QCed.nii
data_type INT16
dim1 128
dim2 128
dim3 70
dim4 33
datatype 4
pixdim1 1.875000
pixdim2 1.875000
pixdim3 2.000000
pixdim4 1.000000
cal_max 0.0000
cal_min 0.0000
file_type NIFTI-1+
It looks like there is change in the data_type and pixdim4. Do you think this would be an issue? And my bval and bvec files are the same before and after conversion.- Jan 26, 2018 02:01 AM | Martin StynerRE: DWIConvertIt could very well be that the issue is the data type. Not sure what DWIConvert does with float data (it probably casts it to short/Int16), as it expects short data. A possibility is that the nifti header says one thing and some FSL tag in the header says another thing (i.e. the data is actually not float, as the nifti header info is wrong).
Did you get the raw dwi data directly from the DICOM conversion? The acquired raw data should be in short, not float. Also pixdim4 should be 1 or 0 (the 4th dimension is the DWI volumes, in this case you have 33 DWIs, which have, according to fslinfo, a spacing of 8.8, which is really non-sensical as DWIs don't really have a spatial spacing), though i don't think that this is what causes DWIConvert to do something incorrect.
What conversion tool did you use (we use dcm2niix to go to nifti data from DICOM), maybe that's the issue? Alternatively you could go from DICOM to NRRD with DWIConvert, apply DTIPrep and then convert to Nifti for further processing in FSL.
Martin- Jan 26, 2018 02:01 AM | Ryan H - UCLARE: DWIConvertI see, that all makes sense. I used dcm2niix to go from PAR/REC to NIFTI (this data is from a Phillips scanner).
I entered "more *PAR" into my command line and found this, which might be helpful:
# slice number (integer)
# echo number (integer)
# dynamic scan number (integer)
# cardiac phase number (integer)
# image_type_mr (integer)
# scanning sequence (integer)
# index in REC file (in images) (integer)
# image pixel size (in bits) (integer)
# scan percentage (integer)
# recon resolution (x y) (2*integer)
# rescale intercept (float)
# rescale slope (float)
# scale slope (float)
# window center (integer)
# window width (integer)
# image angulation (ap,fh,rl in degrees ) (3*float)
# image offcentre (ap,fh,rl in mm ) (3*float)
# slice thickness (in mm ) (float)
# slice gap (in mm ) (float)
# image_display_orientation (integer)
# slice orientation ( TRA/SAG/COR ) (integer)
# fmri_status_indication (integer)
# image_type_ed_es (end diast/end syst) (integer)
# pixel spacing (x,y) (in mm) (2*float)
# echo_time (float)
# dyn_scan_begin_time (float)
# trigger_time (float)
# diffusion_b_factor (float)
# number of averages (integer)
# image_flip_angle (in degrees) (float)
# cardiac frequency (bpm) (integer)
# minimum RR-interval (in ms) (integer)
# maximum RR-interval (in ms) (integer)
# TURBO factor <0=no turbo> (integer)
# Inversion delay (in ms) (float)
# diffusion b value number (imagekey!) (integer)
# gradient orientation number (imagekey!) (integer)
# contrast type (string)
# diffusion anisotropy type (string)
# diffusion (ap, fh, rl) (3*float)
# label type (ASL) (imagekey!) (integer)- Jan 26, 2018 01:01 PM | Martin StynerRE: DWIConvertI think the types listed in your email is the type of the entry in the PAR header, e.g.
slice number (integer) => the slice number is an integer, and not the datatype of the data.
But, given that you indeed directly converted these with dcm2niix, this could indicate an issue with that conversion (as mentioned before it should be type short)?
If you do the conversion from nifti to nrrd and look at the nrrd header (e.g. via "more" as it's the header entries are in ASCII, or you could use "unu head ", unu is part of the Slicer distribution), is the datatype float or short?
Martin- Jan 26, 2018 06:01 PM | Ryan H - UCLARE: DWIConvertI'm confused -- is it an issue that slice number is an integer type?
Here's more output when I do more *PAR:
# === PIXEL VALUES =============================================================
# PV = pixel value in REC file, FP = floating point value, DV = displayed value on console
# RS = rescale slope, RI = rescale intercept, SS = scale slope
# DV = PV * RS + RI FP = DV / (RS * SS)
Does this mean my PAR file is of float type?
And the NRRD file after conversion from NIFTI-->NRRD is of data type short:
type: short
dimension: 4
space: left-posterior-superior
sizes: 128 128 70 33
thicknesses: NaN NaN 2 NaN
space directions: (1.875,0,0) (0,-1.875,0) (0,0,2) none
centerings: cell cell cell ???
kinds: space space space list
endian: little
encoding: raw
space units: "mm" "mm" "mm"
space origin: (-119.0625,121.57050323486328,-40.989997863769531)
measurement frame: (1,0,0) (0,1,0) (0,0,1)
modality:=DWMRI
Thanks for your help!- Jan 29, 2018 01:01 PM | Martin StynerRE: DWIConvertIt looks like that the data is indeed in "float" type according to the PAR. But DWIConvert will convert it to a "short" type and that may be the root of your problem.
If you have the DICOM data, can you try to use DWIConvert directly on the DICOM data?
If you visualize the nifti DWI data in fsl (e.g. fslview) does everything look okay? What is the range of the values, particularly in your DWI data with highest b-value (which has the lowest intensity values)?
you may also try to first convert the DWI data to short in fsl and then convert it with DWIConvert.
Best
Martin- Jan 29, 2018 07:01 PM | Ryan H - UCLARE: DWIConvertUnfortunately I don't have access to the DICOM data (it is old data collected from a previous institution).
The float-type NIFTI looks fine when inspected visually. Using 'fslstats input -R' on one of the float-type DWI volumes of b = 1000, I get an intensity range of (0, 93305.70315).
I converted the raw_dwi.nii.gz to short using 'fslmaths input output -odt short' and fslinfo shows that the data-type is now INT16 (which I assume is the same as short). The intensity range changed to (-32650, 32122). I then converted the NIFTI to NRRD and back to NIFTI without doing any preprocessing and ran FSL eddy. I'm still getting strange movement estimation:
0 0
0.0005123407713 0.0005123407713
0.1587485656 0.1582605558
0.1130426769 0.06394702062
0.1097974095 0.1337300947
0.11404085 0.08107907265
0.3179253263 0.2206585268
0.4007477664 0.09403035524
0.1543348373 0.2570243276
0.1543348373 0
0.1543348373 0
0.1543348373 0
0.1543348373 0
0.1225902082 0.07993731502
0.2240278314 0.1871989644
0.1729541336 0.131174488
0.134783198 0.05127259891
0.1494564061 0.01923367243
0.1481162757 0.05901859775
0.12086009 0.05416809264
0.1289983919 0.08436664884
0.07256662594 0.08781279937
0.1652316784 0.1233758291
0.1835429475 0.2549493272
0.1891260267 0.02074442581
0.23023032 0.06132250048
0.1969288796 0.09180264617
0.154194244 0.1013813746
0.2781723719 0.1835796615
0.3017552357 0.06266238067
0.234440393 0.1011516561
0.2462515138 0.05882053334
0.2478950007 0.0187058368- Jan 30, 2018 12:01 AM | Martin StynerRE: DWIConvertRyan
Thanks for this info. This solves the source of the problem (likely).
Not sure what exactly happened from raw DICOM data to the data that you are using, but I have not seen a range of 0 to 93k in raw MRI data before.
But, assuming that your data is all fine, your upper range is 93K which is beyong the range of a short/16 bit integer. a short can go from 0 to 64k (for unsigned) or -32k to 32k (for signed). In your case you need to change the data first, so that you can convert it to short.
Dividing all your data by ten should do the trick (as your changed data values stay below 32k). Then you can put that into DWIConvert.
I think fslmaths can do that for you, not sure but this should do the trick
fslmaths -div 10 -odt short
Best
Martin- Jan 30, 2018 05:01 AM | Ryan H - UCLARE: DWIConvertHey Martin, thank you for all the help! I appreciate your patience a lot!
So I divided the raw NIFTI by 10 and converted it to short, as you instructed. Did the conversion to NRRD and back to NIFTI without any preprocessing. Ran FSL eddy and still get funky restricted_movement_rms output:
0 0
0.2038525508 0.2038525508
0.2966385594 0.1289960832
0.1769648149 0.1353480775
0.2093033512 0.04258349482
0.1773506161 0.07180787622
0.4360092816 0.2773610629
0.6433636054 0.2146519237
0.7557379137 0.2671309679
0.9438142919 0.2064356003
0.2655247508 0.718929466
0.2655247508 0
0.2655247508 0
0.265382307 0.02058829451
0.1863159236 0.1653923633
0.2176241255 0.07100286362
0.1928490649 0.04373855596
0.2655247508 0.1501076218
0.2141449818 0.1186811482
0.216806364 0.05683636863
0.225604777 0.1054652953
0.1759822132 0.1186303828
0.335097248 0.1770273245
0.1854769045 0.2700244462
0.1804167972 0.09800466894
0.1933196696 0.04450558272
0.190211893 0.08558773421
0.229563502 0.1136821019
0.2355598626 0.04767706248
0.2273612482 0.0650830617
0.1970970425 0.06067492451
0.2442049681 0.09359118973
0.2205755626 0.05380801303
Not sure where to go from here.. Would you recommend that I solicit help over at the Slicer forum?
Thank you!- Jan 31, 2018 05:01 PM | Martin StynerRE: DWIConvertI think we need to first make sure that the conversions are all good.
After you divided the float nifti data by 10 and converted it to short (if you used my suggested command line then fslmaths did that conversion to short for you before using DWIConvert), did you load the converted/changed DWI back into fslview and checked it's appearance for some of the DWI volumes (for all b=0 and shells)?
If you then convert with DWIconvert to nrrd and back to nifti, is fslinfo producing the same results for both before and after the DWIconvert conversion? (there should be no difference now, as you did the short conversion with fslmaths)
If you visualize the DWI volumes converted back from nrrd with fslview, are the volume appearance appropriate/same as before conversion with DWIConvert?
Are the bval and bvec files before and after conversion consistent?
Then, one last thing, what is the range of values for the restricted_movement_rms output that you are looking for (i.e. what are those 2 values, since I usually use the eddy current correction in DTIPrep, I am unfamiliar with this output)?
Best regards
Martin- Jan 31, 2018 07:01 PM | Ryan H - UCLARE: DWIConvertThere's an issue that precedes most of your questions:
To make sure the raw_dwi was actually getting divided, I went back and did 'fslmaths raw_dwi.nii.gz -div 10 raw_dwi_div10' and checked the intensity of the raw_dwi_div10, and it's the same intensity range as that of the input image. I'm not sure why fslmaths division isn't working here.
FSL eddy's movement output has two columns; each value in the first column corresponds to absolute movement relative to the first volume, and each value in the second column corresponds to movement relative to the previous volume. These movement estimates are in mm. So, I'm trying to exclude subjects with >2mm of movement between volumes.Feb 2, 2018 06:02 PM | Ryan H - UCLARE: DWIConvertHey Martin, I fixed the abovementioned issue. fslmaths was working correctly -- I had misinterpreted what I was seeing. Sorry about that --
I tried the whole process again, but instead now dividing the initial raw_dwi by 100 because I noticed that the b0 volume had peak intensity of 797,687.25, and I wanted to reduce that value to <64k, since you had mentioned that 64k is the max value for an unsigned short datatype.
Having done this (divided raw_dwi by 100), here are my responses to your questions in bold:
Originally posted by Martin Styner:I think we need to first make sure that the conversions are all good.
After you divided the float nifti data by 10 and converted it to short (if you used my suggested command line then fslmaths did that conversion to short for you before using DWIConvert), did you load the converted/changed DWI back into fslview and checked it's appearance for some of the DWI volumes (for all b=0 and shells)?Yes, it looks fine upon visually inspecting each volume.
If you then convert with DWIconvert to nrrd and back to nifti, is fslinfo producing the same results for both before and after the DWIconvert conversion? (there should be no difference now, as you did the short conversion with fslmaths)Yes. The only difference is pixdim4 is 8.844934 for the before-conversion, and pixdim4 is 1 for the after-conversion. But as you mentioned before, this shouldn't be an issue.
If you visualize the DWI volumes converted back from nrrd with fslview, are the volume appearance appropriate/same as before conversion with DWIConvert?Yes, they look identical.
Are the bval and bvec files before and after conversion consistent?Bvecs before conversion:0 -0.500038 -0.500038 0.707107 -0.653098 -0.208947 0.019999 0.42106 0.690009 -0.653098 -0.292936 0.294971 0.515037 0.706847 -0.707244 -0.472163 0.555156 0.707244 -0.707107 -0.707244 0.707244 0.472163 -0.707084 -0.636045 -0.706036 -0.292936 0.292936 0.707084 0.706847 -0.706257 0.0350086 0.707056 0.707107
0 0.500038 0.500038 0.707107 0.271041 0.675829 0.706965 0.568081 0.155002 0.271041 0.706847 0.70593 0.486035 0.292936 0.472163 0.707244 0.644181 0.472163 0.707107 0.472163 0.472163 0.707244 0.707084 0.42503 0.706036 0.706847 0.706847 0.707084 0.292936 0.706257 0.706173 0.707056 0
0 -0.707053 0.707053 0 -0.707106 -0.706821 -0.706965 -0.707101 -0.707009 -0.707106 -0.64386 -0.643937 -0.70605 -0.64386 -0.526182 -0.526182 -0.526148 -0.526182 0 0.526182 0.526182 0.526182 0.00800095 0.644046 0.0550028 0.64386 0.64386 0.00800095 0.64386 0.0490178 0.707173 0.0120009 0.707107Bvecs after conversion:0.0 -0.500038025 -0.500038025 0.707106995 -0.6530979610000001 -0.208946991 0.019998999 0.421059998 0.690008972 -0.6530979610000001 -0.292936035 0.294971008 0.515037048 0.7068470459999999 -0.707244019 -0.472162994 0.555155945 0.707244019 -0.707106995 -0.707244019 0.707244019 0.472162994 -0.7070839839999999 -0.636044983 -0.70603595 -0.292936035 0.292936035 0.7070839839999999 0.7068470459999999 -0.7062569580000001 0.03500860200000001 0.70705603 0.707106995
0.0 0.500038025 0.500038025 0.707106995 0.271040955 0.675828918 0.706965027 0.568081055 0.155001999 0.271040955 0.7068470459999999 0.705929932 0.486035004 0.292936035 0.472162994 0.707244019 0.644180969 0.472162994 0.707106995 0.472162994 0.472162994 0.707244019 0.7070839839999999 0.425029999 0.70603595 0.7068470459999999 0.7068470459999999 0.7070839839999999 0.292936035 0.7062569580000001 0.7061730350000001 0.70705603 0.0
0.0 -0.7070529790000001 0.7070529790000001 0.0 -0.707106018 -0.7068209839999999 -0.706965027 -0.707101013 -0.707008972 -0.707106018 -0.6438599850000001 -0.643937012 -0.706049988 -0.6438599850000001 -0.526182007 -0.526182007 -0.52614801 -0.526182007 0.0 0.526182007 0.526182007 0.526182007 0.008000951000000001 0.6440460819999999 0.055002796 0.6438599850000001 0.6438599850000001 0.008000951000000001 0.6438599850000001 0.049017798999999994 0.707172913 0.012000899 0.707106995They seem to be the same, but after converting, there seem to be more decimal places.
Then, one last thing, what is the range of values for the restricted_movement_rms output that you are looking for (i.e. what are those 2 values, since I usually use the eddy current correction in DTIPrep, I am unfamiliar with this output)?(Answered in my previous reply)
Best regards
Martin
Thank you!- Feb 19, 2018 10:02 PM | Martin StynerRE: DWIConvertSorry Ryan for the late reply.
Looking at your email, it looks like that after the conversion back and forth, everything is nearly the same.
If you run Eddy on the converted-back-forth image do you still get the weird behavior (0 movement for some of the data), or do you need to run DTIPrep in between to "enable" it?
Best
Martin- Feb 19, 2018 10:02 PM | Ryan H - UCLARE: DWIConvertHi Martin, no problem!
Simply using DWIConvert back-and-forth from NIFTI to NRRD to NIFTI will 'enable' this weird behavior (0 movement for some volumes). No DTIPrep tools are being used.- Feb 21, 2018 04:02 PM | Martin StynerRE: DWIConvertI am stumped. Given that the actual data is untouched (as you converted the type of the data prior to conversion to/from NRRD) and header info is nearly untouched, I don't see why FSL would treat the two images as different.
At the moment, this looks less as an issue of conversion and more as a bug of FSL (2 images, virtually the same, different behavior)
Martin
Mar 22, 2018 06:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertHi there,
I've been having some overlapping problems related to this discussion thread, hoping you may have some insight.
The input nrrd (output from dcm2niix, and input to DTIPrep) is in left-posterior-superior orientation/space and of type (short).
The output QCed nrrd is in left-posterior-superior orientation and of type (unsigned short).
In order for Slicer's DWIConvert (to go from nrrd to nifti, using the NrrdToFsl option) to changed from unsigned short to short, requires the "allowLossyConversion" option (which is dangerous for potentially losing parts of the data). And I think this may be messing up my later stages of registration.
Is there a way to prevent DTIPrep output from having unsigned short type?
Thanks so much,
Micah- Mar 22, 2018 06:03 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DWIConvertHi Micah!
I had a similar problem, and in my case what it worled was applying the unu command to convert QCed.nrrd files from unsigned short to short as in this thread https://www.nitrc.org/forum/message.php?msg_id=23391
Then DWI convert worked perfectly from nrrd to nii (always using latest version that comes with Slicer 4.8)
Originally posted by Micah Johnson:Hi there,
I've been having some overlapping problems related to this discussion thread, hoping you may have some insight.
The input nrrd (output from dcm2niix, and input to DTIPrep) is in left-posterior-superior orientation/space and of type (short).
The output QCed nrrd is in left-posterior-superior orientation and of type (unsigned short).
In order for Slicer's DWIConvert (to go from nrrd to nifti, using the NrrdToFsl option) to changed from unsigned short to short, requires the "allowLossyConversion" option (which is dangerous for potentially losing parts of the data). And I think this may be messing up my later stages of registration.
Is there a way to prevent DTIPrep output from having unsigned short type?
Thanks so much,
Micah- Mar 22, 2018 07:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertHi Daniel! Thank you very much! If I could ask one more follow-up, how can I use this function on the command line? I can't find it in my Slicer 4.8 directory, and simply typing it into the command line doesn't recognize it.
- Mar 22, 2018 07:03 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DWIConvertWhat I used was:
I think that unu is not in all Slicer versions. I found it in Slicer 4.4, so:
> cd $yourhomepathorwhatever/Slicer-4.4.0-linux-amd64/
and from there:
> ./Slicer --launch unu convert -t short -clamp -i $pathtofile/$QCednrrdfile -o $whereyouwanttheoutput/$outputfilename
(note that paths with $ need to be replaced to fit your files, without $ if they are not variables)
Hope it helps
Originally posted by Micah Johnson:Hi Daniel! Thank you very much! If I could ask one more follow-up, how can I use this function on the command line? I can't find it in my Slicer 4.8 directory, and simply typing it into the command line doesn't recognize it.- Mar 22, 2018 07:03 PM | Martin StynerRE: DWIConvertOne more note: this only works for linux, i.e. using Slicer --launch to run a slicer module as command line with the Slicer environment setup does not work on MacOS or windows
Martin- Mar 22, 2018 08:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertThank you both very much. Yes fortunately I'm running on Linux (well, it's bash on windows). The unu command for unzipped output worked, and now I'm running the zipped version (see code below, it's taking much longer, still running)
Can I confirm with you that the code I'm runningn for DWIConvert is still accurate, given the new Slicer 4.8? (see below)
## Running DWIConvert to go from nii to nrrd
$SlicerNew --launch DWIConvert --inputVolume ${origDWI}.nii.gz --conversionMode FSLToNrrd --inputBValues ${bval}.txt --inputBVectors ${bvec}.txt --outputVolume ${nrrdraw}.nrrd
## Using the unu command
$SlicerOld --launch unu convert -t short -clamp -i ${DTIPREPDIR}/${SUBJ}_dwi_QCed.nrrd | $SlicerOld --launch unu save -e gzip -f nrrd -o ${DTIPREPDIR}/${SUBJ}_dwi_QCed_unu.nrrd
## Running the DWIConvert take unu output and go from nrrd to nii
$SlicerNew --launch DWIConvert --inputVolume ${nrrdraw}_QCed_unu.nrrd --conversionMode NrrdToFSL --outputBValues ${bval}_QCed.txt --outputBVectors ${bvec}_QCed.txt --outputVolume ${nrrdraw}_QCed.nii.gz
Another strange thing is that now I cannot run this code from my original .sh script (it only works on the command line), from the script produces the error below:
--launch: command not found
Have you seen this before?
Is it possible it's because I deleted the NA-MIC settings folder? (as instructed on the website, copied below)
[On Linux, remove the directory where the application is located. To clean up settings, remove "~/.config/NA-MIC/"]- Mar 22, 2018 08:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertCorrection to my unu code to save as zipped (was frozen before):
$SlicerOld --launch unu convert -t short -clamp -i ${DTIPREPDIR}/${SUBJ}_dwi_QCed.nrrd -o ${DTIPREPDIR}/${SUBJ}_dwi_QCed_unutemp.nrrd
## version Slicer 4.4 (most recent one with unu)
$SlicerOld --launch unu save -e gzip -f nrrd -i ${DTIPREPDIR}/${SUBJ}_dwi_QCed_unutemp.nrrd -o ${DTIPREPDIR}/${SUBJ}_dwi_QCed_unu.nrrdMar 22, 2018 09:03 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DWIConvertHi
In my case, the last step from this script you sent, DWIConvert from nrrd to nii, did not work well using "-outputVolume ..." as you did. Instead, using Slicer 4.8, I typed "-outputNiftiFile ..." and it worked.
Just in case.
Originally posted by Micah Johnson:Thank you both very much. Yes fortunately I'm running on Linux (well, it's bash on windows). The unu command for unzipped output worked, and now I'm running the zipped version (see code below, it's taking much longer, still running)
Can I confirm with you that the code I'm runningn for DWIConvert is still accurate, given the new Slicer 4.8? (see below)
## Running DWIConvert to go from nii to nrrd
$SlicerNew --launch DWIConvert --inputVolume ${origDWI}.nii.gz --conversionMode FSLToNrrd --inputBValues ${bval}.txt --inputBVectors ${bvec}.txt --outputVolume ${nrrdraw}.nrrd
## Using the unu command
$SlicerOld --launch unu convert -t short -clamp -i ${DTIPREPDIR}/${SUBJ}_dwi_QCed.nrrd | $SlicerOld --launch unu save -e gzip -f nrrd -o ${DTIPREPDIR}/${SUBJ}_dwi_QCed_unu.nrrd
## Running the DWIConvert take unu output and go from nrrd to nii
$SlicerNew --launch DWIConvert --inputVolume ${nrrdraw}_QCed_unu.nrrd --conversionMode NrrdToFSL --outputBValues ${bval}_QCed.txt --outputBVectors ${bvec}_QCed.txt --outputVolume ${nrrdraw}_QCed.nii.gz
Another strange thing is that now I cannot run this code from my original .sh script (it only works on the command line), from the script produces the error below:
--launch: command not found
Have you seen this before?
Is it possible it's because I deleted the NA-MIC settings folder? (as instructed on the website, copied below)
[On Linux, remove the directory where the application is located. To clean up settings, remove "~/.config/NA-MIC/"]- Mar 22, 2018 09:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertAnd you still use the --conversionMode NrrdToFSL option?
The output works for me either way, but I still get incorrect anterior/posterior labels (are you using FSLview?)- Mar 22, 2018 09:03 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DWIConvert> Yep. Also make sure you use the latest version of DWIConvert. I found a difference between the one that comes with Slicer 4.8 and the one the comes with Slicer 4.4.
- Mar 22, 2018 09:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertHmm ok thanks, yup I'm still getting the fslview labels error with the new Slicer 4.8. I will have to do more sleuthing...
Mar 22, 2018 09:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DWIConvertThe code now works, thank you very much.
However, when viewing the output file in fslview, the orientation labels are still wrong (anterior/posterior has been switched) and the angle of the brain in the sagittal view is very slanted. Is there something wrong or missing with my code??
$SlicerNew --launch DWIConvert --inputVolume ${nrrdraw}_QCed_unu.nrrd --conversionMode NrrdToFSL --outputBValues ${bval}_QCed_corr.txt --outputBVectors ${bvec}_QCed_corr.txt --outputVolume ${nrrdraw}_QCed_corr.nii.gz
Or is it that FSL is incorrectly reading the header? Have you seen this problem before?
In the past, I've "fixed" it with the code below (taken from https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/O...), but this drastically changes the sform/qform header info and gives me severe problems when trying to use this output for registrations (e.g. moving to T1 space, using ANTs)
fslorient -deleteorient filename.nii.gz
fslorient -setsformcode 1 filename.nii.gz
Do you know of any solution to this problem? (this would be a huge help for me, I've been stuck on this problem for a long time)
- Jul 21, 2017 03:07 PM | James HartzellDICOM to NRRDHello
Do you have updated instructions for converting DICOMS to NRRD?
I've downloaded the latest versions of DTIPrep and Slicer, but the various earlier versions of instructions on this list and
on the Slicer list don't seem to work for me.- Jul 21, 2017 06:07 PM | Martin StynerRE: DICOM to NRRDBest use the DWIConverter module in Slicer, either through its commandline interface (DWIConvert) or through Slicer. Here is a description as well as nice tutorial:
https://www.slicer.org/wiki/Documentatio...
Martin- Jul 24, 2017 08:07 AM | James HartzellRE: DICOM to NRRDThanks very much Martin--the instructions work quite well, though they left out the 'save' step at the end, and the current Slicer menu structure is a little bit different under the conversion tab.
Cheers- Jul 27, 2017 01:07 PM | James HartzellRE: DICOM to NRRDHI Martin
I have a follow-up question. When I load the default protocol for the NRRD DWI's
I get the following message:
The following programs have not been found.
Please enter the path manually if necessary:
> bet2
> DiffusionWeightedVolumeMasking
Is it necessary to have the nodif_mask for running DTIPrep successfully?
I ask because I already have made masks using bet2, and for some reason I can't find the path to Slicer's DiffusionWeightedVolumeMasking
Cheers
James- Jul 27, 2017 02:07 PM | Martin StynerRE: DICOM to NRRDHi James
No, you do not need those, unless you are using DTIPrep to run bet2 (in your case, you have done that already, so no need to redo it) or you want to use the Slicer based DiffusionWeightedVolumeMasking (again, not needed in your case). Thus you can safely disregard these warnings.
Best
Martin- Jul 27, 2017 02:07 PM | James HartzellRE: DICOM to NRRDHi Martin
Thanks very much---just wanted to be certain on this point.
Cheers
James- Aug 2, 2017 12:08 PM | James HartzellRE: DICOM to NRRDHI Martin
Could you point me to clear instructions for converting the resulting QCed.nrrd files back to nifti (nii.gz)?
Cheers
James- Aug 3, 2017 08:08 AM | James HartzellRE: DICOM to NRRDHi Martin
A colleague guided me on the conversion from NRRD to NIFTI using Slicer.
I notice though that the QCed bvecs have flipped the x and z axis values, so that negative became positive and
positive became negative. Is there some way to prevent this from happening, since otherwise I have to manually
correct the bvalue texts.
Cheers
James- Aug 20, 2017 04:08 PM | Martin StynerRE: DICOM to NRRDHi James
Are the bvecs fully inverted (i.e. multiplied by (-1)), or is it only the x and z components? If all components are inverted, then you do not need edit the bvecs (as diffusion MRI is not sensitive to inversions of the gradient direction).
Otherwise, this would be a bug needing to be reported to the conversion tool (DWIConvert), best on its github page.
Martin- Aug 20, 2017 05:08 PM | James HartzellRE: DICOM to NRRDHI Martin
Thanks for the feedback.
The sign inversion is just in the x and z coordinates. I posted to the Slicer list and they responded that it is a bug in DWIConvert that they're implementing a fix for.
Cheers
James- Mar 22, 2018 09:03 PM | Micah Johnson - UCLA Department of PsychologyRE: DICOM to NRRDHi James, do you know if this has been fixed? (or could you point me to any further discussion on it?)
I'm having the opposite problem (using Slicer 4.8)...only my y axis is flipped.
Many thanks,
Micah
Originally posted by James Hartzell:HI Martin
Thanks for the feedback.
The sign inversion is just in the x and z coordinates. I posted to the Slicer list and they responded that it is a bug in DWIConvert that they're implementing a fix for.
Cheers
James
Jan 11, 2018 03:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DICOM to NRRDHi James and Martin I had a similar problem than James converting nrrd files to FSL. Using the latest version of DWIConvert and flag ---outputNiftiFile instead of--outputVolume in Slicer 4.8, it wirtes bvec file with gradients directions exactly as in nifti. However this works with standard nrrd files, but not for preprocessed DTIPrep nrrd files (*_QCed.nrrd). It reports that the only supported output is "short" . There is an "unsigned short" in the headers of *QCed.nrrd instead of "short" in the regular nrrd files.
Any suggestions of how to solve this would be very appreciated.
I am attaching an example of this QCed.nrrd file in case it helps
ThanksAttachment: nrrdfromniftiDWIConv004_QCed.nrrd- Jan 11, 2018 03:01 PM | Martin StynerRE: DICOM to NRRDNot sure what the issue us with the updated DWIConvert (i.e. why it would not take unsigned short data). Assuming that your DWI data does not have intensity values above 32,000 , you could simply convert the QCed unsigned short DWI file to a signed short one using unu (a swiss-army-knife style utility for NRRD that is packaged with Slicer):
unu convert -t short -clamp -i inputUnsignedShort.nrrd -o outputShort.nrrd
Best
Martin- Jan 11, 2018 03:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DICOM to NRRDThanks! I also noticed that qced file header says format gzip instead of raw as in regular. Nrrd. Any chance that this has something to do with this issue?
Thanks again.- Jan 11, 2018 03:01 PM | Martin StynerRE: DICOM to NRRDno, zipping the data in nrrd is standard, so that should not be an issue.
One note though: unu will write raw data, if you want unu to write zipped data you need to also use it's save option, e.g.
unu convert -t short -i input.nrrd | unu save -e gzip -f nrrd -o output.nrrd
Martin- Mar 27, 2018 12:03 PM | Maike KleemeyerRE: DICOM to NRRDDear all,
do you have any ideas on how to solve this issue when running on Mac OS? Is there an option for outpuuting DTIPrep data NOT in unsigned short type?
Thanks, Maike
Jan 11, 2018 08:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DICOM to NRRD> Thanks a lot! That worked perfectly! Just in case any other uses this,
> unu can be found in Slicer 4.4 and previous versions, launched as
> ./Slicer --launch unu convert( and flags and options mentioned by
> Martin Styner in thread)
- Oct 31, 2016 04:10 PM | Huanjie Li - Dalian University of TechnologyBad gradients cannot be manual exclusionHi,
When I want to exclude the bad gradients when Visual Check, I select "Exclude" in the pop-up box to remove the bad gradients, then select the "Save Dwi and QCResult" button under "Manual Checking" to save the changes. But the pop-up box shown "No Processing done", and the changes can not be saved.
This error was shown in the terminal: DTIPrep[31294:507] modalSession has been exited prematurely - check for a reentrant call to endModalSession
Any suggestion would be appreciate. Thanks.
Huanjie- Nov 2, 2016 01:11 PM | Martin StynerRE: Bad gradients cannot be manual exclusionHi Huanjie
Which platform and which version of DTIPrep are you using?
Martin- Mar 13, 2018 02:03 PM | XIAO YANGRE: Bad gradients cannot be manual exclusionHi Martin,
I also met the same problem. I am currently using the DTIPrep1.2.4_linux64 (Qt4).
When I select Exclude and try to save it. The pop-up box shown "No Processing done", and the changes can not be saved.
The terminal showed:
VC_Status.size(): 32
index:0 VC_Status: -1
index:1 VC_Status: -1
index:2 VC_Status: -1
index:3 VC_Status: -1
index:4 VC_Status: -1
index:5 VC_Status: -1
index:6 VC_Status: -1
index:7 VC_Status: -1
index:8 VC_Status: -1
index:9 VC_Status: -1
index:10 VC_Status: -1
index:11 VC_Status: -1
index:12 VC_Status: -1
index:13 VC_Status: -1
index:14 VC_Status: -1
index:15 VC_Status: -1
index:16 VC_Status: -1
index:17 VC_Status: -1
index:18 VC_Status: -1
index:19 VC_Status: -1
index:20 VC_Status: -1
index:21 VC_Status: -1
index:22 VC_Status: -1
index:23 VC_Status: -1
index:24 VC_Status: -1
index:25 VC_Status: -1
index:26 VC_Status: -1
index:27 VC_Status: -1
index:28 VC_Status: -1
index:29 VC_Status: -1
index:30 VC_Status: -1
index:31 VC_Status: 6
What can I do to save this change?
Thank you very much,
Best
Xiao
Mar 23, 2018 06:03 PM | Huan YangRE: Bad gradients cannot be manual exclusionI have another problem when I was trying to exclude the bad gradients. After I clicked "Visual check", and then click "exclude", the GUI will automatically closed. I tried this on my mac, both DTIprep 1.2.4 and 1.2.7 have this problem. I wonder whether there is some method can deal with this, or can this step can be done by command?
Thank you so much for any suggestions.
Thanks.
Huan
Originally posted by Huanjie Li:Hi,
When I want to exclude the bad gradients when Visual Check, I select "Exclude" in the pop-up box to remove the bad gradients, then select the "Save Dwi and QCResult" button under "Manual Checking" to save the changes. But the pop-up box shown "No Processing done", and the changes can not be saved.
This error was shown in the terminal: DTIPrep[31294:507] modalSession has been exited prematurely - check for a reentrant call to endModalSession
Any suggestion would be appreciate. Thanks.
Huanjie
- Mar 12, 2018 07:03 PM | XIAO YANGThe created tutorialProtocol.xml file not suitable for other subjectsHi experts,
We are now using the DTIPrep to do the quality control for DTI images. We met a problem when we tried to apply the tutorialProtocal.xml file to other subjects.
1. We used DTIPrep in the Linux and opened the .nrrd file of the first subject of out project (Sub001) to create the tutorialProtocol.xml following the guide by Dave Welch, Joy Matsui (https://www.slicer.org/w/images/a/a6/DTI...). We can use the tutorialProtocol.xml and run it for the Sub001 without any errors (no matter in the GUI or in the command). It created 10 new files (however as tutorial said, only 3 files will be created) . Though we can ignore this and just use 3 among them (DTI_Sub001_QCed.nrrd; DTI_Sub001_QCReport.txt; DTI_Sub001_XMLQCResult.xml; ), we were wondering whether this was kind of error? 10 files were as following:
DTI_Sub001_QCed_DTI_frobeniusnorm.nrrd
DTI_Sub001_QCed_DTI_MD.nrrd
DTI_Sub001_QCed_DTI.nrrd
DTI_Sub001_QCed_IDWI.nrrd
DTI_Sub001_QCed_Baseline.nrrd
DTI_Sub001_QCed.nrrd
DTI_Sub001_QCed_DTI_colorFA.nrrd
DTI_Sub001_QCReport.txt
DTI_Sub001_QCed_DTI_FA.nrrd
DTI_Sub001_XMLQCResult.xml
2. As the tutorial said, we just need to create one tutorial protocol for all subjects in one project. But when we tried to apply this tutorial (Created from the Sub01) for other subjects, it didn't work well.
Only 2 files were generated (DTI_Sub004_QCReport.txt;DTI_Sub004_XMLQCResult.xml ).
=================================
* DWI QC Report ( DTIPrep 1.2.4 ) *
=================================
DWI File: /data/xyang/test_tutorial_protocol_common/Sub004/DTI_Sub004.nrrd
xml File: /data/xyang/test_tutorial_protocol_common/Sub004/DTI_Sub004_XMLQCResult.xml
Check Time: Mon Mar 12 15:31:42 2018
Image_information_checkingImage_size_check OK
Image_information_checkingImage_origin_check FAILED
Image_information_checkingImage_spacing_check OK
Image_information_checkingImage_space_check OK
================================
Diffusion Information checking
================================
DWMRI_bValue Check: OK
DWMRI_gradient_0001 mismatch! DWI: [ 00.669879 -0.66989200000000004 -0.246644 ] protocol: [ 0.72837700000000005 -0.63302800000000004 -0.17624400000000001 ] Colinearity angle (degrees): 5.7705994761850414 > 1
DWMRI_gradient_0002 mismatch! DWI: [ -0.020227999999999999 00.387932 0.67747000000000002 ] protocol: [ 00.052897 00.449959 0.70582299999999998 ] Colinearity angle (degrees): 5.7800619388441508 > 1
DWMRI_gradient_0003 mismatch!
......
......
DWMRI_gradient_0032 mismatch! DWI: [ 0.80618999999999996 00.120661 0.70087900000000003 ] protocol: [ 00.768204 0.084681000000000006 0.71373799999999998 ] Colinearity angle (degrees): 2.6242412713547631 > 1
Diffusion gradient Check: FAILED
Diffusion information Check FAILED.
We didn't know why this happened. Was something wrong when we created the .xml file?
Any help are appreciated.
Best
Xiao- Mar 13, 2018 09:03 PM | Martin StynerRE: The created tutorialProtocol.xml file not suitable for other subjectsRe 1. The additional files are the reconstructed tensor and its properties. So, no error.
Re 2. The error stems from the mismatch in gradients between the files. I.e. if the DWI file that you use to create the default protocol has different gradients from the DWI that you are QC\'ing then DTIPrep will raise that as an issue. Simply turn off the diffusion gradient information check and DTIPrep will not check that the protocol and the DWI have to have the same gradients.
Best
Martin- Mar 13, 2018 10:03 PM | XIAO YANGRE: The created tutorialProtocol.xml file not suitable for other subjectsHi Martin,
Thank you very much.
There are two options available: DIFFUSION_bCheck and GRADIENT_bCheck. I tried to change the value of DIFFUSION_bCheck to 'No' when created the tutorialProtocol.xml. The tutorialProtocol.xml can be applied to other subjects without any errors. Is that the right option I changed?
Thanks again for your help.
Best
Xiao- Mar 14, 2018 11:03 AM | Martin StynerRE: The created tutorialProtocol.xml file not suitable for other subjectsCorrect, it's the DIFFUSION_bCheck that enables/disable the checking of the diffusion gradient information. The other one, GRADIENT_bCheck, is probably not well named, as it checks for residual motion present in the gradient, after motion has been corrected
Martin- Mar 14, 2018 02:03 PM | XIAO YANGRE: The created tutorialProtocol.xml file not suitable for other subjectsThank you so much. I got it.
I also met another problem which followed up the 'Bad gradients cannot be manual exclusion' question in the forum.
I found a bad gradient and selected 'Exclude'. However, when I tried to save it, the pop-up box showed "No Processing done", and the changes can not be saved. I am currently using the DTIPrep1.2.4_linux64 (Qt4).
I think this may be a similar with that topic, so I put details in under that question which created by Huanjie Li. Here is the link:
https://www.nitrc.org/forum/forum.php?th...
Can you help me with that?
Xiao
- Mar 13, 2018 05:03 PM | Anna EppesSphere distribution of gradients not appearingDTPrep version 1.2.8 on a linux system. I have converted my raw dicom data to .nrrd using DWIConvert. After loading the nrrd file I can't view the sphere distribution of gradients the screen remains grey. I have selected the sphere (looks like a ball of yarn) and the two blue icons next to it. Any suggestions would be appreciated.
Thanks!
Anna- Mar 14, 2018 01:03 PM | Martin StynerRE: Sphere distribution of gradients not appearingThanks Anna
This may be a bug. Can you download an earlier version (e.g. 1.2.3) and see whether that works for you? If the older version works but not the newer one, then we have a bug that needs to be ironed out. It would be wonderful if you can add a new issue using the tracker link at the bottom of NITRC's navigation side bar.
Best
Martin
- Dec 2, 2015 02:12 PM | Jian ZhangCreate XML file without running checkingHi experts,
We want to use the command line of DTIPrep to create XML file and then modify it, using the command as below:
DTIPrep -d -p SomeProto.xml -w dwi.nrrdBut, only the GUI of DTIPrep will be launched, so we set the command like this:
DTIPrep -d -c -p SomeProto.xml -w dwi.nrrdWe got the default protocol file, but this command run the whole quality check procedure!
Can you help us to point out how to create the default protocol XML file via command, without running the whole quality check, so that we can quickly modify XML file and then run the next command:
DTIPrep -c -p Modified.xml -w dwi.nrrdOR is there any way to combine these 2 steps together?
Thank you very much!
-Jian- Dec 4, 2015 06:12 PM | Martin StynerRE: Create XML file without running checkingHi Jian
Sorry for the delay in answering.
1. the way to run DTIPrep is to use the same protocol within a given study. You do not want to have different protocol files in the same study, as this could significantly bias your analytical results. So, only run the command to create the default protocol only once.
2. while the default protocol is okay, it is worthwhile to change it to your needs (e.g. if you have sedated scans, you may want to turn off the motion correction). Thus, I suggest you start up the GUI of DTIPrep and use its interface to generate the default protocol, adapt it and then save it for future use in the command line executions.
3. Finally, you are right, there is currently not a way to create the default protocol only on the command line mode. Something to correct for future uses, can you create a feature request on the github/source code issue tracker?
Thanks
Martin- Dec 5, 2015 12:12 PM | Jian ZhangRE: Create XML file without running checkingHi Martin,
Thanks for your answer.
1. The reason for us to create protocol for every participant is that the b vector values are different during participants, even thought they are scanned under the same protocol, we want to extract the gradient information into the XML file for everyone, without changing other option. If we use the public protocol for all participants, the gradient information would be the first one, not the real value of others. Do you think we can accept this little difference and ignore it?
2. Besides the command line way to create the default protocol, can you add other options for command line mode (e.g. turn off the motion correction) in future.
3. I have create the feature request on the github/source code issue tracker.
Thanks
-Jian- Dec 6, 2015 06:12 PM | Martin StynerRE: Create XML file without running checkingRe 1) if b-values (or b-vectors) are different across subjects, I hope you do NOT plan to use them in the same study, as such a study would not be appropriate, diffusion based properties (such as FA or GFA), are far to sensitive to changes in those.
If you have (e.g. for purpose of testing) different b-vectors or values, and don't want DTIPrep to test for that, simply disable the diffusion information check in the protocol file.
In general, I think there is a misconception how DTIPrep operates. One should not change parameters etc on the command line, but rather create protocol files where all parameters (and there are many) can be adapted to the given study. It is simple to enable/disable motion correction in the protocol files, and that's the place where it should be modified (not on the command line).
Dec 11, 2017 04:12 PM | Michael DayanRE: Create XML file without running checkingHi,
Just as a follow up. It is actually not uncommon for the gradient directions to be encoded according to the patient position rather than the scanner coordinate system. As such there is nothing wrong in having a different set of diffusion gradient coordinates for each subject (they are simply rotated according to the patient position, with same number of directions and same b-values).
In this case, would it be possible to know how to change the protocol file on the command line? Or is it still not an option?
Thank you,
Michael- Dec 11, 2017 06:12 PM | Martin StynerRE: Create XML file without running checkingThe QC procedure/protocol (stored in XML format) does not need to check the gradient directions. Just turn off that step and it does not matter what directions are in the protocol.
Best
Martin- Feb 12, 2018 05:02 PM | Jian ZhangRE: Create XML file without running checkingHi Martin,
Just as a follow up, which option should we choose to turn off the checking of gradient directions? Change the "IMAGE bCheck" to No or change the "DIFFUSION bCheck" to no?
Thanks
Jian- Mar 6, 2018 03:03 PM | Martin StynerRE: Create XML file without running checkingSorry, forgot to follow up. It's the DIFFUSION bCheck that needs to be set to "No"
Best
Martin
Originally posted by Jian Zhang:Hi Martin,
Just as a follow up, which option should we choose to turn off the checking of gradient directions? Change the "IMAGE bCheck" to No or change the "DIFFUSION bCheck" to no?
Thanks
Jian- Mar 9, 2018 04:03 PM | Jian ZhangRE: Create XML file without running checkingThanks, Martin. It's clear now.
Jian
Originally posted by Martin Styner:Sorry, forgot to follow up. It's the DIFFUSION bCheck that needs to be set to "No"
Best
Martin
Originally posted by Jian Zhang:Hi Martin,
Just as a follow up, which option should we choose to turn off the checking of gradient directions? Change the "IMAGE bCheck" to No or change the "DIFFUSION bCheck" to no?
Thanks
Jian
Jan 3, 2018 11:01 PM | Rachel Steiner - University of Wisconsin - MadisonRE: Create XML file without running checkingHi Jian,
Load a representative raw dwi dataset from your study in the GUI, go to the protocol tab, click default protocol, then click “save as” to save the xml file somewhere before clicking “Run.” You can modify the default parameters right there in the GUI then save it again as the new modified xml without running the whole processing. Just click save rather Jan run protocol.
Alternatively, run a new dtiprep window to open up that default xml file younjust saved and manually modify using the GUI and then save as a different name somewhere safely to be used on the command line ... on the command line you will be pointing the -p to the absolute path where you’ve saved the modified xml. For example, /Home/safe/modified. xml
Did I understand your question correctly? Are you having an issue finding a save as button in the GUI window with your version of dtiprep?
Rachel
color=#000000]
[/color]Originally posted by Jian Zhang:
Hi experts,
We want to use the command line of DTIPrep to create XML file and then modify it, using the command as below:
DTIPrep -d -p SomeProto.xml -w dwi.nrrdBut, only the GUI of DTIPrep will be launched, so we set the command like this:
DTIPrep -d -c -p SomeProto.xml -w dwi.nrrdWe got the default protocol file, but this command run the whole quality check procedure!
Can you help us to point out how to create the default protocol XML file via command, without running the whole quality check, so that we can quickly modify XML file and then run the next command:
DTIPrep -c -p Modified.xml -w dwi.nrrdOR is there any way to combine these 2 steps together?
Thank you very much!
-Jian- Jan 3, 2018 11:01 PM | Rachel Steiner - University of Wisconsin - MadisonRE: Create XML file without running checkingOops sorry I did not see that anyone had replied to your postings.
I’m glad you worked it out!
Rachel.
Originally posted by Rachel Steiner:
Hi Jian,
Load a representative raw dwi dataset from your study in the GUI, go to the protocol tab, click default protocol, then click “save as” to save the xml file somewhere before clicking “Run.” You can modify the default parameters right there in the GUI then save it again as the new modified xml without running the whole processing. Just click save rather Jan run protocol.
Alternatively, run a new dtiprep window to open up that default xml file younjust saved and manually modify using the GUI and then save as a different name somewhere safely to be used on the command line ... on the command line you will be pointing the -p to the absolute path where you’ve saved the modified xml. For example, /Home/safe/modified. xml
Did I understand your question correctly? Are you having an issue finding a save as button in the GUI window with your version of dtiprep?
Rachel
color=#000000]
[/color]Originally posted by Jian Zhang:
Hi experts,
We want to use the command line of DTIPrep to create XML file and then modify it, using the command as below:
DTIPrep -d -p SomeProto.xml -w dwi.nrrdBut, only the GUI of DTIPrep will be launched, so we set the command like this:
DTIPrep -d -c -p SomeProto.xml -w dwi.nrrdWe got the default protocol file, but this command run the whole quality check procedure!
Can you help us to point out how to create the default protocol XML file via command, without running the whole quality check, so that we can quickly modify XML file and then run the next command:
DTIPrep -c -p Modified.xml -w dwi.nrrdOR is there any way to combine these 2 steps together?
Thank you very much!
-Jian
- Jun 7, 2017 05:06 PM | afouto - ISR - ISTConvertion problemsHi,
I did some preprocessing steps on my diffusion data using FSL. More specifically, eddy-current distortions were corrected using FSL's eddy and then tensor fitting was performed using FSL's dtifit. At this stage I would like to perform an outliers detection with DTIPrep before starting Glm's analysis. However, I'm having trouble with the first stage of the convertion to Nrrd. I'm using Slicer 4.4 (linux version) instead of the most recent version because the extension for DTIPrep is not avaliable on the latter one. I followed the steps indicated in this tutorial to convert Dicom to Nrrd but nothing happends and I didn't even receive any error message (http://dmri.slicer.org/docs/tutorials/DW...). I also tried the convertion FSL to Nrrd but I didn't get any results either. The folder that I created to save the outputs remained empty. I'm more interested in the convertion FSL to Nrrd, once I already have the images preprocessed in the Nifti format.
I would appreciate some help to get over this first step and perform the outliers analyses.
Thanks in advance for the help
Best regards,
Ana F.- Jun 8, 2017 01:06 PM | Martin StynerRE: Convertion problemsDear Ana
1. Yes, we know that DTIPrep does not load into the current Slicer's extension browser. One workaround is to use 4.4 like you did. We expect that DTIPrep will be available later this year in the current Slicer version. Having to keep up with Slicer versions is actually a clear downside of using Slicer as a dissemination infrastructure.
2. Not sure why you would use dicom to nrrd in your setting, if I understand correctly you want to convert your nifti (nii.gz) to nrrd . For that purpose use the same tool (DWIConvert) but you would need the newest Slicer version (the older DWIConvert had bugs in the nifti conversion)
3. Most importantly, I am not sure DTIPrep is the right tool for you. DTIPrep really designed for processing the DWI data (by getting rid of bad DWIs) not the fitted tensors. Btw, eddy current correction in DTIPrep is slightly better than FSL (though both are very similar) as it uses an iteratively averaged B0 for the correction. Now, if you would like to detect outliers in the fitted tensors there are other packages such as tortoise which provide an implementation of RESTORE for exactly this purpose.
Best regards
Martin
Originally posted by afouto:Hi,
I did some preprocessing steps on my diffusion data using FSL. More specifically, eddy-current distortions were corrected using FSL's eddy and then tensor fitting was performed using FSL's dtifit. At this stage I would like to perform an outliers detection with DTIPrep before starting Glm's analysis. However, I'm having trouble with the first stage of the convertion to Nrrd. I'm using Slicer 4.4 (linux version) instead of the most recent version because the extension for DTIPrep is not avaliable on the latter one. I followed the steps indicated in this tutorial to convert Dicom to Nrrd but nothing happends and I didn't even receive any error message (http://dmri.slicer.org/docs/tutorials/DW...). I also tried the convertion FSL to Nrrd but I didn't get any results either. The folder that I created to save the outputs remained empty. I'm more interested in the convertion FSL to Nrrd, once I already have the images preprocessed in the Nifti format.
I would appreciate some help to get over this first step and perform the outliers analyses.
Thanks in advance for the help
Best regards,
Ana F.- Jun 9, 2017 09:06 AM | afouto - ISR - ISTRE: Convertion problemsDear Martin,
Thank you very much for the quick response and all the tips. Once I'm already in an advanced stage of the processing I will try the outliers detection with RESTORE as you suggested. Later if I have enough time I will try to perform the entire pipeline of DTIPrep with the dicoms.
Keep up the good work with DTIPrep!
Best regards,
Ana F.Jan 24, 2018 09:01 PM | XIAO YANGRE: Convertion problemsHi Martin,
I am current working on a project with DTI data. I want to convert my nifti (nii) to nrrd. I also met some problems when I tried to do NifitFSL To Nrrd in 3D Slicer 4.8.1 in Windows 10, 64-bit OS (I've already converted the DICOM data which collected from Philip to NIfTI nii by dcm2nii) . I set the panel as showing in the attachment.
I also checked that the .bval file contains the information as: o 1000 1000.....while the .bvec file contains rows correspond to x/y/z column compnents respectively. These may be the supported FSL-style by DWIConvert.
However, when I clicked the "Apply", the error came out as following: DWIConvert.exe has stopped working. I tested this for several subjects. There was always the same error.
Diffusion-weighted DICOM Import (DWIConvert) standard error:
Error: ReadVolume: Unsupported source pixel type.
Input volume: float
Output volume: short
The only supported output type is . You may consider using allowLossyConversion option.
However, use this option with caution! Conversion from images of a different type may cause data loss due to rounding or truncation.
Could you help me with this problem?
Thanks in advance!
XiaoAttachment: setting.png- Jan 24, 2018 10:01 PM | XIAO YANGRE: Convertion problemsHi Martin, when I checked the Allow lossy image conversion option. It worked and I got the nhdr format image in the output directory. It worked both in Windows and Mac OS.
However, it further raised two problems because I want to do this in the loop.
First, it seemed that I couldn't install the Slicer well in my own macbook. Each time I opened Slicer by clicking the icon, it came out the warning as follows: "Slicer" can't be opened because the identity of the developer cannot be confirmed. I don't know why this happens everytime.
Secondly, i tried to use the software in Linux OS. I did as the tutorial suggested, I opened the tar.gz archive and copy directory to the location of my current folder. But when i typed the "DWIConvert", I got an error message "command not found". So do the "DWIConverter" command. (I saw your suggestion to others' problems.)Just the same error. Is there any software I need to install? So far I just got only Slicer 4.8.1 for Linux.
Thank you,
Xiao- Jan 25, 2018 08:01 PM | Martin StynerRE: Convertion problemsHi Xiao
I will try to answer these, though they are probably more appropriate for the Slicer discussion/help boards as they do not affect DTIprep directly.
1) I think that warning disappears when you open it with a shift/right click (a menu opens up and select "Open" ).
2) In linux, you can access any Slicer module via "Slicer --launch ", e.g. Slicer --launch DWIConvert . I don't think that works in Mac OSX or Windows (not fully sure)
Best regards
MartinJan 26, 2018 03:01 PM | Martin StynerRE: Convertion problemsHi Xiao
I will try to answer these, though they are probably more appropriate for the Slicer discussion/help boards as they do not affect DTIprep directly.
1) I think that warning disappears when you open it with a shit/right click (a menu opens up and select "Open" ).
2) In linux, you can access any Slicer module via "Slicer --launch ", e.g. Slicer --launch DWIConvert . I don't think that works in Mac OSX or Windows (not fully sure)
Best regards
Martin
- Jan 26, 2018 01:01 AM | Ryan H - UCLADTIPrep movement estimation output?Hi all,
I'm wondering if I can retrieve estimated movement values between volumes from DTIPrep. FSL eddy automatically outputs a text file indicating between-volume movement for each subject along with cumulative movement estimates relative to the first volume. I use these estimated movement values to exclude certain subjects from analysis.
Thanks!- Jan 26, 2018 01:01 AM | Ryan H - UCLARE: DTIPrep movement estimation output?I've found that this movement output is labeled "TranslationNorm" in the *XMLQCREsult.xml output file. However, I see a value of 0 for each volume, implying there was absolutely zero movement between each volume, which seems implausible. It may help to know that I am using DTIPrep v1.2.4 and Slicer 4.6.2 (for when I use DWIConvert to go from NIFTI to NRRD).
Any help would be appreciated! Thanks again!- Jan 26, 2018 01:01 AM | Martin StynerRE: DTIPrep movement estimation output?Hi Ryan
"TranslationNorm" is indeed the total amount of translative motion found by the motion correction (each DWI has such an entry). The amount of rotation motion is found in the output "Angle".
Keep in mind that this is only the translation and rotation recovered by the motion & eddy current correction step in DTIPrep. If you ran eddy with FSL first, that information is not used/accessible by DTIPrep.
If you ran the motion & eddy current correction and get a TranslationNorm of exactly 0, then something is likely off. There should be some minor translation even just due to noise. Did you run the motion & eddy current step?
Best regards
Martin
- May 23, 2017 07:05 PM | Rachel Steiner - University of Wisconsin - MadisonDTIPrep 1.2.7 for MacHi all,
Very big fan of this tool. Keep up the good work. I am having trouble saving visually QCed changes to the QCed file using version 1.2.7 on a Mac. After excluding gradients manually, I click Save Dwi and QC Result and get the error message "No Processing done." As a workaround I will try out version 1.2.4.
Thanks for your help!
rachel- Jan 18, 2018 10:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: DTIPrep 1.2.7 for MacHi, same problem here using linux and DTIPrep versions 1.2.8 and 1.2.4. I also saw a previous post with similar problems: https://www.nitrc.org/forum/message.php?... . Is it something related to the installation of DTIPrep or Slicer?
Thanks
- Jan 11, 2018 02:01 PM | Tanmay NathDTIprep on multiband DTI dataset.Hi,
I am having issues running DTIPrep on multi-band DTI dataset and it seems DTIPrep cannot handle multiband data. Is it true?
I have a multi-band DTI dataset(MB factor 3) which visually appears to be fine and when I use FSL to compute the motion params, it gives me mean motion of 1.3 and max of 2.9. Ideally, this data set should pass the QC. But when I use DTIPrep to process, the output QCed image has only 8 dirs left out of 137 and the dataset does not pass the QC. Please find attached the screenshot of one of the directions of the QCed image. The image looks distorted too.
Any suggestions? I never had any problem when I ran DTIPrep on the dataset with MB factor 1.Attachment: Screenshot 2018-01-11 09.26.54.png- Jan 11, 2018 03:01 PM | Martin StynerRE: DTIprep on multiband DTI dataset.Hi Tanmay
We regularly apply DTIprep to multi band data. There should not be something particular about MB data regarding the QC process that's different from non-MB data.
If the DWI volumes that get rejected by DTIPrep look visually free of intensity artifacts, then your DTIPrep parameters are likely to strict (DTIPrep's default parameter particularly for high b-value images can be too strict). Adjust the parameters of the steps that fails your DWI volume.
Not sure about the distortions, to me it looks like that the voxelsize information in the volume may be incorrect as it seems stretched in inferior-superior direction (or at least incorrect the way AFNI displays it, does it look similarly in fsl if you use fslview, or in Slicer?). It is possible that your acquisition uses a slice overlap and thus that the voxelsize in the slice-direction has been set to the DICOM slice thickness instead of the slice step (difference in slice-position between slices).
Martin
- Jan 3, 2018 05:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)Field inhomogeneities DWII am setting a pipeline to preprocess DWI data and it seems there are no tools inside DTIPrep to correct for field inhomogeneities. I have seen previous reports using AFNI or FSL that try to correct field inhomogeneities by registering b0 image with a standard T2 image or by calculating a kind of field map (topup procedure in FSL). Is there a similar tool in DTIPrep?
Thanks,
I do appreciate any comments.- Jan 3, 2018 11:01 PM | Rachel Steiner - University of Wisconsin - MadisonRE: Field inhomogeneities DWIHi Daniel,
If you are interested in preprocessing your data using FSL’s topup to correct for these artifacts prior to running dtiprep, I am happy to offer guidance for doing that. In my experience working with dtiprep, we have first run tools from fsl for preparing the data (correcting field in homogeneities) prior to dtiprep.- Jan 4, 2018 08:01 PM | Daniel Berge - Hospital del Mar Medical Research Institute (IMIM)RE: Field inhomogeneities DWIThanks Rachel,
Unfortunately, I do not have PA and AP images from my acquisition to run topup. I just was wandering if there was any procedure in DTIPrep or Slice to run an equivalent procedure, such as warping b0 image to T2 images and then apply the wrap field to the DWI as other groups have done using ANTS.
Otherwise, I guess I can always run this procedure before or after DTIPrep (always before computing the tensors).
Thanks.
- Jan 3, 2018 11:01 PM | Ryan H - UCLADENOISING_bCheck parameters?Hi DTI experts,
This is my first time using DTIPrep, and I want to use the DENOISING_bCheck tool. I'm wondering if anyone has any suggestions for what value to set for the DENOISING_ParameterSet parameter. The default settings leave this parameter blank.
I've left the rest of the parameters with the default values. Is this advisable? My voxel size is 1.875 x 1.875 x 2.000.
I'm also using the SLICE_bCheck and INTERLACE_bCheck tools with default values for all of the parameters as well (with the exception of putting 'Yes' for Slice_bSubregionalCheck because this tutorial said to do so: https://www.slicer.org/w/images/a/a6/DTI...). Any advice would be hugely appreciated.
Thank you for your time and help!- Jan 3, 2018 11:01 PM | Rachel Steiner - University of Wisconsin - MadisonRE: DENOISING_bCheck parameters?Hi Ryan,
Can you provide more information about your data? Such as number of diffusion directions, some demographic details like the species, age and whether it’s a clinical population or typical healthy individual? Also, what type of scanner was used - magnetic strength and manufacturer. When you look through the raw data in dtiprep, do you notice any inherent or consistent artifacts such as some cropped brain slices if the field of view cut off, for example, a few slices of the occipital lobe or do you see that the whole brain was included? Feel free to attach your xml of the setting you are using when you load the raw image and click “default” for the protocol. This will give me some info about the input data.
Thank you!
Rachel
- Dec 5, 2017 12:12 PM | Giuseppe Cabras - University of UdineDTIPrep problem with b=0 not in first volumeHello support for DTIPrep,
I have successfully used DTIPrep 1.2.4 and DWIConvert 1.0 to create a pre-processing pipeline for my local dwi.nii which has a b = 0 to the first volume. Now, I'm trying to pre-process with the same pipeline subjects from a different center that has a b = 0 not in the first volume, but a bit in the middle of dwi.nii 4Dimage. Apparently DTIPrep and DWIConvert work correctly and do the job, but when I look at the output QCed.bval and QCed.bvec, the resulting average b = 0 bval / bvec is in the first element, as expected, while the QCed.nii has the b = 0 NOT in the first volume and, of course, FA, MD and everything is in disarray. Where am I wrong?
Greetings,
Giuseppe- Dec 5, 2017 09:12 PM | Martin StynerRE: DTIPrep problem with b=0 not in first volumeHi Giuseppe
Some parts of DTIPrep's code assume that the first (input) DWI image has to be a b=0 image, so you may have to rearrange your DWI volume such that the b=0 is the first volume. You can use the "unu" NRRD tool http://teem.sourceforge.net/unrrdu/ (it's also disseminated with Slicer) for this purpose (I think this can also be done with the fsl tools)
Best
Martin- Dec 6, 2017 10:12 AM | Giuseppe Cabras - University of UdineRE: DTIPrep problem with b=0 not in first volThanks Martin,
do you know if there is a sample script that use unu for this or similar purpose?
Cheers,
Giuseppe- Dec 7, 2017 05:12 PM | Martin StynerRE: DTIPrep problem with b=0 not in first volThere are probably better ways to do this, but I would do it as follows:
Use "unu crop" 3 times to make 3 DWI parts:
a) the DWI's before b=0
b) the b=0 DWI
c) the DWI's after b=0
Assuming that the 4th axis is where your DWI images are indexed in the 4D DWI volume, this would look like, and 30 is the index of your b=0 DWI (starting index 0):
unu crop -i yourfile.nrrd -o part1.nrrd -min 0,0,0,0 -max M,M,M,29
unu crop -i yourfile.nrrd -o part2.nrrd -min 0,0,0,30 -max M,M,M,30
unu crop -i yourfile.nrrd -o part3.nrrd -min 0,0,0,31 -max M,M,M,M
Then use unu join to put these back together
unu join -i part2.nrrd part1.nrrd part3.nrrd -o joined.nrrd
Now, you will have to go end exit the nrrd header to change the informaiton of the gradients in the header (move the 30th diretion to the 0th and update all direction numbers).
I know that's quite ugly, there may be simpler/more elegant solutions out there.
Martin
- Sep 22, 2017 09:09 PM | michikocCommand DWIPrep not found?Hi DTIPrep Users/Experts:
I am a first-time user of DTIPrep. I have downloaded the version for Mac and have tried adding the program to my path in ~/.bashrc but the command DWIPrep would not execute..
Is there something I am not doing right..?
Thanks very much!- Sep 29, 2017 02:09 PM | Martin StynerRE: Command DWIPrep not found?The mac version of DTIPrep is an app, i.e. you can start it by double clicking on it. The first time you start it you need to control-click on it and select "Open" (otherwise OSX will not allow you to run it, as we are not certified apple developers).
You can also run it from your terminal, but you need to specify the binary witin the app-package. E.g. on my system, I type
/Applications/DTIPrep1.2.7.app/Contents/MacOS/DTIPrep1.2.7
into a terminal to run it from there.
Hope this helps
Martin
- Sep 29, 2017 01:09 PM | palmtaInstallation - github repository not foundHi all,
I'm a new user and I've tried installing DTIPrep on CentOS 7. I have gone through the steps as described by JuanThe build steps should look something like this.During step 4 (make), I have to log into github and github.com/BRAINSia/KWStyle.git is supposed to be cloned. The repository, however, does not exist. (I've also tried typing it into the browser, the URL does not exist.)
1. git clone https://github.com/NIRALUser/DTIPrep.git
2. mkdir DTIPrep-build; cd DTIPrep-build
3. ccmake ../DTIPrep
4. make
Is there a new repository that I should clone?
Any help is greatly appreciated!
Theresa
- Jul 14, 2017 01:07 PM | Chr. Roßmanithhex output for floatsHi,
is there a reason why e.g. interlace correlations for gradients are printed as hex float numbers? This format is used in section "Output Diffusion Gradient direction information" of the QC report as well but e.g. not in section "EddyCurrentHeadMotionCorrectIowa".
Regards,
Christina Rossmanith- Jul 14, 2017 01:07 PM | Martin StynerRE: hex output for floatsHi Christina
Are you referring to the terminal output, the report txt file or the full report xml file?
Can you provide an example?
best
Martin- Jul 14, 2017 02:07 PM | Chr. RoßmanithRE: hex output for floatsTerminal output and report txt file. XML seems to be fine.
Lines look like (txt)
1 [ -0x1.a1fd9ba1b1961p-3, 0x1.45bd0e12e83a1p-5, -0x1.f4cf28c79f666p-1 ]
or (terminal)
Interlace correlation for gradient 52: 0x1.e6f854a520339p-1
I've attached a report.
Regards,
ChristinaAttachment: Output DWI Volume file_QCReport.txt- Jul 14, 2017 02:07 PM | Martin StynerRE: hex output for floatsNot sure what's happening, as we have not seen that in our runs. Which system are using (mac vs linux distribution)? Which version of DTIPrep and where did you get it from (Slicer, NITRC)? Likely this is system related and may be difficult to change.
As a work-around you could use the information from the XML, since that seems to be fine.
Martin
Originally posted by Chr. Roßmanith:Terminal output and report txt file. XML seems to be fine.
Lines look like (txt)
1 [ -0x1.a1fd9ba1b1961p-3, 0x1.45bd0e12e83a1p-5, -0x1.f4cf28c79f666p-1 ]
or (terminal)
Interlace correlation for gradient 52: 0x1.e6f854a520339p-1
I've attached a report.
Regards,
Christina- Jul 19, 2017 05:07 AM | Chr. RoßmanithRE: hex output for floatsI'm using linux and the NITRC version of DTIPrep (Version: 1.2.8)
I had a look at the documentation of std::ios_base::fmtflags (cppreference.com):
"scientific: generate floating point types using scientific notation, or hex notation if combined with fixed: see std::scientific"
In src/itkDWIBaselineAverager.hxx "fixed" is used in combination with "scientific" which leads to hex notation. But it is strange why only I am hit by this problem.
Christina- Jul 20, 2017 02:07 PM | Martin StynerRE: hex output for floatsMy guess is that it's due to your linux distribution, as different distributions have slightly different kernels and system libraries. We usually use scientific linux, which is built on CentOS, and also compile our distributions on that platform (not sure what Slicer uses for its compilation of the extensions).
In this case, it's likely a c++ library difference.
But, in the code the formate info for the output is not well chosen:
" << std::setw(9) << std::setiosflags(std::ios::fixed) << std::setprecision(17) << std::setiosflags( std::ios::right | std::ios::scientific )"
setw and setprecision should be aligned, particularly if one chooses a fixed notation (setw should be larger than setprecision). And if one choses a fixed notation, then one should not use scientific. So this is clearly not good programming on our end.
The best seems to replace this with a fixed notation at the higher precision (probably too high with 17), i.e.
" << std::setw(19) << std::setiosflags(std::ios::fixed) << std::setprecision(17) << std::setiosflags( std::ios::right)"
I'll add that as an issue to change for the next release (which though may take a while to do).
Martin
- Jun 13, 2017 12:06 AM | Micah Johnson - UCLA Department of PsychologyFAIL:Single b-value DWI without a b0/baselineHello DTIPrep team,
Thank you for such a wonderful tool, I've been using it for many years. I'm currently running DTIPrep1.2.4(Linux) and am getting the following error message below, which results in a QC output that is missing the averaged b0 image that I request in my protocol (so the output contains only DWIs).
Interlace-wise Check Artifacts:
Gradient#: AngleX AngleY AngleZ TranslationX TranslationY TranslationZ Metric(MI) Correlation
0 0.005173 0.019200 0.006233 0.067178 0.026310 1.494784 0.260701 0.851486
20 -0.013550 -0.004478 -0.004047 -0.023368 0.108741 1.503283 0.259852 0.855707
Single b-value DWI without a b0/baseline!
The input contains two b0s, such as displayed in my bval table below...
0
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
0
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
According to the QCReport.txt, the first b0 has an Interlace-wise artifact, so it's being excluded, and so obviously cannot be averaged with the other b0 image (no reported artifacts). So just to make sure, is this why I get the error message above? I was hoping that the baseline averaging option would be automatically ignored if there is only one good b0 gradient remaining, but is this not the case? (the QC output contains only DWIs). Since I'm batching this protocol xml across many subjects (some which have both good b0s, and some which may have one of the b0s corrupted), is there a handy way I could keep the baseline average option and have it ignore if there's only 1 good b0?
The other source of my confusion is that the XMLQCResult.xml (will be attached in another message following) says that the Interlace-wise is fine (Value=INCLUDE), but the QC_Index=-1 which means exclude, so if it's being excluded then why would Value=INCLUDE?
Another apparent mismatch is that the QCReport.txt says that gradient #20 has Interlace-wise artifact, but the XMLQCResult.xml says that gradient #20 is fine (Value=INCLUDE, QC_Index=18)...why?
Thanks so much,
MicahAttachment: p05_acute_dwi_QCReport.txt- Jun 13, 2017 12:06 AM | Micah Johnson - UCLA Department of PsychologyRE: FAIL:Single b-value DWI without a b0/baselineSee previous message, here's the XMLQCResult attachedAttachment: p05_acute_dwi_XMLQCResult.xml
- Apr 19, 2017 02:04 AM | minchulusaToo many gradients excluded by "default"Hello ,
My name is MC kim, and I need some help.
The DTIPrep version I got is 1.2.4.
I try to preprocess my DWI images with DTIPrep, and I got some questions in doing it.
1) I initially tried with 'default' protocol, and DTIPrep excluded 17 out for 31 gradients from a DWI data set from a subject.
the reason was due to interlace artifact. When I visual checked the DWI data, I couldn't agree that much artifact.
I attached the captured QC result file.
I tried preprocessing again, and this time I changed the protocol, instead of using 'default'.
By default, DENOISING_bCheck, JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck at setted "No", and I changed settings into "YES"
As I tried again with all "YES" all of the directions were included in QCed DWI.
Thus I though by changing protocols to all "YES", the protocol became more tolerant to artifact.
My question is is it okay to run with the protocol setting of all "YES"? Is there any potential problem?
2) Even though the "default"protocol excluded more than half of DWI gradient directions, DTIPrep still generated DTI images such as FA, MD, etc.
Can I use this DTI image to analysis or tract generation? or should I prepration again with different protocol setting.
3)I read that DTIPrep has two nice functions, those are "vibration artifact checking" and "simulation based bias analysis".
I want to know which parameter on protocol setting represents those functions.
My guess is "DOMINANTDIRECTION_bCheck" maybe vibration artifact correction, am I right?
4) When I click on "Default" protocol, I get the error message saying "The following programs have not been found. Please enter the path manually if necessary> DiffusionWeightedVolumeMasking"
Can you tell me where can I get this program or how can I solve the problem?
Thanks in advance and I look forward to hear from you.
MC KimAttachment: error.jpg- Apr 19, 2017 03:04 PM | Martin StynerRE: Too many gradients excluded by "default"Hi Minchul
Re 1) the first denoising/smoothing option DENOISING_bCheck smooth the DWI data prior to any check which will smooth out any minor artifacts, which is why the previously rejected DWIs are now considered fine. It's "okay" to use that option, though we usually do not (I prefer un-smoothed data, but other researchers prefer smoothed data). This would definitely be something that you would need to report in any papers resulting from your work. The options JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck have no effect on the DWI cleaning/rejections.
What we usually do when too many DWI get rejected despite appearing appropriate is to change the thresholds for SLICE and INTERLACE checks. The report txt and xml files give you information which step rejects the most DWI and why.
Re 2) That depends on your settings. You can tell DTIPrep not to create the final QCed DWI and DTI images when the resulting DWI has more than a certain percentage of rejected DWIs (tolerance threshold). At the most permissive (when data is very noisy), we usually do not go beyond 40% rejection, while our usual studies use 20-30% rejection tolerance. 50% seems to high to me and I would NOT use that data for further analysis.
re 3)DOMINANTDIRECTION_bCheck = vibration artifact check. This is not commonly needed unless you have earlier Tim Trio data or suspect presence of vibration artifacts. The issue here is that you need to train the classifier by running the check on sample data that looks good (the xml contains the entropy results, see our papers on this topic) and then use the mean & stdev from that sample data in the protocol to identify the presence or absence of such an artifact.
re 3) simulation based bias analysis: unfortunately that is not in DTIPrep yet. We simply don't have the manpower to put it in (there is no grant that support DTIPrep and we are currently only maintaining it and do not add any major functionality). This would be great as it would allow to reject/accept DTI data based on the expected error rather than a simple tolerance threshold.
re 4) DTIPrep offers support for multiple brain masking options. If you want to use that option you need to point DTIPrep to it (it's part of Slicer). We commonly suggest the use of FSL's bet/bet2 with IDWI (double click on the protocol option and DTIPrep will allow you to select which masking option to choose)
Martin
Originally posted by Minchul Kim:Hello ,
My name is MC kim, and I need some help.
The DTIPrep version I got is 1.2.4.
I try to preprocess my DWI images with DTIPrep, and I got some questions in doing it.
1) I initially tried with 'default' protocol, and DTIPrep excluded 17 out for 31 gradients from a DWI data set from a subject.
the reason was due to interlace artifact. When I visual checked the DWI data, I couldn't agree that much artifact.
I attached the captured QC result file.
I tried preprocessing again, and this time I changed the protocol, instead of using 'default'.
By default, DENOISING_bCheck, JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck at setted "No", and I changed settings into "YES"
As I tried again with all "YES" all of the directions were included in QCed DWI.
Thus I though by changing protocols to all "YES", the protocol became more tolerant to artifact.
My question is is it okay to run with the protocol setting of all "YES"? Is there any potential problem?
2) Even though the "default"protocol excluded more than half of DWI gradient directions, DTIPrep still generated DTI images such as FA, MD, etc.
Can I use this DTI image to analysis or tract generation? or should I prepration again with different protocol setting.
3)I read that DTIPrep has two nice functions, those are "vibration artifact checking" and "simulation based bias analysis".
I want to know which parameter on protocol setting represents those functions.
My guess is "DOMINANTDIRECTION_bCheck" maybe vibration artifact correction, am I right?
4) When I click on "Default" protocol, I get the error message saying "The following programs have not been found. Please enter the path manually if necessary> DiffusionWeightedVolumeMasking"
Can you tell me where can I get this program or how can I solve the problem?
Thanks in advance and I look forward to hear from you.
MC Kim- Apr 20, 2017 02:04 AM | minchulusaRE: Too many gradients excluded by "default"Hi Martin
Thank you a lot for your kind advice, it was helpful.
I cameout with additional questions on your answer.
1) Upon your answer "Re 2)" , I want to set the tolerance threshold to whether create or not created final QCed DWI and DTIs.
I looked up at media wiki, but I cannot be sure which Parameter is for tolerance setting.
I have two guesses and marked "1" and "2" in attached image.
Please let me know the function and meanings of those two parameters.
2) Another question is that for "Re 3)", Am I supposed to train DTIPrep with my own artifact free data? Because I though DTIPrep has
kind of built-in artifact free samples and compare with my data.
Thanks in advance and look forward to listen.
Minchul
Originally posted by Martin Styner:Hi Minchul
Re 1) the first denoising/smoothing option DENOISING_bCheck smooth the DWI data prior to any check which will smooth out any minor artifacts, which is why the previously rejected DWIs are now considered fine. It's "okay" to use that option, though we usually do not (I prefer un-smoothed data, but other researchers prefer smoothed data). This would definitely be something that you would need to report in any papers resulting from your work. The options JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck have no effect on the DWI cleaning/rejections.
What we usually do when too many DWI get rejected despite appearing appropriate is to change the thresholds for SLICE and INTERLACE checks. The report txt and xml files give you information which step rejects the most DWI and why.
Re 2) That depends on your settings. You can tell DTIPrep not to create the final QCed DWI and DTI images when the resulting DWI has more than a certain percentage of rejected DWIs (tolerance threshold). At the most permissive (when data is very noisy), we usually do not go beyond 40% rejection, while our usual studies use 20-30% rejection tolerance. 50% seems to high to me and I would NOT use that data for further analysis.
re 3)DOMINANTDIRECTION_bCheck = vibration artifact check. This is not commonly needed unless you have earlier Tim Trio data or suspect presence of vibration artifacts. The issue here is that you need to train the classifier by running the check on sample data that looks good (the xml contains the entropy results, see our papers on this topic) and then use the mean & stdev from that sample data in the protocol to identify the presence or absence of such an artifact.
re 3) simulation based bias analysis: unfortunately that is not in DTIPrep yet. We simply don't have the manpower to put it in (there is no grant that support DTIPrep and we are currently only maintaining it and do not add any major functionality). This would be great as it would allow to reject/accept DTI data based on the expected error rather than a simple tolerance threshold.
re 4) DTIPrep offers support for multiple brain masking options. If you want to use that option you need to point DTIPrep to it (it's part of Slicer). We commonly suggest the use of FSL's bet/bet2 with IDWI (double click on the protocol option and DTIPrep will allow you to select which masking option to choose)
Martin
Originally posted by Minchul Kim:Hello ,
My name is MC kim, and I need some help.
The DTIPrep version I got is 1.2.4.
I try to preprocess my DWI images with DTIPrep, and I got some questions in doing it.
1) I initially tried with 'default' protocol, and DTIPrep excluded 17 out for 31 gradients from a DWI data set from a subject.
the reason was due to interlace artifact. When I visual checked the DWI data, I couldn't agree that much artifact.
I attached the captured QC result file.
I tried preprocessing again, and this time I changed the protocol, instead of using 'default'.
By default, DENOISING_bCheck, JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck at setted "No", and I changed settings into "YES"
As I tried again with all "YES" all of the directions were included in QCed DWI.
Thus I though by changing protocols to all "YES", the protocol became more tolerant to artifact.
My question is is it okay to run with the protocol setting of all "YES"? Is there any potential problem?
2) Even though the "default"protocol excluded more than half of DWI gradient directions, DTIPrep still generated DTI images such as FA, MD, etc.
Can I use this DTI image to analysis or tract generation? or should I prepration again with different protocol setting.
3)I read that DTIPrep has two nice functions, those are "vibration artifact checking" and "simulation based bias analysis".
I want to know which parameter on protocol setting represents those functions.
My guess is "DOMINANTDIRECTION_bCheck" maybe vibration artifact correction, am I right?
4) When I click on "Default" protocol, I get the error message saying "The following programs have not been found. Please enter the path manually if necessary> DiffusionWeightedVolumeMasking"
Can you tell me where can I get this program or how can I solve the problem?
Thanks in advance and I look forward to hear from you.
MC KimAttachment: tolerance.jpg- Apr 20, 2017 02:04 AM | Martin StynerRE: Too many gradients excluded by "default"Hi Minchul
Re 1) it's the one called badGradientPercentageTolerance
Re 2) the defaults are for a specific setting (pediatric human data) and a given diffusion acquisition protocol. If you have a different protocol, then the values would be different and need to be retrained
Martin
Originally posted by Minchul Kim:Hi Martin
Thank you a lot for your kind advice, it was helpful.
I cameout with additional questions on your answer.
1) Upon your answer "Re 2)" , I want to set the tolerance threshold to whether create or not created final QCed DWI and DTIs.
I looked up at media wiki, but I cannot be sure which Parameter is for tolerance setting.
I have two guesses and marked "1" and "2" in attached image.
Please let me know the function and meanings of those two parameters.
2) Another question is that for "Re 3)", Am I supposed to train DTIPrep with my own artifact free data? Because I though DTIPrep has
kind of built-in artifact free samples and compare with my data.
Thanks in advance and look forward to listen.
Minchul
Originally posted by Martin Styner:Hi Minchul
Re 1) the first denoising/smoothing option DENOISING_bCheck smooth the DWI data prior to any check which will smooth out any minor artifacts, which is why the previously rejected DWIs are now considered fine. It's "okay" to use that option, though we usually do not (I prefer un-smoothed data, but other researchers prefer smoothed data). This would definitely be something that you would need to report in any papers resulting from your work. The options JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck have no effect on the DWI cleaning/rejections.
What we usually do when too many DWI get rejected despite appearing appropriate is to change the thresholds for SLICE and INTERLACE checks. The report txt and xml files give you information which step rejects the most DWI and why.
Re 2) That depends on your settings. You can tell DTIPrep not to create the final QCed DWI and DTI images when the resulting DWI has more than a certain percentage of rejected DWIs (tolerance threshold). At the most permissive (when data is very noisy), we usually do not go beyond 40% rejection, while our usual studies use 20-30% rejection tolerance. 50% seems to high to me and I would NOT use that data for further analysis.
re 3)DOMINANTDIRECTION_bCheck = vibration artifact check. This is not commonly needed unless you have earlier Tim Trio data or suspect presence of vibration artifacts. The issue here is that you need to train the classifier by running the check on sample data that looks good (the xml contains the entropy results, see our papers on this topic) and then use the mean & stdev from that sample data in the protocol to identify the presence or absence of such an artifact.
re 3) simulation based bias analysis: unfortunately that is not in DTIPrep yet. We simply don't have the manpower to put it in (there is no grant that support DTIPrep and we are currently only maintaining it and do not add any major functionality). This would be great as it would allow to reject/accept DTI data based on the expected error rather than a simple tolerance threshold.
re 4) DTIPrep offers support for multiple brain masking options. If you want to use that option you need to point DTIPrep to it (it's part of Slicer). We commonly suggest the use of FSL's bet/bet2 with IDWI (double click on the protocol option and DTIPrep will allow you to select which masking option to choose)
Martin
Originally posted by Minchul Kim:Hello ,
My name is MC kim, and I need some help.
The DTIPrep version I got is 1.2.4.
I try to preprocess my DWI images with DTIPrep, and I got some questions in doing it.
1) I initially tried with 'default' protocol, and DTIPrep excluded 17 out for 31 gradients from a DWI data set from a subject.
the reason was due to interlace artifact. When I visual checked the DWI data, I couldn't agree that much artifact.
I attached the captured QC result file.
I tried preprocessing again, and this time I changed the protocol, instead of using 'default'.
By default, DENOISING_bCheck, JOINDENOISING_bCheck, BRAINMAST_bCheck, and DOMINANTDIRECTION_bCheck at setted "No", and I changed settings into "YES"
As I tried again with all "YES" all of the directions were included in QCed DWI.
Thus I though by changing protocols to all "YES", the protocol became more tolerant to artifact.
My question is is it okay to run with the protocol setting of all "YES"? Is there any potential problem?
2) Even though the "default"protocol excluded more than half of DWI gradient directions, DTIPrep still generated DTI images such as FA, MD, etc.
Can I use this DTI image to analysis or tract generation? or should I prepration again with different protocol setting.
3)I read that DTIPrep has two nice functions, those are "vibration artifact checking" and "simulation based bias analysis".
I want to know which parameter on protocol setting represents those functions.
My guess is "DOMINANTDIRECTION_bCheck" maybe vibration artifact correction, am I right?
4) When I click on "Default" protocol, I get the error message saying "The following programs have not been found. Please enter the path manually if necessary> DiffusionWeightedVolumeMasking"
Can you tell me where can I get this program or how can I solve the problem?
Thanks in advance and I look forward to hear from you.
MC Kim- Apr 20, 2017 02:04 AM | minchulusaRE: Too many gradients excluded by "default"Hi Martin
If I set badGradientPercentage Tolerance "0.2" ,run DTIPrep, and get QCed DWI and DTI created,
Can I assume that the percentage of excluded data is below 20%?
Minchul- May 11, 2017 02:05 AM | minchulusaRE: Too many gradients excluded by "default"Hello , Martin
I got into another problem of DTIPrep excluding the initial B0 gradient dataset.
And I think it's due to "DWIConvert" module.
My DWI data is in nifti format and I tried to convert the data into NRRD format.
I used "DWIConvert" I could convert my data, but faced a problem of unwanted change of b-values.
I used "FSLtoNRRD" command and gave input b-value text file with one B0 and B1000, 1500 and 2000 values.
The given txt. file is " 0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 "
After converting, I re-converted NRRD file into Nifti format to check everything is fine.(because DTIPrep kept on excluding initial B0 gradient).
But the B-value cameout with Nifti file is not same as I gave as input.
The numbers were ramdomly changed.
The b-value text file cameout is
"569.14677169328775
1210.4240156296401
2394.278657453659
2064.6115111473659
2436.8009231442984
1705.7749517509521
1516.4484019703827
1514.1840056875694
1719.9054732742741
2824.3546439594234
2039.8874449352959
1211.1570127685525
2394.0072468217677
2064.9339802438881
2437.7675224831487
1705.874096430357
1516.5357335934659
1514.0713333670778
1719.814571234273
2824.4174183001828
2040.1616777009938
1210.592447597332
2394.3981996158004
2064.7939236817956
2437.6351466971118
1706.1506126118095
1516.6813482354526
1514.5959658969289
1719.3471588181069
2824.4694227411933
2214.1862132865399
1818.5253904163474
2379.8818229158201
1534.0663695825635
2377.2198780491276
1531.6037871520705
2376.2974797197626
1533.6721350225935
3030.4495159553903
1497.819497263901
1139.6441598187059
1817.9113032772889
2379.4458786272944
1533.8076305638847
2377.341528007285
1532.092919034837
2376.8870089482484
1533.7763507339953
3030.39438321854
1497.4963034622233
1139.4844454853051
1817.60332523135
2379.0966775756933
1533.7479203686992
2377.114705937805
1532.9149473982216
2376.9214811331449
1533.496245336315
3030.1965392951452
1497.2164576375399
485.30360327283682
2963.2369306481619
1239.161593096693
2396.5764449663329
1660.7085313620228
1508.0419153094763
1896.0191813079648
3153.7796491840281
730.87428877886327
1942.1368712267449
1008.437730083243
2963.446215401349
1240.038375975256
2397.1494366414922
1659.3181504339971
1507.376482833866
1894.6606209606766
3153.9309149673081
730.16050594589706
1942.6741487412278
1007.5010623141499
2963.5995044988094
1240.5890343827225
2397.4182379207482
1659.6068556891951
1507.0685735595321
1894.0214419438767
3153.877208544558
730.13306594795426
1943.4686143768183
1007.4178745724701"
And no B-value of "0", which should be resistration template.
I think when converting nifti to NRRD, unintented b-value change occurs.
I have tired with other datasets from other subjects and found this always occurs.
This maybe a problem with DWIConvert module, but I just want to ask have you ever faced and fixed this problem.
Or could I send you a sample dataset of mine for you to take a look?
Minchul- May 11, 2017 02:05 PM | Martin StynerRE: Too many gradients excluded by "default"This indeed looks like an issue for DWIConvert. Which version are you using, as earlier version had a known bug with multi-b-value images to go from NRRD to NIFTI (and back)? You may want to download it with the newest version of Slicer (maybe even a nightly build), or compile it yourself: https://github.com/BRAINSia/BRAINSTools/tree/master/DWIConvert
Btw, we do not maintain DWIConvert, it's a Slicer/BRAINS tool that we use (just like FSL's bet2)
Also, can you double-check the header of the NRRD file, whether the first DWI gradient is 0 0 0? This would narrow it down to see which of the 2 conversions messes things up.
Best
Martin
Originally posted by Minchul Kim:Hello , Martin
I got into another problem of DTIPrep excluding the initial B0 gradient dataset.
And I think it's due to "DWIConvert" module.
My DWI data is in nifti format and I tried to convert the data into NRRD format.
I used "DWIConvert" I could convert my data, but faced a problem of unwanted change of b-values.
I used "FSLtoNRRD" command and gave input b-value text file with one B0 and B1000, 1500 and 2000 values.
The given txt. file is " 0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 "
After converting, I re-converted NRRD file into Nifti format to check everything is fine.(because DTIPrep kept on excluding initial B0 gradient).
But the B-value cameout with Nifti file is not same as I gave as input.
The numbers were ramdomly changed.
The b-value text file cameout is
"569.14677169328775
1210.4240156296401
2394.278657453659
2064.6115111473659
2436.8009231442984
1705.7749517509521
1516.4484019703827
1514.1840056875694
1719.9054732742741
2824.3546439594234
2039.8874449352959
1211.1570127685525
2394.0072468217677
2064.9339802438881
2437.7675224831487
1705.874096430357
1516.5357335934659
1514.0713333670778
1719.814571234273
2824.4174183001828
2040.1616777009938
1210.592447597332
2394.3981996158004
2064.7939236817956
2437.6351466971118
1706.1506126118095
1516.6813482354526
1514.5959658969289
1719.3471588181069
2824.4694227411933
2214.1862132865399
1818.5253904163474
2379.8818229158201
1534.0663695825635
2377.2198780491276
1531.6037871520705
2376.2974797197626
1533.6721350225935
3030.4495159553903
1497.819497263901
1139.6441598187059
1817.9113032772889
2379.4458786272944
1533.8076305638847
2377.341528007285
1532.092919034837
2376.8870089482484
1533.7763507339953
3030.39438321854
1497.4963034622233
1139.4844454853051
1817.60332523135
2379.0966775756933
1533.7479203686992
2377.114705937805
1532.9149473982216
2376.9214811331449
1533.496245336315
3030.1965392951452
1497.2164576375399
485.30360327283682
2963.2369306481619
1239.161593096693
2396.5764449663329
1660.7085313620228
1508.0419153094763
1896.0191813079648
3153.7796491840281
730.87428877886327
1942.1368712267449
1008.437730083243
2963.446215401349
1240.038375975256
2397.1494366414922
1659.3181504339971
1507.376482833866
1894.6606209606766
3153.9309149673081
730.16050594589706
1942.6741487412278
1007.5010623141499
2963.5995044988094
1240.5890343827225
2397.4182379207482
1659.6068556891951
1507.0685735595321
1894.0214419438767
3153.877208544558
730.13306594795426
1943.4686143768183
1007.4178745724701"
And no B-value of "0", which should be resistration template.
I think when converting nifti to NRRD, unintented b-value change occurs.
I have tired with other datasets from other subjects and found this always occurs.
This maybe a problem with DWIConvert module, but I just want to ask have you ever faced and fixed this problem.
Or could I send you a sample dataset of mine for you to take a look?
MinchulMay 18, 2017 08:05 AM | minchulusaRE: Too many gradients excluded by "default"I am replying to myself because I found the reason why B value change occurs.
I tried with transposed matrix of b value and b vectors and problem solved.
Also upgraded to newest version of DTIPrep.
Thanks for helping, Martin.
Minchul.- May 18, 2017 02:05 PM | Martin StynerRE: Too many gradients excluded by "default"Thanks Minchul
Yes, that's a common issue with DWIConvert, i.e. that the bvectors need to be in the transposed format.
Best regards
Martin
- Nov 1, 2016 07:11 PM | Christopher Pettyconcatenated DTI scansWhat should be happening in the scenario where i've concatenated 6 scans together?
They were scanned back to back during the same scanning session, with the same 15 direction + 2 b0 protocol. I concatenated them all together into a long 4D nii.gz ( including the bvalues and bvectors ).
I was expecting DTIPrep to average all the B0 and treat the all the gradient directions individually, but what actually happened is that they were averaged into a single 17 direction scan, then processed. Also, my b0s were never averaged.- Nov 1, 2016 07:11 PM | Christopher PettyRE: concatenated DTI scansi should mention, this was on a Mac with version 1.2.4Nov 2, 2016 01:11 PM | Christopher PettyRE: concatenated DTI scanssame version on Linux with the same protocol/options behaved as i would've expectedNov 2, 2016 01:11 PM | Martin StynerRE: concatenated DTI scansHi Chris
Yes, you should be able to concatenate, we do it all the time in our studies
Did you try to feed DTIPrep directly the nii.gz image? If so, I don't think that this would work, you would have to first convert the image to NRRD (with DWIConvert).
Also Re b0, Currently DTIPrep does not allow to specify the minimal b-value for a b0 to be detected. Only those gradients with very small gradient entry (10-7) are currently detected as b0.
Something we need to improve.
Btw, for combining multiple DWI's you can also use CombineDWIs https://github.com/NIRALUser/CombineDWIs
Martin
Originally posted by Christopher Petty:What should be happening in the scenario where i've concatenated 6 scans together?
They were scanned back to back during the same scanning session, with the same 15 direction + 2 b0 protocol. I concatenated them all together into a long 4D nii.gz ( including the bvalues and bvectors ).
I was expecting DTIPrep to average all the B0 and treat the all the gradient directions individually, but what actually happened is that they were averaged into a single 17 direction scan, then processed. Also, my b0s were never averaged.- Nov 10, 2016 07:11 PM | Christopher PettyRE: concatenated DTI scansHey Martin .. Just coming back to this ..
I did process them as nrrd ... the linux version behaved as i would've expected, it averaged all the B0s together for me ... but the same protocol processed on the mac had weird results i described above and It did not average the B0 and- Nov 11, 2016 09:11 PM | Martin StynerRE: concatenated DTI scansmm, sounds like a mac related bug. Can you double check that both linux and mac versions are the same and if so at a bug report on the tracker?
Thanks
Martin
- Oct 21, 2016 07:10 PM | Yuta Aoki - The University of Tokyoassurance of uniform distributionDear DTIPrep experts,
Could someone teach me how to quantify the uniformity of the distribution of directions?
We have DTI data with 64directions, and it looks like DTIPrep with default setting exclude 10 directions.
Before analyzing these data, I want to make sure the uniformity of distribution.
I would like to replicate the figure7 in the paper "DTIPrep: quality control of diffusion-weighted images" published in 2014.
I am using DTIPrep1.2.7.
Best,
YutaAttachment: Screen Shot 2016-10-21 at 3.28.27 PM.png- Oct 24, 2016 05:10 PM | Martin StynerRE: assurance of uniform distributionHi Yuta
Well, the error estimates shown in rows 2 and 3 in that figure cannot be reproduced by DTIPrep (It is not difficult to do so, we just don't have the manpower to add this, as there is limited interest for that particular option).
With respect to the top row of that figure, that simply displays the surviving motion corrected gradients, that should be possible in DTIPrep. For that
- load the QCed DWI data as a new dataset into DTIPrep
- you may need to go to protocol and generate a default protocol, or you could load the protocol used to generated the QCed DWI
- go to the 3D display and you should be all set, i.e. you should see the sphere with directions etc
- set opacity to 1.0 (you may need to move it around to have an effect, there's a bug on that slider) to only see the ends of the gradient vectors- Oct 27, 2016 04:10 PM | Yuta Aoki - The University of TokyoRE: assurance of uniform distributionHi Martin,
Thank you for your swift response.
As far as I tried, DTIPrep1.2.7 does not display the top row of that figure, while DTIPrep1.2.4 did.
If it is not difficult, it would be greatly appreciated if you teach me how to reproduce the rows 2-3 figures so that I can try to reproduce them in my computer.
(since my background is clinical, it should not be easy for me...)
Best,
Yuta- Nov 2, 2016 01:11 PM | Martin StynerRE: assurance of uniform distributionHi Yuta
Unfortunately the support to create image like those is not available in DTIPrep right now (and I don't know any tool that would be supporting this in a straightforward manner). We computed these with matlab and visualized with 3D Slicer (ParaView or ShapePopulationViewer would work great too). The computation of these take about 1 day per experiment (as these are simulation based error estimations).
Martin- Nov 10, 2016 04:11 PM | Yuta Aoki - The University of TokyoRE: assurance of uniform distributionHi Martin,
Thank you for your response.
I will try to make the image.
best,
Yuta
- Oct 16, 2016 01:10 AM | Tanmay NathMotion correctionHi,
I just ran few subjects with DTI prep and computed the mean absolute RMS motion using FSl. I compared the mean absolute RMS motion before and after DTIprep. But strangely for some subjects the mean absolute RMS motion was higher for subjects after DTI prep.
Any thoughts why is it so?
Thanks- Oct 17, 2016 01:10 PM | Martin StynerRE: Motion correctionI assume you meant FSL (using fsl_motion_outliers)?
Not sure how the RMS motion is computed, and this could be an artifact of the particular program you are using to compute the motion. If there were such a thing as a perfect way to measure motion, we would simply use that measure as a goal to optimize. But any measure introduces a bias to its assumptions.
But it is certainly not impossible for DTIPrep (or any motion correction, such as in FSL) to make things worse. Especially if there is no motion present, a registration process (to correct the potential motion) may correct for a larger motion than actually present (due to the high noise, low SNR).
Martin- Oct 19, 2016 03:10 PM | James HartzellRE: Motion correctionHi
I have a related question.
With the rot_bvecs script one can adjust the bvec gradient orientations to the applied motion correction and eddy current correction in the eddy_correct script.
Is there a way to do the same with DTIPrep--i.e., adjust the gradient vectors according to the applied motion correction?
Originally posted by Martin Styner:I assume you meant FSL (using fsl_motion_outliers)?
Not sure how the RMS motion is computed, and this could be an artifact of the particular program you are using to compute the motion. If there were such a thing as a perfect way to measure motion, we would simply use that measure as a goal to optimize. But any measure introduces a bias to its assumptions.
But it is certainly not impossible for DTIPrep (or any motion correction, such as in FSL) to make things worse. Especially if there is no motion present, a registration process (to correct the potential motion) may correct for a larger motion than actually present (due to the high noise, low SNR).
Martin- Oct 19, 2016 04:10 PM | Martin StynerRE: Motion correctionAll motion and eddy current correction is automatically applied to the diffusion gradient directions, i.e. DTIPrep does not save any DWI information that does not have a correspondingly corrected gradient direction. Thus it does not offer an option to separately apply the motion or eddy current correction.
Martin
- Oct 7, 2016 04:10 PM | Jian ZhangDiffusion Weighted Volume Masking not foundDear all,
When I was using DTIPrep to import data to create the protocol, a small window popped up, with this message:
The following programs have not been found.
Please enter the path manually if necessary:
> DiffusionWeightedVolumeMasking
Is the Diffusion Weighted Volume Masking setting compulsory or we can ignore it?
Thanks.
Jian- Oct 7, 2016 05:10 PM | Martin StynerRE: Diffusion Weighted Volume Masking not foundIt is not necessary, unless you want to use that tool to do the brain masking (it is a 3D Slicer module). You can also turn off the brain masking, or do the brain masking with alternative options such as BET in FSL.
MartinOct 8, 2016 09:10 AM | Jian ZhangRE: Diffusion Weighted Volume Masking not foundThanks for the explanation.
JianOct 14, 2016 12:10 AM | Tanmay NathRE: Diffusion Weighted Volume Masking not foundHi,
I have the same question regarding the Diffusion Weighted Volume masking window.
I also get this window pop up(on my linux server but not on mac) which says
The following programs have not been found.
Please enter the path manually if necessary:
> DiffusionWeightedVolumeMasking
I am trying to correct the dominant direction/vibration noise, and even if i select the brain mask(i chose option slicer), the step for dominant direction/vibration fails and it gives me this output.
Brain Mask
protocol -> GetBrainMaskProtocol().reportFileMode 1
Brain mask check NOT set
Brain Mask DONE
Any idea how to make it run? Also, what mask are we supposed to input? Please find attached the screen shot of my protocol.
ThanksAttachment: Screen Shot 2016-10-13 at 8.22.23 PM.png- Oct 14, 2016 12:10 PM | Martin StynerRE: Diffusion Weighted Volume Masking not foundHi Tanmay
DiffusionWeightedVolumeMasking is a 3D Slicer based brain masking tool. If you choose FSL for your masking, then you can safely disregard this warning (which just tells you that it could not find this particular brain masking tool).
If you look at your masking protocol, it says BRAINMASK_method 1 . By double clicking on that, a window pops up that lets you select the method (We should change the information displayed to a description, not a simple number).
Also, DTIPrep is pretty strict regarding the exact naming. Your BRAINMASK_bcheck is set to "yes", but it should be "Yes" (upper case Y). In your case, this meant that the masking was not run (Brain mask check NOT set)
Martin
- Oct 12, 2016 09:10 PM | Tanmay NathMotion parametersHi,
I was wondering if there is a way to extract the amount of motion corrected by DTIPrep. I mean what is the resultant motion of the QCed subjects. I do have the QC report, but i cannot find the motion parameters in it. Also how does it correct this motion? Is it only that DTIPrep does an affine transformation of each directions with the baseline?
Thanks- Oct 13, 2016 12:10 PM | Martin StynerRE: Motion parametersYes, it does stores the (affine) motion information (that was detected and corrected by the motion correction step) in the xml-report. Per DWI you will find there the full transformation matrix (in case you want to use that), plus 2 summary features for the overall translation and the overall rotation. The entries are labeled as TranslationNorm and Angle.
here is the info, how these are computed
Angle = combined angle, this is the single total rotation around the best fitting rotation axis (so not one of the coordinate axes x, y, z) needed to represent the motion. This is actually not extracted from the affine transform, but simpler by looking at the angle between the gradient direction before the motion correction and after (which is very simple to extract).
Translation = norm/length of the translation vector = sqrt(tx*tx + ty*ty + tz*tz), the translation vector is easily extracted from the Affine transform
The affine transform is to the average baseline (by default computed via iterative unbiased averaging), see also:
Kreilkamp BAK, Zacà D, Papinutto N, Jovicich J. Retrospective head motion correction approaches for diffusion tensor imaging: Effects of preprocessing choices on biases and reproducibility of scalar diffusion metrics. J Magn Reson Imaging. 2015 Jun 7.
MartinOct 14, 2016 12:10 AM | Tanmay NathRE: Motion parametersThank you for the reply.
I read the paper carefully, but have the following questions:- I cannot differentiate between the eddy current and head motion correction algorithm for FSL and DTIPrep.
- I do not understand the difference between the trilinear interpolation and 3d linear interpolation as reported in the table 1 of Kreilkamp et.al. paper
Thank you
Tanmay
- Oct 4, 2016 04:10 PM | Jian ZhangImage origin check FAILEDDear all,
When I check the report of DTIPrep, I notice that it gives me some warning: "Image_information_checkingImage_origin_check FAILED", but the quality checking for the images is OK:
PASS: Gradient direction #is not less than 6!
PASS: Left Baseline images and the left b-value are ok!
PASS: Bad gradient directions #passed in the tolerance!
Can you tell me what's the reason for the warning? Since for the QC result, everything is OK, is the warning important or not?
Thank you very much.
Best,
Jian- Oct 4, 2016 04:10 PM | Martin StynerRE: Image origin check FAILEDDTIPrep is based on your settings in the QC protocol. By default, image info and gradient info checks are set as "not failing overall QC" when these steps individually fail. You can interpret this behavior as a warning. In this specific case, the warning is that the image information is different from the one specified in the QC protocol, in particular the origin is different. This is actually expected, i.e. different scans should be expected to have different image origins, and thus you can safely disregard this warning. If the warning would be for differences in image size then you may be more worried (if you would assume that the images in your study should all have the same size).
In any case, you can easily disable this QC step in the QC protocol and thus you would not see this warning anymore.
Martin- Oct 4, 2016 04:10 PM | Jian ZhangRE: Image origin check FAILEDHi Martin,
Thanks for the reply. I used images of subject A to create the protocol A, with the default option of DTIPrep, and then using protocol A to check the quality of subject A. Since protocol A is from subject A, why I also got the warning?
Jian- Oct 5, 2016 01:10 AM | Martin StynerRE: Image origin check FAILEDIs this the same image or just the same subject A (but a different image of that subject) that you used for generating the default protocol.
Martin- Oct 5, 2016 07:10 AM | Jian ZhangRE: Image origin check FAILEDThe same subject, same image (used for generating the default protocol).
Jian- Oct 5, 2016 01:10 PM | Martin StynerRE: Image origin check FAILEDmmm, not sure what the problem is, likely this is a bug (Can you report this as a bug in the DTIPrep tracker?). Probably we should turn off the image-info-check by default in any case, as the value is rather limited (whereas the gradient info check is definitely useful to ensure the same diffusion gradient protocol was used for all DWIs in a given study).
Martin- Oct 5, 2016 02:10 PM | Jian ZhangRE: Image origin check FAILEDThanks. I will report this in the DTIPrep tracker.
Jian
- Jul 16, 2016 09:07 AM | Alexander LebedevQC'ed output: are bvecs already rotated?Hi Dear All,
I am planning to implement DTIPrep steps in my tractography pipeline. Just wanted to double-check that the QC'ed output produced by the program is corrected for motion and eddy currents and that the bvecs are already rotated. Can anyone confirm this?
Thank you very much for you time!
/Alex- Jul 17, 2016 08:07 PM | Martin StynerRE: QC'ed output: are bvecs already rotated?Hi Alex
,
yes, the bvecs are all correctly rotated as part of the motion/eddy current correction process, so the QCed DWI image is ready for use for tensor (or other diffusion model) estimation. The transformation information that is computed in the correction process is also recorded in the QC xml report. It also has a total translation and total rotation entry for quick assessment of motion per DWI (e.g. when you need to look at whether the amount of motion in the DWI data is correlated with group or covariates).
Martin
- Jul 2, 2016 05:07 AM | Adnan Hirad - University of RochesterDTIPrep Command line isntallHello all,
Thank you for your input in advance. We do DTI processing using FSL. But as of late I have been wanting to try out DTIPrep at least for some steps in our usual processing pipeline. I installed the Mac OSx DTIprep package and can use the gui. However, I am having hard time calling commands through command line in the mac terminal (I suspect that is because there path set up). I would appreciate any help with command line installation of the program (I am versatile enough with shell scripting to set a path, and did so for FSL and Freesurfer. I can't locate any instructions for how to set similar paths for DTIPrep). Please, let me know if you would like me to clarify the question.
Regards,
Adnan- Jul 6, 2016 06:07 PM | Martin StynerRE: DTIPrep Command line isntallHi Adnan
Did you install DTIPrep through 3D Slicer or the 1.2.7 version on the download page here at NITRC? Calling it through Slicer may be a bit of an issue (I don't think the Slicer Mac version supports the --launch command line option).
If you downloaded from NITRC, then the setup should be hopefully straightforward, probably not unlike what you did for FSL or FreeSurfer, though I am no Mac expert.
If the issue is libraries, then "otool" may come in handy to pinpoint which libraries are not being found.
Martin
