# Anisotropic voxel

**URL:** <https://discourse.slicer.org/t/anisotropic-voxel/21127>\
**Category:** Support\
**Created:** [December 18, 2021, 10:19am UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127 "2021-12-18T10:19:26Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Valentina\_Nepi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/valentina_nepi/32/13474_2.png) [@Valentina\_Nepi](https://discourse.slicer.org/u/Valentina_Nepi)\
**Post date:** [December 18, 2021, 10:19am UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/1 "2021-12-18T10:19:26Z")

</div>

Hi everyone. I am studying a MRI dataset. All the images have the same spacing (0,80x0,46x0,46) cause everything is reported in FLAIR space. Also a given ground truth segmentation for lesions has this spacing condition. To analyze this segmentation features I’ve loaded Flair image as volume and this consensus as label map. Now I have two questions:

1. this consensus can be considered anisotropic cause z is almost twice x and y? An import in segmentation module is required to have an isotropic voxel imposing the isotropic geometry flag for segmentation geometry (passing trough the “white cube” in segment editor)? My goal is to extract features, so this condition, in my opinion, is important. Any suggestions about this?

2. using islands effects splitting islands to segment and imposing minimum voxel size (for the initial consensus segmentation) all the generated segments are isotropic (1mm)? again: is necessary to impose space isotropy before applying this effect? I’ve tried both these two operations (with or without imposition) but in the subject hierarchy I always see the segmentation node with islands that seems containing only one segment… how can I resolve?

Thanks everyone in advantage for a request.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [December 18, 2021, 5:08pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/2 "2021-12-18T17:08:46Z")

</div>

In general isotropic voxels are not required for segmentation or radiomics.

I’m not really following the rest of your questions. Perhaps some screenshots would help.

---

<div class="post-metadata">

**Author:** ![Valentina\_Nepi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/valentina_nepi/32/13474_2.png) [@Valentina\_Nepi](https://discourse.slicer.org/u/Valentina_Nepi)\
**Post date:** [December 27, 2021, 8:05am UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/3 "2021-12-27T08:05:16Z")

</div>

Thank you for the answer, Pieper!  
Yes, I’ll take some screen as soon as possible.

Meanwhile I’ve forgot a question. Since my voxel are isotropic only in plane xy, a force 2d setting in parameter file is required (setting it true) or not(leaving default false)?  
Thank you if you’ll answer me again.

Have a nice day

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [December 28, 2021, 2:57am UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/4 "2021-12-28T02:57:44Z")

</div>

> [@Valentina\_Nepi](#):
>
> Since my voxel are isotropic only in plane xy, a force 2d setting in parameter file is required (setting it true) or not(leaving default false)?

You could use the force 2d option if your slices really have no relation to each other and should be treated independently. Otherwise it’s okay to have anisotropic voxels, but you should look at the metrics to use and decide if they make sense when the data sampling is not uniform (meaning it doesn’t capture tissue variations the same way in all directions). @JoostJM or @fedorov may have further suggestions.

---

<div class="post-metadata">

**Author:** ![Valentina\_Nepi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/valentina_nepi/32/13474_2.png) [@Valentina\_Nepi](https://discourse.slicer.org/u/Valentina_Nepi)\
**Post date:** [January 1, 2022, 11:02pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/5 "2022-01-01T23:02:03Z")

</div>

![1](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/7/2/72f42f3f041f6bec7a19ce90f6f27d9f0ff8f35d.jpeg)  
after importing a labelmap I’ve used “effect: islands” to create and remove islands  
 ![2](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/0/3/038255d382c7c9336f2cc8454ca49d1136d20cc9.jpeg)  
going back to see segmentation property it seems that there is only one segment instead of 9 (created 2 seconds ago with segment editor).  
 ![3](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/6/a/6a932d73ff8047ba35f485a88b7ebbe492639d37.jpeg)  
could you tell me why? I don’t understand… thank you

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [January 3, 2022, 1:27pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/6 "2022-01-03T13:27:02Z")

</div>

> [@Valentina\_Nepi](#):
>
> one segment instead

In that image you have one Segmentation with several Segments (a Segmentation is a set of Segments).

---

<div class="post-metadata">

**Author:** ![Valentina\_Nepi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/valentina_nepi/32/13474_2.png) [@Valentina\_Nepi](https://discourse.slicer.org/u/Valentina_Nepi)\
**Post date:** [January 3, 2022, 1:44pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/7 "2022-01-03T13:44:10Z")

</div>

“numbers of segment:1”, this let me confused

---

<div class="post-metadata">

**Author:** ![JoostJM](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/joostjm/32/1091_2.png) [@JoostJM](https://discourse.slicer.org/u/JoostJM)\
**Post date:** [January 11, 2022, 11:57am UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/8 "2022-01-11T11:57:09Z")

</div>

Texture features such as GLCM, GLRLM assume spacing isotropy. If this is not the case (as in the dataset), there are 4 options of dealing with this:

- Ignore the error: not advised, this introduces rotational dependency in your feature values
- Use matrix weighting: this corrects the anisotropy by weighting the matrix as a function of the distance to the neighbor
- Resample the dataset: ensures your voxels are isotropic. Be aware that heavy oversampling can introduce bias (though resampling in your dataset to .5 x .5 x .5 should be fine)
- Use force2D: this ensures the out-of-plane angles are ignored and the isotropy assumption holds true (as voxels are isotropic in-plane).

---

<div class="post-metadata">

**Author:** ![Valentina\_Nepi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/valentina_nepi/32/13474_2.png) [@Valentina\_Nepi](https://discourse.slicer.org/u/Valentina_Nepi)\
**Post date:** [January 12, 2022, 12:21pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/9 "2022-01-12T12:21:27Z")

</div>

Thank you for these advices! They are precious!  
Can I resample directly in radiomics module or should I do this operation with resample volume module before feature extraction?

---

<div class="post-metadata">

**Author:** ![JoostJM](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/joostjm/32/1091_2.png) [@JoostJM](https://discourse.slicer.org/u/JoostJM)\
**Post date:** [January 18, 2022, 12:35pm UTC](https://discourse.slicer.org/t/anisotropic-voxel/21127/10 "2022-01-18T12:35:47Z")

</div>

You can do so directly in the radiomics module. For this to work, enable it in the parameter file you pass to the module.
