View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010421ITKpublic2010-03-15 12:152010-11-07 01:36
Reporterfbudin 
Assigned Toxiaoxiao 
PrioritynormalSeverityminorReproducibilityalways
StatusassignedResolutionopen 
PlatformOSOS Version
Product VersionITK-3-16 
Target VersionFixed in Version 
Summary0010421: Computation of the FA with itkDiffusionTensor3D returns NaN
DescriptionIn some cases, FA should be 0 but 3.0 * isp - trace * trace is negative instead of being equal to 0 (very small value). This appends on my computer if I use doubles (if I use floats it works properly).

The current code is:
 const RealValueType isp = this->GetInnerScalarProduct();

  if( isp > 0.0 )
    {
    const RealValueType trace = this->GetTrace();
    const RealValueType anisotropy = 3.0 * isp - trace * trace;
    const RealValueType fractionalAnisotropy =
        static_cast< RealValueType >( vcl_sqrt(anisotropy / ( 2.0 * isp ) ) );
    return fractionalAnisotropy;
    }
It does not check that anisotropy is positive. In some cases, it ends up being negative and the function returns NaN.
Additional InformationIf anisotropy is negative, it should probably be set to 0.
TagsNo tags attached.
Resolution Date
Sprint
Sprint Status
Attached Files

 Relationships

  Notes
There are no notes attached to this issue.

 Issue History
Date Modified Username Field Change
2010-03-15 12:15 fbudin New Issue
2010-03-15 17:05 Luis Ibanez Status new => assigned
2010-03-15 17:05 Luis Ibanez Assigned To => Luis Ibanez
2010-11-07 01:36 Luis Ibanez Assigned To Luis Ibanez => xiaoxiao


Copyright © 2000 - 2018 MantisBT Team