[Insight-developers] reading Image<Matrix> as Image<SymmetricSecondRankTensor>

Matthew McCormick (thewtex) matt at mmmccormick.com
Mon Jun 14 12:08:05 EDT 2010


Karthik,

Thanks for the feedback.

On Mon, Jun 14, 2010 at 10:21 AM, Karthik Krishnan <
karthik.krishnan at kitware.com> wrote:

> Matt:
>
> As you've mentioned, I don't think the NRRD and NifTi formats support
> anything but 3 dimensional, 2nd rank symmetric tensors. The meta-image does
> support it, simply by virtue of the fact that a N-D, rank 2 Symmetric tensor
> derives from a fixed array and is serializable as a N*(N-1) component image.
>
> The patch logged in http://vtk.org/Bug/view.php?id=10732 looks fine to me.
>
> As you've mentioned the test to exercise your modification to
> itkImageIOBase (what I think is your real question) would need to use
> MetaImages. I would just add a separate test
> itkSymmetricSecondRankSecondDimensionTensorImageReadTest that uses MetaImage
> instead of Nrrd and then add the proposed patch in.
>
>
That sounds good.  I will leave the current test as-is, and add a new test
that read/writes a 3 component SymmetricSecondRankTensor.

Matt


> Thanks
> --
> karthik
>
>
>
>
> On Mon, Jun 14, 2010 at 7:26 PM, Matthew McCormick (thewtex) <
> matt at mmmccormick.com> wrote:
>
>> Hi Luis,
>>
>> On Mon, Jun 14, 2010 at 6:47 AM, Luis Ibanez <luis.ibanez at kitware.com>wrote:
>>
>>>
>>> Hi Matt,
>>>
>>> Thanks for looking into this problem.
>>>
>>> I'm a bit confused about what you suggest in your email.
>>>
>>> Are you suggesting to change the test
>>> in order to also exercise a 2D case ?
>>>
>>
>> Yes.
>>
>>
>>>
>>> or is it the core of the change, to use an image of
>>> SymmetricSecondRankTensor instead of Matrix2x2
>>> as the source for the image ?
>>>
>>>
>> Yes.  In any case, I need to write an image of SymmetricSecondRankTensor
>> to test the bug.  For consistency, I should then change the 3D case too?
>>  But I do not know if reading an image of Matrix as
>> SymmetricSecondRankTensor is behavior that is expected.  If so, I do not
>> want to remove the test for it.  Also if so, readers will need to be fixed
>> to behave this way.  Personally, I would not necessarily expect this
>> behavior.
>>
>>
>>> Also, have you identified the changes that we will
>>> have to introduce in the Writer/Reader in order to
>>> get this test to pass ?
>>>
>>
>> Changing the file name on the test shows that MetaImage, NRRD, and NIfTI
>> all pass for the 3D case.
>>
>> As far as I can tell, NRRD and NIfTI do not support 3 component symmetric
>> second rank tensor.  MetaImage does support it, but its behavior would have
>> to change.  I am working on adding support to the VTKImageIO, but it can not
>> support generic 2x2 or 3x3 matrices.
>>
>>
>>>
>>>
>>> Could you please clarify ?
>>>
>>>
>> Hopefully this clarifies, but let me know if it is still unclear.
>>
>> Thanks,
>> Matt
>>
>>
>>>
>>>     Thanks
>>>
>>>
>>>           Luis
>>>
>>>
>>> ----------------------------------------------------------
>>> On Sun, Jun 13, 2010 at 12:38 AM, Matthew McCormick (thewtex) <
>>> matt at mmmccormick.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am working on adding 2D SymmetricSecondRankTensor image write
>>>> support.  The bug is here.
>>>> http://vtk.org/Bug/view.php?id=10732
>>>>
>>>> In order to add a test for the bug, I was thinking of modifying
>>>> Testing/Code/IO/itkSymmetricSecondRankTensorImageReadTest.cxx
>>>>
>>>> Currently, this test creates an Image of 3x3 itk::Matrix, writes it to
>>>> file, reads it in as an Image of SymmetricSecondRankTensor's, and checks to
>>>> ensure the content is the same.
>>>>
>>>> If I try to do the same with 2x2 itk::Matrix, the
>>>> SymmetricSecondRankTensor reader does not read the correct components:
>>>> 941: Test command: /mnt/datab/itkcvsb/bin/itkIOTests
>>>> itkSymmetricSecondRankTensorImageReadTest
>>>> /mnt/datab/itkcvsb/Testing/Temporary/testSymmetricTensor1.nrrd
>>>> /mnt/datab/itkcvsb/Testing/Temporary/testSymmetricTensor2.nrrd
>>>> 941: Test timeout computed to be: 1500
>>>> 941: Tensor read does not match expected values
>>>> 941: Index [0, 0]
>>>> 941: Tensor value
>>>> 941: 1  2  2
>>>> 941: Matrix value
>>>> 941: 1 2
>>>> 941: 2 3
>>>> 941:
>>>>
>>>> If the commented code, where an image of 2D SymmetricSecondRankTensor (
>>>> instead of itk::Matrix ) is written, is used with the MetaImage format the
>>>> test can pass.
>>>>
>>>> Is it OK to change the test as in the commented code, or are other
>>>> changes required?
>>>>
>>>> Thanks,
>>>> Matt
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Kitware offers ITK Training Courses, for more information visit:
>>>> http://kitware.com/products/protraining.html
>>>>
>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.itk.org/mailman/listinfo/insight-developers
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100614/f78eb4d0/attachment.htm>


More information about the Insight-developers mailing list