View Issue Details

IDProjectCategoryView StatusLast Update
0002913Slicer4Core: CLI infrastructurepublic2015-11-12 15:50
ReportermatsuijAssigned Toinorton 
PrioritynormalSeveritymajorReproducibilityalways
Status assignedResolutionopen 
Product VersionSlicer 4.2.2-1 
Target VersionFixed in Version 
Summary0002913: DWIToDTIEstimation GUI and CLI module precision issue
Description

DWIToDTIEstimation (GUI and CLI module) seems unable to handle values in NRRD header files (specifically space directions and origin) of varying precision.

I have made a test data set to re-create the errors: https://www.dropbox.com/s/pqgmp6mzr2p3fys/DWIToDTIEstimation.zip

The test data files with _exactOrig in their name have 18 decimals in their space direction and origin values. Test data files with _altered in their name have had their values truncated to 5-7 decimal. subj2.nhdr has 18 decimals and subj2.nrrd has the truncated 5-7 decimals.

For the DWIToDTIEstimation module in the Slicer GUI, it still seems that numerical error pops up after at the 5th-7th decimal place. The following are my results from testing the GUI module with different combinations of inputs and whether or not Slicer produced a tensor image:
18 decimals DWI (subj2.nhdr) + 18 decimal brain mask (subj2_brain_mask_DWI_exactOrig.nrrd) = no tensor
18 decimals DWI (subj2.nhdr) + 5-7 decimal brain mask (subj2_brain_mask_DWI_altered.nrrd) = tensor
5-7 decimal DWI (sub2.nrrd) + 18 decimal brain mask (subj2_brain_mask_DWI_exactOrig.nrrd) = no tensor
5-7 decimal DWI (sub2.nrrd) + 5-7 decimal brain mask (subj2_brain_mask_DWI_altered.nrrd) = tensor
For the command line version of the DWIToDTIEstimation module, it seems that as long as the header info matches, it works. The following are my results from testing the command line module with different combinations of inputs and whether or not Slicer produced a tensor image:
18 decimals DWI (subj2.nhdr) + 18 decimal brain mask (subj2_brain_mask_DWI_exactOrig.nrrd) = tensor
18 decimals DWI (subj2.nhdr) + 5-7 decimal brain mask (subj2_brain_mask_DWI_altered.nrrd) = no tensor
5-7 decimal DWI (sub2.nrrd) + 18 decimal brain mask (subj2_brain_mask_DWI_exactOrig.nrrd) = no tensor
5-7 decimal DWI (sub2.nrrd) + 5-7 decimal brain mask (subj2_brain_mask_DWI_altered.nrrd) = tensor

TagsNo tags attached.

Relationships

related to 0002851 closed DTI and baseline not produced when given mask 

Activities

matsuij

matsuij

2013-02-01 08:51

reporter   ~0007786

The command lines I used were as follows:

Slicer-4.2.2-1-macosx-amd64/Slicer.app/Contents/cli-modules/DWIToDTIEstimation --shiftNeg --enumeration WLS --mask subj2_brain_mask_DWI_exactOrig.nrrd subj2.nhdr outputDTI.nrrd b0.nrrd

Slicer-4.2.2-1-macosx-amd64/Slicer.app/Contents/cli-modules/DWIToDTIEstimation --shiftNeg --enumeration WLS --mask subj2_brain_mask_DWI_altered.nrrd subj2.nhdr outputDTI.nrrd b0.nrrd

Slicer-4.2.2-1-macosx-amd64/Slicer.app/Contents/cli-modules/DWIToDTIEstimation --shiftNeg --enumeration WLS --mask subj2_brain_mask_DWI_exactOrig.nrrd subj2.nrrd outputDTI.nrrd b0.nrrd

Slicer-4.2.2-1-macosx-amd64/Slicer.app/Contents/cli-modules/DWIToDTIEstimation --shiftNeg --enumeration WLS --mask subj2_brain_mask_DWI_altered.nrrd subj2.nrrd outputDTI.nrrd b0.nrrd

demian

demian

2013-02-01 08:58

developer   ~0007787

I could reproduce this bug. It seems to be an issue with of the CLI structure: Probably the library used by the CLI module for the I/O of Nrrd files is different than the one in the CLI infrastructure in Slicer. The one used in the module seems to be the most accurate one.

Issue History

Date Modified Username Field Change
2013-02-01 08:31 matsuij New Issue
2013-02-01 08:31 matsuij Status new => assigned
2013-02-01 08:31 matsuij Assigned To => millerjv
2013-02-01 08:51 matsuij Note Added: 0007786
2013-02-01 08:53 demian Relationship added related to 0002851
2013-02-01 08:58 demian Note Added: 0007787
2015-11-12 15:50 jcfr Assigned To millerjv => inorton