# SymmetricSecondRankTensor indexing (Straintensor)

**URL:** <https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109>\
**Category:** Algorithms\
**Tags:** python\
**Created:** [July 31, 2019, 9:30am UTC](https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109 "2019-07-31T09:30:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![laqua-stack](https://discourse.itk.org/user_avatar/discourse.itk.org/laqua-stack/32/939_2.png) [@laqua-stack](https://discourse.itk.org/u/laqua-stack)\
**Post date:** [July 31, 2019, 9:30am UTC](https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109/1 "2019-07-31T09:30:41Z")

</div>

Hi,

I tried calculating Straintensor with ITKStrain Module [http://insight-journal.org/browse/publication/984](http://insight-journal.org/browse/publication/984) from a 2D DisplacementField (256,256,2). The output is a SymmetricSecondRankTensor. I converted to numpy array and get an (256,256,3)- shaped array.

My question concerns the indexing. Due to symmetry reasons a 2D-SymmetricSecondRankTensor would look like:

> a b  
> b c

hence only one “b” is stored (leading to dimension 3 in numpy array). But the question remains, which index (especially in numpy) represents which value. I read the Documentation of ITK::SymmetricSecondRankTensor, but unfortunatly i did not understand it ☹

Can anyone help me?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)\
**Post date:** [July 31, 2019, 1:05pm UTC](https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109/2 "2019-07-31T13:05:37Z")

</div>

For a 256x256 displacement image you get a 256x256 tensor image. From my reading of the [documentation](https://itk.org/Doxygen/html/classitk_1_1SymmetricSecondRankTensor.html), the three indices of the third dimension should be [a,b,c] from

```nohighlight
a b
b c

```

matrix of the tensor.

---

<div class="post-metadata">

**Author:** ![laqua-stack](https://discourse.itk.org/user_avatar/discourse.itk.org/laqua-stack/32/939_2.png) [@laqua-stack](https://discourse.itk.org/u/laqua-stack)\
**Post date:** [July 31, 2019, 3:29pm UTC](https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109/3 "2019-07-31T15:29:39Z")

</div>

Thanks alot. I am going to stick to it :-).

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [July 31, 2019, 3:29pm UTC](https://discourse.itk.org/t/symmetricsecondranktensor-indexing-straintensor/2109/4 "2019-07-31T15:29:58Z")

</div>

Yes, the strain tensor is

![image](https://discourse.itk.org/uploads/default/original/1X/6277e00c3fd045569c05da1b7db5b3ae79ed9de8.png)

but, since strain is a symmetric tensor,

![image](https://discourse.itk.org/uploads/default/original/1X/c61f89d2c67a2aae82b6cfe52c7f7065d41448bd.png)
