Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 713f37e1 authored by Olga Stamati's avatar Olga Stamati
Browse files

local coherency paper + docs

parent aef83ee2
Pipeline #67399 passed with stages
in 27 minutes and 7 seconds
......@@ -5,7 +5,7 @@ digraph G {
// scripts
EREG [label="spam-ereg", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#eye-registration-script-spam-ereg"];
DEF [label="spam-deformImage", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#deform-image-script-spam-deformimagefromfield", target="_top"];
DEF [label="spam-deformImage", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#deform-image-script-spam-deformimage", target="_top"];
REG [label="spam-reg", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#registration-script-spam-reg", target="_top"];
PS [label="spam-pixelSearch", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#pixel-search-script-spam-pixelsearch", target="_top"];
FILT [label="spam-filterPhiField", color="#c46747", fillcolor="#FFEAE6", style="bold, filled", shape=ellipse, href="#filtering-script-spam-filterphifield", target="_top"];
......
This diff is collapsed.
......@@ -389,8 +389,11 @@ For the **discrete** mode, the script can be run like this:
.. tip:: How to evaluate the result of this script?
- Check the **pixelSearchCC** values. A cross-correlation procedure is **successful** when the **correlation coefficient** is **close to 1**. Are these values low? Perhaps think of a coarser field (increase ``-ns``)? And then pass this to the finer one through `spam-passField`
- Check the measured **displacements**. If you notice that the displacement values hit the limits of your input search range, retry by increasing this range
- Check the measured **displacement fields**. Do the points move as you would expect? For example you are pulling your material from the bottom edge. Do the displacement vectors point downwards increasing from the top to the bottom of your field?
- Check the **greylevel residual fields**. Create the deformed image 1 by running :ref:`deformImage`. Compare the initial difference (im1.tif - im2.tif) and the new difference (im1Def.tif - im2.tif). It should look like this:
.. figure:: images/tutorial/scripts/psResult.png
......@@ -399,6 +402,7 @@ For the **discrete** mode, the script can be run like this:
Are you satisfied with the measured displacement field?
- If *mostly* yes, but there are some **crazy points** here and there that you wish to get rid of, **keep this field** and move towards :ref:`filterPhi`
- If yes, and you wish to refine it by measuring **subpixel displacements,** **keep this Φ field** and move towards :ref:`ldic` for a **structured grid** mode or :ref:`ddic` for a **discrete** mode.
|
......@@ -512,6 +516,7 @@ This script is based on https://gricad-gitlab.univ-grenoble-alpes.fr/DVC/pt4d.
- The **return status** of each subvolume (*returnStatus*). If it is equal to **-5** the subvolume had been **skipped** (due to ``-glt``, ``-ght`` or ``-mf1``)
- For compatibility reasons, the F part of Φ is written as the identity matrix (see :ref:`imageCorrelationTheory` for explanation of the components of Φ). This is **totally irrelevant** to the result of this script
- For compatibility reasons, information related to the iterative algorithm in ``spam.DIC.register()`` (*iterations*, *error*, *deltaPhiNorm*). These are **totally irrelevant** to the result of this script
- If asked with ``-tif`` or ``-vtk``: Files for the visualisation of the displacement and correlation coefficient fields
For the **structured grid** mode, the script can be run like this:
......@@ -560,14 +565,19 @@ For a **discrete** mode with a **guiding points** file, the script can be run li
.. tip:: How to evaluate the result of this script?
- Check the **pixelSearchCC** values. A cross-correlation procedure is **successful** when the **correlation coefficient** is close to 1. Are these values low? Perhaps try with increasing ``-nr`` or ``-nn``? Or perhaps try to track different points? For example, if in grid mode, try first with a coarser grid (increase ``-ns``)?
- Check the measured **displacements**. If you notice that the displacement values hit the **limits** of your input **search range**, retry by increasing this range
- Check the measured **displacement fields**. Do the points move as you would expect? For example you are pulling your material from the bottom edge. Do the displacement vectors point downwards increasing from the top to the bottom of your field?
- Check the **residual fields**. Use the measured displacement field to deform im1. Check the initial difference (im2.tif - im1.tif) and the new difference (im2.tif - im1Def.tif).
Are you satisfied with the measured displacement field?
- If *mostly* yes, but there are some **crazy points** here and there that you wish to get rid of, **keep this field** and move towards :ref:`filterPhi`
- If yes, and you wish to refine it by measuring **subpixel displacements**, **keep this Φ field** and move towards :ref:`ldic` for a **structured grid** mode or :ref:`ddic` for a **discrete** mode.
- If yes, and you want to use this field as an inital guess to a **different base**, for example you measured the displacement field of a set of guiding points (with ``-gp``) and you want to **interpolate** this field into a different set of points, move towards :ref:`passPhi`.
|
......@@ -669,12 +679,18 @@ The script can be run like this:
- Each **local** computation is **successful** when the **iterative algorithm** has **converged**. Check the **returnStatus** field:
- If **returnStatus = 2**: Registration **converged** reaching desired precision in :math:`\delta\Phi_{min}`
- If **returnStatus = 1**: Registration **did not converge**. Maximum number of iterations is reached. Retry with a higher ``-it`` or higher ``-dp``?
- If **returnStatus = -1**: Registration **diverged**. Singular matrix M cannot be inverted. Perhaps your window size is too small?
- If **returnStatus = -2**: Registration **diverged**. Error is more than 80% of previous iteration error. Perhaps your window size is too small?
- If **returnStatus = -3**: Registration **diverged** on displacement or volumetric change condition. Perhaps your window size is too small? Or retry with a higher ``-m``?
- If **returnStatus = -5**: Registration **skipped** due to greylevel threshold condition or to mask
- Check the measured **displacement fields**. Do the points move as you would expect? For example you are pulling your material from the bottom edge. Do the displacement vectors point downwards increasing from the top to the bottom of your field?
- Check the **greylevel residual fields**. Create the deformed image 1 by running :ref:`deformImage`. Compare the initial difference (im1.tif - im2.tif) and the new difference (im1Def.tif - im2.tif). It should look like this:
.. figure:: images/tutorial/scripts/ldicResult.png
......@@ -740,7 +756,7 @@ This script facilitates the manipulation of different Φ fields, applying a sing
**Optional**
- ``-np``: Number of **parallel processes** to use. If not passed, all the CPUs available in the system will be used
- ``-m``: Choose which part of Φ will be passed (see :ref:`imageCorrelationTheory`) . If **"all"** all deformation components are passed. If **"rigid"** the rigid body motion is passed. If **"disp"** only displacements are passed
- ``-F`` : Choose which **part of Φ** will be passed (see :ref:`imageCorrelationTheory`) . If **"all"** all deformation components are passed. If **"rigid"** the rigid body motion is passed. If **"no"** only displacements are passed
- ``-nr``: Only if input ``-pf`` is a **field**. *Radius** (in pixels) inside which to extract **neighbours** for the interpolation
- ``-nn``: Only if input ``-pf`` is a **field**. **Number** of **neighbours** to extract for the interpolation. Disactivates ``-nr``
- ``-rst``: Only if input ``-pf`` is a **field**. Return status **threshold below** which input points are **not** taken as **neighbours**
......@@ -777,7 +793,7 @@ For **output** points defined by a **labelled** image, the script can be run lik
$ source path/to/spam/venv/bin/activate
(spam) $ spam-passPhiField # the script
-pf /path/to/my/data/Phi.tsv\ # the file containing the correlation result (let's assume it's a single-line registration)
-m "all" # pass all components of Φ
-F "all" # pass all components of Φ
-lab1 /path/to/my/data/lab1.tif\ # path to labelled image to define the output points
-vtk # ask for a VTK output
......@@ -790,7 +806,7 @@ For **output** points defined in a **structured grid**, the script can be run li
$ source path/to/spam/venv/bin/activate
(spam) $ spam-passPhiField # the script
-pf /path/to/my/data/PhiField.tsv\ # the file containing the correlation result (let's assume it's a field)
-m "disp" # pass only disp
-F "no" # pass only disp
-im1 /path/to/my/data/im1.tif\ # path to image to define the output grid
-ns X \ # node spacing of the output grid
-nr X \ # radius to extract neighbours for the interpolation (since we passed a field)
......@@ -948,8 +964,10 @@ For a **filtering** operation the script can be run like this:
Are you satisfied with the corrected/filtered displacement field?
- If no, retry by increasing ``-nr`` or ``-nn`` or ``-fmr``?
- If yes, and you wish to run a **last correlation** step, **keep this Φ field** and move towards :ref:`ldic`
- If yes, and you wish to proceed into measuring the **strains**, **keep this Φ field** and move towards :ref:`regularStrainScript`
- If yes, and you wish to run a **last correlation** step, **keep this Φ field** and move towards :ref:`ldic`
- If yes, and you wish to proceed into measuring the **strains**, **keep this Φ field** and move towards :ref:`regularStrainScript`
|
|
|
......@@ -962,14 +980,14 @@ For a **filtering** operation the script can be run like this:
Regular strain script (spam-regularStrain)
-----------------------------------------------
This script calculates the strain field between im1 and im2, based on a displacement field measured at a **regular grid**.
This script calculates the strain field between two configurations, based on a displacement field measured at a **regular grid**.
.. IMPORTANT:: This script calculates strains based on two modes:
1. **Geers** (see :ref:`strainTutorial`)
2. **Q8** (see :ref:`strainTutorial`), activated with ``-cub``
For further details regarding the strain calculation in spam and the output of this script please see the detailed tutorial here :ref:`strainTutorial`.
For further details regarding the strain calculation in spam (*i.e.,* formulation, invariants), please see the detailed tutorial here :ref:`strainTutorial`.
``Input:``
.............
......@@ -1048,8 +1066,8 @@ This script deforms an image based on a given deformation.
.. HINT:: This can be either:
1. A **single** deformation function (one-line file). This is typically the result of :ref:`ereg` or :ref:`register`
2. A **field** of deformation functions (multiple-line file). For example, the result of :ref:`pixelSearch`, :ref:`pixelSearchPropagate` or :ref:`ldic`
- A **single** deformation function (one-line file). This is typically the result of :ref:`ereg` or :ref:`register`
- A **field** of deformation functions (multiple-line file). For example, the result of :ref:`pixelSearch`, :ref:`pixelSearchPropagate` or :ref:`ldic`
If this file refers to downscaled/upscaled images, use ``-pfb`` to set the correct binning ratio
**Optional**
......@@ -1072,7 +1090,7 @@ The script can be run like this:
.. code-block:: console
$ source path/to/spam/venv/bin/activate
(spam) $ spam-passPhiField # the script
(spam) $ spam-deformaImage # the script
/path/to/my/data/im1.tif # the 3D image (tiff file) to be deformed
-pf /path/to/my/data/PhiField.tsv\ # the file containing the deformation file
-r X # the radius to exclude points from the triangulation
......@@ -1082,7 +1100,7 @@ The script can be run like this:
.. figure:: images/tutorial/scripts/defResult.png
:align: center
Greylevel images and their residual fields before and after a correlation
Greylevel images and their residual fields before (top) and after (bottom) a correlation
|
|
......
This diff is collapsed.
Markdown is supported
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