MantisBT - ITK | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0008470 | ITK | public | 2009-02-04 16:27 | 2010-11-13 13:01 | |
Reporter | Ivan Macia | ||||
Assigned To | Mathieu Malaterre | ||||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | ITK-3-10 | ||||
Target Version | Fixed in Version | ITK-3-12 | |||
Resolution Date | |||||
Sprint | |||||
Sprint Status | backlog | ||||
Summary | 0008470: Trying to load 2D images in coronal or sagittal orientation always throws exception in ITK-3.10.1 | ||||
Description | Posted here, no answer :( http://www.itk.org/mailman/private/insight-developers/2009-January/011575.html [^] Since version 3.10.1 (and probably 3.10) I am unable to load a single slice from a 3D coronal or sagittal volume (we do this for previewing or loading, without actually loading the whole volume). ImageBase ::ComputeIndexToPhysicalPointMatrices() complains that the determinant is zero. This is quite critical because we cannot make our software work with ITK-3.10 and above without changing this code. Either our exception handling or Qt's is always catching this exception and we cannot continue with the loading. | ||||
Steps To Reproduce | |||||
Additional Information | This seems to be related to the fact that for a 2D image, m_Direction is 2x2 where it should be 3x3. It seems that previous versions didn't throw an exception so they were working anyway. Having a deeper look, I try to load an image where ImageIO (GDCMImageIO) reads the following for the direction: 0.252 0.968 0.0 0.0 0.0 -1.0 -0.0968 0.252 0.0 However, when converting from the direction stored in ImageIO to ImageBase::m_Direction (see ImageFileReader::GenerateOutputInformation() ) the resulting matrix is 0.252 0.968 0.0 0.0 For this, the present code in ImageBase::ComputeIndexToPhysicalPointMatrices() and Image::ComputeIndexToPhysicalPointMatrices() throws an exception because the determinant is zero if (vnl_determinant(this->m_Direction.GetVnlMatrix()) == 0.0) { itkExceptionMacro(<< "Bad direction, determinant is 0. Direction is " << this->m_Direction); } I have seen a discussion about this in Mantis issue [0005573]: "Image::DirectionType should be Nx3 rather than NxN", however the discussion was centered on 4D images. IMHO, leaving the 4D world apart, a single slice of a volume lies in a 3D world so m_Direction should be 3x3. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2009-02-04 16:27 | Ivan Macia | New Issue | |||
2009-02-21 08:56 | Bradley Lowekamp | Assigned To | => Bradley Lowekamp | ||
2009-02-21 08:56 | Bradley Lowekamp | Status | new => assigned | ||
2009-02-21 08:58 | Bradley Lowekamp | Note Added: 0015282 | |||
2009-02-21 08:58 | Bradley Lowekamp | Status | assigned => confirmed | ||
2009-02-21 09:21 | Bradley Lowekamp | Note Added: 0015283 | |||
2009-02-23 11:54 | Bradley Lowekamp | Status | confirmed => assigned | ||
2009-02-23 11:54 | Bradley Lowekamp | Assigned To | Bradley Lowekamp => Luis Ibanez | ||
2009-03-01 13:44 | Luis Ibanez | Note Added: 0015473 | |||
2009-03-01 13:45 | Luis Ibanez | Note Added: 0015474 | |||
2009-03-01 13:45 | Luis Ibanez | Status | assigned => closed | ||
2009-03-01 13:45 | Luis Ibanez | Resolution | open => fixed | ||
2009-03-01 13:45 | Luis Ibanez | Fixed in Version | => ITK-3-12 | ||
2009-03-25 09:05 | Hans Johnson | Note Added: 0015797 | |||
2009-03-25 09:05 | Hans Johnson | Status | closed => feedback | ||
2009-03-25 09:05 | Hans Johnson | Resolution | fixed => reopened | ||
2010-10-26 05:56 | Mathieu Malaterre | Status | feedback => assigned | ||
2010-10-26 05:56 | Mathieu Malaterre | Assigned To | Luis Ibanez => Mathieu Malaterre | ||
2010-11-09 17:56 | Mathieu Malaterre | Note Added: 0023114 | |||
2010-11-09 17:57 | Mathieu Malaterre | Sprint Status | => backlog | ||
2010-11-09 17:57 | Mathieu Malaterre | Status | assigned => closed | ||
2010-11-09 17:57 | Mathieu Malaterre | Resolution | reopened => fixed | ||
2010-11-13 13:00 | Mathieu Malaterre | Status | closed => feedback | ||
2010-11-13 13:00 | Mathieu Malaterre | Resolution | fixed => reopened | ||
2010-11-13 13:01 | Mathieu Malaterre | Status | feedback => closed | ||
2010-11-13 13:01 | Mathieu Malaterre | Resolution | reopened => fixed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|