Commit b3d4622a authored by Edward Andò's avatar Edward Andò
Browse files

Sketch of tutorial

parent a98a566a
Pipeline #56301 passed with stages
in 13 minutes and 23 seconds
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -20,6 +20,7 @@ Contents:
.. _mmrTutorial:
Tutorial: Multimodal Registration
Objectives of this tutorial
Do you have two images of the same object acquired with different techniques?
Here we will learn to align them in order to then we able to analyse them together: this can greatly help with segmenting phases, or doing a coupled analysis as per [Stavropoulou2020]_.
In this tutorial we will use the `` dataset from `spam tutorial archive on zenodo`_, a dataset consisting of an x-ray tomography scan and a Neutron tomography scan kindly contributed by Marius Milatz in Hamburg University acquired on the NeXT Neutron and X-ray Tomography instrument at the ILL in Grenoble.
.. _spam tutorial archive on zenodo:
We will be using the "Multimodal Registration Technique" as published in [TUD2017a]_ and [Roubin2019]_, this technique is an improvement over the more classic mutual information techniques because it takes into account the noise and uncertainty on phase identification.
The final output of this process will be a pair of aligned images, and a phase map which can be of interest by itself.
Before you start
Before starting with your own data, you need to make sure that the two 3D volumes that you want to register have the same number of pixels are are roughly (+-20%) the same size.
We recommend you take a piece of paper and pen, open up your two volume, and write a table of the approximate greyvalue for each phase you can see in your image.
For the data above, here's a very rough guess:
.. figure:: images/tutorial/09-mmr/table.jpg
:align: center
Rough measurement of the CT-value of the phases present in the image
Introducing the Joint Histogram
The fundamental concept on which the technique is based is the **Joint Histogram**.
This is a histogram computed with two images, where pairs of voxels at the same position in both images are binned into a 2D space.
The joint histogram therefore has a total number of counts equal to the pixels of *one* of the two images.
The figure below illustrates the joint histogram for well-aligned slices, with three peaks present, which correspond well to the three phases identified by hand above.
.. figure:: images/tutorial/09-mmr/JHexplained.jpg
:align: center
Illustration of the joint histogram for a since *aligned* slice for this dataset
talk about the wrong one, and fitting it with a bivariate gaussian.
- Fitting JH, what does `b` mean, what does Hessian mean, phase definition
Preparing the data
- Image pyramid (binning), helps with hiding details, and convergin faster with larger displacements at the beginning
- WE WILL DEFORM IM2!! We're in full-newton so Gradient calculation in the deforming im2 (so choose it carefully)
Using our graphical user interface
- actual registration (n, x) log
- before you start get a piece of paper, look at GV:
- grain: 33500 22000
- water: 26500 48000
- cont.: 40800 19700
- look at x slice, need vert disp
- actually it need dezooming
- let's also dezoom the other axes
- look at z slice, where is everything?
- look for unique slice, the bottom is interesting
- apply rotation, plus a little z disp
-> Save
- let crop just inside the sample, we're going to calc the JH there
- use the x- and n- buttons to make sure you're nicely aligned, and if not go back
- if alignment is shitty the two expected peaks are not there and the phase map is rubbish we go back up the bin values, oh look at bin1 the air appears as a small peak!
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment