MantisBT - ITK | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0010421 | ITK | public | 2010-03-15 12:15 | 2010-11-07 01:36 | |
| Reporter | fbudin | ||||
| Assigned To | xiaoxiao | ||||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Platform | OS | OS Version | |||
| Product Version | ITK-3-16 | ||||
| Target Version | Fixed in Version | ||||
| Resolution Date | |||||
| Sprint | |||||
| Sprint Status | |||||
| Summary | 0010421: Computation of the FA with itkDiffusionTensor3D returns NaN | ||||
| Description | In 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. | ||||
| Steps To Reproduce | |||||
| Additional Information | If anisotropy is negative, it should probably be set to 0. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| 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 | ||
| There are no notes attached to this issue. |