# Z stack thickness?

**URL:** <https://discourse.itk.org/t/z-stack-thickness/7648>\
**Category:** Beginner Questions\
**Created:** [October 27, 2025, 8:48pm UTC](https://discourse.itk.org/t/z-stack-thickness/7648 "2025-10-27T20:48:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![PART](https://discourse.itk.org/letter_avatar_proxy/v4/letter/p/d2c977/32.png) [@PART](https://discourse.itk.org/u/PART)\
**Post date:** [October 27, 2025, 8:48pm UTC](https://discourse.itk.org/t/z-stack-thickness/7648/1 "2025-10-27T20:48:02Z")

</div>

Sorry, I’m sure its been asked but I couldn’t find it through the search function but are Z stacks mandatory for multiplexed images registration and if so how does one ensure that you capture the same focal plane with each cycle? Is there a rough guideline for optimal stack size (I see 1um in some articles) and slice interval?

---

<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:** [October 28, 2025, 3:21pm UTC](https://discourse.itk.org/t/z-stack-thickness/7648/2 "2025-10-28T15:21:10Z")

</div>

This question seems to be missing massive amount of context.

ITK can register 2D images, and various kinds of 3D images. Best for experimentation is [3D Slicer](https://www.slicer.org/), via its extensions **elastix** and **ANTs**. I advise to try registering your images using GUI, before writing any code.

---

<div class="post-metadata">

**Author:** ![zivy](https://discourse.itk.org/user_avatar/discourse.itk.org/zivy/32/1726_2.png) [@zivy](https://discourse.itk.org/u/zivy)\
**Post date:** [October 29, 2025, 1:23pm UTC](https://discourse.itk.org/t/z-stack-thickness/7648/3 "2025-10-29T13:23:19Z")

</div>

Hello @PART,

Z stacks are not mandatory for multiplexed image registration. When working with a 2D image there is the implicit assumption that you captured the same focal plane in each cycle or that you are close enough (epsilon for close enough is dependent on your requirements).

When working with a Z stack this is easier because it is more likely that there is spatial overlap between the images. It is still possible to have two Z stacks without spatial overlap if you don’t image the whole physical sample, but that is more of a user error in image acquisition, so rare.

Relevant code/programs for multiplex affine registration using a common channel:

1. [SimpleITK Imaris Extensions](https://niaid.github.io/imaris_extensions/), specifically the [XTRegisterSameChannel](https://niaid.github.io/imaris_extensions/XTRegisterSameChannel.html). This extension has accompanying data and a video illustrating how to use it.
2. The above extension is built upon the [sitk-ibex](https://github.com/niaid/sitk-ibex) code.

If you have questions about those programs, please ask on their respective GitHub issues ([SimpleITK Imaris Extensions issues](https://github.com/niaid/imaris_extensions/issues) and [sitk-ibex issues](https://github.com/niaid/sitk-ibex/issues)).
